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. | |
Public Member Functions | |
| arrow (bool hidden=false) | |
| virtual | ~arrow () |
| void | hide () |
| Sets the arrow's visibility. | |
| 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 | |
| virtual void | set_color (std::string const &color) |
| The string color parameter is in the same format expected by the image::locator modifiers parameter. | |
| 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. | |
| static void | invalidate_arrow_path (arrow_path_t const &path) |
| Invalidates every hex along the given path. | |
Static Public Attributes | |
| static std::string const | STYLE_STANDARD = "standard" |
| If you add more styles, you should look at move::update_arrow_style(). | |
| 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. | |
Protected Attributes | |
| display::tdrawing_layer | layer_ |
| std::string | color_ |
| std::string | style_ |
| represents the subdirectory that holds images for this arrow style | |
| 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.
Definition at line 31 of file arrow.hpp.
typedef std::map<map_location, image::locator> arrow::arrow_symbols_map_t [protected] |
| typedef std::string arrow::STYLE |
| arrow::arrow | ( | bool | hidden = false |
) |
| arrow::~arrow | ( | ) | [virtual] |
| void arrow::draw_hex | ( | map_location const & | hex | ) | [virtual] |
Definition at line 141 of file arrow.cpp.
References image::get_image(), layer_, path_contains(), image::SCALED_TO_ZOOM, SCREEN, and symbols_map_.
Referenced by display::draw_hex().


| virtual std::string arrow::get_color | ( | ) | const [inline, virtual] |
| arrow_path_t const & arrow::get_path | ( | ) | const |
Definition at line 125 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 130 of file arrow.cpp.
References previous_path_.
Referenced by display::update_arrow().

| void arrow::hide | ( | ) |
| void arrow::invalidate_arrow_path | ( | arrow_path_t const & | path | ) | [static] |
Invalidates every hex along the given path.
Definition at line 292 of file arrow.cpp.
References SCREEN.
Referenced by hide(), reset(), set_path(), and update_symbols().

| void arrow::notify_arrow_changed | ( | ) | [virtual] |
Definition at line 302 of file arrow.cpp.
References SCREEN.
Referenced by reset(), and set_path().

| bool arrow::path_contains | ( | map_location const & | hex | ) | const |
Definition at line 135 of file arrow.cpp.
References gui2::contains(), and symbols_map_.
Referenced by draw_hex().


| void arrow::reset | ( | ) | [virtual] |
invalidates and clears the present path, forgets the previous path, clears the symbols map
Definition at line 92 of file arrow.cpp.
References invalidate_arrow_path(), notify_arrow_changed(), path_, previous_path_, and symbols_map_.

| void arrow::set_color | ( | std::string const & | color | ) | [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 102 of file arrow.cpp.
References color_, path_, update_symbols(), and valid_path().

| void arrow::set_path | ( | arrow_path_t const & | path | ) | [virtual] |
Definition at line 77 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 116 of file arrow.cpp.
References path_, style_, update_symbols(), and valid_path().

| void arrow::show | ( | ) |
| void arrow::update_symbols | ( | ) | [protected, virtual] |
Calculate the symbols to place along the arrow path.
Invalidates every hex along the path.
Definition at line 158 of file arrow.cpp.
References color_, ERR_ARR, image::locator::file_exists(), invalidate_arrow_path(), game_config::images::missing, map_location::NDIRECTIONS, path_, editor::start(), style_, symbols_map_, tiles_adjacent(), valid_path(), map_location::write_direction(), and WRN_ARR.
Referenced by set_color(), set_path(), and set_style().


| bool arrow::valid_path | ( | arrow_path_t const & | path | ) | [static] |
Checks that the path is not of length 0 or 1.
Definition at line 150 of file arrow.cpp.
Referenced by set_color(), set_path(), set_style(), and update_symbols().

std::string arrow::color_ [protected] |
Definition at line 95 of file arrow.hpp.
Referenced by get_color(), set_color(), and update_symbols().
bool arrow::hidden_ [protected] |
Definition at line 105 of file arrow.hpp.
Referenced by hide(), set_path(), and show().
display::tdrawing_layer arrow::layer_ [protected] |
Definition at line 93 of file arrow.hpp.
Referenced by draw_hex().
arrow_path_t arrow::path_ [protected] |
Definition at line 99 of file arrow.hpp.
Referenced by get_path(), hide(), reset(), set_color(), set_path(), set_style(), and update_symbols().
arrow_path_t arrow::previous_path_ [protected] |
Definition at line 100 of file arrow.hpp.
Referenced by get_previous_path(), reset(), and set_path().
std::string arrow::style_ [protected] |
represents the subdirectory that holds images for this arrow style
Definition at line 97 of file arrow.hpp.
Referenced by get_style(), set_style(), and update_symbols().
std::string const arrow::STYLE_FOCUS = "focus" [static] |
Definition at line 68 of file arrow.hpp.
Referenced by wb::move::init(), and wb::move::update_arrow_style().
std::string const arrow::STYLE_FOCUS_INVALID = "focus_invalid" [static] |
Definition at line 69 of file arrow.hpp.
Referenced by wb::move::init(), and wb::move::update_arrow_style().
std::string const arrow::STYLE_HIGHLIGHTED = "highlighted" [static] |
Definition at line 67 of file arrow.hpp.
Referenced by wb::move::init(), and wb::move::update_arrow_style().
std::string const arrow::STYLE_STANDARD = "standard" [static] |
If you add more styles, you should look at move::update_arrow_style().
Definition at line 66 of file arrow.hpp.
Referenced by wb::move::init(), wb::move::move(), and wb::move::update_arrow_style().
arrow_symbols_map_t arrow::symbols_map_ [protected] |
Definition at line 103 of file arrow.hpp.
Referenced by draw_hex(), path_contains(), reset(), and update_symbols().
| Generated by doxygen 1.7.1 on Thu May 24 2012 01:12:56 for The Battle for Wesnoth | Gna! | Forum | Wiki | CIA | devdocs |