diff options
Diffstat (limited to 'indra/newview/llpreviewtexture.h')
| -rw-r--r-- | indra/newview/llpreviewtexture.h | 96 |
1 files changed, 46 insertions, 50 deletions
diff --git a/indra/newview/llpreviewtexture.h b/indra/newview/llpreviewtexture.h index 8ed5210c46..cd16bacde2 100644 --- a/indra/newview/llpreviewtexture.h +++ b/indra/newview/llpreviewtexture.h @@ -2,30 +2,25 @@ * @file llpreviewtexture.h * @brief LLPreviewTexture class definition * - * $LicenseInfo:firstyear=2002&license=viewergpl$ - * - * Copyright (c) 2002-2007, Linden Research, Inc. - * + * $LicenseInfo:firstyear=2002&license=viewerlgpl$ * Second Life Viewer Source Code - * The source code in this file ("Source Code") is provided by Linden Lab - * to you under the terms of the GNU General Public License, version 2.0 - * ("GPL"), unless you have obtained a separate licensing agreement - * ("Other License"), formally executed by you and Linden Lab. Terms of - * the GPL can be found in doc/GPL-license.txt in this distribution, or - * online at http://secondlife.com/developers/opensource/gplv2 + * Copyright (C) 2010, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. * - * There are special exceptions to the terms and conditions of the GPL as - * it is applied to this Source Code. View the full text of the exception - * in the file doc/FLOSS-exception.txt in this software distribution, or - * online at http://secondlife.com/developers/opensource/flossexception + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. * - * By copying, modifying or distributing this software, you acknowledge - * that you have read and understood your obligations described above, - * and agree to abide by those obligations. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO - * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, - * COMPLETENESS OR PERFORMANCE. + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA * $/LicenseInfo$ */ @@ -35,69 +30,70 @@ #include "llpreview.h" #include "llbutton.h" #include "llframetimer.h" -#include "llviewerimage.h" +#include "llviewertexture.h" +class LLComboBox; class LLImageRaw; class LLPreviewTexture : public LLPreview { public: - LLPreviewTexture( - const std::string& name, - const LLRect& rect, - const std::string& title, - const LLUUID& item_uuid, - const LLUUID& object_id, - BOOL show_keep_discard = FALSE); - LLPreviewTexture( - const std::string& name, - const LLRect& rect, - const std::string& title, - const LLUUID& asset_id, - BOOL copy_to_inv = FALSE); + LLPreviewTexture(const LLSD& key); ~LLPreviewTexture(); virtual void draw(); - virtual BOOL canSaveAs(); + virtual BOOL canSaveAs() const; virtual void saveAs(); virtual void loadAsset(); virtual EAssetStatus getAssetStatus(); - - static void saveToFile(void* userdata); + + virtual void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); + virtual void onFocusReceived(); + static void onFileLoadedForSave( BOOL success, - LLViewerImage *src_vi, + LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* aux_src, S32 discard_level, BOOL final, void* userdata ); + void openToSave(); + + static void onSaveAsBtn(void* data); - + /*virtual*/ void setObjectID(const LLUUID& object_id); protected: void init(); - void updateAspectRatio(); - - virtual const char *getTitleName() const { return "Texture"; } + /* virtual */ BOOL postBuild(); + bool setAspectRatio(const F32 width, const F32 height); + static void onAspectRatioCommit(LLUICtrl*,void* userdata); -protected: - LLUUID mImageID; - LLPointer<LLViewerImage> mImage; - BOOL mLoadingFullImage; - LLString mSaveFileName; +private: + void updateImageID(); // set what image is being uploaded. + void updateDimensions(); + LLUUID mImageID; + LLPointer<LLViewerFetchedTexture> mImage; + S32 mImageOldBoostLevel; + std::string mSaveFileName; LLFrameTimer mSavedFileTimer; + BOOL mLoadingFullImage; BOOL mShowKeepDiscard; BOOL mCopyToInv; + // Save the image once it's loaded. + BOOL mPreviewToSave; + // This is stored off in a member variable, because the save-as // button and drag and drop functionality need to know. BOOL mIsCopyable; - + BOOL mUpdateDimensions; S32 mLastHeight; S32 mLastWidth; -}; - + F32 mAspectRatio; + LLLoadedCallbackEntry::source_callback_list_t mCallbackTextureList ; +}; #endif // LL_LLPREVIEWTEXTURE_H |
