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

#include <distributor.hpp>

Inheritance diagram for gui2::event::mouse_button< T >:
Inheritance graph

Public Member Functions

 mouse_button (const std::string &name_, widget &owner, const dispatcher::queue_position queue_position)
 
void initialize_state (const bool is_down)
 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

uint32_t 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

const std::string name_
 used for debug messages. More...
 
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<typename T>
class gui2::event::mouse_button< T >

Definition at line 179 of file distributor.hpp.

Constructor & Destructor Documentation

◆ mouse_button()

template<typename T >
gui2::event::mouse_button< T >::mouse_button ( const std::string &  name_,
widget owner,
const dispatcher::queue_position  queue_position 
)

Member Function Documentation

◆ initialize_state()

template<typename T >
void gui2::event::mouse_button< T >::initialize_state ( const bool  is_down)

Initializes the state of the button.

Parameters
is_downThe initial state of the button, if true down else initialized as up.

Definition at line 429 of file distributor.cpp.

References gui2::event::mouse_button< T >::focus_, gui2::event::mouse_button< T >::is_down_, gui2::event::mouse_button< T >::last_click_stamp_, and gui2::event::mouse_button< T >::last_clicked_widget_.

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

◆ mouse_button_click()

template<typename T >
void gui2::event::mouse_button< T >::mouse_button_click ( widget widget)
private

◆ signal_handler_sdl_button_down()

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

◆ signal_handler_sdl_button_up()

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

Member Data Documentation

◆ focus_

template<typename T >
widget* gui2::event::mouse_button< T >::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 206 of file distributor.hpp.

Referenced by gui2::event::mouse_button< T >::initialize_state(), gui2::event::distributor::signal_handler_notify_removal(), gui2::event::mouse_button< T >::signal_handler_sdl_button_down(), and gui2::event::mouse_button< T >::signal_handler_sdl_button_up().

◆ is_down_

template<typename T >
bool gui2::event::mouse_button< T >::is_down_
private

◆ last_click_stamp_

template<typename T >
uint32_t gui2::event::mouse_button< T >::last_click_stamp_
protected

The time of the last click used for double clicking.

Definition at line 196 of file distributor.hpp.

Referenced by gui2::event::mouse_button< T >::initialize_state(), and gui2::event::mouse_button< T >::mouse_button_click().

◆ last_clicked_widget_

template<typename T >
widget* gui2::event::mouse_button< T >::last_clicked_widget_
protected

◆ name_

template<typename T >
const std::string gui2::event::mouse_button< T >::name_
private

used for debug messages.

Definition at line 210 of file distributor.hpp.

◆ signal_handler_sdl_button_down_entered_

template<typename T >
bool gui2::event::mouse_button< T >::signal_handler_sdl_button_down_entered_
private

◆ signal_handler_sdl_button_up_entered_

template<typename T >
bool gui2::event::mouse_button< T >::signal_handler_sdl_button_up_entered_
private

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