diff --git a/src/GuiComponent.cpp b/src/GuiComponent.cpp index 4a5ee0195..88830b9d0 100644 --- a/src/GuiComponent.cpp +++ b/src/GuiComponent.cpp @@ -156,3 +156,14 @@ GuiComponent* GuiComponent::getParent() { return mParent; } + + +unsigned char GuiComponent::getOpacity() +{ + return mOpacity; +} + +void GuiComponent::setOpacity(unsigned char opacity) +{ + mOpacity = opacity; +} \ No newline at end of file diff --git a/src/GuiComponent.h b/src/GuiComponent.h index b7f36af64..6e09b5383 100644 --- a/src/GuiComponent.h +++ b/src/GuiComponent.h @@ -45,11 +45,14 @@ public: void clearChildren(); unsigned int getChildCount(); GuiComponent* getChild(unsigned int i); + unsigned char getOpacity(); + void setOpacity(unsigned char opacity); protected: //Default implementation just renders children - you should probably always call GuiComponent::onRender at some point in your custom onRender. virtual void onRender(); + unsigned char mOpacity; Window* mWindow; GuiComponent* mParent; Vector2i mOffset; diff --git a/src/components/ImageComponent.cpp b/src/components/ImageComponent.cpp index 238c9019e..dc8021ef8 100644 --- a/src/components/ImageComponent.cpp +++ b/src/components/ImageComponent.cpp @@ -352,8 +352,6 @@ bool ImageComponent::hasImage() return !mPath.empty(); } -unsigned char ImageComponent::getOpacity() { return mOpacity; } -void ImageComponent::setOpacity(unsigned char opacity) { mOpacity = opacity; } void ImageComponent::copyScreen() { diff --git a/src/components/ImageComponent.h b/src/components/ImageComponent.h index 3cf0204b1..ca6939509 100644 --- a/src/components/ImageComponent.h +++ b/src/components/ImageComponent.h @@ -38,9 +38,6 @@ public: void init(); void deinit(); - unsigned char getOpacity(); - void setOpacity(unsigned char opacity); - protected: void onRender(); @@ -51,8 +48,6 @@ private: bool mAllowUpscale, mTiled, mFlipX, mFlipY; - unsigned char mOpacity; - void loadImage(std::string path); void resize(); void buildImageArray(int x, int y, GLfloat* points, GLfloat* texs, float percentageX = 1, float percentageY = 1); //writes 12 GLfloat points and 12 GLfloat texture coordinates to a given array at a given position diff --git a/src/components/TextComponent.cpp b/src/components/TextComponent.cpp index 477a19417..6b455881c 100644 --- a/src/components/TextComponent.cpp +++ b/src/components/TextComponent.cpp @@ -74,7 +74,7 @@ void TextComponent::onRender() Renderer::pushClipRect(getGlobalOffset(), getSize()); - Renderer::drawWrappedText(mText, (int)-mScrollPos.x, (int)-mScrollPos.y, mSize.x, mColor, font); + Renderer::drawWrappedText(mText, (int)-mScrollPos.x, (int)-mScrollPos.y, mSize.x, mColor >> 8 << 8 | getOpacity(), font); Renderer::popClipRect();