diff options
author | Erik Kundiman <erik@megapahit.org> | 2025-06-19 20:54:17 +0800 |
---|---|---|
committer | Erik Kundiman <erik@megapahit.org> | 2025-06-19 20:54:17 +0800 |
commit | 55d9c2f3973882477f04d052fd027e5af621ddff (patch) | |
tree | d7ce8a674da93ad01b417cf91ba5fb9fb6f6b5e7 /indra/newview/llprogressview.h | |
parent | 0c303fa9d33405435b67435146045a8edcc5f51e (diff) |
Bring back 3p logos to the viewer, mainly for FMOD
I checked out the related files from 45249de1ca418324c4077312eefc7edc7e22c401,
before the merge with upstream logo removal, but then I had to reapply
c2d491905b668702d5640c7c5472629f7acc27e0, the MotD dynamic resizing, and
remove the unused commented out vivox-related part since we're not
redistributing it.
Diffstat (limited to 'indra/newview/llprogressview.h')
-rw-r--r-- | indra/newview/llprogressview.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/indra/newview/llprogressview.h b/indra/newview/llprogressview.h index 250ee511d7..f529c16c1d 100644 --- a/indra/newview/llprogressview.h +++ b/indra/newview/llprogressview.h @@ -53,6 +53,7 @@ public: /*virtual*/ void draw(); void drawStartTexture(F32 alpha); + void drawLogos(F32 alpha); /*virtual*/ bool handleHover(S32 x, S32 y, MASK mask); /*virtual*/ bool handleKeyHere(KEY key, MASK mask); @@ -85,6 +86,7 @@ public: protected: LLProgressBar* mProgressBar; LLMediaCtrl* mMediaCtrl; + LLTextBox* mLogosLabel = nullptr; LLTextBox* mProgressText = nullptr; LLTextBox* mMessageText = nullptr; F32 mPercentDone; @@ -110,8 +112,25 @@ protected: bool handleUpdate(const LLSD& event_data); static void onIdle(void* user_data); + void loadLogo(const std::string &path, const U8 image_codec, const LLRect &pos_rect, const LLRectf &clip_rect, const LLRectf &offset_rect); + // logos have unusual location and need to be preloaded to not appear grey, then deleted + void initLogos(); // Loads a bitmap to display during load void initStartTexture(S32 location_id, bool is_in_production); + +private: + // We need to draw textures on login, but only once. + // So this vector gets filled up for textures to render and gets cleaned later + // Some textures have unusual requirements, so we are rendering directly + class TextureData + { + public: + LLPointer<LLViewerTexture> mTexturep; + LLRect mDrawRect; + LLRectf mClipRect; + LLRectf mOffsetRect; + }; + std::vector<TextureData> mLogosList; }; #endif // LL_LLPROGRESSVIEW_H |