The Battle for Wesnoth  1.19.4+dev
Public Member Functions | Protected Attributes | List of all members
editor::mouse_action_paint Class Reference

Brush paint mouse action. More...

#include <mouse_action.hpp>

Inheritance diagram for editor::mouse_action_paint:

Public Member Functions

 mouse_action_paint (const brush *const *const brush, const CKey &key, terrain_palette &palette)
 
std::unique_ptr< editor_actionclick_left (editor_display &disp, int x, int y) override
 Handle terrain sampling before calling generic handler. More...
 
std::unique_ptr< editor_actionclick_right (editor_display &disp, int x, int y) override
 Handle terrain sampling before calling generic handler. More...
 
std::unique_ptr< editor_actionclick_perform_left (editor_display &disp, const std::set< map_location > &hexes) override
 Create an appropriate editor_action and return it. More...
 
std::unique_ptr< editor_actionclick_perform_right (editor_display &disp, const std::set< map_location > &hexes) override
 Create an appropriate editor_action and return it. More...
 
void set_mouse_overlay (editor_display &disp) override
 Set the mouse overlay for this action. More...
 
virtual bool supports_brushes () const override
 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)
 
std::set< map_locationaffected_hexes (editor_display &disp, const map_location &hex)
 The affected hexes of a brush action are the result of projecting the current brush on the mouseover hex. More...
 
std::unique_ptr< editor_actiondrag_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...
 
std::unique_ptr< editor_actiondrag_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...
 
std::unique_ptr< editor_actiondrag_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 bool has_context_menu () const
 
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 std::unique_ptr< editor_actiondrag_end_left (editor_display &disp, int x, int y)
 The end of dragging. More...
 
virtual std::unique_ptr< editor_actiondrag_end_right (editor_display &disp, int x, int y)
 
virtual std::unique_ptr< editor_actionup_left (editor_display &disp, int x, int y)
 
virtual std::unique_ptr< editor_actionup_right (editor_display &disp, int x, int y)
 
virtual std::unique_ptr< editor_actionkey_event (editor_display &disp, const SDL_Event &e)
 Function called by the controller on a key event for the current mouse action. More...
 
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::menutoolbar_button () const
 Getter for the (possibly nullptr) associated menu/button. More...
 
common_paletteget_palette ()
 Getter for the associated palette. More...
 

Protected Attributes

terrain_paletteterrain_palette_
 
- 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 CKeykey_
 Key presses, used for modifiers (alt, shift) in some operations. More...
 

Additional Inherited Members

- Protected Member Functions inherited from editor::brush_drag_mouse_action
const brushget_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::terrain_code &fg, const t_translation::terrain_code &bg)
 Helper function for derived classes that need a active-terrain mouse overlay. More...
 

Detailed Description

Brush paint mouse action.

Uses keyboard modifiers for one-layer painting.

Definition at line 249 of file mouse_action.hpp.

Constructor & Destructor Documentation

◆ mouse_action_paint()

editor::mouse_action_paint::mouse_action_paint ( const brush *const *const  brush,
const CKey key,
terrain_palette palette 
)
inline

Definition at line 252 of file mouse_action.hpp.

Member Function Documentation

◆ click_left()

std::unique_ptr< editor_action > editor::mouse_action_paint::click_left ( editor_display disp,
int  x,
int  y 
)
overridevirtual

◆ click_perform_left()

std::unique_ptr< editor_action > editor::mouse_action_paint::click_perform_left ( editor_display disp,
const std::set< map_location > &  hexes 
)
overridevirtual

◆ click_perform_right()

std::unique_ptr< editor_action > editor::mouse_action_paint::click_perform_right ( editor_display disp,
const std::set< map_location > &  hexes 
)
overridevirtual

◆ click_right()

std::unique_ptr< editor_action > editor::mouse_action_paint::click_right ( editor_display disp,
int  x,
int  y 
)
overridevirtual

◆ set_mouse_overlay()

void editor::mouse_action_paint::set_mouse_overlay ( editor_display disp)
overridevirtual

Set the mouse overlay for this action.

Defaults to an empty overlay.

Reimplemented from editor::mouse_action.

Definition at line 295 of file mouse_action.cpp.

References editor::terrain_palette::selected_bg_item(), editor::terrain_palette::selected_fg_item(), editor::mouse_action::set_terrain_mouse_overlay(), and terrain_palette_.

◆ supports_brushes()

virtual bool editor::mouse_action_paint::supports_brushes ( ) const
inlineoverridevirtual

Whether we need the brush bar, is used to grey it out.

Reimplemented from editor::mouse_action.

Definition at line 281 of file mouse_action.hpp.

Member Data Documentation

◆ terrain_palette_

terrain_palette& editor::mouse_action_paint::terrain_palette_
protected

The documentation for this class was generated from the following files: