Arrows destined to be drawn on the map. More...
#include <arrow.hpp>
Public Types | |
typedef std::string | STYLE |
The style is simply the name of a subdirectory under images/arrows, that holds an alternate copy of the arrow graphics. More... | |
Public Member Functions | |
arrow (bool hidden=false) | |
virtual | ~arrow () |
void | hide () |
Sets the arrow's visibility. More... | |
void | show () |
virtual void | set_path (arrow_path_t const &path) |
virtual void | reset () |
invalidates and clears the present path, forgets the previous path, clears the symbols map More... | |
virtual void | set_color (std::string const &color) |
The string color parameter is in the same format expected by the image::locator modifiers parameter. More... | |
virtual std::string | get_color () const |
STYLE | get_style () |
void | set_style (std::string const &style) |
arrow_path_t const & | get_path () const |
arrow_path_t const & | get_previous_path () const |
bool | path_contains (map_location const &hex) const |
virtual void | draw_hex (map_location const &hex) |
virtual void | notify_arrow_changed () |
Static Public Member Functions | |
static bool | valid_path (arrow_path_t const &path) |
Checks that the path is not of length 0 or 1. More... | |
static void | invalidate_arrow_path (arrow_path_t const &path) |
Invalidates every hex along the given path. More... | |
Static Public Attributes | |
static std::string const | STYLE_STANDARD = "standard" |
If you add more styles, you should look at move::update_arrow_style() More... | |
static std::string const | STYLE_HIGHLIGHTED = "highlighted" |
static std::string const | STYLE_FOCUS = "focus" |
static std::string const | STYLE_FOCUS_INVALID = "focus_invalid" |
Protected Types | |
typedef std::map< map_location, image::locator > | arrow_symbols_map_t |
Protected Member Functions | |
virtual void | update_symbols () |
Calculate the symbols to place along the arrow path. More... | |
Protected Attributes | |
display::tdrawing_layer | layer_ |
std::string | color_ |
std::string | style_ |
represents the subdirectory that holds images for this arrow style More... | |
arrow_path_t | path_ |
arrow_path_t | previous_path_ |
arrow_symbols_map_t | symbols_map_ |
bool | hidden_ |
Arrows destined to be drawn on the map.
Created for the whiteboard system.
|
protected |
typedef std::string arrow::STYLE |
|
virtual |
Definition at line 139 of file arrow.cpp.
References image::get_image(), layer_, path_contains(), image::SCALED_TO_ZOOM, SCREEN, and symbols_map_.
Referenced by display::draw_hex().
|
inlinevirtual |
arrow_path_t const & arrow::get_path | ( | ) | const |
Definition at line 123 of file arrow.cpp.
References path_.
Referenced by display::add_arrow(), display::remove_arrow(), and display::update_arrow().
arrow_path_t const & arrow::get_previous_path | ( | ) | const |
Definition at line 128 of file arrow.cpp.
References previous_path_.
Referenced by display::update_arrow().
void arrow::hide | ( | ) |
|
static |
Invalidates every hex along the given path.
Definition at line 286 of file arrow.cpp.
References SCREEN.
Referenced by hide(), reset(), set_path(), and update_symbols().
|
virtual |
bool arrow::path_contains | ( | map_location const & | hex | ) | const |
Definition at line 133 of file arrow.cpp.
References gui2::contains(), and symbols_map_.
Referenced by draw_hex().
|
virtual |
invalidates and clears the present path, forgets the previous path, clears the symbols map
Definition at line 90 of file arrow.cpp.
References invalidate_arrow_path(), notify_arrow_changed(), path_, previous_path_, and symbols_map_.
|
virtual |
The string color parameter is in the same format expected by the image::locator modifiers parameter.
Examples: red is "red" or "FF0000" or "255,0,0". Feel free to add another method that accepts an Uint32 as a parameter instead.
Definition at line 100 of file arrow.cpp.
References color_, path_, update_symbols(), and valid_path().
|
virtual |
Definition at line 75 of file arrow.cpp.
References hidden_, invalidate_arrow_path(), notify_arrow_changed(), path_, previous_path_, update_symbols(), and valid_path().
void arrow::set_style | ( | std::string const & | style | ) |
Definition at line 114 of file arrow.cpp.
References path_, style_, update_symbols(), and valid_path().
void arrow::show | ( | ) |
|
protectedvirtual |
Calculate the symbols to place along the arrow path.
Invalidates every hex along the path.
Definition at line 156 of file arrow.cpp.
References color_, ERR_ARR, image::locator::file_exists(), invalidate_arrow_path(), game_config::images::missing, map_location::NDIRECTIONS, path_, style_, symbols_map_, tiles_adjacent(), valid_path(), map_location::write_direction(), and WRN_ARR.
Referenced by set_color(), set_path(), and set_style().
|
static |
Checks that the path is not of length 0 or 1.
Definition at line 148 of file arrow.cpp.
Referenced by wb::manager::save_temp_move(), set_color(), set_path(), set_style(), and update_symbols().
|
protected |
Definition at line 94 of file arrow.hpp.
Referenced by get_color(), set_color(), and update_symbols().
|
protected |
Definition at line 104 of file arrow.hpp.
Referenced by hide(), set_path(), and show().
|
protected |
Definition at line 92 of file arrow.hpp.
Referenced by draw_hex().
|
protected |
Definition at line 98 of file arrow.hpp.
Referenced by get_path(), hide(), reset(), set_color(), set_path(), set_style(), and update_symbols().
|
protected |
Definition at line 99 of file arrow.hpp.
Referenced by get_previous_path(), reset(), and set_path().
|
protected |
represents the subdirectory that holds images for this arrow style
Definition at line 96 of file arrow.hpp.
Referenced by get_style(), set_style(), and update_symbols().
|
static |
Definition at line 67 of file arrow.hpp.
Referenced by wb::move::init(), and wb::move::update_arrow_style().
|
static |
Definition at line 68 of file arrow.hpp.
Referenced by wb::move::init(), and wb::move::update_arrow_style().
|
static |
Definition at line 66 of file arrow.hpp.
Referenced by wb::manager::create_temp_move(), wb::move::init(), and wb::move::update_arrow_style().
|
static |
If you add more styles, you should look at move::update_arrow_style()
Definition at line 65 of file arrow.hpp.
Referenced by wb::move::init(), wb::move::move(), and wb::move::update_arrow_style().
|
protected |
Definition at line 102 of file arrow.hpp.
Referenced by draw_hex(), path_contains(), reset(), and update_symbols().