![]() |
Chesto 0.9
A declarative and element-based library for creating GUIs on homebrew'd consoles
|


Public Member Functions | |
| void | clear (void) |
| Reinitialize Texture Resets texture content, size and color. More... | |
| bool | loadFromSurface (CST_Surface *surface) |
| Loads the texture from a surface Returns true if successful. More... | |
| bool | loadFromCache (std::string &key) |
| Loads the texture from caches Returns true if successful. More... | |
| bool | loadFromSurfaceSaveToCache (std::string &key, CST_Surface *surface) |
| Loads the texture from a surface and saves the results in caches Returns true if successful. More... | |
| void | render (Element *parent) |
| Renders the texture. More... | |
| void | resize (int w, int h) |
| Resizes the texture. More... | |
| void | setScaleMode (TextureScaleMode mode) |
| Sets texture scaling mode. More... | |
| void | getTextureSize (int *w, int *h) |
| Return texture's original size. More... | |
| Texture * | setSize (int w, int h) |
| bool | saveTo (std::string &path) |
| save this texture to the given file path as a PNG More... | |
| void | loadPath (std::string &path, bool forceReload=false) |
| update and load or reload the texture More... | |
Public Member Functions inherited from Element | |
| virtual bool | process (InputEvents *event) |
| process any input that is received for this element More... | |
| virtual void | render (Element *parent) |
| display the current state of the display More... | |
| bool | onTouchDown (InputEvents *event) |
| bool | onTouchDrag (InputEvents *event) |
| bool | onTouchUp (InputEvents *event) |
| void | hide () |
| void | unhide () |
| void | renderBackground (bool fill=true) |
| void | append (Element *element) |
| void | remove (Element *element) |
| void | removeAll (bool moveToTrash=false) |
| void | position (int x, int y) |
| position the element More... | |
| void | recalcPosition (Element *parent) |
| CST_Rect | getBounds () |
| CST_Renderer * | getRenderer () |
| void | wipeAll (bool delSelf=false) |
| Element * | child (Element *child) |
| Element * | setPosition (int x, int y) |
| Element * | setAction (std::function< void()> func) |
| Element * | centerHorizontallyIn (Element *parent) |
| Element * | centerVerticallyIn (Element *parent) |
| Element * | centerIn (Element *parent) |
| Element * | setAbsolute (bool isAbs) |
| Element * | constrain (int flags, int padding=0) |
| Element * | animate (int durationIn, std::function< void(float)> onStep, std::function< void()> onFinish) |
| Element * | moveToFront () |
| Element * | setTouchable (bool touchable) |
| void | screenshot (std::string path) |
| Take a screenshot of this element and its children, and save it to the given path. More... | |
Public Attributes | |
| int | cornerRadius = 0 |
| Rounded corner radius (if >0, will round) More... | |
| SDL_BlendMode | blendMode = SDL_BLENDMODE_BLEND |
| Blend mode to use for this texture. More... | |
Public Attributes inherited from Element | |
| std::function< void()> | action = NULL |
| the action to call (from binded callback) on touch or button selection https://stackoverflow.com/questions/14189440/c-class-member-callback-simple-examples More... | |
| std::function< void(InputEvents *event)> | actionWithEvents = NULL |
| std::vector< Element * > | elements |
| visible GUI child elements of this element More... | |
| float | scale = 1.0f |
| bool | touchable = false |
| whether or not this element can be touched (highlights bounds) More... | |
| bool | dragging = false |
| whether or not this element is currently being dragged More... | |
| bool | needsRedraw = false |
| whether or not this element needs the screen redrawn next time it's processed More... | |
| int | futureRedrawCounter = 0 |
| whether this element needs a redraw for the next X redraws (decreases each time) (0 is no redraws) More... | |
| int | lastMouseY = 0 |
| the last Y, X coordinate of the mouse (from a drag probably) More... | |
| int | lastMouseX = 0 |
| bool | hasBackground = false |
| rgb | backgroundColor = {0, 0, 0} |
| int | backgroundOpacity = 0xff |
| bool | isAbsolute = false |
| Element * | parent = NULL |
| the parent element (can sometimes be null if it isn't set) More... | |
| bool | hidden = false |
| whether this element should skip rendering or not More... | |
| bool | isProtected = false |
| int | elasticCounter = 0 |
| how much time is left in an elastic-type flick/scroll set by the last distance traveled in a scroll, and counts down every frame More... | |
| int | width = 0 |
| width and height of this element (must be manually set, isn't usually calculated (but is in some cases, like text or images)) More... | |
| int | height = 0 |
| int | x = 0 |
| int | y = 0 |
| int | xAbs = 0 |
| int | yAbs = 0 |
| double | angle = 0 |
| rotation angle in degrees More... | |
| int | xOff = 0 |
| int | yOff = 0 |
| int | cornerRadius = 0 |
| std::vector< Constraint * > | constraints |
| std::vector< Animation * > | animations |
| bool | useColorMask = false |
| whether or not to overlay a color mask on top of this element More... | |
| CST_Color | maskColor = {0,0,0,0} |
| The color to overlay on top. More... | |
Protected Attributes | |
| CST_Texture * | mTexture = nullptr |
| The actual texture. More... | |
| int | texW = 0 |
| The size of the texture. More... | |
| int | texH = 0 |
| CST_Color | texFirstPixel = {0,0,0,0} |
| The color of the first pixel. More... | |
| TextureScaleMode | texScaleMode = SCALE_STRETCH |
| Texture's scaling mode. More... | |
Static Protected Attributes | |
| static std::unordered_map< std::string, TextureData > | texCache |
| Cache previously displayed textures. More... | |
Additional Inherited Members | |
Public Types inherited from Element | |
| typedef Element | super |
Definition at line 23 of file Texture.hpp.
|
virtual |
Definition at line 5 of file Texture.cpp.
| void Texture::clear | ( | void | ) |
Reinitialize Texture Resets texture content, size and color.
Definition at line 9 of file Texture.cpp.
References mTexture, texFirstPixel, and texW.
Referenced by TextElement::update().
| void Texture::getTextureSize | ( | int * | w, |
| int * | h | ||
| ) |
Return texture's original size.
Definition at line 199 of file Texture.cpp.
References texW.
Referenced by TextElement::update().
| bool Texture::loadFromCache | ( | std::string & | key | ) |
Loads the texture from caches Returns true if successful.
Definition at line 77 of file Texture.cpp.
References mTexture, texCache, texFirstPixel, and texW.
Referenced by loadPath(), NetImageElement::NetImageElement(), and TextElement::update().
| bool Texture::loadFromSurface | ( | CST_Surface * | surface | ) |
Loads the texture from a surface Returns true if successful.
Definition at line 50 of file Texture.cpp.
References blendMode, mTexture, texFirstPixel, and texW.
Referenced by loadFromSurfaceSaveToCache().
| bool Texture::loadFromSurfaceSaveToCache | ( | std::string & | key, |
| CST_Surface * | surface | ||
| ) |
Loads the texture from a surface and saves the results in caches Returns true if successful.
Definition at line 92 of file Texture.cpp.
References loadFromSurface(), mTexture, texCache, and texFirstPixel.
Referenced by loadPath(), and TextElement::update().
| void Texture::loadPath | ( | std::string & | path, |
| bool | forceReload = false |
||
| ) |
update and load or reload the texture
Definition at line 231 of file Texture.cpp.
References loadFromCache(), loadFromSurfaceSaveToCache(), texW, and Element::width.
Referenced by ImageElement::ImageElement(), and Button::process().
|
virtual |
Renders the texture.
Reimplemented from Element.
Definition at line 109 of file Texture.cpp.
References Element::angle, Element::hidden, Element::maskColor, mTexture, Element::parent, Element::render(), texFirstPixel, texScaleMode, texW, Element::useColorMask, and Element::width.
Referenced by NetImageElement::render().
| void Texture::resize | ( | int | w, |
| int | h | ||
| ) |
Resizes the texture.
Definition at line 182 of file Texture.cpp.
References Element::width.
Referenced by Button::process().
| bool Texture::saveTo | ( | std::string & | path | ) |
save this texture to the given file path as a PNG
Definition at line 207 of file Texture.cpp.
| void Texture::setScaleMode | ( | TextureScaleMode | mode | ) |
| Texture * Texture::setSize | ( | int | w, |
| int | h | ||
| ) |
Definition at line 188 of file Texture.cpp.
| SDL_BlendMode Texture::blendMode = SDL_BLENDMODE_BLEND |
Blend mode to use for this texture.
Definition at line 69 of file Texture.hpp.
Referenced by loadFromSurface().
| int Texture::cornerRadius = 0 |
Rounded corner radius (if >0, will round)
Definition at line 66 of file Texture.hpp.
|
protected |
The actual texture.
Definition at line 76 of file Texture.hpp.
Referenced by clear(), loadFromCache(), loadFromSurface(), loadFromSurfaceSaveToCache(), NetImageElement::render(), render(), and saveTo().
|
staticprotected |
Cache previously displayed textures.
Definition at line 73 of file Texture.hpp.
Referenced by loadFromCache(), and loadFromSurfaceSaveToCache().
|
protected |
The color of the first pixel.
Definition at line 82 of file Texture.hpp.
Referenced by clear(), loadFromCache(), loadFromSurface(), loadFromSurfaceSaveToCache(), and render().
|
protected |
Definition at line 79 of file Texture.hpp.
|
protected |
Texture's scaling mode.
Definition at line 85 of file Texture.hpp.
Referenced by render(), and setScaleMode().
|
protected |
The size of the texture.
Definition at line 79 of file Texture.hpp.
Referenced by clear(), getTextureSize(), loadFromCache(), loadFromSurface(), loadPath(), NetImageElement::NetImageElement(), render(), and saveTo().