The Battle for Wesnoth  1.19.5+dev
Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
gui2::event::mouse_button< I > Class Template Reference

#include <distributor.hpp>

Inheritance diagram for gui2::event::mouse_button< I >:

Public Member Functions

 mouse_button (widget &owner, const dispatcher::queue_position queue_position)
 
void initialize_state (int32_t button_state)
 Initializes the state of the button. More...
 
- Public Member Functions inherited from gui2::event::mouse_motion
 mouse_motion (widget &owner, const dispatcher::queue_position queue_position)
 
 ~mouse_motion ()
 
void capture_mouse (const bool capture=true)
 Captures the mouse input. More...
 

Protected Attributes

std::chrono::steady_clock::time_point last_click_stamp_
 The time of the last click used for double clicking. More...
 
widgetlast_clicked_widget_
 The widget the last click was on, used for double clicking. More...
 
widgetfocus_
 If the mouse isn't captured we need to verify the up is on the same widget as the down so we send a proper click, also needed to send the up to the right widget. More...
 
- Protected Attributes inherited from gui2::event::mouse_motion
widgetmouse_focus_
 The widget that currently has the mouse focus_. More...
 
bool mouse_captured_
 Did the current widget capture the focus_? More...
 
widgetowner_
 The widget that owns us. More...
 
std::size_t hover_timer_
 The timer for the hover event. More...
 
widgethover_widget_
 The widget which should get the hover event. More...
 
point hover_position_
 The anchor point of the hover event. More...
 
bool hover_shown_
 Has the hover been shown for the widget? More...
 

Private Member Functions

void signal_handler_sdl_button_down (const event::ui_event event, bool &handled, const point &coordinate)
 
void signal_handler_sdl_button_up (const event::ui_event event, bool &handled, const point &coordinate)
 
void mouse_button_click (widget *widget)
 

Private Attributes

bool is_down_
 Is the button down? More...
 
bool signal_handler_sdl_button_down_entered_
 
bool signal_handler_sdl_button_up_entered_
 

Additional Inherited Members

- Protected Member Functions inherited from gui2::event::mouse_motion
void start_hover_timer (widget *widget, const point &coordinate)
 Starts the hover timer. More...
 
void stop_hover_timer ()
 Stops the current hover timer. More...
 
void mouse_enter (widget *mouse_over)
 Called when the mouse enters a widget. More...
 
void mouse_leave ()
 Called when the mouse leaves the current widget. More...
 

Detailed Description

template<std::size_t I>
class gui2::event::mouse_button< I >

Definition at line 149 of file distributor.hpp.

Constructor & Destructor Documentation

◆ mouse_button()

template<std::size_t I>
gui2::event::mouse_button< I >::mouse_button ( widget owner,
const dispatcher::queue_position  queue_position 
)

Member Function Documentation

◆ initialize_state()

template<std::size_t I>
void gui2::event::mouse_button< I >::initialize_state ( int32_t  button_state)

Initializes the state of the button.

Parameters
button_stateThe initial state of all buttons, in which the bit corresponding to mouse_button_event_types.mask will be set if the button is down, or unset if it is up.

Definition at line 436 of file distributor.cpp.

Referenced by gui2::event::distributor::initialize_state().

◆ mouse_button_click()

template<std::size_t I>
void gui2::event::mouse_button< I >::mouse_button_click ( widget widget)
private

◆ signal_handler_sdl_button_down()

template<std::size_t I>
void gui2::event::mouse_button< I >::signal_handler_sdl_button_down ( const event::ui_event  event,
bool &  handled,
const point coordinate 
)
private

◆ signal_handler_sdl_button_up()

template<std::size_t I>
void gui2::event::mouse_button< I >::signal_handler_sdl_button_up ( const event::ui_event  event,
bool &  handled,
const point coordinate 
)
private

Member Data Documentation

◆ focus_

template<std::size_t I>
widget* gui2::event::mouse_button< I >::focus_
protected

If the mouse isn't captured we need to verify the up is on the same widget as the down so we send a proper click, also needed to send the up to the right widget.

Definition at line 174 of file distributor.hpp.

Referenced by gui2::event::distributor::signal_handler_notify_removal().

◆ is_down_

template<std::size_t I>
bool gui2::event::mouse_button< I >::is_down_
private

Is the button down?

Definition at line 178 of file distributor.hpp.

◆ last_click_stamp_

template<std::size_t I>
std::chrono::steady_clock::time_point gui2::event::mouse_button< I >::last_click_stamp_
protected

The time of the last click used for double clicking.

Definition at line 164 of file distributor.hpp.

◆ last_clicked_widget_

template<std::size_t I>
widget* gui2::event::mouse_button< I >::last_clicked_widget_
protected

The widget the last click was on, used for double clicking.

Definition at line 167 of file distributor.hpp.

Referenced by gui2::event::distributor::signal_handler_notify_removal().

◆ signal_handler_sdl_button_down_entered_

template<std::size_t I>
bool gui2::event::mouse_button< I >::signal_handler_sdl_button_down_entered_
private

Definition at line 180 of file distributor.hpp.

◆ signal_handler_sdl_button_up_entered_

template<std::size_t I>
bool gui2::event::mouse_button< I >::signal_handler_sdl_button_up_entered_
private

Definition at line 183 of file distributor.hpp.


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