#include <display.hpp>
Classes | |
class | drawing_buffer_key |
In order to render a hex properly it needs to be rendered per row. More... | |
struct | rect_of_hexes |
Rectangular area of hexes, allowing to decide how the top and bottom edges handles the vertical shift for each parity of the x coordinate. More... | |
class | tblit |
Helper structure for rendering the terrains. More... | |
Public Types | |
enum | SCROLL_TYPE { SCROLL, WARP, ONSCREEN, ONSCREEN_WARP } |
enum | tdrawing_layer { LAYER_TERRAIN_BG, LAYER_GRID_TOP, LAYER_MOUSEOVER_OVERLAY, LAYER_FOOTSTEPS, LAYER_MOUSEOVER_TOP, LAYER_UNIT_FIRST, LAYER_UNIT_BG = LAYER_UNIT_FIRST+10, LAYER_UNIT_DEFAULT =LAYER_UNIT_FIRST+40, LAYER_TERRAIN_FG = LAYER_UNIT_FIRST+50, LAYER_GRID_BOTTOM, LAYER_UNIT_MOVE_DEFAULT =LAYER_UNIT_FIRST+60, LAYER_UNIT_FG = LAYER_UNIT_FIRST+80, LAYER_UNIT_MISSILE_DEFAULT = LAYER_UNIT_FIRST+90, LAYER_UNIT_LAST =LAYER_UNIT_FIRST+100, LAYER_REACHMAP, LAYER_MOUSEOVER_BOTTOM, LAYER_FOG_SHROUD, LAYER_ARROWS, LAYER_ACTIONS_NUMBERING, LAYER_SELECTED_HEX, LAYER_ATTACK_INDICATOR, LAYER_UNIT_BAR, LAYER_MOVE_INFO, LAYER_LINGER_OVERLAY, LAYER_BORDER, LAYER_LAST_LAYER } |
The layers to render something on. More... | |
Public Member Functions | |
display (const display_context *dc, CVideo &video, boost::weak_ptr< wb::manager > wb, reports &reports_object, const config &theme_cfg, const config &level, bool auto_join=true) | |
virtual | ~display () |
bool | show_everything () const |
const gamemap & | get_map () const |
const std::vector< team > & | get_teams () const |
size_t | playing_team () const |
The playing team is the team whose turn it is. More... | |
bool | team_valid () const |
size_t | viewing_team () const |
The viewing team is the team currently viewing the game. More... | |
int | viewing_side () const |
void | set_team (size_t team, bool observe=false) |
Sets the team controlled by the player using the computer. More... | |
void | set_playing_team (size_t team) |
set_playing_team sets the team whose turn it currently is More... | |
void | clear_exclusive_draws () |
Cancels all the exclusive draw requests. More... | |
const unit_map & | get_units () const |
bool | add_exclusive_draw (const map_location &loc, unit &unit) |
Allows a unit to request to be the only one drawn in its hex. More... | |
std::string | remove_exclusive_draw (const map_location &loc) |
Cancels an exclusive draw request. More... | |
void | parse_team_overlays () |
Check the overlay_map for proper team-specific overlays to be displayed/hidden. More... | |
void | add_overlay (const map_location &loc, const std::string &image, const std::string &halo="", const std::string &team_name="", const std::string &item_id="", bool visible_under_fog=true) |
Functions to add and remove overlays from locations. More... | |
void | remove_overlay (const map_location &loc) |
remove_overlay will remove all overlays on a tile. More... | |
void | remove_single_overlay (const map_location &loc, const std::string &toDelete) |
remove_single_overlay will remove a single overlay from a tile More... | |
void | reload_map () |
Updates internals that cache map size. More... | |
void | change_display_context (const display_context *dc) |
const display_context & | get_disp_context () const |
virtual const tod_manager & | get_tod_man () const |
This is implemented properly in game_display. The display:: impl could be pure virtual here but we decide not to. More... | |
virtual const game_data * | get_game_data () const |
virtual game_lua_kernel * | get_lua_kernel () const |
TODO: display should not work as a filter context, this was only done for expedience so that the unit animation code can have a convenient and correct filter context readily available. a more correct solution is most likely to pass it a filter context from unit_animator when it needs to be matched. (it's not possible to store filter contexts with animations, because animations are cached across scenarios.) Note that after these lines which return nullptr, unit filters used in animations will not be able to make use of wml variables or lua scripting (but the latter was a bad idea anyways because it would be slow to constantly recompile the script.) More... | |
void | reset_halo_manager () |
void | reset_halo_manager (halo::manager &hm) |
halo::manager & | get_halo_manager () |
void | update_tod () |
Add r,g,b from tod_manager to the map. More... | |
void | adjust_color_overlay (int r, int g, int b) |
Add r,g,b to the colors for all images displayed on the map. More... | |
CVideo & | video () |
Gets the underlying screen object. More... | |
surface & | get_screen_surface () |
return the screen surface or the surface used for map_screenshot. More... | |
virtual bool | in_game () const |
virtual bool | in_editor () const |
virtual const map_location & | displayed_unit_hex () const |
Virtual functions shadowed in game_display. More... | |
virtual int | playing_side () const |
virtual const std::set < std::string > & | observers () const |
int | w () const |
the dimensions of the display. More... | |
int | h () const |
height More... | |
const SDL_Rect & | minimap_area () const |
const SDL_Rect & | palette_area () const |
const SDL_Rect & | unit_image_area () const |
SDL_Rect | screen_area () const |
const SDL_Rect & | max_map_area () const |
Returns the maximum area used for the map regardless to resolution and view size. More... | |
const SDL_Rect & | map_area () const |
Returns the area used for the map. More... | |
const SDL_Rect & | map_outside_area () const |
Returns the available area for a map, this may differ from the above. More... | |
bool | outside_area (const SDL_Rect &area, const int x, const int y) const |
Check if the bbox of the hex at x,y has pixels outside the area rectangle. More... | |
int | hex_width () const |
Function which returns the width of a hex in pixels, up to where the next hex starts. More... | |
int | hex_size () const |
Function which returns the size of a hex in pixels (from top tip to bottom tip or left edge to right edge). More... | |
double | get_zoom_factor () const |
Returns the current zoom factor. More... | |
const map_location | hex_clicked_on (int x, int y) const |
given x,y co-ordinates of an onscreen pixel, will return the location of the hex that this pixel corresponds to. More... | |
const map_location | pixel_position_to_hex (int x, int y) const |
given x,y co-ordinates of a pixel on the map, will return the location of the hex that this pixel corresponds to. More... | |
map_location | minimap_location_on (int x, int y) |
given x,y co-ordinates of the mouse, will return the location of the hex in the minimap that the mouse is currently over, or an invalid location if the mouse isn't over the minimap. More... | |
const map_location & | selected_hex () const |
const map_location & | mouseover_hex () const |
virtual void | select_hex (map_location hex) |
virtual void | highlight_hex (map_location hex) |
void | invalidate_game_status () |
Function to invalidate the game status displayed on the sidebar. More... | |
int | get_location_x (const map_location &loc) const |
Functions to get the on-screen positions of hexes. More... | |
int | get_location_y (const map_location &loc) const |
const rect_of_hexes | hexes_under_rect (const SDL_Rect &r) const |
Return the rectangular area of hexes overlapped by r (r is in screen coordinates) More... | |
const rect_of_hexes | get_visible_hexes () const |
Returns the rectangular area of visible hexes. More... | |
bool | shrouded (const map_location &loc) const |
Returns true if location (x,y) is covered in shroud. More... | |
bool | fogged (const map_location &loc) const |
Returns true if location (x,y) is covered in fog. More... | |
void | set_grid (const bool grid) |
Determines whether a grid should be overlayed on the game board. More... | |
bool | get_draw_coordinates () const |
Getter for the x,y debug overlay on tiles. More... | |
void | set_draw_coordinates (bool value) |
Setter for the x,y debug overlay on tiles. More... | |
bool | get_draw_terrain_codes () const |
Getter for the terrain code debug overlay on tiles. More... | |
void | set_draw_terrain_codes (bool value) |
Setter for the terrain code debug overlay on tiles. More... | |
bool | screenshot (const std::string &filename, bool map_screenshot=false) |
Save a (map-)screenshot and return whether the operation succeeded. More... | |
void | redraw_everything () |
Invalidates entire screen, including all tiles and sidebar. More... | |
void | add_redraw_observer (std::function< void(display &)> f) |
Adds a redraw observer, a function object to be called when redraw_everything is used. More... | |
void | clear_redraw_observers () |
Clear the redraw observers. More... | |
theme & | get_theme () |
std::shared_ptr< gui::button > | find_action_button (const std::string &id) |
Retrieves a pointer to a theme UI button. More... | |
std::shared_ptr< gui::button > | find_menu_button (const std::string &id) |
std::shared_ptr< gui::zoom_slider > | find_slider (const std::string &id) |
gui::button::TYPE | string_to_button_type (std::string type) |
void | create_buttons () |
void | layout_buttons () |
void | render_buttons () |
void | invalidate_theme () |
void | refresh_report (std::string const &report_name, const config *new_cfg=nullptr) |
Redraws the specified report (if anything has changed). More... | |
void | draw_minimap_units () |
void | invalidate_all () |
Function to invalidate all tiles. More... | |
bool | invalidate (const map_location &loc) |
Function to invalidate a specific tile for redrawing. More... | |
bool | invalidate (const std::set< map_location > &locs) |
bool | propagate_invalidation (const std::set< map_location > &locs) |
If this set is partially invalidated, invalidate all its hexes. More... | |
bool | invalidate_locations_in_rect (const SDL_Rect &rect) |
invalidate all hexes under the rectangle rect (in screen coordinates) More... | |
bool | invalidate_visible_locations_in_rect (const SDL_Rect &rect) |
void | invalidate_animations () |
Function to invalidate animated terrains and units which may have changed. More... | |
void | invalidate_animations_location (const map_location &loc) |
Per-location invalidation called by invalidate_animations() Extra game per-location invalidation (village ownership) More... | |
void | set_mouseover_hex_overlay (const surface &image) |
mouseover_hex_overlay_ require a prerendered surface and is drawn underneath the mouse's location More... | |
void | clear_mouseover_hex_overlay () |
terrain_builder & | get_builder () |
void | flip () |
void | update_display () |
Copy the backbuffer to the framebuffer. More... | |
void | rebuild_all () |
Rebuild all dynamic terrain. More... | |
const theme::action * | action_pressed () |
const theme::menu * | menu_pressed () |
void | enable_menu (const std::string &item, bool enable) |
Finds the menu which has a given item in it, and enables or disables it. More... | |
void | set_diagnostic (const std::string &msg) |
void | set_turbo (const bool turbo) |
Set/Get whether 'turbo' mode is on. More... | |
double | turbo_speed () const |
void | set_turbo_speed (const double speed) |
void | set_idle_anim (bool ison) |
control unit idle animations and their frequency More... | |
bool | idle_anim () const |
void | set_idle_anim_rate (int rate) |
double | idle_anim_rate () const |
void | bounds_check_position () |
void | bounds_check_position (int &xpos, int &ypos) |
bool | scroll (int xmov, int ymov, bool force=false) |
Scrolls the display by xmov,ymov pixels. More... | |
bool | set_zoom (int amount, bool absolute=false) |
Zooms the display by the specified amount. More... | |
bool | zoom_at_max () const |
bool | zoom_at_min () const |
void | set_default_zoom () |
Sets the zoom amount to the default. More... | |
bool | view_locked () const |
void | set_view_locked (bool value) |
Sets whether the map view is locked (e.g. More... | |
void | scroll_to_tile (const map_location &loc, SCROLL_TYPE scroll_type=ONSCREEN, bool check_fogged=true, bool force=true) |
Scroll such that location loc is on-screen. More... | |
void | scroll_to_tiles (map_location loc1, map_location loc2, SCROLL_TYPE scroll_type=ONSCREEN, bool check_fogged=true, double add_spacing=0.0, bool force=true) |
Scroll such that location loc1 is on-screen. More... | |
void | scroll_to_tiles (const std::vector< map_location >::const_iterator &begin, const std::vector< map_location >::const_iterator &end, SCROLL_TYPE scroll_type=ONSCREEN, bool check_fogged=true, bool only_if_possible=false, double add_spacing=0.0, bool force=true) |
Scroll to fit as many locations on-screen as possible, starting with the first. More... | |
void | scroll_to_tiles (const std::vector< map_location > &locs, SCROLL_TYPE scroll_type=ONSCREEN, bool check_fogged=true, bool only_if_possible=false, double add_spacing=0.0, bool force=true) |
Scroll to fit as many locations on-screen as possible, starting with the first. More... | |
events::generic_event & | scroll_event () const |
Expose the event, so observers can be notified about map scrolling. More... | |
events::generic_event & | complete_redraw_event () |
bool | tile_fully_on_screen (const map_location &loc) |
Check if a tile is fully visible on screen. More... | |
bool | tile_nearly_on_screen (const map_location &loc) const |
Checks if location loc or one of the adjacent tiles is visible on screen. More... | |
virtual void | draw () |
Draws invalidated items. More... | |
void | draw (bool update) |
void | draw (bool update, bool force) |
map_labels & | labels () |
const map_labels & | labels () const |
void | announce (const std::string &msg, const SDL_Color &color=font::GOOD_COLOR) |
Announce a message prominently. More... | |
void | recalculate_minimap () |
Schedule the minimap for recalculation. More... | |
void | redraw_minimap () |
Schedule the minimap to be redrawn. More... | |
virtual const time_of_day & | get_time_of_day (const map_location &loc=map_location::null_location()) const |
virtual bool | has_time_area () const |
void | blindfold (bool flag) |
bool | is_blindfolded () const |
void | write (config &cfg) const |
virtual void | handle_event (const SDL_Event &) |
virtual void | handle_window_event (const SDL_Event &event) |
void | init_flags () |
Init the flag list and the team colors used by ~TC. More... | |
void | reinit_flags_for_side (size_t side) |
Rebuild the flag list (not team colors) for a single side. More... | |
void | reset_reports (reports &reports_object) |
void | render_image (int x, int y, const display::tdrawing_layer drawing_layer, const map_location &loc, surface image, bool hreverse=false, bool greyscale=false, fixed_t alpha=ftofxp(1.0), Uint32 blendto=0, double blend_ratio=0, double submerged=0.0, bool vreverse=false) |
Draw an image at a certain location. More... | |
void | draw_text_in_hex (const map_location &loc, const tdrawing_layer layer, const std::string &text, size_t font_size, SDL_Color color, double x_in_hex=0.5, double y_in_hex=0.5) |
Draw text on a hex. More... | |
void | drawing_buffer_add (const tdrawing_layer layer, const map_location &loc, int x, int y, const surface &surf, const SDL_Rect &clip=SDL_Rect()) |
Add an item to the drawing buffer. More... | |
void | drawing_buffer_add (const tdrawing_layer layer, const map_location &loc, int x, int y, const std::vector< surface > &surf, const SDL_Rect &clip=SDL_Rect()) |
void | add_arrow (arrow &) |
void | remove_arrow (arrow &) |
void | update_arrow (arrow &a) |
Called by arrow objects when they change. More... | |
void | replace_overlay_map (overlay_map *overlays) |
Public Member Functions inherited from filter_context | |
virtual | ~filter_context () |
Public Member Functions inherited from events::sdl_handler | |
virtual void | process_event () |
virtual void | volatile_draw () |
virtual void | volatile_undraw () |
virtual bool | requires_event_focus (const SDL_Event *=nullptr) const |
virtual void | process_help_string (int, int) |
virtual void | process_tooltip_string (int, int) |
virtual void | join () |
virtual void | join (context &c) |
virtual void | join_same (sdl_handler *parent) |
virtual void | leave () |
virtual void | join_global () |
virtual void | leave_global () |
Static Public Member Functions | |
static display * | get_singleton () |
Returns the display object if a display object exists. More... | |
static Uint32 | rgb (Uint8 red, Uint8 green, Uint8 blue) |
static Uint8 | red (Uint32 color) |
static Uint8 | green (Uint32 color) |
static Uint8 | blue (Uint32 color) |
static Uint32 | max_rgb (Uint32 first, Uint32 second) |
static void | sunset (const size_t delay=0) |
Debug function to toggle the "sunset" mode. More... | |
static void | toggle_benchmark () |
Toggle to continuously redraw the screen. More... | |
static void | toggle_debug_foreground () |
Toggle to debug foreground terrain. More... | |
Protected Types | |
enum | TERRAIN_TYPE { BACKGROUND, FOREGROUND } |
typedef std::map< map_location, std::string > | exclusive_unit_draw_requests_t |
typedef std::list< tblit > | tdrawing_buffer |
typedef std::map< map_location, unsigned int > | reach_map |
typedef std::multimap < map_location, overlay > | overlay_map |
Protected Member Functions | |
void | clear_screen () |
Clear the screen contents. More... | |
virtual void | pre_draw () |
Called near the beginning of each draw() call. More... | |
virtual void | post_draw () |
Called at the very end of each draw() call. More... | |
virtual const SDL_Rect & | get_clip_rect () |
Get the clipping rectangle for drawing. More... | |
virtual void | draw_invalidated () |
Only called when there's actual redrawing to do. More... | |
virtual void | post_commit () |
Hook for actions to take right after draw() calls drawing_buffer_commit No action here by default. More... | |
virtual void | draw_hex (const map_location &loc) |
Redraws a single gamemap location. More... | |
virtual image::TYPE | get_image_type (const map_location &loc) |
virtual void | draw_sidebar () |
Called near the end of a draw operation, derived classes can use this to render a specific sidebar. More... | |
virtual void | draw_border (const map_location &loc, const int xpos, const int ypos) |
Draws the border tile overlay. More... | |
void | draw_minimap () |
std::vector< surface > | get_terrain_images (const map_location &loc, const std::string &timeid, image::TYPE type, TERRAIN_TYPE terrain_type) |
std::vector< surface > | get_fog_shroud_images (const map_location &loc, image::TYPE image_type) |
void | draw_image_for_report (surface &img, SDL_Rect &rect) |
void | scroll_to_xy (int screenxpos, int screenypos, SCROLL_TYPE scroll_type, bool force=true) |
void | fill_images_list (const std::string &prefix, std::vector< std::string > &images) |
const std::string & | get_variant (const std::vector< std::string > &variants, const map_location &loc) const |
void | drawing_buffer_commit () |
Draws the drawing_buffer_ and clears it. More... | |
void | drawing_buffer_clear () |
Clears the drawing buffer. More... | |
void | draw_all_panels () |
redraw all panels associated with the map display More... | |
void | draw_init () |
Initiate a redraw. More... | |
void | draw_wrap (bool update, bool force) |
void | process_reachmap_changes () |
Protected Member Functions inherited from video2::draw_layering | |
draw_layering (const bool auto_join=true) | |
virtual | ~draw_layering () |
Protected Member Functions inherited from events::sdl_handler | |
sdl_handler (const bool auto_join=true) | |
virtual | ~sdl_handler () |
virtual std::vector < sdl_handler * > | handler_members () |
Static Protected Attributes | |
static int | last_zoom_ = SmallZoom |
static display * | singleton_ = nullptr |
Private Types | |
typedef std::list< arrow * > | arrows_list_t |
typedef std::map< map_location, arrows_list_t > | arrows_map_t |
Private Member Functions | |
void | read (const config &cfg) |
void | init_flags_for_side_internal (size_t side, const std::string &side_color) |
surface | get_flag (const map_location &loc) |
Private Attributes | |
int | blindfold_ctr_ |
std::vector< animated < image::locator > > | flags_ |
Animated flags for each team. More... | |
overlay_map * | overlays_ |
int | fps_handle_ |
Handle for the label which displays frames per second. More... | |
int | invalidated_hexes_ |
Count work done for the debug info displayed under fps. More... | |
int | drawn_hexes_ |
bool | idle_anim_ |
double | idle_anim_rate_ |
surface | map_screenshot_surf_ |
std::vector< std::function < void(display &)> > | redraw_observers_ |
bool | draw_coordinates_ |
Debug flag - overlay x,y coords on tiles. More... | |
bool | draw_terrain_codes_ |
Debug flag - overlay terrain codes on tiles. More... | |
arrows_map_t | arrows_map_ |
Maps the list of arrows for each location. More... | |
tod_color | color_adjust_ |
bool | dirty_ |
Definition at line 78 of file display.hpp.
|
private |
Definition at line 1159 of file display.hpp.
|
private |
Definition at line 1160 of file display.hpp.
|
protected |
Definition at line 667 of file display.hpp.
|
protected |
Definition at line 1134 of file display.hpp.
|
protected |
Definition at line 1128 of file display.hpp.
|
protected |
Definition at line 1059 of file display.hpp.
enum display::SCROLL_TYPE |
Enumerator | |
---|---|
SCROLL | |
WARP | |
ONSCREEN | |
ONSCREEN_WARP |
Definition at line 551 of file display.hpp.
The layers to render something on.
This value should never be stored it's the internal drawing order and adding removing and reordering the layers should be safe. If needed in WML use the name and map that to the enum value.
Definition at line 864 of file display.hpp.
|
protected |
Enumerator | |
---|---|
BACKGROUND | |
FOREGROUND |
Definition at line 740 of file display.hpp.
display::display | ( | const display_context * | dc, |
CVideo & | video, | ||
boost::weak_ptr< wb::manager > | wb, | ||
reports & | reports_object, | ||
const config & | theme_cfg, | ||
const config & | level, | ||
bool | auto_join = true |
||
) |
Definition at line 147 of file display.cpp.
References action_buttons_, blindfold_ctr_, config::child_or_empty(), create_buttons(), fake_unit_man_, resources::fake_units, CVideo::faked(), fill_images_list(), fog_images_, game_config::fog_prefix, get_video_surface(), preferences::idle_anim_rate(), init_flags(), CVideo::lock_updates(), menu_buttons_, CVideo::non_interactive(), read(), screen_, set_idle_anim_rate(), image::set_zoom(), shroud_images_, game_config::shroud_prefix, singleton_, sliders_, and zoom_.
|
virtual |
Definition at line 258 of file display.cpp.
References resources::fake_units, and singleton_.
const theme::action * display::action_pressed | ( | ) |
Definition at line 1899 of file display.cpp.
References action_buttons_, theme::actions(), i, and theme_.
Referenced by controller_base::play_slice().
Definition at line 3689 of file display.cpp.
References arrows_map_, and arrow::get_path().
bool display::add_exclusive_draw | ( | const map_location & | loc, |
unit & | unit | ||
) |
Allows a unit to request to be the only one drawn in its hex.
Useful for situations where multiple units (one real, multiple temporary) can end up stacked, such as with the whiteboard.
loc | The location of the unit requesting exclusivity. |
unit | The unit requesting exclusivity. |
Definition at line 405 of file display.cpp.
References exclusive_unit_draw_requests_, unit::id(), and map_location::valid().
Referenced by wb::highlighter::highlight(), wb::highlighter::highlight_main_visitor::visit(), wb::highlighter::highlight_secondary_visitor::visit(), and wb::highlighter::unhighlight_visitor::visit().
void display::add_overlay | ( | const map_location & | loc, |
const std::string & | image, | ||
const std::string & | halo = "" , |
||
const std::string & | team_name = "" , |
||
const std::string & | item_id = "" , |
||
bool | visible_under_fog = true |
||
) |
Functions to add and remove overlays from locations.
An overlay is an image that is displayed on top of the tile. One tile may have multiple overlays.
Definition at line 97 of file display.cpp.
References get_location_x(), get_location_y(), halo_man_, hex_size(), and overlays_.
Referenced by editor::mouse_action_item::click_left(), and game_lua_kernel::intf_add_tile_overlay().
Adds a redraw observer, a function object to be called when redraw_everything is used.
Definition at line 2696 of file display.cpp.
References redraw_observers_.
Add r,g,b to the colors for all images displayed on the map.
Used for special effects like flashes.
Definition at line 452 of file display.cpp.
References color_adjust_, and update_tod().
Referenced by game_lua_kernel::intf_color_adjust().
void display::announce | ( | const std::string & | msg, |
const SDL_Color & | color = font::GOOD_COLOR |
||
) |
Announce a message prominently.
Definition at line 1950 of file display.cpp.
References font::add_floating_label(), map_outside_area(), font::floating_label::set_clip_rect(), font::floating_label::set_color(), font::floating_label::set_font_size(), font::floating_label::set_lifetime(), font::floating_label::set_position(), and font::SIZE_XLARGE.
void display::blindfold | ( | bool | flag | ) |
Definition at line 509 of file display.cpp.
References blindfold_ctr_.
Referenced by blindfold::blindfold(), and blindfold::unblind().
|
inlinestatic |
Definition at line 182 of file display.hpp.
void display::bounds_check_position | ( | ) |
Definition at line 2587 of file display.cpp.
References image::set_zoom(), xpos_, ypos_, and zoom_.
Referenced by redraw_everything(), scroll(), scroll_to_xy(), and set_zoom().
Definition at line 2606 of file display.cpp.
References theme::border(), get_map(), gamemap::h(), hex_width(), map_area(), theme::tborder::size, theme_, gamemap::w(), and zoom_.
void display::change_display_context | ( | const display_context * | dc | ) |
Definition at line 493 of file display.cpp.
References builder_, dc_, and display_context::map().
Referenced by editor::map_context_refresher::refresh().
|
inline |
Cancels all the exclusive draw requests.
Definition at line 120 of file display.hpp.
References exclusive_unit_draw_requests_.
Referenced by wb::manager::on_gamestate_change().
|
inline |
Definition at line 461 of file display.hpp.
References mouseover_hex_overlay_.
Referenced by editor::editor_toolkit::clear_mouseover_overlay().
void display::clear_redraw_observers | ( | ) |
Clear the redraw observers.
Definition at line 2701 of file display.cpp.
References redraw_observers_.
|
protected |
Clear the screen contents.
Definition at line 2783 of file display.cpp.
References sdl::fill_rect(), CVideo::getSurface(), screen_, and screen_area().
Referenced by editor::editor_display::editor_display(), and game_display::game_display().
|
inline |
Definition at line 591 of file display.hpp.
References complete_redraw_event_.
void display::create_buttons | ( | ) |
Definition at line 897 of file display.cpp.
References action_buttons_, theme::actions(), DBG_DP, gui::button::DEFAULT_SPACE, find_action_button(), find_menu_button(), find_slider(), i, layout_buttons(), menu_buttons_, theme::menus(), screen_, theme::sliders(), sliders_, string_to_button_type(), theme_, gui::button::TYPE_PRESS, and zoom_.
Referenced by game_display::begin_game(), display(), events::console_handler::do_refresh(), editor::editor_controller::editor_controller(), redraw_everything(), editor::context_manager::refresh_all(), replay_controller::replay_controller(), and replay_controller::~replay_controller().
|
inlinevirtual |
Virtual functions shadowed in game_display.
These are needed to generate reports easily, without dynamic casting. Hope to factor out eventually.
Reimplemented in game_display.
Definition at line 211 of file display.hpp.
References map_location::null_location().
Referenced by get_visible_unit(), unit_alignment(), unit_hp(), unit_status(), and unit_weapons().
|
virtual |
Draws invalidated items.
If update is true, will also copy the display to the frame buffer. If force is true, will not skip frames, even if running behind. Not virtual, since it gathers common actions. Calls various protected virtuals (further below) to allow specialized behavior in derived classes.
Reimplemented from events::sdl_handler.
Definition at line 2706 of file display.cpp.
Referenced by dialogs::animate_unit_advancement(), actions::undo_list::apply_shroud_changes(), events::mouse_handler::attack_enemy_(), actions::shroud_clearer::clear_unit(), draw(), events::menu_handler::end_unit_turn(), handle_event(), game_lua_kernel::intf_color_adjust(), game_lua_kernel::intf_redraw(), game_lua_kernel::intf_scroll(), game_lua_kernel::intf_teleport(), game_display::new_turn(), controller_base::play_slice(), unit_creator::post_create(), events::menu_handler::recall(), events::menu_handler::recruit(), actions::undo_list::redo(), redraw_everything(), editor::context_manager::refresh_all(), events::mouse_handler_base::right_click(), events::mouse_handler::save_whiteboard_attack(), screenshot(), scroll_to_xy(), set_zoom(), unit_display::unit_mover::start(), actions::undo_list::undo(), events::menu_handler::unit_hold_position(), unit_display::unit_recruited(), replay_controller::update_gui(), and gui2::tcustom_tod::update_tod_display().
void display::draw | ( | bool | update | ) |
Definition at line 2710 of file display.cpp.
References draw().
void display::draw | ( | bool | update, |
bool | force | ||
) |
Definition at line 2715 of file display.cpp.
References preferences::animate_water(), animate_water_, builder_, dirty_, draw_init(), draw_invalidated(), draw_sidebar(), draw_wrap(), drawing_buffer_commit(), gamemap::empty(), get_map(), invalidate_animations(), invalidated_, post_commit(), post_draw(), pre_draw(), previous_invalidated_, redraw_everything(), screen_, preferences::show_haloes(), and CVideo::update_locked().
|
protected |
redraw all panels associated with the map display
Definition at line 1568 of file display.cpp.
References draw_label(), draw_panel(), CVideo::getSurface(), i, theme::labels(), labels(), menu_buttons_, theme::panels(), recalculate_minimap(), render_buttons(), resources::screen, screen_, theme_, and video().
Referenced by draw_init().
|
protectedvirtual |
Draws the border tile overlay.
The routine determines by itself which border it is on and draws an overlay accordingly. The definition of the border is stored in the 'main_map_border' part of the theme.
loc | the map location of the tile |
xpos | the on-screen pixels x coordinate of the tile |
ypos | the on-screen pixels y coordinate of the tile |
at the moment the border must be between 0.0 and 0.5 and the image should always be prepared for a 0.5 border. This way this code doesn't need modifications for other border sizes.
Definition at line 1963 of file display.cpp.
References theme::border(), theme::tborder::border_image_bottom_even, theme::tborder::border_image_bottom_odd, theme::tborder::border_image_left, theme::tborder::border_image_right, theme::tborder::border_image_top_even, theme::tborder::border_image_top_odd, theme::tborder::corner_image_bottom_left, theme::tborder::corner_image_bottom_right_even, theme::tborder::corner_image_bottom_right_odd, theme::tborder::corner_image_top_left, theme::tborder::corner_image_top_right_even, theme::tborder::corner_image_top_right_odd, drawing_buffer_add(), image::get_image(), get_map(), h(), LAYER_BORDER, image::SCALED_TO_ZOOM, theme_, w(), map_location::x, map_location::y, and zoom_.
Referenced by draw_invalidated().
|
protectedvirtual |
Redraws a single gamemap location.
Reimplemented in game_display, and editor::editor_display.
Definition at line 2833 of file display.cpp.
References arrows_map_, tod_color::b, BACKGROUND, time_of_day::color, color_adjust_, create_neutral_surface(), sdl::create_rect(), dc_, game_config::debug, draw_coordinates_, arrow::draw_hex(), draw_terrain_codes_, drawing_buffer_add(), sdl::fill_rect(), fog_images_, fogged(), FOREGROUND, tod_color::g, get_flag(), get_fog_shroud_images(), image::get_image(), get_image_type(), image::get_light_string(), image::get_lighted_image(), get_location_x(), get_location_y(), get_map(), font::get_rendered_text(), gamemap::get_terrain(), get_terrain_images(), get_time_of_day(), get_variant(), grid_, game_config::images::grid_bottom, game_config::images::grid_top, hex_size(), time_of_day::id, time_of_day::image_mask, in_editor(), LAYER_FOG_SHROUD, LAYER_GRID_BOTTOM, LAYER_GRID_TOP, LAYER_MOUSEOVER_OVERLAY, LAYER_TERRAIN_BG, LAYER_TERRAIN_FG, LAYER_UNIT_DEFAULT, mouseover_hex_overlay_, mouseoverHex_, font::NORMAL_COLOR, surface::null(), t_translation::OFF_MAP_USER, gamemap::on_board(), overlays_, tod_color::r, image::SCALED_TO_HEX, shroud_images_, shrouded(), font::SIZE_SMALL, display_context::teams(), image::TOD_COLORED, tod_hex_mask1, tod_hex_mask2, and viewing_team().
Referenced by editor::editor_display::draw_hex(), game_display::draw_hex(), and draw_invalidated().
Definition at line 3060 of file display.cpp.
References surface::assign(), get_non_transparent_portion(), get_surface_portion(), CVideo::getSurface(), scale_surface(), screen_, and sdl_blit().
Referenced by refresh_report().
|
protected |
Initiate a redraw.
Invalidate controls and panels when changed after they have been drawn initially. Useful for dynamic theme modification.
Definition at line 1825 of file display.cpp.
References theme::tborder::background_image, theme::border(), DBG_DP, draw_all_panels(), draw_background(), get_map(), get_screen_surface(), invalidate_locations_in_rect(), invalidateAll_, map_area(), map_outside_area(), panelsDrawn_, redraw_background_, redrawMinimap_, resources::screen, screen_, theme_, and update_rect().
Referenced by draw().
|
protectedvirtual |
Only called when there's actual redrawing to do.
Loops through invalidated locations and redraws them. Derived classes can override this, possibly to insert pre- or post-processing around a call to the base class's function.
Reimplemented in game_display.
Definition at line 2795 of file display.cpp.
References sdl::create_rect(), dc_, draw_border(), draw_hex(), drawn_hexes_, unit_map::end(), energy_bar_rects_, exclusive_unit_draw_requests_, unit_map::find(), get_clip_rect(), get_location_x(), get_location_y(), get_map(), get_screen_surface(), invalidated_, invalidated_hexes_, gamemap::on_board(), sdl::rects_overlap(), unit_drawer::redraw_unit(), resources::screen, display_context::units(), update_rect(), and zoom_.
Referenced by draw(), and game_display::draw_invalidated().
|
protected |
Definition at line 2088 of file display.cpp.
References theme::border(), currentTeam_, dc_, draw_centered_on_background(), draw_minimap_units(), sdl::draw_rectangle(), get_map(), image::getMinimap(), CVideo::getSurface(), gamemap::h(), hex_size(), hex_width(), is_blindfolded(), map_area(), map_outside_area(), minimap_, minimap_area(), minimap_location_, reach_map_, resources::screen, screen_, selectedHex_, theme::tborder::size, display_context::teams(), theme_, map_location::valid(), gamemap::w(), xpos_, and ypos_.
Referenced by draw_wrap().
void display::draw_minimap_units | ( | ) |
Definition at line 2149 of file display.cpp.
References preferences::allied_color(), unit_map::begin(), game_config::color_info(), sdl::create_rect(), currentTeam_, dc_, unit_map::end(), preferences::enemy_color(), sdl::fill_rect(), fogged(), get_map(), team::get_minimap_color(), gamemap::h(), int_to_color(), is_blindfolded(), is_odd(), preferences::minimap_draw_units(), minimap_location_, preferences::minimap_movement_coding(), preferences::moved_color(), preferences::partial_color(), color_range::rep(), round_double(), screen_, display_context::teams(), display_context::units(), preferences::unmoved_color(), video(), and gamemap::w().
Referenced by draw_minimap().
|
inlineprotectedvirtual |
Called near the end of a draw operation, derived classes can use this to render a specific sidebar.
Very similar to post_commit.
Reimplemented in game_display, and editor::editor_display.
Definition at line 723 of file display.hpp.
Referenced by draw().
void display::draw_text_in_hex | ( | const map_location & | loc, |
const tdrawing_layer | layer, | ||
const std::string & | text, | ||
size_t | font_size, | ||
SDL_Color | color, | ||
double | x_in_hex = 0.5 , |
||
double | y_in_hex = 0.5 |
||
) |
Draw text on a hex.
(0.5, 0.5) is the center. The font size is adjusted to the zoom factor.
Definition at line 1668 of file display.cpp.
References font::BLACK_COLOR, drawing_buffer_add(), get_location_x(), get_location_y(), font::get_rendered_text(), get_zoom_factor(), and hex_size().
Referenced by wb::recall::draw_hex(), wb::recruit::draw_hex(), wb::move::draw_hex(), game_display::draw_hex(), game_display::draw_movement_info(), and wb::draw_numbers().
|
protected |
Definition at line 1869 of file display.cpp.
References preferences::draw_delay(), draw_minimap(), nextDraw_, redrawMinimap_, and update_display().
Referenced by draw().
void display::drawing_buffer_add | ( | const tdrawing_layer | layer, |
const map_location & | loc, | ||
int | x, | ||
int | y, | ||
const surface & | surf, | ||
const SDL_Rect & | clip = SDL_Rect() |
||
) |
Add an item to the drawing buffer.
You need to update screen on affected area
layer | The layer to draw on. |
loc | The hex the image belongs to, needed for the drawing order. |
Definition at line 1241 of file display.cpp.
References drawing_buffer_.
Referenced by unit_drawer::draw_bar(), draw_border(), editor::editor_display::draw_hex(), wb::attack::draw_hex(), wb::suppose_dead::draw_hex(), game_display::draw_hex(), draw_hex(), game_display::draw_movement_info(), draw_text_in_hex(), unit_drawer::redraw_unit(), and render_image().
void display::drawing_buffer_add | ( | const tdrawing_layer | layer, |
const map_location & | loc, | ||
int | x, | ||
int | y, | ||
const std::vector< surface > & | surf, | ||
const SDL_Rect & | clip = SDL_Rect() |
||
) |
Definition at line 1248 of file display.cpp.
References drawing_buffer_.
|
protected |
Clears the drawing buffer.
Definition at line 1390 of file display.cpp.
References drawing_buffer_.
Referenced by drawing_buffer_commit().
|
protected |
Draws the drawing_buffer_ and clears it.
Definition at line 1324 of file display.cpp.
References sdl::create_rect(), drawing_buffer_, drawing_buffer_clear(), get_screen_surface(), GPU_SetClip(), GPU_UnsetClip(), map_area(), resources::screen, screen_, sdl_blit(), and surf.
Referenced by draw().
void display::enable_menu | ( | const std::string & | item, |
bool | enable | ||
) |
Finds the menu which has a given item in it, and enables or disables it.
Definition at line 1932 of file display.cpp.
References gui2::event::find(), menu_buttons_, theme::menus(), and theme_.
|
protected |
Definition at line 458 of file display.cpp.
References image::exists(), and i.
Referenced by display().
std::shared_ptr< gui::button > display::find_action_button | ( | const std::string & | id | ) |
Retrieves a pointer to a theme UI button.
Definition at line 826 of file display.cpp.
References action_buttons_, and i.
Referenced by create_buttons(), editor::location_palette::draw_contents(), editor::palette_manager::draw_contents(), replay_controller::handle_generic_event(), editor::empty_palette::hide(), layout_buttons(), replay_controller::play_button(), replay_controller::play_move_button(), replay_controller::play_side_button(), replay_controller::play_turn_button(), turn_info::process_network_data(), replay_controller::reset_button(), hotkey::command_executor_default::set_button_state(), and replay_controller::stop_button().
std::shared_ptr< gui::button > display::find_menu_button | ( | const std::string & | id | ) |
Definition at line 836 of file display.cpp.
References i, and menu_buttons_.
Referenced by create_buttons(), editor::empty_palette::hide(), layout_buttons(), and hotkey::command_executor_default::set_button_state().
std::shared_ptr< gui::zoom_slider > display::find_slider | ( | const std::string & | id | ) |
Definition at line 846 of file display.cpp.
Referenced by create_buttons(), layout_buttons(), events::mouse_handler::left_mouse_up(), events::mouse_handler_base::mouse_wheel(), events::mouse_handler::mouse_wheel_down(), events::mouse_handler::mouse_wheel_left(), events::mouse_handler::mouse_wheel_right(), events::mouse_handler::mouse_wheel_up(), and set_zoom().
void display::flip | ( | ) |
Definition at line 1411 of file display.cpp.
References font::draw_floating_labels(), sdl::fill_rect_alpha(), CVideo::flip(), get_video_surface(), map_outside_area(), events::raise_volatile_draw_event(), events::raise_volatile_undraw_event(), screen_, font::undraw_floating_labels(), update_rect(), and video().
Referenced by update_display().
|
inline |
Returns true if location (x,y) is covered in fog.
Definition at line 353 of file display.hpp.
References currentTeam_, dc_, dont_show_all_, is_blindfolded(), and display_context::teams().
Referenced by soundsource::positional_source::calculate_volume(), events::menu_handler::do_search(), draw_hex(), draw_minimap_units(), game_display::float_label(), get_flag(), get_fog_shroud_images(), invalidate_animations_location(), is_fogged(), events::mouse_handler::mouse_motion(), move_unit_between(), scroll_to_tiles(), game_display::select_hex(), events::mouse_handler::select_hex(), events::menu_handler::show_enemy_moves(), teleport_unit_between(), unit_display::unit_attack(), unit_display::unit_die(), unit_display::unit_draw_weapon(), unit_display::unit_healing(), events::mouse_handler::unit_in_cycle(), unit_display::unit_recruited(), and unit_display::unit_sheath_weapon().
|
inline |
Definition at line 484 of file display.hpp.
References builder_.
Referenced by events::console_handler::do_layers().
|
protectedvirtual |
Get the clipping rectangle for drawing.
Virtual since the editor might use a slightly different approach.
Reimplemented in editor::editor_display.
Definition at line 2790 of file display.cpp.
References map_area().
Referenced by draw_invalidated().
|
inlinevirtual |
Implements filter_context.
Definition at line 167 of file display.hpp.
References dc_.
Referenced by display_chat_manager::add_chat_message(), terrain_label::draw(), terrain_label::hidden(), and help::load_terrain_types_data().
|
inline |
Getter for the x,y debug overlay on tiles.
Definition at line 364 of file display.hpp.
References draw_coordinates_.
Referenced by events::console_handler::do_toggle_draw_coordinates().
|
inline |
Getter for the terrain code debug overlay on tiles.
Definition at line 369 of file display.hpp.
References draw_terrain_codes_.
Referenced by events::console_handler::do_toggle_draw_terrain_codes(), and editor::terrain_palette::draw_item().
|
private |
Definition at line 358 of file display.cpp.
References animate_map_, currentTeam_, dc_, flags_, fogged(), image::get_image(), get_map(), i, display_context::teams(), and image::TOD_COLORED.
Referenced by draw_hex().
|
protected |
Definition at line 1019 of file display.cpp.
References image::exists(), game_config::fog_prefix, fogged(), get_adjacent_tiles(), get_direction(), image::get_image(), i, game_config::shroud_prefix, shrouded(), and surf.
Referenced by draw_hex().
|
inlinevirtual |
Implements filter_context.
Definition at line 169 of file display.hpp.
|
inline |
Definition at line 174 of file display.hpp.
References halo_man_.
|
protectedvirtual |
Reimplemented in editor::editor_display.
Definition at line 3041 of file display.cpp.
References image::TOD_COLORED.
Referenced by draw_hex().
int display::get_location_x | ( | const map_location & | loc | ) | const |
Functions to get the on-screen positions of hexes.
Definition at line 713 of file display.cpp.
References theme::border(), hex_width(), map_area(), theme::tborder::size, theme_, map_location::x, and xpos_.
Referenced by add_overlay(), terrain_label::draw(), editor::editor_display::draw_hex(), wb::attack::draw_hex(), wb::suppose_dead::draw_hex(), game_display::draw_hex(), draw_hex(), draw_invalidated(), game_display::draw_movement_info(), draw_text_in_hex(), game_display::float_label(), unit_frame::get_overlaped_hex(), terrain_label::get_rect(), editor::mouse_action_unit::move(), unit_frame::redraw(), unit_drawer::redraw_unit(), halo::halo_impl::effect::render(), scroll_to_tiles(), halo::halo_impl::effect::set_location(), tile_fully_on_screen(), tile_nearly_on_screen(), and halo::halo_impl::effect::unrender().
int display::get_location_y | ( | const map_location & | loc | ) | const |
Definition at line 718 of file display.cpp.
References theme::border(), is_odd(), map_area(), theme::tborder::size, theme_, map_location::x, map_location::y, ypos_, and zoom_.
Referenced by add_overlay(), terrain_label::draw(), editor::editor_display::draw_hex(), wb::attack::draw_hex(), wb::suppose_dead::draw_hex(), game_display::draw_hex(), draw_hex(), draw_invalidated(), game_display::draw_movement_info(), draw_text_in_hex(), game_display::float_label(), unit_frame::get_overlaped_hex(), terrain_label::get_rect(), editor::mouse_action_unit::move(), unit_frame::redraw(), unit_drawer::redraw_unit(), halo::halo_impl::effect::render(), scroll_to_tiles(), halo::halo_impl::effect::set_location(), tile_fully_on_screen(), tile_nearly_on_screen(), and halo::halo_impl::effect::unrender().
|
inlinevirtual |
TODO: display should not work as a filter context, this was only done for expedience so that the unit animation code can have a convenient and correct filter context readily available. a more correct solution is most likely to pass it a filter context from unit_animator when it needs to be matched. (it's not possible to store filter contexts with animations, because animations are cached across scenarios.) Note that after these lines which return nullptr, unit filters used in animations will not be able to make use of wml variables or lua scripting (but the latter was a bad idea anyways because it would be slow to constantly recompile the script.)
Implements filter_context.
Definition at line 170 of file display.hpp.
|
inline |
Definition at line 92 of file display.hpp.
References dc_, and display_context::map().
Referenced by editor::location_palette::adjust_size(), bounds_check_position(), editor::mouse_action_item::click_left(), editor::mouse_action_unit::click_left(), editor::mouse_action_item::drag_end_left(), editor::mouse_action_unit::drag_end_left(), draw(), draw_border(), game_display::draw_hex(), draw_hex(), draw_init(), draw_invalidated(), draw_minimap(), draw_minimap_units(), game_display::draw_movement_info(), editor::editor_display::draw_sidebar(), get_flag(), unit_animation_component::invalidate(), invalidate_animations_location(), editor::mouse_action::key_event(), editor::terrain_palette::map(), editor::editor_display::map(), unit_animation::matches(), max_map_area(), minimap_location_on(), controller_base::play_slice(), screenshot(), scroll_to_tile(), scroll_to_tiles(), editor::mouse_action::set_terrain_mouse_overlay(), editor::mouse_action_village::up_left(), editor::mouse_action_map_label::up_left(), editor::mouse_action_item::up_left(), editor::mouse_action_unit::up_left(), and editor::mouse_action_village::up_right().
|
inline |
return the screen surface or the surface used for map_screenshot.
Definition at line 205 of file display.hpp.
References CVideo::getSurface(), map_screenshot_, map_screenshot_surf_, and screen_.
Referenced by draw_init(), draw_invalidated(), battle_prediction_pane::draw_unit(), drawing_buffer_commit(), halo::halo_impl::effect::render(), and halo::halo_impl::effect::unrender().
|
inlinestatic |
Returns the display object if a display object exists.
Otherwise it returns nullptr. the display object represents the game gui which handles themewml and drawing the map. A display object only exists during a game or while the mapeditor is running.
Definition at line 88 of file display.hpp.
References singleton_.
Referenced by unit_animator::add_animation(), unit_frame::get_overlaped_hex(), intf_get_viewing_side(), unit_animation::invalidate(), help::load_terrain_types_data(), unit_frame::redraw(), unit_animation_component::refresh(), unit_animator::replace_anim_if_invalid(), REPORT_GENERATOR(), unit_display::reset_helpers(), unit_animation_component::set_disabled_ghosted(), CVideo::set_fullscreen(), unit_animation_component::set_ghosted(), preferences::set_grid(), preferences::set_idle_anim(), preferences::set_idle_anim_rate(), unit_animation_component::set_idling(), CVideo::set_resolution(), unit_animation_component::set_selecting(), unit_animation_component::set_standing(), preferences::set_turbo(), preferences::set_turbo_speed(), unit_animation_component::start_animation(), unit_display::unit_die(), unit_display::unit_draw_weapon(), unit_display::unit_sheath_weapon(), gui2::twindow::update_screen_size(), and unit_animator::wait_until().
|
inline |
Definition at line 94 of file display.hpp.
References dc_, and display_context::teams().
|
protected |
Definition at line 1126 of file display.cpp.
References animate_map_, tod_color::b, terrain_builder::BACKGROUND, theme::border(), builder_, time_of_day::color, color_adjust_, d, terrain_builder::FOREGROUND, FOREGROUND, tod_color::g, get_adjacent_tiles(), image::locator::get_filename(), image::get_image(), image::get_light_string(), image::get_lighted_image(), get_time_of_day(), tod_color::is_zero(), surface::null(), tod_color::r, image::SCALED_TO_HEX, surf, theme_, and theme::tborder::tile_image.
Referenced by draw_hex().
|
inline |
Definition at line 385 of file display.hpp.
References theme_.
Referenced by replay_controller::add_replay_theme(), hotkey::command_executor::get_menu_image(), hotkey::command_executor::get_menu_images(), controller_base::handle_scroll(), editor::editor_toolkit::init_mouse_actions(), replay_controller::rebuild_replay_theme(), replay_controller::replay_controller(), events::mouse_handler_base::right_click(), hotkey::command_executor_default::set_button_state(), hotkey::command_executor::show_menu(), and replay_controller::~replay_controller().
|
virtual |
Reimplemented in game_display.
Definition at line 430 of file display.cpp.
Referenced by events::console_handler::do_layers(), draw_hex(), get_terrain_images(), and update_tod().
|
virtual |
This is implemented properly in game_display. The display:: impl could be pure virtual here but we decide not to.
Display objects don't hold a tod maanger, instead game_display objects do.
If the base version of this method is called, try to get it from resources and use an assert to check for failure.
Implements filter_context.
Reimplemented in game_display.
Definition at line 440 of file display.cpp.
References resources::tod_manager.
|
inline |
Definition at line 121 of file display.hpp.
References dc_, and display_context::units().
Referenced by editor::mouse_action_unit::click_left(), editor::mouse_action_unit::drag_end_left(), unit_animation::matches(), editor::mouse_action_unit::move(), unit_display::reset_helpers(), dialogs::show_unit_list(), and unit_display::unit_recruited().
|
protected |
Definition at line 476 of file display.cpp.
References map_location::x, and map_location::y.
Referenced by draw_hex().
|
inline |
Returns the rectangular area of visible hexes.
Definition at line 346 of file display.hpp.
References hexes_under_rect(), and map_area().
Referenced by invalidate_animations(), and process_reachmap_changes().
|
inline |
Returns the current zoom factor.
Definition at line 269 of file display.hpp.
References game_config::tile_size, and zoom_.
Referenced by draw_text_in_hex(), unit_animation_component::invalidate(), unit_frame::redraw(), editor::mouse_action_item::set_item_mouse_overlay(), editor::mouse_action_map_label::set_mouse_overlay(), editor::mouse_action_village::set_mouse_overlay(), editor::mouse_action_select::set_mouse_overlay(), editor::mouse_action_paste::set_mouse_overlay(), editor::mouse_action_starting_position::set_mouse_overlay(), and editor::mouse_action_unit::set_unit_mouse_overlay().
|
inlinestatic |
Definition at line 180 of file display.hpp.
Referenced by max_rgb().
|
inline |
height
Definition at line 221 of file display.hpp.
References CVideo::gety(), and screen_.
Referenced by draw_border(), controller_base::handle_scroll(), minimap_location_on(), screen_area(), and scroll_to_tiles().
|
virtual |
Implements events::sdl_handler.
Definition at line 3793 of file display.cpp.
References gui2::tloadscreen::displaying(), draw(), and DRAW_ALL_EVENT.
|
virtual |
|
inlinevirtual |
Reimplemented in game_display.
Definition at line 633 of file display.hpp.
const map_location display::hex_clicked_on | ( | int | x, |
int | y | ||
) | const |
given x,y co-ordinates of an onscreen pixel, will return the location of the hex that this pixel corresponds to.
Returns an invalid location if the mouse isn't over any valid location.
Definition at line 577 of file display.cpp.
References map_area(), pixel_position_to_hex(), sdl::point_in_rect(), xpos_, and ypos_.
Referenced by soundsource::positional_source::calculate_volume(), editor::mouse_action_map_label::click_left(), editor::mouse_action_unit::click_left(), editor::mouse_action_item::click_left(), editor::brush_drag_mouse_action::click_left(), editor::mouse_action_paint::click_left(), editor::mouse_action_paste::click_left(), editor::mouse_action_fill::click_left(), editor::brush_drag_mouse_action::click_right(), editor::mouse_action_paint::click_right(), editor::mouse_action_fill::click_right(), editor::mouse_action_unit::drag_end_left(), editor::mouse_action_item::drag_end_left(), editor::brush_drag_mouse_action::drag_generic(), editor::mouse_action_map_label::drag_left(), editor::mouse_action_unit::drag_left(), editor::mouse_action_item::drag_left(), events::mouse_handler_base::init_dragging(), editor::editor_controller::left_click(), events::mouse_handler::mouse_motion(), editor::editor_controller::mouse_motion(), events::mouse_handler_base::mouse_press(), editor::editor_controller::right_click(), editor::mouse_action_village::up_left(), editor::mouse_action_map_label::up_left(), editor::mouse_action_item::up_left(), editor::mouse_action_unit::up_left(), editor::mouse_action_starting_position::up_left(), editor::mouse_action_map_label::up_right(), editor::mouse_action_village::up_right(), editor::mouse_action_starting_position::up_right(), and editor::editor_toolkit::update_mouse_action_highlights().
|
inline |
Function which returns the size of a hex in pixels (from top tip to bottom tip or left edge to right edge).
Definition at line 266 of file display.hpp.
References zoom_.
Referenced by add_overlay(), draw_hex(), draw_minimap(), draw_text_in_hex(), unit_frame::get_overlaped_hex(), terrain_label::get_rect(), hexes_under_rect(), max_map_area(), minimap_location_on(), editor::mouse_action_unit::move(), outside_area(), pixel_position_to_hex(), unit_frame::redraw(), halo::halo_impl::effect::render(), scroll_to_tiles(), editor::mouse_action::set_terrain_mouse_overlay(), and tile_nearly_on_screen().
|
inline |
Function which returns the width of a hex in pixels, up to where the next hex starts.
(i.e. not entirely from tip to tip – use hex_size() to get the distance from tip to tip)
Definition at line 260 of file display.hpp.
References zoom_.
Referenced by bounds_check_position(), draw_minimap(), get_location_x(), hexes_under_rect(), max_map_area(), minimap_location_on(), pixel_position_to_hex(), and tile_nearly_on_screen().
const display::rect_of_hexes display::hexes_under_rect | ( | const SDL_Rect & | r | ) | const |
Return the rectangular area of hexes overlapped by r (r is in screen coordinates)
Definition at line 666 of file display.cpp.
References theme::border(), display::rect_of_hexes::bottom, floating_point_emulation::floor(), hex_size(), hex_width(), display::rect_of_hexes::left, map_area(), display::rect_of_hexes::right, theme::tborder::size, theme_, game_config::tile_size, display::rect_of_hexes::top, xpos_, and ypos_.
Referenced by unit_frame::get_overlaped_hex(), get_visible_hexes(), invalidate_locations_in_rect(), and halo::halo_impl::effect::render().
|
virtual |
Reimplemented in game_display.
Definition at line 1800 of file display.cpp.
References invalidate(), and mouseoverHex_.
Referenced by game_display::highlight_hex(), and editor::editor_controller::mouse_motion().
|
inline |
Definition at line 517 of file display.hpp.
References idle_anim_.
Referenced by unit_animation_component::refresh(), and unit_animation_component::start_animation().
|
inline |
Definition at line 519 of file display.hpp.
References idle_anim_rate_.
Referenced by unit_animation_component::refresh(), and unit_animation_component::start_animation().
|
inlinevirtual |
Reimplemented in editor::editor_display.
Definition at line 208 of file display.hpp.
Referenced by draw_hex().
|
inlinevirtual |
Reimplemented in game_display.
Definition at line 207 of file display.hpp.
void display::init_flags | ( | ) |
Init the flag list and the team colors used by ~TC.
Definition at line 265 of file display.cpp.
References dc_, flags_, team::get_side_color_index(), i, init_flags_for_side_internal(), image::set_team_colors(), and display_context::teams().
Referenced by display(), and editor::map_context_refresher::refresh().
|
private |
Definition at line 292 of file display.cpp.
References animated< T, T_void_value >::add_frame(), dc_, game_config::images::flag, game_config::flag_rgb, flags_, animated< T, T_void_value >::get_end_time(), mp_ui_alerts::items, itor, LOG_DP, utils::split(), utils::square_parenthetical_split(), animated< T, T_void_value >::start_animation(), teams, and display_context::teams().
Referenced by init_flags(), and reinit_flags_for_side().
bool display::invalidate | ( | const map_location & | loc | ) |
Function to invalidate a specific tile for redrawing.
Definition at line 3536 of file display.cpp.
References invalidateAll_, and invalidated_.
Referenced by editor::editor_display::add_brush_loc(), dialogs::animate_unit_advancement(), editor::editor_display::clear_brush_locs(), actions::shroud_clearer::clear_loc(), events::menu_handler::end_unit_turn(), wb::side_actions::execute_net_cmd(), unit_display::unit_mover::finish(), actions::get_village(), wb::ghost_owner_unit(), highlight_hex(), wb::attack::init(), wb::suppose_dead::init(), game_lua_kernel::intf_kill(), game_lua_kernel::intf_put_unit(), unit_animation::invalidate(), wb::attack::invalidate(), invalidate_animations(), invalidate_animations_location(), invalidate_locations_in_rect(), game_display::invalidate_route(), editor::mouse_action_item::move(), editor::mouse_action_unit::move(), move_unit_between(), parse_team_overlays(), actions::place_recruit(), fake_unit_manager::place_temporary_unit(), unit_creator::post_create(), unit_display::unit_mover::proceed_to(), process_reachmap_changes(), wb::attack::redraw(), wb::recall::redraw(), wb::recruit::redraw(), wb::suppose_dead::redraw(), wb::move::redraw(), editor::context_manager::refresh_after_action(), editor::editor_display::remove_brush_loc(), fake_unit_manager::remove_temporary_unit(), wb::manager::save_temp_attack(), select_hex(), game_display::set_attack_indicator(), editor::editor_display::set_brush_locs(), unit_display::unit_mover::start(), SYNCED_COMMAND_HANDLER_FUNCTION(), teleport_unit_between(), actions::undo::recruit_action::undo(), actions::undo::recall_action::undo(), wb::unghost_owner_unit(), events::menu_handler::unit_hold_position(), and wb::suppose_dead::~suppose_dead().
bool display::invalidate | ( | const std::set< map_location > & | locs | ) |
Definition at line 3549 of file display.cpp.
References invalidateAll_, and invalidated_.
void display::invalidate_all | ( | ) |
Function to invalidate all tiles.
Definition at line 3525 of file display.cpp.
References DBG_DP, invalidateAll_, invalidated_, map_area(), and update_rect().
Referenced by dialogs::animate_unit_advancement(), game_display::begin_game(), gui::floating_textbox::close(), events::console_handler::do_toggle_draw_coordinates(), events::console_handler::do_toggle_draw_terrain_codes(), editor::editor_controller::execute_command(), game_lua_kernel::intf_color_adjust(), game_lua_kernel::intf_modify_side(), game_lua_kernel::intf_redraw(), game_lua_kernel::intf_shroud_op(), game_lua_kernel::intf_toggle_fog(), game_display::maybe_rebuild(), game_display::new_turn(), actions::recalculate_fog(), redraw_everything(), editor::context_manager::refresh_after_action(), editor::context_manager::refresh_all(), scroll(), game_display::set_game_mode(), set_zoom(), events::menu_handler::toggle_ellipses(), events::menu_handler::toggle_grid(), replay_controller::update_gui(), replay_controller::update_teams(), and gui2::tcustom_tod::update_tod_display().
void display::invalidate_animations | ( | ) |
Function to invalidate animated terrains and units which may have changed.
Definition at line 3620 of file display.cpp.
References preferences::animate_map(), animate_map_, builder_, dc_, fake_unit_man_, get_visible_hexes(), i, invalidate(), invalidate_animations_location(), new_animation_frame(), shrouded(), and display_context::units().
Referenced by draw().
void display::invalidate_animations_location | ( | const map_location & | loc | ) |
Per-location invalidation called by invalidate_animations() Extra game per-location invalidation (village ownership)
Definition at line 3610 of file display.cpp.
References currentTeam_, dc_, flags_, fogged(), get_map(), invalidate(), display_context::teams(), and display_context::village_owner().
Referenced by invalidate_animations().
|
inline |
Function to invalidate the game status displayed on the sidebar.
Definition at line 299 of file display.hpp.
References invalidateGameStatus_.
Referenced by wb::recall::apply_temp_modifier(), wb::recruit::apply_temp_modifier(), events::menu_handler::execute_gotos(), game_display::highlight_hex(), editor::editor_toolkit::hotkey_set_mouse_action(), actions::shroud_clearer::invalidate_after_clear(), events::mouse_handler::move_unit_along_route(), events::menu_handler::move_unit_to_loc(), actions::recall_unit(), actions::recruit_unit(), actions::undo_list::redo(), set_playing_team(), game_display::set_playing_team(), and actions::undo_list::undo().
bool display::invalidate_locations_in_rect | ( | const SDL_Rect & | rect | ) |
invalidate all hexes under the rectangle rect (in screen coordinates)
Definition at line 3598 of file display.cpp.
References hexes_under_rect(), invalidate(), and invalidateAll_.
Referenced by draw_init(), invalidate_visible_locations_in_rect(), and scroll().
|
inline |
Definition at line 408 of file display.hpp.
References panelsDrawn_.
Referenced by replay_controller::add_replay_theme(), and replay_controller::rebuild_replay_theme().
bool display::invalidate_visible_locations_in_rect | ( | const SDL_Rect & | rect | ) |
Definition at line 3593 of file display.cpp.
References sdl::intersect_rects(), invalidate_locations_in_rect(), and map_area().
bool display::is_blindfolded | ( | ) | const |
Definition at line 517 of file display.cpp.
References blindfold_ctr_.
Referenced by draw_minimap(), draw_minimap_units(), fogged(), image::getMinimap(), show_everything(), and shrouded().
map_labels & display::labels | ( | ) |
Definition at line 2773 of file display.cpp.
References map_labels_.
Referenced by events::menu_handler::clear_labels(), editor::map_context::clear_starting_position_labels(), do_replay_handle(), events::menu_handler::do_search(), draw_all_panels(), game_lua_kernel::intf_find_cost_map(), game_lua_kernel::intf_label(), game_lua_kernel::intf_shroud_op(), actions::shroud_clearer::invalidate_after_clear(), events::menu_handler::label_settings(), events::menu_handler::label_terrain(), turn_info::process_network_data(), redraw_everything(), scroll(), editor::editor_map::set_starting_position_labels(), set_team(), set_zoom(), ai::default_recruitment::recruitment::show_important_hexes(), and gui2::tlabel_settings::tlabel_settings().
const map_labels & display::labels | ( | ) | const |
Definition at line 2778 of file display.cpp.
References map_labels_.
void display::layout_buttons | ( | ) |
Definition at line 856 of file display.cpp.
References theme::actions(), DBG_DP, find_action_button(), find_menu_button(), find_slider(), i, theme::menus(), screen_area(), theme::sliders(), and theme_.
Referenced by create_buttons().
const SDL_Rect & display::map_area | ( | ) | const |
Returns the area used for the map.
Definition at line 540 of file display.cpp.
References map_outside_area(), map_screenshot_, and max_map_area().
Referenced by bounds_check_position(), soundsource::positional_source::calculate_volume(), draw_init(), draw_minimap(), drawing_buffer_commit(), get_clip_rect(), get_location_x(), get_location_y(), get_visible_hexes(), hex_clicked_on(), hexes_under_rect(), invalidate_all(), invalidate_visible_locations_in_rect(), render_image(), scroll(), scroll_to_tiles(), scroll_to_xy(), set_zoom(), tile_fully_on_screen(), and tile_nearly_on_screen().
|
inline |
Returns the available area for a map, this may differ from the above.
This area will get the background area applied to it.
Definition at line 248 of file display.hpp.
References theme::main_map_location(), map_screenshot_, max_map_area(), screen_area(), and theme_.
Referenced by display_chat_manager::add_chat_message(), announce(), terrain_label::draw(), draw_init(), draw_minimap(), flip(), editor::editor_display::get_clip_rect(), controller_base::handle_scroll(), game_lua_kernel::intf_print(), map_area(), unit_drawer::redraw_unit(), halo::halo_impl::effect::render(), set_diagnostic(), halo::halo_impl::effect::unrender(), gui::floating_textbox::update_location(), and gui2::twindow::update_screen_size().
const SDL_Rect & display::max_map_area | ( | ) | const |
Returns the maximum area used for the map regardless to resolution and view size.
Definition at line 523 of file display.cpp.
References theme::border(), get_map(), gamemap::h(), hex_size(), hex_width(), theme::tborder::size, theme_, and gamemap::w().
Referenced by map_area(), map_outside_area(), and screenshot().
|
inlinestatic |
Definition at line 184 of file display.hpp.
References blue(), green(), red(), and rgb().
Referenced by unit_frame::merge_parameters().
const theme::menu * display::menu_pressed | ( | ) |
Definition at line 1916 of file display.cpp.
References theme::get_menu_item(), i, menu_buttons_, theme::menus(), and theme_.
Referenced by controller_base::play_slice().
|
inline |
Definition at line 222 of file display.hpp.
References theme::mini_map_location(), screen_area(), and theme_.
Referenced by draw_minimap(), and minimap_location_on().
map_location display::minimap_location_on | ( | int | x, |
int | y | ||
) |
given x,y co-ordinates of the mouse, will return the location of the hex in the minimap that the mouse is currently over, or an invalid location if the mouse isn't over the minimap.
Definition at line 723 of file display.cpp.
References get_map(), gamemap::h(), h(), hex_size(), hex_width(), minimap_area(), minimap_location_, pixel_position_to_hex(), sdl::point_in_rect(), gamemap::w(), w(), map_location::x, and map_location::y.
Referenced by events::mouse_handler_base::left_click(), events::mouse_handler_base::mouse_motion_default(), and events::mouse_handler_base::mouse_press().
|
inline |
Definition at line 293 of file display.hpp.
References mouseoverHex_.
Referenced by editor::editor_controller::can_execute_command(), game_lua_kernel::intf_get_mouseover_tile(), controller_base::play_slice(), editor::editor_controller::terrain_description(), and unit_display::unit_recruited().
|
inlinevirtual |
Reimplemented in game_display.
Definition at line 213 of file display.hpp.
Check if the bbox of the hex at x,y has pixels outside the area rectangle.
Definition at line 568 of file display.cpp.
References hex_size().
Referenced by scroll_to_tiles(), and tile_fully_on_screen().
|
inline |
Definition at line 224 of file display.hpp.
References theme::palette_location(), screen_area(), and theme_.
Referenced by editor::palette_manager::adjust_size(), and editor::palette_manager::resrote_palete_bg().
void display::parse_team_overlays | ( | ) |
Check the overlay_map for proper team-specific overlays to be displayed/hidden.
Definition at line 81 of file display.cpp.
References dc_, i, invalidate(), overlays_, playing_team(), overlay::team_name, team::team_name(), and display_context::teams().
const map_location display::pixel_position_to_hex | ( | int | x, |
int | y | ||
) | const |
given x,y co-ordinates of a pixel on the map, will return the location of the hex that this pixel corresponds to.
Returns an invalid location if the mouse isn't over any valid location.
Definition at line 592 of file display.cpp.
References theme::border(), hex_size(), hex_width(), theme::tborder::size, and theme_.
Referenced by hex_clicked_on(), and minimap_location_on().
|
inlinevirtual |
Reimplemented in game_display.
Definition at line 212 of file display.hpp.
Referenced by attack_info(), gray_inactive(), and unit_moves().
|
inline |
The playing team is the team whose turn it is.
Definition at line 97 of file display.hpp.
References activeTeam_.
Referenced by parse_team_overlays(), and editor::mouse_action_village::up_left().
|
inlineprotectedvirtual |
Hook for actions to take right after draw() calls drawing_buffer_commit No action here by default.
Reimplemented in game_display.
Definition at line 707 of file display.hpp.
Referenced by draw().
|
inlineprotectedvirtual |
Called at the very end of each draw() call.
Derived classes can use this to add extra actions after redrawing invalidated hexes takes place. No action here by default.
Reimplemented in game_display.
Definition at line 687 of file display.hpp.
Referenced by draw().
|
inlineprotectedvirtual |
Called near the beginning of each draw() call.
Derived classes can use this to add extra actions before redrawing invalidated hexes takes place. No action here by default.
Reimplemented in game_display, and editor::editor_display.
Definition at line 680 of file display.hpp.
Referenced by draw().
|
protected |
Definition at line 3737 of file display.cpp.
References display::rect_of_hexes::begin(), display::rect_of_hexes::end(), get_visible_hexes(), i, invalidate(), reach_map_, reach_map_changed_, and reach_map_old_.
Referenced by game_display::pre_draw().
bool display::propagate_invalidation | ( | const std::set< map_location > & | locs | ) |
If this set is partially invalidated, invalidate all its hexes.
Returns if any new invalidation was needed
Definition at line 3563 of file display.cpp.
References i, invalidateAll_, and invalidated_.
Referenced by unit_animation::invalidate().
Definition at line 3729 of file display.cpp.
References tod_color::b, color_adjust_, tod_color::g, tod_color::r, and view_locked_.
Referenced by display().
void display::rebuild_all | ( | ) |
Rebuild all dynamic terrain.
Definition at line 482 of file display.cpp.
References builder_.
Referenced by game_display::maybe_rebuild(), editor::context_manager::refresh_after_action(), and editor::context_manager::refresh_all().
|
inline |
Schedule the minimap for recalculation.
Useful if any terrain in the map has changed.
Definition at line 623 of file display.hpp.
References minimap_, and redrawMinimap_.
Referenced by do_replay(), draw_all_panels(), game_lua_kernel::intf_modify_side(), game_lua_kernel::intf_redraw(), game_lua_kernel::intf_shroud_op(), game_lua_kernel::intf_toggle_fog(), actions::shroud_clearer::invalidate_after_clear(), game_display::maybe_rebuild(), turn_info::process_network_data(), hotkey::command_executor_default::recalculate_minimap(), editor::context_manager::refresh_after_action(), editor::context_manager::refresh_all(), select_hex(), SYNCED_COMMAND_HANDLER_FUNCTION(), and replay_controller::update_gui().
|
inlinestatic |
Definition at line 178 of file display.hpp.
Referenced by draw_label(), and max_rgb().
void display::redraw_everything | ( | ) |
Invalidates entire screen, including all tiles and sidebar.
Calls redraw observers.
Definition at line 2650 of file display.cpp.
References action_buttons_, bounds_check_position(), tooltips::clear_tooltips(), complete_redraw_event_, create_buttons(), draw(), gui::in_dialog(), invalidate_all(), invalidateGameStatus_, labels(), LOG_DP, menu_buttons_, events::generic_event::notify_observers(), panelsDrawn_, map_labels::recalculate_labels(), redraw_background_, redraw_observers_, reportRects_, reports_, reportSurfaces_, screen_, screen_area(), theme::set_resolution(), sliders_, theme_, and CVideo::update_locked().
Referenced by events::console_handler::do_refresh(), draw(), editor::editor_controller::editor_controller(), events::menu_handler::preferences(), turn_info::process_network_data(), replay_controller::replay_controller(), screenshot(), CVideo::set_fullscreen(), CVideo::set_resolution(), SYNCED_COMMAND_HANDLER_FUNCTION(), and replay_controller::~replay_controller().
|
inline |
Schedule the minimap to be redrawn.
Useful if units have moved about on the map.
Definition at line 629 of file display.hpp.
References redrawMinimap_.
Referenced by game_lua_kernel::intf_kill(), events::menu_handler::kill_unit(), actions::place_recruit(), actions::undo_list::redo(), actions::undo_list::undo(), and replay_controller::update_gui().
void display::refresh_report | ( | std::string const & | report_name, |
const config * | new_cfg = nullptr |
||
) |
Redraws the specified report (if anything has changed).
If a config is not supplied, it will be generated via reports::generate_report().
Definition at line 3099 of file display.cpp.
References config::add_child(), config::add_child_at(), tooltips::add_tooltip(), surface::assign(), CVideo::blit_surface(), config::child(), config::child_range(), tooltips::clear_tooltips(), resources::controller, sdl::create_rect(), dc_, draw_image_for_report(), e, game_config::images::ellipsis, config::empty(), schema_validation::eol, ERR_DP, theme::status_item::font_rgb(), theme::status_item::font_rgb_set(), theme::status_item::font_size(), reports::generate_report(), image::get_image(), play_controller::get_mouse_handler_base(), theme::get_status_item(), get_surface_portion(), CVideo::getSurface(), theme::object::location(), theme::status_item::postfix(), theme::status_item::prefix(), font::ttext::render(), report(), reportRects_, reports_, reports_object_, reportSurfaces_, screen_, screen_area(), sdl_blit(), font::ttext::set_font_size(), font::ttext::set_foreground_color(), font::ttext::set_maximum_height(), font::ttext::set_maximum_width(), font::ttext::set_text(), theme_, resources::tod_manager, update_rect(), and wb_.
Referenced by editor::editor_display::draw_sidebar(), and game_display::draw_sidebar().
void display::reinit_flags_for_side | ( | size_t | side | ) |
Rebuild the flag list (not team colors) for a single side.
Definition at line 282 of file display.cpp.
References dc_, ERR_DP, team::get_side_color_index(), init_flags_for_side_internal(), and display_context::teams().
Referenced by game_lua_kernel::intf_modify_side().
void display::reload_map | ( | ) |
Updates internals that cache map size.
This should be called when the map size has changed.
Definition at line 487 of file display.cpp.
References builder_, and redraw_background_.
Referenced by editor::context_manager::reload_map(), and game_events::WML_HANDLER_FUNCTION().
Definition at line 3698 of file display.cpp.
References arrows_map_, and arrow::get_path().
std::string display::remove_exclusive_draw | ( | const map_location & | loc | ) |
Cancels an exclusive draw request.
Definition at line 418 of file display.cpp.
References exclusive_unit_draw_requests_, and map_location::valid().
Referenced by wb::highlighter::unhighlight().
void display::remove_overlay | ( | const map_location & | loc | ) |
remove_overlay will remove all overlays on a tile.
Definition at line 108 of file display.cpp.
References overlays_.
Referenced by game_lua_kernel::intf_remove_tile_overlay().
void display::remove_single_overlay | ( | const map_location & | loc, |
const std::string & | toDelete | ||
) |
remove_single_overlay will remove a single overlay from a tile
Definition at line 124 of file display.cpp.
References overlays_.
Referenced by game_lua_kernel::intf_remove_tile_overlay().
void display::render_buttons | ( | ) |
Definition at line 984 of file display.cpp.
References action_buttons_, menu_buttons_, and sliders_.
Referenced by draw_all_panels().
void display::render_image | ( | int | x, |
int | y, | ||
const display::tdrawing_layer | drawing_layer, | ||
const map_location & | loc, | ||
surface | image, | ||
bool | hreverse = false , |
||
bool | greyscale = false , |
||
fixed_t | alpha = ftofxp(1.0) , |
||
Uint32 | blendto = 0 , |
||
double | blend_ratio = 0 , |
||
double | submerged = 0.0 , |
||
bool | vreverse = false |
||
) |
Draw an image at a certain location.
x,y: pixel location on screen to draw the image image: the image to draw reverse: if the image should be flipped across the x axis greyscale: used for instance to give the petrified appearance to a unit image alpha: the merging to use with the background blendto: blend to this color using blend_ratio submerged: the amount of the unit out of 1.0 that is submerged (presumably under water) and thus shouldn't be drawn
Definition at line 1724 of file display.cpp.
References adjust_surface_alpha(), blend_surface(), brighten_image(), sdl::create_rect(), drawing_buffer_add(), ERR_DP, flop_surface(), ftofxp, greyscale_image(), map_area(), sdl::rects_overlap(), image::reverse_image(), submerge_alpha(), surf, and zoom_.
Referenced by unit_frame::redraw().
|
inline |
Definition at line 1175 of file display.hpp.
Referenced by game_display::game_display(), and editor::map_context_refresher::refresh().
void display::reset_halo_manager | ( | ) |
Definition at line 499 of file display.cpp.
References halo_man_.
void display::reset_halo_manager | ( | halo::manager & | hm | ) |
Definition at line 504 of file display.cpp.
References halo_man_.
Definition at line 652 of file display.hpp.
References reports_object_.
|
inlinestatic |
Definition at line 176 of file display.hpp.
References blue().
Referenced by unit_animation::add_anims(), unit_animation::fill_initial_animations(), frame_builder::frame_builder(), max_rgb(), image::blend_modification::operator()(), unit_drawer::redraw_unit(), unit_display::unit_attack(), unit_display::unit_healing(), and unit_display::wml_animation_internal().
|
inline |
Definition at line 229 of file display.hpp.
References sdl::create_rect(), h(), and w().
Referenced by clear_screen(), draw_label(), draw_panel(), layout_buttons(), map_outside_area(), minimap_area(), palette_area(), redraw_everything(), refresh_report(), and unit_image_area().
bool display::screenshot | ( | const std::string & | filename, |
bool | map_screenshot = false |
||
) |
Save a (map-)screenshot and return whether the operation succeeded.
Definition at line 753 of file display.cpp.
References create_compatible_surface(), DBG_DP, draw(), ERR_DP, get_map(), CVideo::getSurface(), invalidateAll_, map_screenshot_, map_screenshot_surf_, max_map_area(), redraw_everything(), image::save_image(), screen_, xpos_, and ypos_.
Referenced by hotkey::command_executor_default::map_screenshot().
Scrolls the display by xmov,ymov pixels.
Invalidation and redrawing will be scheduled.
Definition at line 2206 of file display.cpp.
References bounds_check_position(), CVideo::getSurface(), sdl::intersect_rects(), invalidate_all(), invalidate_locations_in_rect(), labels(), make_neutral_surface(), map_area(), events::generic_event::notify_observers(), map_labels::recalculate_shroud(), redrawMinimap_, resources::screen, screen_, scroll_event_, font::scroll_floating_labels(), CVideo::update_locked(), update_rect(), view_locked_, xpos_, and ypos_.
Referenced by controller_base::handle_scroll(), game_lua_kernel::intf_scroll(), events::mouse_handler_base::mouse_wheel(), and scroll_to_xy().
|
inline |
Expose the event, so observers can be notified about map scrolling.
Definition at line 589 of file display.hpp.
References scroll_event_.
Referenced by soundsource::manager::manager().
void display::scroll_to_tile | ( | const map_location & | loc, |
SCROLL_TYPE | scroll_type = ONSCREEN , |
||
bool | check_fogged = true , |
||
bool | force = true |
||
) |
Scroll such that location loc is on-screen.
WARP jumps to loc; SCROLL uses scroll speed; ONSCREEN only scrolls if x,y is offscreen force : scroll even if preferences tell us not to, or the view is locked.
Definition at line 2434 of file display.cpp.
References ERR_DP, get_map(), and scroll_to_tiles().
Referenced by editor::location_palette::adjust_size(), events::mouse_handler::cycle_units(), events::menu_handler::do_search(), events::menu_handler::goto_leader(), game_lua_kernel::intf_kill(), game_lua_kernel::intf_scroll_to_tile(), editor::mouse_action::key_event(), events::mouse_handler_base::left_click(), events::mouse_handler_base::mouse_motion_default(), events::mouse_handler_base::mouse_press(), controller_base::play_slice(), game_display::scroll_to_leader(), dialogs::show_unit_list(), unit_display::unit_healing(), unit_display::unit_recruited(), and unit_display::wml_animation_internal().
void display::scroll_to_tiles | ( | map_location | loc1, |
map_location | loc2, | ||
SCROLL_TYPE | scroll_type = ONSCREEN , |
||
bool | check_fogged = true , |
||
double | add_spacing = 0.0 , |
||
bool | force = true |
||
) |
Scroll such that location loc1 is on-screen.
It will also try to make it such that loc2 is on-screen, but this is not guaranteed. For ONSCREEN scrolls add_spacing sets the desired minimum distance from the border in hexes.
Definition at line 2446 of file display.cpp.
Referenced by move_unit_between(), unit_display::unit_mover::proceed_to(), scroll_to_tile(), scroll_to_tiles(), unit_display::unit_mover::start(), teleport_unit_between(), unit_display::unit_attack(), and unit_display::unit_recruited().
void display::scroll_to_tiles | ( | const std::vector< map_location >::const_iterator & | begin, |
const std::vector< map_location >::const_iterator & | end, | ||
SCROLL_TYPE | scroll_type = ONSCREEN , |
||
bool | check_fogged = true , |
||
bool | only_if_possible = false , |
||
double | add_spacing = 0.0 , |
||
bool | force = true |
||
) |
Scroll to fit as many locations on-screen as possible, starting with the first.
Definition at line 2456 of file display.cpp.
References ERR_DP, fogged(), get_location_x(), get_location_y(), get_map(), h(), hex_size(), itor, map_area(), ONSCREEN, ONSCREEN_WARP, outside_area(), round_double(), scroll_to_xy(), schema_validation::valid, and w().
|
inline |
Scroll to fit as many locations on-screen as possible, starting with the first.
Definition at line 579 of file display.hpp.
References scroll_to_tiles().
|
protected |
Definition at line 2355 of file display.cpp.
References bounds_check_position(), draw(), map_area(), ONSCREEN_WARP, events::pump(), round_double(), screen_, scroll(), preferences::scroll_speed(), preferences::scroll_to_action(), turbo_speed(), CVideo::update_locked(), view_locked_, WARP, xpos_, and ypos_.
Referenced by scroll_to_tiles().
|
virtual |
Reimplemented in game_display.
Definition at line 1792 of file display.cpp.
References invalidate(), recalculate_minimap(), and selectedHex_.
Referenced by game_display::select_hex(), dialogs::show_unit_list(), and unit_display::unit_attack().
|
inline |
Definition at line 292 of file display.hpp.
References selectedHex_.
Referenced by get_selected_unit(), game_lua_kernel::intf_get_selected_tile(), and dialogs::show_unit_list().
void display::set_default_zoom | ( | ) |
Sets the zoom amount to the default.
Definition at line 2326 of file display.cpp.
References last_zoom_, set_zoom(), and zoom_.
Referenced by hotkey::command_executor_default::zoom_default().
void display::set_diagnostic | ( | const std::string & | msg | ) |
Definition at line 1807 of file display.cpp.
References font::add_floating_label(), diagnostic_label_, map_outside_area(), font::remove_floating_label(), font::floating_label::set_clip_rect(), font::floating_label::set_color(), font::floating_label::set_font_size(), font::floating_label::set_position(), font::SIZE_PLUS, and font::YELLOW_COLOR.
Referenced by ai::readonly_context_impl::diagnostic().
|
inline |
Setter for the x,y debug overlay on tiles.
Definition at line 366 of file display.hpp.
References draw_coordinates_.
Referenced by events::console_handler::do_toggle_draw_coordinates(), editor::editor_controller::execute_command(), and editor::editor_controller::init_gui().
|
inline |
Setter for the terrain code debug overlay on tiles.
Definition at line 371 of file display.hpp.
References draw_terrain_codes_.
Referenced by events::console_handler::do_toggle_draw_terrain_codes(), editor::editor_controller::execute_command(), and editor::editor_controller::init_gui().
|
inline |
Determines whether a grid should be overlayed on the game board.
(to more clearly show where hexes are)
Definition at line 361 of file display.hpp.
References preferences::grid(), and grid_.
Referenced by preferences::set_grid().
|
inline |
control unit idle animations and their frequency
Definition at line 516 of file display.hpp.
References idle_anim_.
Referenced by preferences::set_idle_anim().
Definition at line 2645 of file display.cpp.
References idle_anim_rate_.
Referenced by display(), and preferences::set_idle_anim_rate().
mouseover_hex_overlay_ require a prerendered surface and is drawn underneath the mouse's location
Definition at line 458 of file display.hpp.
References mouseover_hex_overlay_.
Referenced by editor::mouse_action_unit::move(), editor::mouse_action_item::set_item_mouse_overlay(), editor::mouse_action_map_label::set_mouse_overlay(), editor::mouse_action_village::set_mouse_overlay(), editor::mouse_action_select::set_mouse_overlay(), editor::mouse_action::set_mouse_overlay(), editor::mouse_action_paste::set_mouse_overlay(), editor::mouse_action_starting_position::set_mouse_overlay(), editor::mouse_action::set_terrain_mouse_overlay(), and editor::mouse_action_unit::set_unit_mouse_overlay().
void display::set_playing_team | ( | size_t | team | ) |
set_playing_team sets the team whose turn it currently is
Definition at line 398 of file display.cpp.
References activeTeam_, invalidate_game_status(), and teams.
void display::set_team | ( | size_t | team, |
bool | observe = false |
||
) |
Sets the team controlled by the player using the computer.
Data from this team will be displayed in the game status.
Definition at line 379 of file display.cpp.
References currentTeam_, dc_, dont_show_all_, labels(), map_labels::recalculate_labels(), map_labels::set_team(), teams, display_context::teams(), and wb_.
Referenced by turn_info::process_network_data().
|
inline |
Set/Get whether 'turbo' mode is on.
When turbo mode is on, everything moves much faster.
Definition at line 509 of file display.hpp.
References preferences::turbo(), and turbo_.
Referenced by preferences::set_turbo().
|
inline |
Definition at line 513 of file display.hpp.
References turbo_speed_.
Referenced by preferences::set_turbo_speed().
|
inline |
Sets whether the map view is locked (e.g.
so the user can't scroll away)
Definition at line 549 of file display.hpp.
References view_locked_.
Referenced by game_lua_kernel::intf_lock_view().
bool display::set_zoom | ( | int | amount, |
bool | absolute = false |
||
) |
Zooms the display by the specified amount.
Negative values zoom out. Note the amount should be a multiple of four, otherwise the images might start to look odd (hex_width() gets rounding errors).
Definition at line 2285 of file display.cpp.
References amount, bounds_check_position(), draw(), find_slider(), invalidate_all(), labels(), last_zoom_, LOG_DP, map_area(), map_labels::recalculate_labels(), redraw_background_, image::set_zoom(), xpos_, ypos_, and zoom_.
Referenced by events::mouse_handler::left_mouse_up(), events::mouse_handler::mouse_wheel_down(), events::mouse_handler::mouse_wheel_left(), events::mouse_handler::mouse_wheel_right(), events::mouse_handler::mouse_wheel_up(), set_default_zoom(), hotkey::command_executor_default::zoom_in(), and hotkey::command_executor_default::zoom_out().
|
inline |
Definition at line 90 of file display.hpp.
References dont_show_all_, and is_blindfolded().
Referenced by get_selected_unit(), get_visible_unit(), and game_lua_kernel::intf_get_displayed_unit().
|
inline |
Returns true if location (x,y) is covered in shroud.
Definition at line 349 of file display.hpp.
References currentTeam_, dc_, dont_show_all_, is_blindfolded(), and display_context::teams().
Referenced by soundsource::positional_source::calculate_volume(), events::menu_handler::do_search(), game_display::draw_hex(), draw_hex(), get_fog_shroud_images(), invalidate_animations(), is_shrouded(), halo::halo_impl::effect::render(), events::menu_handler::terrain_description(), and halo::halo_impl::effect::unrender().
gui::button::TYPE display::string_to_button_type | ( | std::string | type | ) |
Definition at line 1000 of file display.cpp.
References gui::button::TYPE_CHECK, gui::button::TYPE_IMAGE, gui::button::TYPE_PRESS, gui::button::TYPE_RADIO, and gui::button::TYPE_TURBO.
Referenced by create_buttons().
|
static |
Debug function to toggle the "sunset" mode.
The map area become progressively darker, except where hexes are refreshed. delay is the number of frames between each darkening (0 to toggle).
Definition at line 1395 of file display.cpp.
Referenced by events::console_handler::do_sunset().
|
inline |
Definition at line 99 of file display.hpp.
References currentTeam_, dc_, and display_context::teams().
Referenced by events::menu_handler::clear_labels(), game_display::current_team_name(), game_display::draw_sidebar(), and unit_drawer::redraw_unit().
bool display::tile_fully_on_screen | ( | const map_location & | loc | ) |
Check if a tile is fully visible on screen.
Definition at line 2338 of file display.cpp.
References get_location_x(), get_location_y(), map_area(), and outside_area().
Referenced by unit_display::unit_mover::proceed_to().
bool display::tile_nearly_on_screen | ( | const map_location & | loc | ) | const |
Checks if location loc or one of the adjacent tiles is visible on screen.
Definition at line 2345 of file display.cpp.
References get_location_x(), get_location_y(), hex_size(), hex_width(), and map_area().
Referenced by unit_animation::invalidate(), and unit_animation_component::refresh().
|
static |
Toggle to continuously redraw the screen.
Definition at line 1401 of file display.cpp.
Referenced by events::console_handler::do_benchmark().
|
static |
Toggle to debug foreground terrain.
Separate background and foreground layer to better spot any error there.
Definition at line 1406 of file display.cpp.
Referenced by events::console_handler::do_foreground().
double display::turbo_speed | ( | ) | const |
Definition at line 2631 of file display.cpp.
References CVideo::faked(), keys_, screen_, turbo_, and turbo_speed_.
Referenced by game_display::float_label(), game_lua_kernel::intf_delay(), game_display::new_turn(), scroll_to_xy(), unit_animation::update_last_draw_time(), and unit_animator::wait_until().
|
inline |
Definition at line 226 of file display.hpp.
References screen_area(), theme_, and theme::unit_image_location().
Called by arrow objects when they change.
You should not need to call this directly.
Definition at line 3707 of file display.cpp.
References arrows_map_, arrow::get_path(), and arrow::get_previous_path().
void display::update_display | ( | ) |
Copy the backbuffer to the framebuffer.
Definition at line 1446 of file display.cpp.
References font::add_floating_label(), font::BAD_COLOR, game_config::debug, drawn_hexes_, flip(), fps_handle_, invalidated_hexes_, font::LEFT_ALIGN, font::NORMAL_COLOR, font::remove_floating_label(), screen_, font::floating_label::set_font_size(), preferences::show_fps(), and CVideo::update_locked().
Referenced by draw_wrap(), and teleport_unit_between().
void display::update_tod | ( | ) |
Add r,g,b from tod_manager to the map.
Definition at line 446 of file display.cpp.
References tod_color::b, time_of_day::color, color_adjust_, tod_color::g, get_time_of_day(), tod_color::r, and image::set_color_adjustment().
Referenced by adjust_color_overlay(), and game_display::new_turn().
|
inline |
Gets the underlying screen object.
Definition at line 202 of file display.hpp.
References screen_.
Referenced by display_chat_manager::add_chat_message(), editor::location_palette::adjust_size(), editor::context_manager::apply_mask_dialog(), savegame::autosave_savegame::autosave(), BOOST_AUTO_TEST_CASE(), editor::context_manager::check_switch_open_map(), tooltips::click(), editor::context_manager::confirm_discard(), editor::context_manager::create_mask_to_dialog(), events::console_handler::do_choose_level(), events::console_handler::do_control_dialog(), events::console_handler::do_inspect(), events::console_handler::do_layers(), events::menu_handler::do_recruit(), events::menu_handler::do_search(), events::console_handler::do_theme(), events::console_handler::do_unsafe_lua(), draw_all_panels(), draw_minimap_units(), editor::context_manager::edit_scenario_dialog(), editor::context_manager::edit_side_dialog(), flip(), editor::context_manager::generate_map_dialog(), test_utils::get_fake_display(), hotkey::command_executor_default::get_video(), editor::location_palette::hide(), editor::editor_palette< t_translation::t_terrain >::hide(), game_lua_kernel::intf_gamestate_inspector(), game_lua_kernel::intf_open_help(), events::menu_handler::label_settings(), events::menu_handler::label_terrain(), editor::context_manager::load_map(), editor::context_manager::load_map_dialog(), events::mouse_handler::move_unit_along_route(), editor::context_manager::new_map_dialog(), editor::context_manager::new_scenario_dialog(), events::menu_handler::preferences(), events::menu_handler::recall(), dialogs::recall_dialog(), events::menu_handler::recruit(), dialogs::recruit_dialog(), actions::undo::recruit_action::redo(), actions::undo::recall_action::redo(), editor::context_manager::rename_area_dialog(), events::menu_handler::rename_unit(), editor::context_manager::resize_map_dialog(), events::menu_handler::save_map(), editor::context_manager::save_map_as(), editor::context_manager::save_map_as_dialog(), editor::context_manager::save_scenario_as(), editor::context_manager::save_scenario_as_dialog(), events::menu_handler::scenario_settings_table(), gui2::tcustom_tod::select_file(), editor::location_palette::select_item(), game_lua_kernel::set_game_display(), gui::floating_textbox::show(), events::mouse_handler::show_attack_dialog(), events::menu_handler::show_chat_log(), events::menu_handler::show_help(), hotkey::command_executor::show_menu(), dialogs::show_unit_list(), statistics_dialog::statistics_dialog(), events::menu_handler::status_table(), events::menu_handler::terrain_description(), unit_display::unit_attack(), events::menu_handler::unit_description(), unit_display::unit_die(), unit_display::unit_draw_weapon(), unit_display::unit_healing(), unit_display::unit_recruited(), unit_display::unit_sheath_weapon(), editor::mouse_action_map_label::up_left(), unit_display::wml_animation(), editor::context_manager::write_map(), and editor::context_manager::write_scenario().
|
inline |
Definition at line 546 of file display.hpp.
References view_locked_.
Referenced by game_lua_kernel::intf_view_locked().
|
inline |
Definition at line 103 of file display.hpp.
References currentTeam_.
Referenced by wb::move::calculate_move_cost(), wb::manager::create_temp_move(), events::mouse_handler::current_unit_attacks_from(), editor::unit_palette::draw_item(), gray_inactive(), events::menu_handler::label_terrain(), events::mouse_handler::move_unit_along_route(), events::menu_handler::rename_unit(), unit_display::unit_mover::replace_temporary(), events::mouse_handler::select_hex(), events::menu_handler::send_chat_message(), editor::mouse_action_unit::set_unit_mouse_overlay(), dialogs::show_unit_list(), editor::mouse_action_unit::up_left(), and wb::viewer_side().
|
inline |
The viewing team is the team currently viewing the game.
Definition at line 102 of file display.hpp.
References currentTeam_.
Referenced by attack_info(), calculate_healing(), events::menu_handler::current_unit(), game_display::display_unit_hex(), events::menu_handler::do_search(), game_display::draw_hex(), draw_hex(), get_selected_unit(), get_visible_unit(), events::menu_handler::has_friends(), game_display::highlight_hex(), game_lua_kernel::intf_get_displayed_unit(), events::menu_handler::label_terrain(), pathfind::mark_route(), events::menu_handler::scenario_settings_table(), events::menu_handler::send_chat_message(), events::menu_handler::show_enemy_moves(), events::menu_handler::status_table(), time_of_day_at(), unit_box_at(), wb::viewer_actions(), wb::viewer_team(), and events::mouse_handler::viewing_team().
|
inline |
the dimensions of the display.
x and y are width/height. mapx is the width of the portion of the display which shows the game area. Between mapx and x is the sidebar region.width
Definition at line 220 of file display.hpp.
References CVideo::getx(), and screen_.
Referenced by draw_border(), controller_base::handle_scroll(), minimap_location_on(), screen_area(), and scroll_to_tiles().
Definition at line 3721 of file display.cpp.
References tod_color::b, color_adjust_, tod_color::g, tod_color::r, and view_locked_.
bool display::zoom_at_max | ( | ) | const |
Definition at line 2275 of file display.cpp.
References zoom_.
bool display::zoom_at_min | ( | ) | const |
Definition at line 2280 of file display.cpp.
References zoom_.
|
protected |
Definition at line 816 of file display.hpp.
Referenced by action_pressed(), create_buttons(), display(), find_action_button(), redraw_everything(), and render_buttons().
|
protected |
Definition at line 959 of file display.hpp.
Referenced by game_display::playing_side(), playing_team(), set_playing_team(), and game_display::set_playing_team().
|
protected |
Local cache for preferences::animate_map, since it is constantly queried.
Definition at line 839 of file display.hpp.
Referenced by get_flag(), get_terrain_images(), and invalidate_animations().
|
protected |
Local version of preferences::animate_water, used to detect when it's changed.
Definition at line 842 of file display.hpp.
Referenced by draw().
|
private |
Maps the list of arrows for each location.
Definition at line 1162 of file display.hpp.
Referenced by add_arrow(), draw_hex(), remove_arrow(), and update_arrow().
|
private |
Definition at line 659 of file display.hpp.
Referenced by blindfold(), display(), and is_blindfolded().
|
protected |
Definition at line 778 of file display.hpp.
Referenced by change_display_context(), draw(), get_builder(), get_terrain_images(), invalidate_animations(), rebuild_all(), editor::editor_display::rebuild_terrain(), and reload_map().
|
private |
Definition at line 1164 of file display.hpp.
Referenced by adjust_color_overlay(), draw_hex(), get_terrain_images(), read(), update_tod(), and write().
|
protected |
notify observers that the screen has been redrawn completely atm this is used for replay_controller to add replay controls to the standard theme
Definition at line 800 of file display.hpp.
Referenced by complete_redraw_event(), and redraw_everything().
|
protected |
Definition at line 769 of file display.hpp.
Referenced by game_display::current_team_name(), game_display::draw_hex(), draw_minimap(), draw_minimap_units(), game_display::draw_movement_info(), fogged(), get_flag(), invalidate_animations_location(), set_team(), shrouded(), team_valid(), viewing_side(), and viewing_team().
|
protected |
Definition at line 663 of file display.hpp.
Referenced by change_display_context(), game_display::display_unit_hex(), game_display::draw_hex(), draw_hex(), draw_invalidated(), draw_minimap(), draw_minimap_units(), game_display::draw_movement_info(), editor::editor_display::draw_sidebar(), fogged(), get_disp_context(), get_flag(), get_map(), get_teams(), get_units(), game_display::highlight_hex(), init_flags(), init_flags_for_side_internal(), invalidate_animations(), invalidate_animations_location(), parse_team_overlays(), refresh_report(), reinit_flags_for_side(), game_display::scroll_to_leader(), set_team(), shrouded(), and team_valid().
|
protected |
Definition at line 785 of file display.hpp.
Referenced by set_diagnostic().
|
private |
Definition at line 1166 of file display.hpp.
Referenced by draw(), and handle_window_event().
|
protected |
Definition at line 770 of file display.hpp.
Referenced by game_display::display_unit_hex(), fogged(), game_display::highlight_hex(), set_team(), show_everything(), and shrouded().
|
private |
Debug flag - overlay x,y coords on tiles.
Definition at line 1155 of file display.hpp.
Referenced by draw_hex(), get_draw_coordinates(), and set_draw_coordinates().
|
private |
Debug flag - overlay terrain codes on tiles.
Definition at line 1157 of file display.hpp.
Referenced by draw_hex(), get_draw_terrain_codes(), and set_draw_terrain_codes().
|
protected |
Definition at line 1060 of file display.hpp.
Referenced by drawing_buffer_add(), drawing_buffer_clear(), and drawing_buffer_commit().
|
private |
Definition at line 1145 of file display.hpp.
Referenced by draw_invalidated(), and update_display().
|
protected |
Definition at line 771 of file display.hpp.
Referenced by game_display::draw_invalidated(), and draw_invalidated().
|
protected |
map of hexes where only one unit should be drawn, the one identified by the associated id string
Definition at line 669 of file display.hpp.
Referenced by add_exclusive_draw(), clear_exclusive_draws(), game_display::draw_invalidated(), draw_invalidated(), and remove_exclusive_draw().
|
protected |
Definition at line 777 of file display.hpp.
Referenced by display(), game_display::draw_invalidated(), and invalidate_animations().
|
private |
Animated flags for each team.
Definition at line 855 of file display.hpp.
Referenced by get_flag(), init_flags(), init_flags_for_side_internal(), and invalidate_animations_location().
|
protected |
Definition at line 831 of file display.hpp.
Referenced by display(), and draw_hex().
|
private |
Handle for the label which displays frames per second.
Definition at line 1142 of file display.hpp.
Referenced by update_display().
|
protected |
Definition at line 784 of file display.hpp.
Referenced by draw_hex(), and set_grid().
|
protected |
Definition at line 664 of file display.hpp.
Referenced by add_overlay(), game_display::draw_invalidated(), get_halo_manager(), game_display::post_commit(), and reset_halo_manager().
|
private |
Definition at line 1147 of file display.hpp.
Referenced by idle_anim(), and set_idle_anim().
|
private |
Definition at line 1148 of file display.hpp.
Referenced by idle_anim_rate(), and set_idle_anim_rate().
|
protected |
Definition at line 783 of file display.hpp.
Referenced by draw_init(), invalidate(), invalidate_all(), invalidate_locations_in_rect(), propagate_invalidation(), and screenshot().
|
protected |
Definition at line 818 of file display.hpp.
Referenced by draw(), game_display::draw_invalidated(), draw_invalidated(), invalidate(), invalidate_all(), and propagate_invalidation().
|
private |
Count work done for the debug info displayed under fps.
Definition at line 1144 of file display.hpp.
Referenced by draw_invalidated(), and update_display().
|
protected |
Definition at line 789 of file display.hpp.
Referenced by game_display::draw_sidebar(), invalidate_game_status(), game_display::invalidate_unit(), and redraw_everything().
|
protected |
Definition at line 836 of file display.hpp.
Referenced by turbo_speed().
|
staticprotected |
Definition at line 776 of file display.hpp.
Referenced by set_default_zoom(), and set_zoom().
|
protected |
Definition at line 790 of file display.hpp.
Referenced by labels().
|
protected |
Used to indicate to drawing functions that we are doing a map screenshot.
Definition at line 1114 of file display.hpp.
Referenced by get_screen_surface(), map_area(), map_outside_area(), and screenshot().
|
private |
Definition at line 1150 of file display.hpp.
Referenced by get_screen_surface(), and screenshot().
|
protected |
Definition at line 816 of file display.hpp.
Referenced by create_buttons(), display(), draw_all_panels(), enable_menu(), find_menu_button(), menu_pressed(), redraw_everything(), and render_buttons().
|
protected |
Definition at line 779 of file display.hpp.
Referenced by draw_minimap(), and recalculate_minimap().
|
protected |
Definition at line 780 of file display.hpp.
Referenced by draw_minimap(), draw_minimap_units(), and minimap_location_on().
|
protected |
Definition at line 826 of file display.hpp.
Referenced by clear_mouseover_hex_overlay(), draw_hex(), and set_mouseover_hex_overlay().
|
protected |
Definition at line 835 of file display.hpp.
Referenced by game_display::draw_hex(), draw_hex(), game_display::draw_movement_info(), editor::editor_display::draw_sidebar(), game_display::highlight_hex(), highlight_hex(), and mouseover_hex().
|
protected |
Holds the tick count for when the next drawing event is scheduled.
Drawing shouldn't occur before this time.
Definition at line 806 of file display.hpp.
Referenced by draw_wrap().
|
private |
Definition at line 1139 of file display.hpp.
Referenced by add_overlay(), draw_hex(), parse_team_overlays(), remove_overlay(), and remove_single_overlay().
|
protected |
Definition at line 786 of file display.hpp.
Referenced by draw_init(), invalidate_theme(), and redraw_everything().
|
protected |
Definition at line 819 of file display.hpp.
Referenced by draw().
|
protected |
Definition at line 1129 of file display.hpp.
Referenced by game_display::draw_hex(), draw_minimap(), game_display::draw_movement_info(), game_display::highlight_another_reach(), process_reachmap_changes(), and game_display::unhighlight_reach().
|
protected |
Definition at line 1131 of file display.hpp.
Referenced by game_display::highlight_another_reach(), process_reachmap_changes(), and game_display::unhighlight_reach().
|
protected |
Definition at line 1130 of file display.hpp.
Referenced by process_reachmap_changes().
|
protected |
Definition at line 782 of file display.hpp.
Referenced by draw_init(), redraw_everything(), reload_map(), and set_zoom().
Definition at line 1152 of file display.hpp.
Referenced by add_redraw_observer(), clear_redraw_observers(), and redraw_everything().
|
protected |
Definition at line 781 of file display.hpp.
Referenced by draw_init(), draw_wrap(), recalculate_minimap(), redraw_minimap(), and scroll().
|
protected |
Definition at line 809 of file display.hpp.
Referenced by redraw_everything(), and refresh_report().
|
protected |
Definition at line 815 of file display.hpp.
Referenced by redraw_everything(), and refresh_report().
|
protected |
Definition at line 791 of file display.hpp.
Referenced by game_display::draw_sidebar(), refresh_report(), and reset_reports().
|
protected |
Definition at line 813 of file display.hpp.
Referenced by redraw_everything(), and refresh_report().
|
protected |
Definition at line 768 of file display.hpp.
Referenced by clear_screen(), create_buttons(), display(), draw(), draw_all_panels(), draw_image_for_report(), draw_init(), draw_minimap(), draw_minimap_units(), drawing_buffer_commit(), flip(), get_screen_surface(), h(), redraw_everything(), refresh_report(), screenshot(), scroll(), scroll_to_xy(), turbo_speed(), update_display(), video(), and w().
|
mutableprotected |
Event raised when the map is being scrolled.
Definition at line 794 of file display.hpp.
Referenced by scroll(), and scroll_event().
|
protected |
Definition at line 834 of file display.hpp.
Referenced by game_display::draw_hex(), draw_minimap(), game_display::draw_movement_info(), game_display::highlight_hex(), select_hex(), and selected_hex().
|
protected |
Definition at line 832 of file display.hpp.
Referenced by display(), and draw_hex().
|
staticprotected |
Definition at line 1178 of file display.hpp.
Referenced by display(), game_display::get_singleton(), get_singleton(), and ~display().
|
protected |
Definition at line 817 of file display.hpp.
Referenced by create_buttons(), display(), find_slider(), redraw_everything(), and render_buttons().
|
protected |
Definition at line 774 of file display.hpp.
Referenced by action_pressed(), bounds_check_position(), create_buttons(), draw_all_panels(), draw_border(), draw_init(), draw_minimap(), enable_menu(), get_location_x(), get_location_y(), get_terrain_images(), get_theme(), hexes_under_rect(), layout_buttons(), map_outside_area(), max_map_area(), menu_pressed(), minimap_area(), palette_area(), pixel_position_to_hex(), redraw_everything(), refresh_report(), and unit_image_area().
|
protected |
Definition at line 829 of file display.hpp.
Referenced by draw_hex(), and game_display::new_turn().
|
protected |
Definition at line 829 of file display.hpp.
Referenced by draw_hex(), and game_display::new_turn().
|
protected |
Definition at line 788 of file display.hpp.
Referenced by set_turbo(), and turbo_speed().
|
protected |
Definition at line 787 of file display.hpp.
Referenced by set_turbo_speed(), and turbo_speed().
|
protected |
Definition at line 773 of file display.hpp.
Referenced by read(), scroll(), scroll_to_xy(), set_view_locked(), view_locked(), and write().
|
protected |
Definition at line 665 of file display.hpp.
Referenced by game_display::draw_hex(), game_display::draw_movement_info(), game_display::post_draw(), game_display::pre_draw(), refresh_report(), and set_team().
|
protected |
Definition at line 772 of file display.hpp.
Referenced by bounds_check_position(), draw_minimap(), get_location_x(), hex_clicked_on(), hexes_under_rect(), screenshot(), scroll(), scroll_to_xy(), and set_zoom().
|
protected |
Definition at line 772 of file display.hpp.
Referenced by bounds_check_position(), draw_minimap(), get_location_y(), hex_clicked_on(), hexes_under_rect(), screenshot(), scroll(), scroll_to_xy(), and set_zoom().
|
protected |
Definition at line 775 of file display.hpp.
Referenced by bounds_check_position(), create_buttons(), display(), draw_border(), draw_invalidated(), game_display::float_label(), get_location_y(), get_zoom_factor(), hex_size(), hex_width(), render_image(), set_default_zoom(), set_zoom(), zoom_at_max(), and zoom_at_min().