summaryrefslogtreecommitdiff
path: root/indra/newview/llprogressview.h
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2020-04-13 22:41:55 +0300
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2020-04-13 22:41:55 +0300
commit347c53855bb0c983e0300594772a9206f9031065 (patch)
tree3cd1796f027af61723a959735290d4a28fac6f48 /indra/newview/llprogressview.h
parent2542a3ed795d3a7ac664e0ca7ec4b5d8108dfce8 (diff)
SL-12607 Added more icons and draw methods to draw them
Diffstat (limited to 'indra/newview/llprogressview.h')
-rw-r--r--indra/newview/llprogressview.h26
1 files changed, 24 insertions, 2 deletions
diff --git a/indra/newview/llprogressview.h b/indra/newview/llprogressview.h
index 1d4ae3a66f..56377a5889 100644
--- a/indra/newview/llprogressview.h
+++ b/indra/newview/llprogressview.h
@@ -35,6 +35,7 @@
class LLImageRaw;
class LLButton;
class LLProgressBar;
+class LLViewerTexture;
class LLProgressView :
public LLPanel,
@@ -51,6 +52,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);
@@ -70,8 +72,9 @@ public:
void setStartupComplete();
- // turns on logos, hides message of the day
- void setShowLogos(const BOOL logos_visible);
+ // we have to preload local textures to make sure they won't be grey
+ void initTextures(S32 location_id, bool is_in_production);
+ void releaseTextures();
void setCancelButtonVisible(BOOL b, const std::string& label);
@@ -98,6 +101,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