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... | |
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} |
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 |
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 198 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 76 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 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 91 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 230 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 108 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 181 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 206 of file Texture.cpp.
void Texture::setScaleMode | ( | TextureScaleMode | mode | ) |
Texture * Texture::setSize | ( | int | w, |
int | h | ||
) |
Definition at line 187 of file Texture.cpp.
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 73 of file Texture.hpp.
Referenced by clear(), loadFromCache(), loadFromSurface(), loadFromSurfaceSaveToCache(), NetImageElement::render(), render(), and saveTo().
|
staticprotected |
Cache previously displayed textures.
Definition at line 70 of file Texture.hpp.
Referenced by loadFromCache(), and loadFromSurfaceSaveToCache().
|
protected |
The color of the first pixel.
Definition at line 79 of file Texture.hpp.
Referenced by clear(), loadFromCache(), loadFromSurface(), loadFromSurfaceSaveToCache(), and render().
|
protected |
Definition at line 76 of file Texture.hpp.
|
protected |
Texture's scaling mode.
Definition at line 82 of file Texture.hpp.
Referenced by render(), and setScaleMode().
|
protected |
The size of the texture.
Definition at line 76 of file Texture.hpp.
Referenced by clear(), getTextureSize(), loadFromCache(), loadFromSurface(), loadPath(), NetImageElement::NetImageElement(), render(), and saveTo().