Select (and deselect) action, by brush or "magic wand" (via keyboard modifier) More...
#include <mouse_action_select.hpp>
Public Member Functions | |
mouse_action_select (const brush *const *const brush, const CKey &key, empty_palette &palette) | |
std::set< map_location > | affected_hexes (editor_display &disp, const map_location &hex) |
Overridden to allow special behavior based on modifier keys. More... | |
editor_action * | key_event (editor_display &disp, const SDL_Event &e) |
Force a fake "move" event to update brush overlay on key event. More... | |
editor_action * | click_perform_left (editor_display &disp, const std::set< map_location > &hexes) |
Left click/drag selects. More... | |
editor_action * | click_right (editor_display &disp, int x, int y) |
Right click does nothing for now. More... | |
editor_action * | click_perform_right (editor_display &disp, const std::set< map_location > &hexes) |
Right click/drag. More... | |
virtual void | set_mouse_overlay (editor_display &disp) |
Set the mouse overlay for this action. More... | |
bool | has_context_menu () const |
bool | supports_brushes () |
Whether we need the brush bar, is used to grey it out. More... | |
Public Member Functions inherited from editor::brush_drag_mouse_action | |
brush_drag_mouse_action (common_palette &palette, const brush *const *const brush, const CKey &key) | |
editor_action * | click_left (editor_display &disp, int x, int y) |
Calls click_perform_left() More... | |
editor_action * | drag_left (editor_display &disp, int x, int y, bool &partial, editor_action *last_undo) |
Calls click_perform() for every new hex the mouse is dragged into. More... | |
editor_action * | drag_right (editor_display &disp, int x, int y, bool &partial, editor_action *last_undo) |
Calls click_perform for every new hex the mouse is dragged into. More... | |
editor_action * | drag_end (editor_display &disp, int x, int y) |
End of dragging. More... | |
Public Member Functions inherited from editor::mouse_action | |
mouse_action (common_palette &palette, const CKey &key) | |
virtual | ~mouse_action () |
virtual void | move (editor_display &disp, const map_location &hex) |
Mouse move (not a drag). More... | |
void | update_brush_highlights (editor_display &disp, const map_location &hex) |
Unconditionally update the brush highlights for the current tool when hex is the center location. More... | |
virtual editor_action * | drag_end_left (editor_display &disp, int x, int y) |
The end of dragging. More... | |
virtual editor_action * | drag_end_right (editor_display &disp, int x, int y) |
virtual editor_action * | up_left (editor_display &disp, int x, int y) |
virtual editor_action * | up_right (editor_display &disp, int x, int y) |
void | set_toolbar_button (const theme::menu *value) |
Helper variable setter - pointer to a toolbar menu/button used for highlighting the current action. More... | |
const theme::menu * | toolbar_button () const |
Getter for the (possibly nullptr) associated menu/button. More... | |
common_palette & | get_palette () |
Getter for the associated palette. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from editor::brush_drag_mouse_action | |
const brush & | get_brush () |
Brush accessor. More... | |
Protected Member Functions inherited from editor::mouse_action | |
bool | has_alt_modifier () const |
bool | has_shift_modifier () const |
bool | has_ctrl_modifier () const |
void | set_terrain_mouse_overlay (editor_display &disp, const t_translation::t_terrain &fg, const t_translation::t_terrain &bg) |
Helper function for derived classes that need a active-terrain mouse overlay. More... | |
Protected Attributes inherited from editor::brush_drag_mouse_action | |
map_location | previous_drag_hex_ |
The previous hex dragged into. More... | |
Protected Attributes inherited from editor::mouse_action | |
map_location | previous_move_hex_ |
The hex previously used in move operations. More... | |
const CKey & | key_ |
Key presses, used for modifiers (alt, shift) in some operations. More... | |
Select (and deselect) action, by brush or "magic wand" (via keyboard modifier)
Definition at line 28 of file mouse_action_select.hpp.
|
inline |
Definition at line 31 of file mouse_action_select.hpp.
|
virtual |
Overridden to allow special behavior based on modifier keys.
Reimplemented from editor::brush_drag_mouse_action.
Definition at line 22 of file mouse_action_select.cpp.
References editor::brush_drag_mouse_action::affected_hexes(), editor::editor_map::get_contiguous_terrain_tiles(), editor::mouse_action::has_shift_modifier(), and editor::editor_display::map().
|
virtual |
Left click/drag selects.
Implements editor::brush_drag_mouse_action.
Definition at line 40 of file mouse_action_select.cpp.
References editor::mouse_action::has_ctrl_modifier().
|
virtual |
Right click/drag.
Implements editor::brush_drag_mouse_action.
Definition at line 49 of file mouse_action_select.cpp.
|
virtual |
Right click does nothing for now.
Reimplemented from editor::brush_drag_mouse_action.
Definition at line 55 of file mouse_action_select.cpp.
|
inlinevirtual |
Reimplemented from editor::mouse_action.
Definition at line 64 of file mouse_action_select.hpp.
|
virtual |
Force a fake "move" event to update brush overlay on key event.
Reimplemented from editor::mouse_action.
Definition at line 32 of file mouse_action_select.cpp.
References editor::mouse_action::key_event(), editor::mouse_action::previous_move_hex_, and editor::mouse_action::update_brush_highlights().
|
virtual |
Set the mouse overlay for this action.
Defaults to an empty overlay.
Reimplemented from editor::mouse_action.
Definition at line 60 of file mouse_action_select.cpp.
References adjust_surface_alpha(), image::get_image(), display::get_zoom_factor(), editor::mouse_action::has_shift_modifier(), scale_surface(), and display::set_mouseover_hex_overlay().
|
inlinevirtual |
Whether we need the brush bar, is used to grey it out.
Reimplemented from editor::mouse_action.
Definition at line 65 of file mouse_action_select.hpp.