summaryrefslogtreecommitdiff
path: root/indra/newview/llfloateroutfitsnapshot.h
diff options
context:
space:
mode:
authorpavelkproductengine <pavelkproductengine@lindenlab.com>2016-06-02 20:23:46 +0300
committerpavelkproductengine <pavelkproductengine@lindenlab.com>2016-06-02 20:23:46 +0300
commit9f789ddfbad656b0a6e1f59b592795ad22bdd061 (patch)
treeb01b1274f6c766718c7415dfda909a930e135340 /indra/newview/llfloateroutfitsnapshot.h
parentd1b7deda45f778e0fcfb92f38f9f5694ab285d1c (diff)
MAINT-5194 Visual Outfit browser
Made refactoring of LLFloaterOutfitSnapshot and LLFloaterSnapshot
Diffstat (limited to 'indra/newview/llfloateroutfitsnapshot.h')
-rw-r--r--indra/newview/llfloateroutfitsnapshot.h108
1 files changed, 62 insertions, 46 deletions
diff --git a/indra/newview/llfloateroutfitsnapshot.h b/indra/newview/llfloateroutfitsnapshot.h
index 9a7b30ebd8..37e264b0e7 100644
--- a/indra/newview/llfloateroutfitsnapshot.h
+++ b/indra/newview/llfloateroutfitsnapshot.h
@@ -1,25 +1,25 @@
-/**
+/**
* @file llfloateroutfitsnapshot.h
* @brief Snapshot preview window for saving as an outfit thumbnail in visual outfit gallery
*
* $LicenseInfo:firstyear=2004&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2016, 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.
- *
+ *
* 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.
- *
+ *
* 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
- *
+ *
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -30,71 +30,87 @@
#include "llfloater.h"
#include "llfloatersnapshot.h"
#include "lloutfitgallery.h"
+#include "llsnapshotlivepreview.h"
-class LLSpinCtrl;
+///----------------------------------------------------------------------------
+/// Class LLFloaterOutfitSnapshot
+///----------------------------------------------------------------------------
class LLFloaterOutfitSnapshot : public LLFloaterSnapshotBase
{
- LOG_CLASS(LLFloaterOutfitSnapshot);
+ LOG_CLASS(LLFloaterOutfitSnapshot);
public:
- LLFloaterOutfitSnapshot(const LLSD& key);
- virtual ~LLFloaterOutfitSnapshot();
-
- /*virtual*/ BOOL postBuild();
- /*virtual*/ void draw();
- /*virtual*/ void onOpen(const LLSD& key);
- /*virtual*/ void onClose(bool app_quitting);
- /*virtual*/ S32 notify(const LLSD& info);
-
- static void update();
-
- // TODO: create a snapshot model instead
- static LLFloaterOutfitSnapshot* getInstance();
- static LLFloaterOutfitSnapshot* findInstance();
- static void saveTexture();
- static void postSave();
- static void postPanelSwitch();
- static LLPointer<LLImageFormatted> getImageData();
- static const LLVector3d& getPosTakenGlobal();
-
- static const LLRect& getThumbnailPlaceholderRect() { return sThumbnailPlaceholder->getRect(); }
+ LLFloaterOutfitSnapshot(const LLSD& key);
+ /*virtual*/ ~LLFloaterOutfitSnapshot();
+
+ /*virtual*/ BOOL postBuild();
+ /*virtual*/ void onOpen(const LLSD& key);
+
+ static void update();
+
+ static LLFloaterOutfitSnapshot* getInstance();
+ /*virtual*/ void saveTexture();
+
+ static const LLRect& getThumbnailPlaceholderRect() { return sThumbnailPlaceholder->getRect(); }
void setOutfitID(LLUUID id) { mOutfitID = id; }
LLUUID getOutfitID() { return mOutfitID; }
void setGallery(LLOutfitGallery* gallery) { mOutfitGallery = gallery; }
-private:
- static LLUICtrl* sThumbnailPlaceholder;
- LLUICtrl *mRefreshBtn, *mRefreshLabel;
- LLUICtrl *mSucceessLblPanel, *mFailureLblPanel;
- class Impl;
- Impl& impl;
+ class Impl;
+ friend Impl;
+private:
LLUUID mOutfitID;
LLOutfitGallery* mOutfitGallery;
};
+///----------------------------------------------------------------------------
+/// Class LLFloaterOutfitSnapshot::Impl
+///----------------------------------------------------------------------------
+
+class LLFloaterOutfitSnapshot::Impl : public LLFloaterSnapshotBase::ImplBase
+{
+ LOG_CLASS(LLFloaterOutfitSnapshot::Impl);
+public:
+ Impl(LLFloaterSnapshotBase* floater)
+ : LLFloaterSnapshotBase::ImplBase(floater)
+ {}
+ ~Impl()
+ {}
+ void updateResolution(void* data);
+
+ /*virtual*/ LLPanelSnapshot* getActivePanel(LLFloaterSnapshotBase* floater, bool ok_if_not_found = true);
+ /*virtual*/ LLSnapshotModel::ESnapshotFormat getImageFormat(LLFloaterSnapshotBase* floater);
+ /*virtual*/ std::string getSnapshotPanelPrefix();
+
+ /*virtual*/ void updateControls(LLFloaterSnapshotBase* floater);
+
+private:
+ /*virtual*/ LLSnapshotModel::ESnapshotLayerType getLayerType(LLFloaterSnapshotBase* floater);
+ /*virtual*/ void setFinished(bool finished, bool ok = true, const std::string& msg = LLStringUtil::null);
+};
+
+///----------------------------------------------------------------------------
+/// Class LLOutfitSnapshotFloaterView
+///----------------------------------------------------------------------------
+
class LLOutfitSnapshotFloaterView : public LLFloaterView
{
public:
- struct Params
- : public LLInitParam::Block<Params, LLFloaterView::Params>
- {
- };
+ struct Params
+ : public LLInitParam::Block<Params, LLFloaterView::Params>
+ {
+ };
protected:
- LLOutfitSnapshotFloaterView (const Params& p);
- friend class LLUICtrlFactory;
+ LLOutfitSnapshotFloaterView(const Params& p);
+ friend class LLUICtrlFactory;
public:
- virtual ~LLOutfitSnapshotFloaterView();
-
- /*virtual*/ BOOL handleKey(KEY key, MASK mask, BOOL called_from_parent);
- /*virtual*/ BOOL handleMouseDown(S32 x, S32 y, MASK mask);
- /*virtual*/ BOOL handleMouseUp(S32 x, S32 y, MASK mask);
- /*virtual*/ BOOL handleHover(S32 x, S32 y, MASK mask);
+ virtual ~LLOutfitSnapshotFloaterView();
};
extern LLOutfitSnapshotFloaterView* gOutfitSnapshotFloaterView;