20 #ifndef ARROW_HPP_INCLUDED
21 #define ARROW_HPP_INCLUDED
30 class arrow :
private boost::noncopyable {
34 arrow(
bool hidden =
false);
std::string style_
represents the subdirectory that holds images for this arrow style
virtual void notify_arrow_changed()
virtual std::string get_color() const
static std::string const STYLE_FOCUS
void hide()
Sets the arrow's visibility.
arrow_path_t const & get_path() const
arrow_symbols_map_t symbols_map_
static void invalidate_arrow_path(arrow_path_t const &path)
Invalidates every hex along the given path.
static std::string const STYLE_FOCUS_INVALID
std::vector< map_location > arrow_path_t
std::map< map_location, image::locator > arrow_symbols_map_t
tdrawing_layer
The layers to render something on.
GLsizei const char ** path
display::tdrawing_layer layer_
bool path_contains(map_location const &hex) const
Arrows destined to be drawn on the map.
virtual void update_symbols()
Calculate the symbols to place along the arrow path.
static bool valid_path(arrow_path_t const &path)
Checks that the path is not of length 0 or 1.
static std::string const STYLE_STANDARD
If you add more styles, you should look at move::update_arrow_style()
static std::string const STYLE_HIGHLIGHTED
map_display and display: classes which take care of displaying the map and game-data on the screen...
arrow_path_t const & get_previous_path() const
Encapsulates the map of the game.
virtual void reset()
invalidates and clears the present path, forgets the previous path, clears the symbols map ...
virtual void set_path(arrow_path_t const &path)
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 void draw_hex(map_location const &hex)
void set_style(std::string const &style)
std::string STYLE
The style is simply the name of a subdirectory under images/arrows, that holds an alternate copy of t...
GLsizei const GLcharARB ** string
arrow_path_t previous_path_