#include <canvas_private.hpp>
Public Member Functions | |
image_shape (const config &cfg, wfl::action_function_symbol_table &functions) | |
Constructor. More... | |
void | draw (wfl::map_formula_callable &variables) override |
Draws the canvas. More... | |
Public Member Functions inherited from gui2::canvas::shape | |
shape (const config &cfg) | |
virtual | ~shape () |
bool | immutable () const |
Private Types | |
enum class | resize_mode { scale , scale_sharp , stretch , tile , tile_center , tile_highres } |
Determines the way an image will be resized. More... | |
Private Member Functions | |
resize_mode | get_resize_mode (const std::string &resize_mode) |
Converts a string to a resize mode. More... | |
Static Private Member Functions | |
static void | dimension_validation (unsigned value, const std::string &name, const std::string &key) |
Private Attributes | |
typed_formula< unsigned > | x_ |
The x coordinate of the image. More... | |
typed_formula< unsigned > | y_ |
The y coordinate of the image. More... | |
typed_formula< unsigned > | w_ |
The width of the image. More... | |
typed_formula< unsigned > | h_ |
The height of the image. More... | |
typed_formula< std::string > | image_name_ |
Name of the image. More... | |
resize_mode | resize_mode_ |
The resize mode for an image. More... | |
typed_formula< bool > | mirror_ |
Mirror the image over the vertical axis. More... | |
wfl::formula | actions_formula_ |
Definition at line 177 of file canvas_private.hpp.
|
strongprivate |
Determines the way an image will be resized.
If the image is smaller is needed it needs to resized, how is determined by the value of this enum.
Enumerator | |
---|---|
scale | |
scale_sharp | |
stretch | |
tile | |
tile_center | |
tile_highres |
Definition at line 211 of file canvas_private.hpp.
gui2::image_shape::image_shape | ( | const config & | cfg, |
wfl::action_function_symbol_table & | functions | ||
) |
Constructor.
cfg | The config object to define the image. |
functions | WFL functions to execute. |
Definition at line 242 of file canvas.cpp.
|
staticprivate |
Definition at line 259 of file canvas.cpp.
References _(), and VALIDATE_WITH_DEV_MESSAGE.
Referenced by draw().
|
overridevirtual |
Draws the canvas.
variables | The canvas can have formulas in it's definition, this parameter contains the values for these formulas. |
Implements gui2::canvas::shape.
Definition at line 268 of file canvas.cpp.
References actions_formula_, wfl::map_formula_callable::add(), wfl::variant::as_bool(), draw::blit(), DBG_GUI_D, dimension_validation(), ERR_GUI_D, wfl::formula::evaluate(), wfl::variant::execute_variant(), wfl::formula_callable::fake_ptr(), draw::flipped(), image::get_texture(), texture::h(), h, h_, wfl::formula_callable::has_key(), image_name_, image::linear, mirror_, image::nearest, wfl::formula_callable::query_value(), resize_mode_, scale, scale_sharp, stretch, tile, tile_center, tile_highres, draw::tiled(), draw::tiled_highres(), w, texture::w(), w_, x_, and y_.
|
private |
Converts a string to a resize mode.
Definition at line 366 of file canvas.cpp.
References ERR_GUI_E, scale, scale_sharp, stretch, tile, tile_center, and tile_highres.
|
private |
Definition at line 230 of file canvas_private.hpp.
Referenced by draw().
|
private |
|
private |
Name of the image.
This value is only used when the image name is a formula. If it isn't a formula the image will be loaded in the constructor. If it's a formula it will be loaded every draw cycles. This allows 'changing' images.
Definition at line 203 of file canvas_private.hpp.
Referenced by draw().
|
private |
Mirror the image over the vertical axis.
Definition at line 227 of file canvas_private.hpp.
Referenced by draw().
|
private |
The resize mode for an image.
Definition at line 224 of file canvas_private.hpp.
Referenced by draw().
|
private |
|
private |
The x coordinate of the image.
Definition at line 191 of file canvas_private.hpp.
Referenced by draw().
|
private |
The y coordinate of the image.
Definition at line 192 of file canvas_private.hpp.
Referenced by draw().