#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_ |
| String to pass to the image loader. 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_ |
| bool | failure_logged_ |
| Prevents duplicate error logs when an image can't be loaded. More... | |
Definition at line 179 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 207 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 237 of file canvas.cpp.
|
staticprivate |
Definition at line 255 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 264 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(), failure_logged_, 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 226 of file canvas_private.hpp.
Referenced by draw().
|
private |
Prevents duplicate error logs when an image can't be loaded.
Definition at line 231 of file canvas_private.hpp.
Referenced by draw().
|
private |
|
private |
String to pass to the image loader.
May be a Data URI, may include Image Path Functions.
Definition at line 199 of file canvas_private.hpp.
Referenced by draw().
|
private |
Mirror the image over the vertical axis.
Definition at line 223 of file canvas_private.hpp.
Referenced by draw().
|
private |
The resize mode for an image.
Definition at line 220 of file canvas_private.hpp.
Referenced by draw().
|
private |
|
private |
The x coordinate of the image.
Definition at line 193 of file canvas_private.hpp.
Referenced by draw().
|
private |
The y coordinate of the image.
Definition at line 194 of file canvas_private.hpp.
Referenced by draw().