diff options
author | Ansariel <ansariel.hiller@phoenixviewer.com> | 2024-05-22 19:04:52 +0200 |
---|---|---|
committer | Ansariel <ansariel.hiller@phoenixviewer.com> | 2024-05-22 19:04:52 +0200 |
commit | 1b67dd855c41f5a0cda7ec2a68d98071986ca703 (patch) | |
tree | ab243607f74f78200787bba5b9b88f07ef1b966f /indra/newview/llpreview.h | |
parent | 6d6eabca44d08d5b97bfe3e941d2b9687c2246ea (diff) | |
parent | e1623bb276f83a43ce7a197e388720c05bdefe61 (diff) |
Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A
# Conflicts:
# autobuild.xml
# indra/cmake/CMakeLists.txt
# indra/cmake/GoogleMock.cmake
# indra/llaudio/llaudioengine_fmodstudio.cpp
# indra/llaudio/llaudioengine_fmodstudio.h
# indra/llaudio/lllistener_fmodstudio.cpp
# indra/llaudio/lllistener_fmodstudio.h
# indra/llaudio/llstreamingaudio_fmodstudio.cpp
# indra/llaudio/llstreamingaudio_fmodstudio.h
# indra/llcharacter/llmultigesture.cpp
# indra/llcharacter/llmultigesture.h
# indra/llimage/llimage.cpp
# indra/llimage/llimagepng.cpp
# indra/llimage/llimageworker.cpp
# indra/llimage/tests/llimageworker_test.cpp
# indra/llmessage/tests/llmockhttpclient.h
# indra/llprimitive/llgltfmaterial.h
# indra/llrender/llfontfreetype.cpp
# indra/llui/llcombobox.cpp
# indra/llui/llfolderview.cpp
# indra/llui/llfolderviewmodel.h
# indra/llui/lllineeditor.cpp
# indra/llui/lllineeditor.h
# indra/llui/lltextbase.cpp
# indra/llui/lltextbase.h
# indra/llui/lltexteditor.cpp
# indra/llui/lltextvalidate.cpp
# indra/llui/lltextvalidate.h
# indra/llui/lluictrl.h
# indra/llui/llview.cpp
# indra/llwindow/llwindowmacosx.cpp
# indra/newview/app_settings/settings.xml
# indra/newview/llappearancemgr.cpp
# indra/newview/llappearancemgr.h
# indra/newview/llavatarpropertiesprocessor.cpp
# indra/newview/llavatarpropertiesprocessor.h
# indra/newview/llbreadcrumbview.cpp
# indra/newview/llbreadcrumbview.h
# indra/newview/llbreastmotion.cpp
# indra/newview/llbreastmotion.h
# indra/newview/llconversationmodel.h
# indra/newview/lldensityctrl.cpp
# indra/newview/lldensityctrl.h
# indra/newview/llface.inl
# indra/newview/llfloatereditsky.cpp
# indra/newview/llfloatereditwater.cpp
# indra/newview/llfloateremojipicker.h
# indra/newview/llfloaterimsessiontab.cpp
# indra/newview/llfloaterprofiletexture.cpp
# indra/newview/llfloaterprofiletexture.h
# indra/newview/llgesturemgr.cpp
# indra/newview/llgesturemgr.h
# indra/newview/llimpanel.cpp
# indra/newview/llimpanel.h
# indra/newview/llinventorybridge.cpp
# indra/newview/llinventorybridge.h
# indra/newview/llinventoryclipboard.cpp
# indra/newview/llinventoryclipboard.h
# indra/newview/llinventoryfunctions.cpp
# indra/newview/llinventoryfunctions.h
# indra/newview/llinventorygallery.cpp
# indra/newview/lllistbrowser.cpp
# indra/newview/lllistbrowser.h
# indra/newview/llpanelobjectinventory.cpp
# indra/newview/llpanelprofile.cpp
# indra/newview/llpanelprofile.h
# indra/newview/llpreviewgesture.cpp
# indra/newview/llsavedsettingsglue.cpp
# indra/newview/llsavedsettingsglue.h
# indra/newview/lltooldraganddrop.cpp
# indra/newview/llurllineeditorctrl.cpp
# indra/newview/llvectorperfoptions.cpp
# indra/newview/llvectorperfoptions.h
# indra/newview/llviewerparceloverlay.cpp
# indra/newview/llviewertexlayer.cpp
# indra/newview/llviewertexturelist.cpp
# indra/newview/macmain.h
# indra/test/test.cpp
Diffstat (limited to 'indra/newview/llpreview.h')
-rw-r--r-- | indra/newview/llpreview.h | 328 |
1 files changed, 164 insertions, 164 deletions
diff --git a/indra/newview/llpreview.h b/indra/newview/llpreview.h index 43cdde514c..a714396813 100644 --- a/indra/newview/llpreview.h +++ b/indra/newview/llpreview.h @@ -1,164 +1,164 @@ -/** - * @file llpreview.h - * @brief LLPreview class definition - * - * $LicenseInfo:firstyear=2002&license=viewerlgpl$ - * Second Life Viewer Source Code - * 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. - * - * 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$ - */ - -#ifndef LL_LLPREVIEW_H -#define LL_LLPREVIEW_H - -#include "llmultifloater.h" -#include "llresizehandle.h" -#include "llpointer.h" -#include "lluuid.h" -#include "llinventoryobserver.h" -#include "llextendedstatus.h" -#include <map> - -class LLInventoryItem; -class LLViewerObject; -class LLLineEditor; -class LLRadioGroup; -class LLPreview; - -class LLMultiPreview : public LLMultiFloater -{ -public: - LLMultiPreview(); - - /*virtual*/void onOpen(const LLSD& key); - /*virtual*/void tabOpen(LLFloater* opened_floater, bool from_click); - /*virtual*/ void handleReshape(const LLRect& new_rect, bool by_user = false); - -}; - -// https://wiki.lindenlab.com/mediawiki/index.php?title=LLPreview&oldid=81373 - -class LLPreview : public LLFloater, LLInventoryObserver -{ -public: - typedef enum e_asset_status - { - PREVIEW_ASSET_ERROR, - PREVIEW_ASSET_UNLOADED, - PREVIEW_ASSET_LOADING, - PREVIEW_ASSET_LOADED - } EAssetStatus; -public: - LLPreview(const LLSD& key ); - virtual ~LLPreview(); - - /*virtual*/ bool postBuild(); - - virtual void setObjectID(const LLUUID& object_id); - void setItem( LLInventoryItem* item ); - - void setAssetId(const LLUUID& asset_id); - const LLInventoryItem* getItem() const; // searches if not constructed with it - - static void hide(const LLUUID& item_uuid, bool no_saving = false ); - static void dirty(const LLUUID& item_uuid); - - 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 void onOpen(const LLSD& key); - - virtual void setAuxItem( const LLInventoryItem* item ); - - static void onBtnCopyToInv(void* userdata); - - static void onKeepBtn(void* data); - static void onDiscardBtn(void* data); - /*virtual*/ void handleReshape(const LLRect& new_rect, bool by_user = false); - - void userResized() { mUserResized = true; }; - - virtual void loadAsset() { mAssetStatus = PREVIEW_ASSET_LOADED; } - virtual EAssetStatus getAssetStatus() { return mAssetStatus;} - - // Why is this at the LLPreview level? JC - void setNotecardInfo(const LLUUID& notecard_inv_id, const LLUUID& object_id); - - // llview - /*virtual*/ void draw(); - virtual void refreshFromItem(); - - // We can't modify Item or description in preview if either in-world Object - // or Item itself is unmodifiable - static bool canModify(const LLUUID taskUUID, const LLInventoryItem* item); - static bool canModify(const LLViewerObject* object, const LLInventoryItem* item); - -protected: - virtual void onCommit(); - - static void onText(LLUICtrl*, void* userdata); - static void onRadio(LLUICtrl*, void* userdata); - - // for LLInventoryObserver - virtual void changed(U32 mask); - bool mDirty; - bool mSaveDialogShown; - -protected: - LLUUID mItemUUID; - - // mObjectUUID will have a value if it is associated with a task in - // the world, and will be == LLUUID::null if it's in the agent - // inventory. - LLUUID mObjectUUID; - - LLRect mClientRect; - - LLPointer<LLInventoryItem> mAuxItem; // HACK! - LLPointer<LLInventoryItem> mItem; // For embedded items (Landmarks) - LLButton* mCopyToInvBtn; - - // Close without saving changes - bool mForceClose; - - bool mUserResized; - - // When closing springs a "Want to save?" dialog, we want - // to keep the preview open until the save completes. - bool mCloseAfterSave; - - EAssetStatus mAssetStatus; - - LLUUID mNotecardInventoryID; - // I am unsure if this is always the same as mObjectUUID, or why it exists - // at the LLPreview level. JC 2009-06-24 - LLUUID mNotecardObjectID; -}; - - -const S32 PREVIEW_BORDER = 4; -const S32 PREVIEW_PAD = 5; - -const S32 PREVIEW_LINE_HEIGHT = 19; -const S32 PREVIEW_BORDER_WIDTH = 2; -const S32 PREVIEW_RESIZE_HANDLE_SIZE = S32(RESIZE_HANDLE_WIDTH * OO_SQRT2) + PREVIEW_BORDER_WIDTH; -const S32 PREVIEW_VPAD = 2; -const S32 PREVIEW_HEADER_SIZE = 2*PREVIEW_LINE_HEIGHT + 2 * PREVIEW_VPAD; - -#endif // LL_LLPREVIEW_H +/**
+ * @file llpreview.h
+ * @brief LLPreview class definition
+ *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * 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.
+ *
+ * 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$
+ */
+
+#ifndef LL_LLPREVIEW_H
+#define LL_LLPREVIEW_H
+
+#include "llmultifloater.h"
+#include "llresizehandle.h"
+#include "llpointer.h"
+#include "lluuid.h"
+#include "llinventoryobserver.h"
+#include "llextendedstatus.h"
+#include <map>
+
+class LLInventoryItem;
+class LLViewerObject;
+class LLLineEditor;
+class LLRadioGroup;
+class LLPreview;
+
+class LLMultiPreview : public LLMultiFloater
+{
+public:
+ LLMultiPreview();
+
+ /*virtual*/void onOpen(const LLSD& key);
+ /*virtual*/void tabOpen(LLFloater* opened_floater, bool from_click);
+ /*virtual*/ void handleReshape(const LLRect& new_rect, bool by_user = false);
+
+};
+
+// https://wiki.lindenlab.com/mediawiki/index.php?title=LLPreview&oldid=81373
+
+class LLPreview : public LLFloater, LLInventoryObserver
+{
+public:
+ typedef enum e_asset_status
+ {
+ PREVIEW_ASSET_ERROR,
+ PREVIEW_ASSET_UNLOADED,
+ PREVIEW_ASSET_LOADING,
+ PREVIEW_ASSET_LOADED
+ } EAssetStatus;
+public:
+ LLPreview(const LLSD& key );
+ virtual ~LLPreview();
+
+ /*virtual*/ bool postBuild();
+
+ virtual void setObjectID(const LLUUID& object_id);
+ void setItem( LLInventoryItem* item );
+
+ void setAssetId(const LLUUID& asset_id);
+ const LLInventoryItem* getItem() const; // searches if not constructed with it
+
+ static void hide(const LLUUID& item_uuid, bool no_saving = false );
+ static void dirty(const LLUUID& item_uuid);
+
+ 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 void onOpen(const LLSD& key);
+
+ virtual void setAuxItem( const LLInventoryItem* item );
+
+ static void onBtnCopyToInv(void* userdata);
+
+ static void onKeepBtn(void* data);
+ static void onDiscardBtn(void* data);
+ /*virtual*/ void handleReshape(const LLRect& new_rect, bool by_user = false);
+
+ void userResized() { mUserResized = true; };
+
+ virtual void loadAsset() { mAssetStatus = PREVIEW_ASSET_LOADED; }
+ virtual EAssetStatus getAssetStatus() { return mAssetStatus;}
+
+ // Why is this at the LLPreview level? JC
+ void setNotecardInfo(const LLUUID& notecard_inv_id, const LLUUID& object_id);
+
+ // llview
+ /*virtual*/ void draw();
+ virtual void refreshFromItem();
+
+ // We can't modify Item or description in preview if either in-world Object
+ // or Item itself is unmodifiable
+ static bool canModify(const LLUUID taskUUID, const LLInventoryItem* item);
+ static bool canModify(const LLViewerObject* object, const LLInventoryItem* item);
+
+protected:
+ virtual void onCommit();
+
+ static void onText(LLUICtrl*, void* userdata);
+ static void onRadio(LLUICtrl*, void* userdata);
+
+ // for LLInventoryObserver
+ virtual void changed(U32 mask);
+ bool mDirty;
+ bool mSaveDialogShown;
+
+protected:
+ LLUUID mItemUUID;
+
+ // mObjectUUID will have a value if it is associated with a task in
+ // the world, and will be == LLUUID::null if it's in the agent
+ // inventory.
+ LLUUID mObjectUUID;
+
+ LLRect mClientRect;
+
+ LLPointer<LLInventoryItem> mAuxItem; // HACK!
+ LLPointer<LLInventoryItem> mItem; // For embedded items (Landmarks)
+ LLButton* mCopyToInvBtn;
+
+ // Close without saving changes
+ bool mForceClose;
+
+ bool mUserResized;
+
+ // When closing springs a "Want to save?" dialog, we want
+ // to keep the preview open until the save completes.
+ bool mCloseAfterSave;
+
+ EAssetStatus mAssetStatus;
+
+ LLUUID mNotecardInventoryID;
+ // I am unsure if this is always the same as mObjectUUID, or why it exists
+ // at the LLPreview level. JC 2009-06-24
+ LLUUID mNotecardObjectID;
+};
+
+
+const S32 PREVIEW_BORDER = 4;
+const S32 PREVIEW_PAD = 5;
+
+const S32 PREVIEW_LINE_HEIGHT = 19;
+const S32 PREVIEW_BORDER_WIDTH = 2;
+const S32 PREVIEW_RESIZE_HANDLE_SIZE = S32(RESIZE_HANDLE_WIDTH * OO_SQRT2) + PREVIEW_BORDER_WIDTH;
+const S32 PREVIEW_VPAD = 2;
+const S32 PREVIEW_HEADER_SIZE = 2*PREVIEW_LINE_HEIGHT + 2 * PREVIEW_VPAD;
+
+#endif // LL_LLPREVIEW_H
|