cgv
|
as a drawable can manage only a single context, this callback drawable is a work around for the case when a drawable should draw in several contexts (i.e. More...
#include <callback_drawable.h>
Public Member Functions | |
callback_drawable (const std::string &name) | |
void | resize (unsigned w, unsigned h) |
bool | init (cgv::render::context &ctx) |
this method is called after creation or recreation of the context, return whether all necessary functionality is supported | |
void | clear (cgv::render::context &ctx) |
clear all objects living in the context like textures or display lists | |
void | init_frame (cgv::render::context &ctx) |
this method is called in one pass over all drawables before the draw method | |
void | draw (cgv::render::context &ctx) |
overload to draw the content of this drawable | |
void | finish_draw (cgv::render::context &ctx) |
this method is called when the current drawable is left in a tree traversal that calls the draw method | |
void | finish_frame (cgv::render::context &ctx) |
this method is called in one pass over all drawables after drawing | |
void | after_finish (cgv::render::context &ctx) |
this method is called in one pass over all drawables after finish frame | |
![]() | |
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 bool | self_reflect (cgv::reflect::reflection_handler &) |
used for simple self reflection | |
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 void | on_set (void *member_ptr) |
this callback is called when the set_void method has changed a member and can be overloaded in derived class | |
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 void | resize (unsigned int w, unsigned int h) |
callback to announce resizing of the output window | |
![]() | |
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 | |
Public Attributes | |
cgv::signal::signal< unsigned, unsigned > | resize_callback |
cgv::signal::bool_signal< cgv::render::context & > | init_callback |
cgv::signal::signal< cgv::render::context & > | clear_callback |
cgv::signal::signal< cgv::render::context & > | init_frame_callback |
cgv::signal::signal< cgv::render::context & > | draw_callback |
cgv::signal::signal< cgv::render::context & > | finish_draw_callback |
cgv::signal::signal< cgv::render::context & > | finish_frame_callback |
cgv::signal::signal< cgv::render::context & > | after_finish_callback |
Additional Inherited Members | |
![]() | |
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 | |
![]() | |
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 |
as a drawable can manage only a single context, this callback drawable is a work around for the case when a drawable should draw in several contexts (i.e.
two windows). Then the callback drawable can be registered in the second window and its callback signals can be connected to methods in the primary drawable.
Definition at line 16 of file callback_drawable.h.
cgv::render::callback_drawable::callback_drawable | ( | const std::string & | name | ) |
Definition at line 6 of file callback_drawable.cxx.
|
virtual |
this method is called in one pass over all drawables after finish frame
Reimplemented from cgv::render::drawable.
Definition at line 37 of file callback_drawable.cxx.
|
virtual |
clear all objects living in the context like textures or display lists
Reimplemented from cgv::render::drawable.
Definition at line 17 of file callback_drawable.cxx.
|
virtual |
overload to draw the content of this drawable
Reimplemented from cgv::render::drawable.
Definition at line 25 of file callback_drawable.cxx.
|
virtual |
this method is called when the current drawable is left in a tree traversal that calls the draw method
Reimplemented from cgv::render::drawable.
Definition at line 29 of file callback_drawable.cxx.
|
virtual |
this method is called in one pass over all drawables after drawing
Reimplemented from cgv::render::drawable.
Definition at line 33 of file callback_drawable.cxx.
|
virtual |
this method is called after creation or recreation of the context, return whether all necessary functionality is supported
Reimplemented from cgv::render::drawable.
Definition at line 13 of file callback_drawable.cxx.
|
virtual |
this method is called in one pass over all drawables before the draw method
Reimplemented from cgv::render::drawable.
Definition at line 21 of file callback_drawable.cxx.
void cgv::render::callback_drawable::resize | ( | unsigned | w, |
unsigned | h | ||
) |
Definition at line 9 of file callback_drawable.cxx.
cgv::signal::signal<cgv::render::context&> cgv::render::callback_drawable::after_finish_callback |
Definition at line 34 of file callback_drawable.h.
cgv::signal::signal<cgv::render::context&> cgv::render::callback_drawable::clear_callback |
Definition at line 24 of file callback_drawable.h.
cgv::signal::signal<cgv::render::context&> cgv::render::callback_drawable::draw_callback |
Definition at line 28 of file callback_drawable.h.
cgv::signal::signal<cgv::render::context&> cgv::render::callback_drawable::finish_draw_callback |
Definition at line 30 of file callback_drawable.h.
cgv::signal::signal<cgv::render::context&> cgv::render::callback_drawable::finish_frame_callback |
Definition at line 32 of file callback_drawable.h.
cgv::signal::bool_signal<cgv::render::context&> cgv::render::callback_drawable::init_callback |
Definition at line 22 of file callback_drawable.h.
cgv::signal::signal<cgv::render::context&> cgv::render::callback_drawable::init_frame_callback |
Definition at line 26 of file callback_drawable.h.
cgv::signal::signal<unsigned, unsigned> cgv::render::callback_drawable::resize_callback |
Definition at line 20 of file callback_drawable.h.