Group of vgui_soview2D's. More...
#include <vgui_soview2D.h>
Public Member Functions | |
vgui_soview2D_group () | |
Constructor - creates an empty 2D soview group. | |
vgui_soview2D_group (vcl_vector< vgui_soview2D * > ls_) | |
Constructor - creates a 2D soview group containing the given 2D soviews. | |
virtual | ~vgui_soview2D_group () |
Destructor - responsible for deleting 2D soview objects. | |
virtual void | set_style (const vgui_style_sptr &) |
Set the style (colour, line width, etc) for this 2D soview group. | |
virtual void | draw () const |
Render this 2D soview group on the display. | |
virtual void | draw_select () const |
for selection purpose. | |
virtual vcl_ostream & | print (vcl_ostream &) const |
Print details about this 2D soview group to the given stream. | |
virtual float | distance_squared (float x, float y) const |
Returns distance squared of this 2D soview group from the given position. | |
vcl_string | type_name () const |
Returns the type of this class ('vgui_soview2D_group'). | |
void | get_centroid (float *x, float *y) const |
Returns the centroid of this 2D soview group. | |
void | translate (float x, float y) |
Translate this 2D soview group by the given x and y distances. | |
virtual void | load_name () const |
Calls OpenGL function glLoadName with this soview's id. | |
virtual vgui_style_sptr | get_style () const |
Return the style (colour, line width) of the soview. | |
void | set_colour (float r, float g, float b) |
Set the colour of the soview. | |
void | set_point_size (float s) |
Set the point radius of the soview. | |
void | set_line_width (float w) |
Set the line width of the soview. | |
void | attach (vgui_observer *) |
Attach given observer to this soview. | |
void | detach (vgui_observer *) |
Detach the given observer from this soview. | |
void | get_observers (vcl_vector< vgui_observer * > &) const |
Get a list of all observers attached to this soview. | |
virtual void | notify () const |
Update all observers. | |
virtual void | notify (vgui_message const &) const |
Send message to all observers. | |
virtual unsigned | get_id () const |
Returns the ID of this soview. | |
bool | get_selectable () const |
Return true if it is possible to select this soview. | |
void | set_selectable (bool s) |
Make this soview selectable/non-selectable. | |
Static Public Member Functions | |
static vgui_soview * | id_to_object (unsigned id) |
Returns a pointer to the vgui_soview, given the ID. | |
static unsigned | create_id () |
Create a new ID. | |
Public Attributes | |
vcl_vector< vgui_soview2D * > | ls |
List of 2D soviews in this group. | |
Static Public Attributes | |
static vgui_DLLDATA const void *const | msg_select = "select" |
static vgui_DLLDATA const void *const | msg_deselect = "deselect" |
static vgui_DLLDATA const void *const | msg_highlight = "highlight" |
static vgui_DLLDATA const void *const | msg_unhighlight = "unhighlight" |
Protected Attributes | |
unsigned | id |
ID of this soview. | |
bool | selectable |
Whether this soview is selectable. | |
vgui_style_sptr | style |
Style (colour, line width, etc) of this soview. |
Group of vgui_soview2D's.
Definition at line 140 of file vgui_soview2D.h.
vgui_soview2D_group::vgui_soview2D_group | ( | ) | [inline] |
Constructor - creates an empty 2D soview group.
Definition at line 144 of file vgui_soview2D.h.
vgui_soview2D_group::vgui_soview2D_group | ( | vcl_vector< vgui_soview2D * > | ls_ | ) | [inline] |
Constructor - creates a 2D soview group containing the given 2D soviews.
Definition at line 147 of file vgui_soview2D.h.
vgui_soview2D_group::~vgui_soview2D_group | ( | ) | [virtual] |
Destructor - responsible for deleting 2D soview objects.
In current design, Easy2D tableau is responsible for cleaning up soview objects. To avoid memory leak when using this group class, clean up the soview objects in the destructor. It is hard to be nice & clean, unless smart ptr is introduced. GY
Definition at line 135 of file vgui_soview2D.cxx.
void vgui_soview::attach | ( | vgui_observer * | o | ) | [inherited] |
Attach given observer to this soview.
Definition at line 183 of file vgui_soview.cxx.
unsigned vgui_soview::create_id | ( | ) | [static, inherited] |
Create a new ID.
Definition at line 52 of file vgui_soview.cxx.
void vgui_soview::detach | ( | vgui_observer * | o | ) | [inherited] |
Detach the given observer from this soview.
Definition at line 188 of file vgui_soview.cxx.
float vgui_soview2D_group::distance_squared | ( | float | x, |
float | y | ||
) | const [virtual] |
Returns distance squared of this 2D soview group from the given position.
Implements vgui_soview2D.
Definition at line 176 of file vgui_soview2D.cxx.
void vgui_soview2D_group::draw | ( | ) | const [virtual] |
Render this 2D soview group on the display.
Implements vgui_soview.
Definition at line 164 of file vgui_soview2D.cxx.
void vgui_soview2D_group::draw_select | ( | ) | const [virtual] |
for selection purpose.
see comments in base class
Reimplemented from vgui_soview.
Definition at line 170 of file vgui_soview2D.cxx.
void vgui_soview2D_group::get_centroid | ( | float * | x, |
float * | y | ||
) | const [virtual] |
Returns the centroid of this 2D soview group.
Implements vgui_soview2D.
Definition at line 192 of file vgui_soview2D.cxx.
virtual unsigned vgui_soview::get_id | ( | ) | const [inline, virtual, inherited] |
Returns the ID of this soview.
Definition at line 102 of file vgui_soview.h.
void vgui_soview::get_observers | ( | vcl_vector< vgui_observer * > & | vobs | ) | const [inherited] |
Get a list of all observers attached to this soview.
Definition at line 204 of file vgui_soview.cxx.
bool vgui_soview::get_selectable | ( | ) | const [inline, inherited] |
Return true if it is possible to select this soview.
Definition at line 111 of file vgui_soview.h.
virtual vgui_style_sptr vgui_soview::get_style | ( | ) | const [inline, virtual, inherited] |
Return the style (colour, line width) of the soview.
Definition at line 69 of file vgui_soview.h.
vgui_soview * vgui_soview::id_to_object | ( | unsigned | id | ) | [static, inherited] |
Returns a pointer to the vgui_soview, given the ID.
Definition at line 70 of file vgui_soview.cxx.
void vgui_soview::load_name | ( | ) | const [virtual, inherited] |
Calls OpenGL function glLoadName with this soview's id.
Definition at line 102 of file vgui_soview.cxx.
void vgui_soview::notify | ( | ) | const [virtual, inherited] |
Update all observers.
Definition at line 213 of file vgui_soview.cxx.
void vgui_soview::notify | ( | vgui_message const & | msg | ) | const [virtual, inherited] |
Send message to all observers.
Definition at line 221 of file vgui_soview.cxx.
vcl_ostream & vgui_soview2D_group::print | ( | vcl_ostream & | s | ) | const [virtual] |
Print details about this 2D soview group to the given stream.
Reimplemented from vgui_soview.
Definition at line 154 of file vgui_soview2D.cxx.
void vgui_soview::set_colour | ( | float | r, |
float | g, | ||
float | b | ||
) | [inherited] |
Set the colour of the soview.
Definition at line 108 of file vgui_soview.cxx.
void vgui_soview::set_line_width | ( | float | w | ) | [inherited] |
Set the line width of the soview.
Definition at line 140 of file vgui_soview.cxx.
void vgui_soview::set_point_size | ( | float | s | ) | [inherited] |
Set the point radius of the soview.
Definition at line 124 of file vgui_soview.cxx.
void vgui_soview::set_selectable | ( | bool | s | ) | [inline, inherited] |
Make this soview selectable/non-selectable.
Definition at line 114 of file vgui_soview.h.
void vgui_soview2D_group::set_style | ( | const vgui_style_sptr & | s | ) | [virtual] |
Set the style (colour, line width, etc) for this 2D soview group.
Reimplemented from vgui_soview.
Definition at line 145 of file vgui_soview2D.cxx.
void vgui_soview2D_group::translate | ( | float | x, |
float | y | ||
) | [virtual] |
Translate this 2D soview group by the given x and y distances.
Implements vgui_soview2D.
Definition at line 211 of file vgui_soview2D.cxx.
vcl_string vgui_soview2D_group::type_name | ( | ) | const [inline, virtual] |
Returns the type of this class ('vgui_soview2D_group').
Reimplemented from vgui_soview.
Definition at line 174 of file vgui_soview2D.h.
unsigned vgui_soview::id [protected, inherited] |
ID of this soview.
Definition at line 118 of file vgui_soview.h.
vcl_vector<vgui_soview2D *> vgui_soview2D_group::ls |
List of 2D soviews in this group.
Definition at line 183 of file vgui_soview2D.h.
const void *const vgui_soview::msg_deselect = "deselect" [static, inherited] |
Definition at line 97 of file vgui_soview.h.
const void *const vgui_soview::msg_highlight = "highlight" [static, inherited] |
Definition at line 98 of file vgui_soview.h.
const void *const vgui_soview::msg_select = "select" [static, inherited] |
Definition at line 96 of file vgui_soview.h.
const void *const vgui_soview::msg_unhighlight = "unhighlight" [static, inherited] |
Definition at line 99 of file vgui_soview.h.
bool vgui_soview::selectable [protected, inherited] |
Whether this soview is selectable.
Definition at line 121 of file vgui_soview.h.
vgui_style_sptr vgui_soview::style [protected, inherited] |
Style (colour, line width, etc) of this soview.
Definition at line 124 of file vgui_soview.h.