cgv
|
Classes | |
struct | gui_options_t |
Public Types | |
enum | AlignmentOption { AO_FREE , AO_START , AO_CENTER , AO_END , AO_PERCENTUAL } |
enum | StretchOption { SO_NONE , SO_HORIZONTAL , SO_VERTICAL , SO_BOTH , SO_PERCENTUAL } |
Public Member Functions | |
virtual bool | self_reflect (cgv::reflect::reflection_handler &_rh) |
overload to reflect members of derived classes | |
virtual void | stream_help (std::ostream &os) |
overload to stream help information to the given output stream | |
virtual bool | handle (cgv::gui::event &e) |
handle incomming events; calls handle_key_events or handle_mouse_events depending on the event type; mouse events will only be handled if the mouse is over the overlay rectangle | |
virtual bool | handle_key_event (cgv::gui::key_event &e) |
overload this method to handle key events | |
virtual bool | handle_mouse_event (cgv::gui::mouse_event &e, cgv::ivec2 local_mouse_pos) |
overload this method to handle mouse events; local_mouse_pos is the mouse position in the local coordinate space of the overlay rectangle | |
virtual void | handle_member_change (const cgv::utils::pointer_test &m) |
implement to handle member changes | |
virtual void | on_set (void *member_ptr) |
default implementation of that calls handle_member_change and afterwards updates the member in the gui and post a redraw | |
bool | blocks_events () const |
return whether this overlay blocks events, i.e. does not pass them to the next event handler | |
void | blocks_events (bool flag) |
set whether the overlay blocks events | |
ivec2 | get_viewport_size () const |
return the current viewport size | |
virtual ivec2 | get_local_mouse_pos (ivec2 mouse_pos) const |
return the mouse position local to the container of this overlay | |
cgv::g2d::irect | get_rectangle () const |
return the current rectangle area (in screen coordinates) of the overlay taking layout into account | |
cgv::g2d::irect | get_local_rectangle () const |
return the current rectangle area of the overlay in local space, i.e. with position set to zero | |
AlignmentOption | get_horizontal_alignment () const |
get the horizontal alignment | |
AlignmentOption | get_vertical_alignment () const |
get the vertical alignment | |
vec2 | get_percentual_offset () const |
get the percentual alignment offset (only valid if get_horizontal_alignment() or get_vertical_alignment() returns AlignmentOption::AO_PERCENTUAL) | |
void | set_alignment (AlignmentOption horizontal, AlignmentOption vertical, vec2 percentual_offset=vec2(-1.0f)) |
set the alignment options | |
StretchOption | get_stretch () const |
get the stretch | |
vec2 | get_percentual_size () const |
get the percentual stretch (only valid if get_stretch() returns StretchOption::SO_PERCENTUAL) | |
void | set_stretch (StretchOption stretch, vec2 percentual_size=vec2(-1.0f)) |
set the stretch option | |
ivec2 | get_margin () const |
return the margin as set in the layout parameters | |
void | set_margin (const ivec2 &margin) |
set the overlay margin | |
void | set_size (const ivec2 &size) |
set the default size of the overlay before stretch gets applied | |
void | set_visibility (bool visible) |
set the visibility of the overlay | |
void | toggle_visibility () |
toggle the visibility of the overlay | |
bool | ensure_viewport (cgv::render::context &ctx) |
Check whether the viewport size has changed since the last call to this method. | |
bool | ensure_layout (cgv::render::context &ctx) |
virtual bool | is_hit (const ivec2 &mouse_pos) const |
Test if the mouse pointer is hovering over this overlay and returns true if this is the case. | |
bool | begin_overlay_gui () |
begins a tree node if create default tree node is set in the gui options; automatically creates the layout gui | |
void | end_overlay_gui () |
ends the tree node of the overlay gui | |
void | create_layout_gui () |
provides a default gui implementation for private overlay layout members | |
void | create_gui () |
Creates a tree node containing the overlay layout options and the gui as specified by the derived overlay class. | |
![]() | |
node (const std::string &name="") | |
construct from name | |
node_ptr | get_parent () const |
return the parent node | |
base_ptr | get_root () const |
return the root node by traversing parents until no more parent is available | |
void | set_parent (node_ptr _parent) |
set a new parent node | |
node_ptr | get_node () |
cast upward to node | |
const_node_ptr | get_node_const () |
cast upward to const node | |
std::string | get_type_name () const |
overload to return the type name of this object | |
![]() | |
named (const std::string &name="") | |
construct from name | |
const std::string & | get_name () const |
return the parent node | |
void | set_name (const std::string &_name) |
set a new parent node | |
named_ptr | get_named () |
cast upward to named | |
const_named_ptr | get_named_const () |
cast upward to const named | |
![]() | |
virtual std::string | get_default_options () const |
overload to provide default options for registration | |
std::string | get_name_or_type_name () const |
determine name of instance by checking cgv::base::named interface and in failure fallback to get_type_name() | |
virtual void | on_register () |
overload to handle register events that is sent after the instance has been registered | |
virtual void | unregister () |
overload to handle unregistration of instances | |
virtual bool | on_exit_request () |
overload to handle the appication exit request, return true if exiting is allowed and false otherwise | |
virtual void | stream_stats (std::ostream &) |
overload to show the content of this object | |
virtual data::ref_ptr< group, true > | get_group () |
perform downcast to group | |
virtual data::ref_ptr< const named, true > | get_named_const () const |
perform downcast to const named | |
virtual data::ref_ptr< const node, true > | get_node_const () const |
perform downcast to const node | |
virtual data::ref_ptr< const group, true > | get_group_const () const |
perform downcast to const group | |
template<class T > | |
data::ref_ptr< T, true > | cast () |
cast to arbitrary class, but use the casts to named, node and group from the interface | |
template<class T > | |
data::ref_ptr< const T, true > | cast_const () |
const cast to arbitrary class, but use the casts to named, node and group from the interface | |
template<class T > | |
T * | get_interface () |
use dynamic type cast to check for the given interface | |
template<class T > | |
const T * | get_const_interface () const |
use dynamic type cast to check for the given interface | |
virtual void | update () |
this virtual update allows for example to ask a view to update the viewed value. The default implementation is empty. | |
virtual void * | get_user_data () const |
this virtual method allows to pass application specific data for internal purposes | |
virtual std::string | get_property_declarations () |
return a semicolon separated list of property declarations | |
virtual bool | set_void (const std::string &property, const std::string &value_type, const void *value_ptr) |
abstract interface for the setter of a dynamic property. | |
virtual bool | get_void (const std::string &property, const std::string &value_type, void *value_ptr) |
abstract interface for the getter of a dynamic property. | |
virtual bool | call_void (const std::string &method, const std::vector< std::string > ¶m_value_types, const std::vector< const void * > ¶m_value_ptrs, const std::string &result_type="", void *result_value_ptr=0) |
abstract interface to call an action | |
void | set (const std::string &property, const char *value) |
specialization of set method to support const char* as strings | |
template<typename T > | |
void | set (const std::string &property, const T &value) |
set a property of the element to the given value and perform standard conversions if necessary. | |
template<typename T > | |
T | get (const std::string &property) |
query a property of the element and perform standard conversions if necessary. | |
void | multi_set (const std::string &property_assignments, bool report_error=true) |
set several properties | |
bool | is_property (const std::string &property_name, std::string *type_name=0) |
check if the given name specifies a property. | |
void * | find_member_ptr (const std::string &property_name, std::string *type_name=0) |
find a member pointer by name. | |
![]() | |
int | get_ref_count () const |
read access to current count | |
![]() | |
drawable () | |
default construction | |
void | hide () |
hide the drawable | |
void | show () |
show the drawable | |
bool | is_visible () const |
check whether the drawable is visible | |
context * | get_context () const |
access the current context. The context will be available latestly in the init method but not in the contructor. | |
void | set_context (context *_ctx) |
set the current focus context, this should only be called by the context itself | |
view * | find_view_as_node (size_t view_idx=0) const |
convenience function to find the view control in the current hierarchy | |
bool | get_world_location (int x, int y, const view &V, dvec3 &world_location, double *window_z_ptr=0) const |
use given view together with depth buffer of context in order to compute the world location of the point at mouse pointer location (x,y) | |
void | post_redraw () |
posts a redraw event to the current context if one is available | |
void | force_redraw () |
forces a redraw right now. This cannot be called from init, init_frame, draw, finish_draw, finish_frame and clear | |
virtual bool | init (context &) |
this method is called after creation or recreation of the context, return whether all necessary functionality is supported | |
virtual void | resize (unsigned int w, unsigned int h) |
callback to announce resizing of the output window | |
virtual void | init_frame (context &) |
this method is called in one pass over all drawables before the draw method | |
virtual void | draw (context &) |
overload to draw the content of this drawable | |
virtual void | finish_draw (context &) |
this method is called when the current drawable is left in a tree traversal that calls the draw method | |
virtual void | finish_frame (context &) |
this method is called in one pass over all drawables after drawing | |
virtual void | after_finish (context &) |
this method is called in one pass over all drawables after finish frame | |
virtual void | clear (context &) |
clear all objects living in the context like textures or display lists | |
![]() | |
traverse_policy (int _policy=TP_ALL+TP_STOP_ON_SUCCESS, bool _active=true, int _focus=-1) | |
construct default traverse policy that visits everything | |
int | get_policy () const |
return the policy without the stop on success flag | |
bool | stop_on_success () const |
return whether to stop on success | |
bool | stop_on_failure () const |
return whether to stop on failure | |
void | set_policy (int _policy) |
set a new policy, always add stop on success flag if needed | |
int | get_focused_child () const |
return the focused child or -1 if none is focused | |
void | set_focused_child (int _focused_child) |
set the focused child | |
bool | get_active () const |
return whether the current node is active | |
void | set_active (bool _active) |
set the active flag of the current node | |
![]() | |
void | remove_element (cgv::base::base_ptr) |
remove a single element from the gui | |
void | remove_all_elements () |
this method removes all elements from the gui and can be used in a method that rebuilds the complete gui | |
cgv::base::base_ptr | find_element (const std::string &name) |
find a gui element by name in the current group, return empty pointer if not found | |
template<typename T > | |
data::ref_ptr< view< T > > | find_view (const T &value, int *idx_ptr=0) |
find a view of a given class member | |
template<typename T > | |
data::ref_ptr< control< T > > | find_control (T &value, int *idx_ptr=0) |
find a control of a given class member | |
control_ptr | find_control_void (void *value_ptr, int *idx_ptr) |
access to control of untyped member pointer | |
view_ptr | find_view_void (void *value_ptr, int *idx_ptr) |
access to view of untyped member pointer | |
template<typename T > | |
void | set_control_property (T &value, const std::string &property_name, const std::string &property_value) |
Set the property value of all controls of a given class member. | |
gui_group_ptr | get_parent_group () const |
use the parent group to append to be managed elements that should be destroyed in a post_recreate_gui event | |
view_ptr | add_view_void (const std::string &label, const void *value_ptr, const std::string &value_type, const std::string &gui_type, const std::string &options, const std::string &align) |
add a newly created view to the group | |
control_ptr | add_control_void (const std::string &label, void *value_ptr, abst_control_provider *acp, const std::string &value_type, const std::string &gui_type, const std::string &options, const std::string &align, void *user_data) |
add a newly created control to the group | |
provider () | |
default construction | |
~provider () | |
ensure to remove posted recreation callbacks | |
virtual std::string | get_gui_name () const |
Derive a name for this instance that can be used in the gui as heading. | |
virtual std::string | get_parent_type () const |
Returns the group type that should be used by the class embedding the gui of the provider. | |
virtual bool | ensure_selected_in_tab_group_parent () |
ensure that my UI is selected in the parent group in case this is a tab group, otherwise return false | |
virtual void | update_member (void *member_ptr) |
call this to update all views and controls of a member | |
virtual void | update_all_members () |
call this to update all views and controls of all member | |
virtual std::string | get_menu_path () const |
return a path in the main menu to select the gui | |
virtual shortcut | get_shortcut () const |
return a shortcut to activate the gui without menu navigation | |
virtual void | recreate_gui () |
Recreate the gui of this instance right now. | |
virtual void | post_recreate_gui () |
delayed recreation of gui | |
void | align (const std::string &_align) |
send pure alignment information | |
std::string | concat_enum_def (const std::vector< std::string > &names, const std::string &additional_first_name="", const std::string &additional_last_name="") |
add a new group to the given parent group, not supported yet | |
gui_group_ptr | add_object_gui (cgv::base::base_ptr object, const std::string &label, const std::string &group_type, const std::string &options, const std::string &align) |
void | integrate_object_gui (cgv::base::base_ptr object) |
call this in create_gui() function to integrate gui of another provider object by setting the parent group and parent provider of the other object | |
void | inline_object_gui (cgv::base::base_ptr object) |
integrate (if not explicitly done before) and inline the gui of another object that must be derived from provider | |
gui_group_ptr | add_group (const std::string &label, const std::string &group_type, const std::string &options="", const std::string &align="\n") |
add a newly created subgroup to the group | |
cgv::base::base_ptr | add_decorator (const std::string &label, const std::string &decorator_type, const std::string &options="", const std::string &align="\n") |
add a newly created decorator to the group | |
button_ptr | add_button (const std::string &label, const std::string &options="", const std::string &align="\n") |
use the current gui driver to append a new button with the given label | |
template<typename T > | |
data::ref_ptr< view< T > > | add_view (const std::string &label, const T &value, const std::string &gui_type="", const std::string &options="", const std::string &align="\n") |
use this to add a new view to the gui with a given value type, gui type and init options | |
template<typename T > | |
data::ref_ptr< control< T > > | add_control (const std::string &label, T &value, const std::string &gui_type="", const std::string &options="", const std::string &align="\n") |
use this to add a new control to the gui with a given value type, gui type and init options | |
template<typename T > | |
data::ref_ptr< control< T > > | add_control (const std::string &label, control_provider< T > *provider, const std::string &gui_type="", const std::string &options="", const std::string &align="\n", void *user_data=0) |
use this to add a new control to the gui, where the control is implemented with a control provider class | |
template<typename T > | |
data::ref_ptr< control< T > > | add_member_control (cgv::base::base *base_ptr, const std::string &label, T &value, const std::string &gui_type="", const std::string &options="", const std::string &align="\n") |
add control with callback to cgv::base::on_set method on cgv::gui::control::value_change | |
bool | add_tree_node (const std::string &label, bool &toggle, int level, const std::string &a="\n", gui_group_ptr ggp=gui_group_ptr()) |
add a collapsable node to the gui (deprecated) | |
template<typename T > | |
bool | begin_tree_node (const std::string &label, const T &value, bool initial_visibility=false, const std::string &options="", gui_group_ptr ggp=gui_group_ptr()) |
Begin a sub tree of a tree structured gui. | |
template<typename T > | |
void | end_tree_node (const T &value) |
template specialization that allows to specify value reference plus node_instance by using the result of the function with_instance(value,idx) for the value argument finish a sub tree begun with begin_tree_node | |
template<typename T > | |
bool | is_tree_node_visible (const T &value) const |
return whether the sub tree attached to a value is visible | |
template<typename T > | |
void | set_tree_node_visibility (const T &value, bool is_visible) |
set the visibility status of sub tree attached to a value. This calls the post_recreate method if needed. | |
bool | begin_tree_node_void (const std::string &label, const void *value_ptr, int index=-1, bool initial_visibility=false, const std::string &options="", gui_group_ptr ggp=gui_group_ptr()) |
void version of the templated functions | |
void | end_tree_node_void (const void *value_ptr, int index=-1) |
bool | is_tree_node_visible_void (const void *value_ptr, int index) const |
void | set_tree_node_visibility_void (const void *value_ptr, int index, bool is_visible) |
template<typename T > | |
bool | add_gui (const std::string &label, T &value, const std::string &gui_type="", const std::string &options="") |
Add a composed gui of the given gui_type for the given value. | |
![]() | |
event_handler () | |
default construction | |
bool | grab_focus () |
grab the focus in all parent nodes | |
bool | add_key_control (const std::string &property, const std::string &options, cgv::base::group_ptr group=cgv::base::group_ptr()) |
add a key control for the given property with the given options. | |
Public Attributes | |
gui_options_t | gui_options |
options for the GUI creation of this overlay (must be set before GUI creation) | |
Protected Member Functions | |
virtual void | on_visibility_change () |
called when the overlay visibility is changed through the default gui | |
virtual void | on_layout_change () |
called when the overlay layout parameters are changed through the default gui | |
void | update_layout () |
update the layout of the overlay container | |
virtual void | create_gui_impl () |
virtual method to implement the derived class gui creation | |
![]() | |
virtual | ~base () |
make destructor virtual and not accessible from outside | |
![]() | |
ref_counted () | |
constructor initializes the count to 0 | |
void | set_ref_count (int c) const |
write access is also const to allow ref counted pointers to const instances | |
![]() | |
void | set_parent (gui_group_ptr) |
the gui window sets the parent group through this method | |
void | update_parent () |
update the parent group | |
virtual void | on_select () |
called by selection_change_cb whenever the gui of this provider is selected | |
virtual void | on_deselect () |
called by selection_change_cb whenever the gui of this provider is deselected | |
virtual void | selection_change_cb (cgv::base::base_ptr new_child, bool selected) |
this is called by the gui group when the selection changes | |
Additional Inherited Members | |
![]() | |
template<typename T > | |
static bool & | ref_tree_node_visible_flag (const T &value) |
return a reference to the boolean flag, that tells whether the tree node for the passed value is visible | |
static bool & | ref_tree_node_visible_flag_void (const void *value_ptr, int index=-1) |
![]() | |
template<class T > | |
static data::ref_ptr< T, true > | cast_dynamic (base *b) |
use dynamic cast for upcast to given class | |
![]() | |
node_ptr | parent |
store a pointer to the parent node | |
![]() | |
std::string | name |
store the name as a string | |
![]() | |
TraversePolicy | policy |
bool | active |
int | focus |
![]() | |
gui_group_ptr | parent_group |
driver specific handle for the group gui element managing the gui built in the provider | |
provider * | parent_provider |
bool cgv::app::overlay::begin_overlay_gui | ( | ) |
begins a tree node if create default tree node is set in the gui options; automatically creates the layout gui
Definition at line 151 of file overlay.cxx.
References cgv::gui::provider::align(), cgv::gui::provider::begin_tree_node_void(), gui_options, and cgv::base::named::name.
Referenced by create_gui().
|
inline |
|
inline |
|
virtual |
Creates a tree node containing the overlay layout options and the gui as specified by the derived overlay class.
If you don't need to extend the gui of the overlay in your own plugin, call this method via:
inline_object_gui(overlay_ptr)
in your create_gui() method.
If you want to extend the default gui inside the provided tree node:
In the plugin create_gui() method:
integrate_object_gui(overlay_ptr); if(overlay_ptr->begin_overlay_gui()) { overlay_ptr->create_gui();
...add custom controls
overlay_ptr->end_overlay_gui(); }
!!! Do not overwrite create_gui() in the derived class if you want the default behaviour. !!!
Implements cgv::gui::provider.
Definition at line 202 of file overlay.cxx.
References begin_overlay_gui(), cgv::app::overlay::gui_options_t::create_default_tree_node, create_gui_impl(), create_layout_gui(), end_overlay_gui(), and gui_options.
|
inlineprotectedvirtual |
virtual method to implement the derived class gui creation
Reimplemented in cgv::app::navigator, cgv::app::color_map_editor, cgv::app::color_map_legend, cgv::app::color_selector, and cgv::app::performance_monitor.
Definition at line 84 of file overlay.h.
Referenced by create_gui().
void cgv::app::overlay::create_layout_gui | ( | ) |
provides a default gui implementation for private overlay layout members
Definition at line 169 of file overlay.cxx.
References cgv::gui::provider::add_decorator(), cgv::gui::provider::align(), cgv::app::overlay::gui_options_t::allow_alignment, cgv::app::overlay::gui_options_t::allow_margin, cgv::app::overlay::gui_options_t::allow_stretch, cgv::gui::provider::begin_tree_node(), cgv::gui::provider::end_tree_node(), gui_options, and cgv::app::overlay::gui_options_t::show_layout_options.
Referenced by create_gui().
void cgv::app::overlay::end_overlay_gui | ( | ) |
ends the tree node of the overlay gui
Definition at line 164 of file overlay.cxx.
References cgv::gui::provider::align(), cgv::gui::provider::end_tree_node(), and cgv::base::named::name.
Referenced by create_gui().
bool cgv::app::overlay::ensure_layout | ( | cgv::render::context & | ctx | ) |
Definition at line 135 of file overlay.cxx.
bool cgv::app::overlay::ensure_viewport | ( | cgv::render::context & | ctx | ) |
Check whether the viewport size has changed since the last call to this method.
Call this in the init_frame method of your overlay. Returns true if the size changed.
Definition at line 125 of file overlay.cxx.
References cgv::render::context::get_height(), cgv::render::context::get_width(), and update_layout().
|
inline |
return the mouse position local to the container of this overlay
Reimplemented in cgv::app::canvas_overlay.
Definition at line 76 of file overlay.cxx.
Referenced by handle().
|
inline |
return the current rectangle area of the overlay in local space, i.e. with position set to zero
Definition at line 142 of file overlay.h.
References cgv::math::fvec< T, N >::size().
Referenced by cgv::app::themed_canvas_overlay::get_content_rectangle(), and handle().
|
inline |
|
inline |
get the percentual alignment offset (only valid if get_horizontal_alignment() or get_vertical_alignment() returns AlignmentOption::AO_PERCENTUAL)
|
inline |
get the percentual stretch (only valid if get_stretch() returns StretchOption::SO_PERCENTUAL)
|
inline |
return the current rectangle area (in screen coordinates) of the overlay taking layout into account
Definition at line 139 of file overlay.h.
Referenced by cgv::app::navigator::finish_draw(), cgv::app::canvas_overlay::get_local_mouse_pos(), cgv::app::color_map_editor::handle_member_change(), cgv::app::navigator::handle_mouse_event(), cgv::app::color_map_editor::handle_mouse_event(), cgv::app::color_selector::handle_mouse_event(), cgv::app::navigator::init(), cgv::app::canvas_overlay::init(), cgv::app::navigator::init_frame(), cgv::app::color_map_editor::init_frame(), cgv::app::color_map_legend::init_frame(), cgv::app::color_selector::init_frame(), cgv::app::performance_monitor::init_frame(), and cgv::app::canvas_overlay::is_hit().
|
inline |
|
inline |
|
inline |
return the current viewport size
Definition at line 133 of file overlay.h.
Referenced by cgv::app::canvas_overlay::get_local_mouse_pos(), cgv::app::color_map_editor::handle_mouse_event(), cgv::app::color_selector::handle_mouse_event(), cgv::app::navigator::init_frame(), and cgv::app::canvas_overlay::is_hit().
|
virtual |
handle incomming events; calls handle_key_events or handle_mouse_events depending on the event type; mouse events will only be handled if the mouse is over the overlay rectangle
Implements cgv::gui::event_handler.
Definition at line 16 of file overlay.cxx.
References cgv::gui::EID_KEY, cgv::gui::EID_MOUSE, cgv::gui::mouse_event::get_action(), cgv::gui::event::get_kind(), get_local_mouse_pos(), get_local_rectangle(), cgv::gui::mouse_event::get_x(), cgv::gui::mouse_event::get_y(), handle_key_event(), handle_mouse_event(), cgv::gui::MA_ENTER, cgv::gui::MA_LEAVE, cgv::gui::MA_MOVE, cgv::gui::MA_PRESS, cgv::gui::MA_RELEASE, cgv::gui::MA_WHEEL, and cgv::gui::mouse_event::set_action().
|
inlinevirtual |
overload this method to handle key events
Reimplemented in cgv::app::color_map_editor.
Definition at line 115 of file overlay.h.
Referenced by handle().
|
inlinevirtual |
implement to handle member changes
Reimplemented in cgv::app::canvas_overlay, cgv::app::color_map_editor, cgv::app::color_map_legend, cgv::app::color_selector, and cgv::app::performance_monitor.
Definition at line 121 of file overlay.h.
Referenced by on_set().
|
inlinevirtual |
overload this method to handle mouse events; local_mouse_pos is the mouse position in the local coordinate space of the overlay rectangle
Reimplemented in cgv::app::navigator, cgv::app::color_map_editor, and cgv::app::color_selector.
Definition at line 118 of file overlay.h.
Referenced by handle().
|
virtual |
Test if the mouse pointer is hovering over this overlay and returns true if this is the case.
Specifically it checks if the mouse position is inside the rectangle defined by container. Override this method to implement your own test, i.e. for different overlay shapes.
Reimplemented in cgv::app::canvas_overlay.
Definition at line 146 of file overlay.cxx.
|
protectedvirtual |
called when the overlay layout parameters are changed through the default gui
Definition at line 11 of file overlay.cxx.
References cgv::render::drawable::post_redraw(), and update_layout().
Referenced by set_alignment(), set_margin(), set_size(), and set_stretch().
|
virtual |
default implementation of that calls handle_member_change and afterwards updates the member in the gui and post a redraw
Reimplemented from cgv::base::base.
Reimplemented in cgv::app::navigator, and cgv::app::canvas_overlay.
Definition at line 70 of file overlay.cxx.
References handle_member_change(), cgv::render::drawable::post_redraw(), and cgv::gui::provider::update_member().
|
protectedvirtual |
called when the overlay visibility is changed through the default gui
Reimplemented in cgv::app::performance_monitor.
Definition at line 6 of file overlay.cxx.
References cgv::render::drawable::post_redraw(), and cgv::gui::provider::update_member().
Referenced by set_visibility().
|
inlinevirtual |
overload to reflect members of derived classes
Reimplemented from cgv::base::base.
Reimplemented in cgv::app::navigator.
void cgv::app::overlay::set_margin | ( | const ivec2 & | margin | ) |
set the overlay margin
Definition at line 103 of file overlay.cxx.
References on_layout_change().
Referenced by cgv::app::themed_canvas_overlay::themed_canvas_overlay().
void cgv::app::overlay::set_size | ( | const ivec2 & | size | ) |
set the default size of the overlay before stretch gets applied
Definition at line 108 of file overlay.cxx.
References on_layout_change().
Referenced by cgv::app::color_map_editor::handle_member_change(), cgv::app::color_map_legend::handle_member_change(), cgv::app::color_selector::handle_member_change(), cgv::app::performance_monitor::handle_member_change(), and cgv::app::navigator::on_set().
void cgv::app::overlay::set_visibility | ( | bool | visible | ) |
set the visibility of the overlay
Definition at line 113 of file overlay.cxx.
References cgv::render::drawable::hide(), on_visibility_change(), and cgv::render::drawable::show().
Referenced by toggle_visibility().
|
inlinevirtual |
overload to stream help information to the given output stream
Implements cgv::gui::event_handler.
Reimplemented in cgv::app::navigator.
void cgv::app::overlay::toggle_visibility | ( | ) |
toggle the visibility of the overlay
Definition at line 121 of file overlay.cxx.
References cgv::render::drawable::is_visible(), and set_visibility().
|
protected |
update the layout of the overlay container
Definition at line 215 of file overlay.cxx.
References cgv::math::fvec< T, N >::x(), and cgv::math::fvec< T, N >::y().
Referenced by ensure_viewport(), cgv::app::color_selector::init_frame(), and on_layout_change().
gui_options_t cgv::app::overlay::gui_options |
options for the GUI creation of this overlay (must be set before GUI creation)
Definition at line 103 of file overlay.h.
Referenced by begin_overlay_gui(), create_gui(), and create_layout_gui().