#include <viewport.hpp>
Public Member Functions | |
tviewport (twidget &widget) | |
~tviewport () | |
virtual void | place (const tpoint &origin, const tpoint &size) override |
See twidget::place. More... | |
virtual void | layout_initialise (const bool full_initialisation) override |
See twidget::layout_initialise. More... | |
virtual void | impl_draw_children (surface &frame_buffer, int x_offset, int y_offset) override |
See twidget::impl_draw_children. More... | |
virtual void | child_populate_dirty_list (twindow &caller, const std::vector< twidget * > &call_stack) override |
See twidget::child_populate_dirty_list. More... | |
virtual void | request_reduce_width (const unsigned maximum_width) override |
See twidget::request_reduce_width. More... | |
virtual twidget * | find_at (const tpoint &coordinate, const bool must_be_active) override |
See twidget::find_at. More... | |
virtual const twidget * | find_at (const tpoint &coordinate, const bool must_be_active) const override |
See twidget::find_at. More... | |
twidget * | find (const std::string &id, const bool must_be_active) override |
See twidget::find. More... | |
const twidget * | find (const std::string &id, const bool must_be_active) const override |
See twidget::find. More... | |
bool | disable_click_dismiss () const override |
See twidget::disable_click_dismiss. More... | |
virtual iterator::twalker_ * | create_walker () override |
See twidget::create_walker. More... | |
Public Member Functions inherited from gui2::twidget | |
twidget () | |
twidget (const tbuilder_widget &builder) | |
Constructor. More... | |
virtual | ~twidget () override |
void | set_id (const std::string &id) |
const std::string & | id () const |
twindow * | get_window () |
Get the parent window. More... | |
const twindow * | get_window () const |
The constant version of get_window. More... | |
tdialog * | dialog () |
Returns the top-level dialogue. More... | |
void | set_parent (twidget *parent) |
twidget * | parent () |
virtual void | demand_reduce_width (const unsigned maximum_width) |
Tries to reduce the width of a widget. More... | |
virtual void | request_reduce_height (const unsigned maximum_height) |
Tries to reduce the height of a widget. More... | |
virtual void | demand_reduce_height (const unsigned maximum_height) |
Tries to reduce the height of a widget. More... | |
tpoint | get_best_size () const |
Gets the best size for the widget. More... | |
virtual bool | can_mouse_focus () const |
Whether the mouse move/click event go 'through' this widget. More... | |
virtual bool | can_wrap () const |
Can the widget wrap. More... | |
virtual void | set_origin (const tpoint &origin) |
Sets the origin of the widget. More... | |
virtual void | set_size (const tpoint &size) |
Sets the size of the widget. More... | |
virtual void | move (const int x_offset, const int y_offset) |
Moves a widget. More... | |
virtual void | layout_children () |
Allows a widget to update its children. More... | |
tpoint | get_origin () const |
Returns the screen origin of the widget. More... | |
tpoint | get_size () const |
Returns the size of the widget. More... | |
SDL_Rect | get_rectangle () const |
Gets the bounding rectangle of the widget on the screen. More... | |
int | get_x () const |
int | get_y () const |
unsigned | get_width () const |
unsigned | get_height () const |
void | set_linked_group (const std::string &linked_group) |
SDL_Rect | calculate_blitting_rectangle (const int x_offset, const int y_offset) |
Calculates the blitting rectangle of the widget. More... | |
SDL_Rect | calculate_clipping_rectangle (const int x_offset, const int y_offset) |
Calculates the clipping rectangle of the widget. More... | |
void | draw_background (surface &frame_buffer, int x_offset, int y_offset) |
Draws the background of a widget. More... | |
void | draw_children (surface &frame_buffer, int x_offset, int y_offset) |
Draws the children of a widget. More... | |
void | draw_foreground (surface &frame_buffer, int x_offset, int y_offset) |
Draws the foreground of the widget. More... | |
void | populate_dirty_list (twindow &caller, std::vector< twidget * > &call_stack) |
Adds a widget to the dirty list if it is dirty. More... | |
SDL_Rect | get_dirty_rectangle () const |
Gets the dirty rectangle of the widget. More... | |
virtual void | set_visible_rectangle (const SDL_Rect &rectangle) |
Sets the visible rectangle for a widget. More... | |
void | set_is_dirty (const bool is_dirty) |
bool | get_is_dirty () const |
void | set_visible (const tvisible::scoped_enum visible) |
tvisible::scoped_enum | get_visible () const |
tredraw_action::scoped_enum | get_drawing_action () const |
void | set_debug_border_mode (const unsigned debug_border_mode) |
void | set_debug_border_colour (const unsigned debug_border_colour) |
virtual bool | has_widget (const twidget &widget) const |
Does the widget contain the widget. More... | |
Public Member Functions inherited from gui2::tevent_executor | |
tevent_executor () | |
virtual | ~tevent_executor () |
void | set_wants_mouse_hover (const bool hover=true) |
bool | wants_mouse_hover () const |
void | set_wants_mouse_left_double_click (const bool click=true) |
bool | wants_mouse_left_double_click () const |
void | set_wants_mouse_middle_double_click (const bool click=true) |
bool | wants_mouse_middle_double_click () const |
tevent_executor & | set_wants_mouse_right_double_click (const bool click=true) |
bool | wants_mouse_right_double_click () const |
Public Member Functions inherited from gui2::event::tdispatcher | |
tdispatcher () | |
virtual | ~tdispatcher () |
void | connect () |
Connects the dispatcher to the event handler. More... | |
bool | has_event (const tevent event, const tevent_type event_type) |
bool | fire (const tevent event, twidget &target) |
Fires an event which has no extra parameters. More... | |
bool | fire (const tevent event, twidget &target, const tpoint &coordinate) |
Fires an event which takes a coordinate parameter. More... | |
bool | fire (const tevent event, twidget &target, const SDLKey key, const SDLMod modifier, const utf8::string &unicode) |
Fires an event which takes keyboard parameters. More... | |
bool | fire (const tevent event, twidget &target, void *) |
Fires an event which takes notification parameters. More... | |
bool | fire (const tevent event, twidget &target, tmessage &message) |
Fires an event which takes message parameters. More... | |
template<tevent E> | |
boost::enable_if < boost::mpl::has_key < tset_event, boost::mpl::int_ < E > > >::type | connect_signal (const tsignal_function &signal, const tposition position=back_child) |
Connect a signal for callback in tset_event. More... | |
template<tevent E> | |
boost::enable_if < boost::mpl::has_key < tset_event, boost::mpl::int_ < E > > >::type | disconnect_signal (const tsignal_function &signal, const tposition position=back_child) |
Disconnect a signal for callback in tset_event. More... | |
template<tevent E> | |
boost::enable_if < boost::mpl::has_key < tset_event_mouse, boost::mpl::int_< E > > >::type | connect_signal (const tsignal_mouse_function &signal, const tposition position=back_child) |
Connect a signal for callback in tset_event_mouse. More... | |
template<tevent E> | |
boost::enable_if < boost::mpl::has_key < tset_event_mouse, boost::mpl::int_< E > > >::type | disconnect_signal (const tsignal_mouse_function &signal, const tposition position=back_child) |
Disconnect a signal for callback in tset_event_mouse. More... | |
template<tevent E> | |
boost::enable_if < boost::mpl::has_key < tset_event_keyboard, boost::mpl::int_< E > > >::type | connect_signal (const tsignal_keyboard_function &signal, const tposition position=back_child) |
Connect a signal for callback in tset_event_keyboard. More... | |
template<tevent E> | |
boost::enable_if < boost::mpl::has_key < tset_event_keyboard, boost::mpl::int_< E > > >::type | disconnect_signal (const tsignal_keyboard_function &signal, const tposition position=back_child) |
Disconnect a signal for callback in tset_event_keyboard. More... | |
template<tevent E> | |
boost::enable_if < boost::mpl::has_key < tset_event_notification, boost::mpl::int_< E > > >::type | connect_signal (const tsignal_notification_function &signal, const tposition position=back_child) |
Connect a signal for callback in tset_event_notification. More... | |
template<tevent E> | |
boost::enable_if < boost::mpl::has_key < tset_event_notification, boost::mpl::int_< E > > >::type | disconnect_signal (const tsignal_notification_function &signal, const tposition position=back_child) |
Disconnect a signal for callback in tset_event_notification. More... | |
template<tevent E> | |
boost::enable_if < boost::mpl::has_key < tset_event_message, boost::mpl::int_< E > > >::type | connect_signal (const tsignal_message_function &signal, const tposition position=back_child) |
Connect a signal for callback in tset_event_message. More... | |
template<tevent E> | |
boost::enable_if < boost::mpl::has_key < tset_event_message, boost::mpl::int_< E > > >::type | disconnect_signal (const tsignal_message_function &signal, const tposition position=back_child) |
Disconnect a signal for callback in tset_event_message. More... | |
void | capture_mouse () |
Captures the mouse. More... | |
void | release_mouse () |
Releases the mouse capture. More... | |
void | set_mouse_behavior (const tmouse_behavior mouse_behavior) |
tmouse_behavior | get_mouse_behavior () const |
void | set_want_keyboard_input (const bool want_keyboard_input) |
bool | get_want_keyboard_input () const |
void | register_hotkey (const hotkey::HOTKEY_COMMAND id, const thotkey_function &function) |
Registers a hotkey. More... | |
bool | execute_hotkey (const hotkey::HOTKEY_COMMAND id) |
Executes a hotkey. More... | |
Static Public Member Functions | |
static tviewport * | build (const implementation::tbuilder_viewport &builder, const tbuilder_widget::treplacements &replacements) |
Private Member Functions | |
tviewport (const implementation::tbuilder_viewport &builder, const tbuilder_widget::treplacements &replacements) | |
virtual tpoint | calculate_best_size () const override |
See twidget::calculate_best_size. More... | |
Private Attributes | |
twidget & | widget_ |
bool | owns_widget_ |
Friends | |
struct | tviewport_implementation |
Additional Inherited Members | |
Public Types inherited from gui2::event::tdispatcher | |
enum | tevent_type { pre = 1, child = 2, post = 4 } |
enum | tposition { front_pre_child, back_pre_child, front_child, back_child, front_post_child, back_post_child } |
The position where to add a new callback in the signal handler. More... | |
enum | tmouse_behavior { all, hit, none } |
The behavior of the mouse events. More... | |
Protected Member Functions inherited from gui2::twidget | |
void | set_layout_size (const tpoint &size) |
const tpoint & | layout_size () const |
Definition at line 33 of file viewport.hpp.
|
explicit |
Definition at line 80 of file viewport.cpp.
References gui2::twidget::set_parent(), and widget_.
Referenced by build().
|
private |
Definition at line 85 of file viewport.cpp.
References gui2::twidget::set_parent(), and widget_.
gui2::tviewport::~tviewport | ( | ) |
Definition at line 94 of file viewport.cpp.
References owns_widget_, and widget_.
|
static |
Definition at line 101 of file viewport.cpp.
References tviewport().
Referenced by gui2::implementation::tbuilder_viewport::build().
|
overrideprivatevirtual |
See twidget::calculate_best_size.
Implements gui2::twidget.
Definition at line 171 of file viewport.cpp.
References gui2::twidget::get_best_size(), and widget_.
|
overridevirtual |
See twidget::child_populate_dirty_list.
Reimplemented from gui2::twidget.
Definition at line 138 of file viewport.cpp.
References gui2::twidget::populate_dirty_list(), and widget_.
|
overridevirtual |
|
overridevirtual |
See twidget::disable_click_dismiss.
Implements gui2::twidget.
Definition at line 176 of file viewport.cpp.
|
overridevirtual |
See twidget::find.
Reimplemented from gui2::twidget.
Definition at line 160 of file viewport.cpp.
References gui2::tviewport_implementation::find().
|
overridevirtual |
See twidget::find.
Reimplemented from gui2::twidget.
Definition at line 165 of file viewport.cpp.
References gui2::tviewport_implementation::find().
|
overridevirtual |
See twidget::find_at.
Reimplemented from gui2::twidget.
Definition at line 149 of file viewport.cpp.
References gui2::tviewport_implementation::find_at().
|
overridevirtual |
See twidget::find_at.
Reimplemented from gui2::twidget.
Definition at line 154 of file viewport.cpp.
References gui2::tviewport_implementation::find_at().
|
overridevirtual |
See twidget::impl_draw_children.
Reimplemented from gui2::twidget.
Definition at line 124 of file viewport.cpp.
References gui2::twidget::draw_background(), gui2::twidget::draw_children(), gui2::twidget::draw_foreground(), gui2::twidget::get_visible(), gui2::twidget::get_x(), gui2::twidget::get_y(), gui2::twidget::tvisible::invisible, gui2::twidget::set_is_dirty(), and widget_.
|
overridevirtual |
See twidget::layout_initialise.
Reimplemented from gui2::twidget.
Definition at line 114 of file viewport.cpp.
References gui2::twidget::get_visible(), gui2::twidget::tvisible::invisible, gui2::twidget::layout_initialise(), and widget_.
See twidget::place.
Reimplemented from gui2::twidget.
Definition at line 107 of file viewport.cpp.
References gui2::twidget::get_best_size(), gui2::twidget::place(), and widget_.
|
overridevirtual |
See twidget::request_reduce_width.
Implements gui2::twidget.
Definition at line 145 of file viewport.cpp.
|
friend |
Definition at line 35 of file viewport.hpp.
|
private |
Definition at line 99 of file viewport.hpp.
Referenced by ~tviewport().
|
private |
Definition at line 97 of file viewport.hpp.
Referenced by calculate_best_size(), child_populate_dirty_list(), impl_draw_children(), layout_initialise(), place(), tviewport(), and ~tviewport().