This class allows the drawing of 2d objects - mainly based on quads and rectangles. More...
#include "meshDrawer2D.h"
Public Member Functions | |
MeshDrawer2D () | |
Creates the MeshDrawer2D low level system. More... | |
~MeshDrawer2D () | |
Destroys the MeshDrawer2D low level system. More... | |
void | begin () |
Opens up the geom for drawing, don't forget to call MeshDrawer2D::end() More... | |
void | end () |
Finish the drawing and clearing off the remaining vertexes. More... | |
virtual TypeHandle | force_init_type () |
int | get_budget () |
Gets the total triangle budget of the drawer. More... | |
NodePath | get_root () |
Returns the root NodePath. More... | |
virtual TypeHandle | get_type () const |
void | quad_raw (const LVector3 &v1, const LVector4 &c1, const LVector2 &uv1, const LVector3 &v2, const LVector4 &c2, const LVector2 &uv2, const LVector3 &v3, const LVector4 &c3, const LVector2 &uv3, const LVector3 &v4, const LVector4 &c4, const LVector2 &uv4) |
Draws a 2d rectangle. More... | |
void | rectangle (PN_stdfloat x, PN_stdfloat y, PN_stdfloat w, PN_stdfloat h, PN_stdfloat u, PN_stdfloat v, PN_stdfloat us, PN_stdfloat vs, const LVector4 &color) |
Draws a 2d rectangle, that can be cliped. More... | |
void | rectangle_border (PN_stdfloat x, PN_stdfloat y, PN_stdfloat w, PN_stdfloat h, PN_stdfloat r, PN_stdfloat t, PN_stdfloat l, PN_stdfloat b, PN_stdfloat tr, PN_stdfloat tt, PN_stdfloat tl, PN_stdfloat tb, PN_stdfloat u, PN_stdfloat v, PN_stdfloat us, PN_stdfloat vs, const LVector4 &color) |
Draws a 2d rectangle, with borders and corders, taken from the surrounding texture. More... | |
void | rectangle_border_tiled (PN_stdfloat x, PN_stdfloat y, PN_stdfloat w, PN_stdfloat h, PN_stdfloat r, PN_stdfloat t, PN_stdfloat l, PN_stdfloat b, PN_stdfloat tr, PN_stdfloat tt, PN_stdfloat tl, PN_stdfloat tb, PN_stdfloat u, PN_stdfloat v, PN_stdfloat us, PN_stdfloat vs, const LVector4 &color) |
Draws a 2d rectangle, with borders and corders, taken from the surrounding texture. More... | |
void | rectangle_raw (PN_stdfloat x, PN_stdfloat y, PN_stdfloat w, PN_stdfloat h, PN_stdfloat u, PN_stdfloat v, PN_stdfloat us, PN_stdfloat vs, const LVector4 &color) |
void | rectangle_tiled (PN_stdfloat x, PN_stdfloat y, PN_stdfloat w, PN_stdfloat h, PN_stdfloat u, PN_stdfloat v, PN_stdfloat us, PN_stdfloat vs, const LVector4 &color) |
Draws a tiled rectangle, size of tiles is in us and vs. More... | |
void | set_budget (int budget) |
Sets the total triangle budget of the drawer. More... | |
void | set_clip (PN_stdfloat x, PN_stdfloat y, PN_stdfloat w, PN_stdfloat h) |
Sets clipping rectangle. More... | |
Public Member Functions inherited from TypedObject | |
TypedObject (const TypedObject ©)=default | |
TypedObject * | as_typed_object () |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
const TypedObject * | as_typed_object () const |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
int | get_best_parent_from_Set (const std::set< int > &) const |
int | get_type_index () const |
Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More... | |
bool | is_exact_type (TypeHandle handle) const |
Returns true if the current object is the indicated type exactly. More... | |
bool | is_of_type (TypeHandle handle) const |
Returns true if the current object is or derives from the indicated type. More... | |
TypedObject & | operator= (const TypedObject ©)=default |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
Static Public Member Functions inherited from TypedObject | |
static TypeHandle | get_class_type () |
static void | init_type () |
This function is declared non-inline to work around a compiler bug in g++ 2.96. More... | |
Additional Inherited Members | |
Public Attributes inherited from TypedObject | |
get_type | |
This class allows the drawing of 2d objects - mainly based on quads and rectangles.
Allows clipping and serverl high level UI theme functions.
Definition at line 45 of file meshDrawer2D.h.
|
inline |
Creates the MeshDrawer2D low level system.
Definition at line 20 of file meshDrawer2D.I.
|
inline |
Destroys the MeshDrawer2D low level system.
Definition at line 38 of file meshDrawer2D.I.
References NodePath::remove_node().
void MeshDrawer2D::begin | ( | ) |
Opens up the geom for drawing, don't forget to call MeshDrawer2D::end()
Definition at line 88 of file meshDrawer2D.cxx.
void MeshDrawer2D::end | ( | ) |
Finish the drawing and clearing off the remaining vertexes.
Definition at line 110 of file meshDrawer2D.cxx.
|
inline |
Gets the total triangle budget of the drawer.
Definition at line 66 of file meshDrawer2D.I.
|
inline |
Returns the root NodePath.
Definition at line 49 of file meshDrawer2D.I.
|
inline |
Draws a 2d rectangle.
Ignores the cliping rectangle
Definition at line 85 of file meshDrawer2D.I.
References GeomVertexWriter::add_data2(), GeomVertexWriter::add_data3(), and GeomVertexWriter::add_data4().
|
inline |
Draws a 2d rectangle, that can be cliped.
Definition at line 131 of file meshDrawer2D.I.
Referenced by rectangle_border(), and rectangle_tiled().
void MeshDrawer2D::rectangle_border | ( | PN_stdfloat | x, |
PN_stdfloat | y, | ||
PN_stdfloat | w, | ||
PN_stdfloat | h, | ||
PN_stdfloat | r, | ||
PN_stdfloat | t, | ||
PN_stdfloat | l, | ||
PN_stdfloat | b, | ||
PN_stdfloat | tr, | ||
PN_stdfloat | tt, | ||
PN_stdfloat | tl, | ||
PN_stdfloat | tb, | ||
PN_stdfloat | u, | ||
PN_stdfloat | v, | ||
PN_stdfloat | us, | ||
PN_stdfloat | vs, | ||
const LVector4 & | color | ||
) |
Draws a 2d rectangle, with borders and corders, taken from the surrounding texture.
Definition at line 186 of file meshDrawer2D.cxx.
References rectangle().
void MeshDrawer2D::rectangle_border_tiled | ( | PN_stdfloat | x, |
PN_stdfloat | y, | ||
PN_stdfloat | w, | ||
PN_stdfloat | h, | ||
PN_stdfloat | r, | ||
PN_stdfloat | t, | ||
PN_stdfloat | l, | ||
PN_stdfloat | b, | ||
PN_stdfloat | tr, | ||
PN_stdfloat | tt, | ||
PN_stdfloat | tl, | ||
PN_stdfloat | tb, | ||
PN_stdfloat | u, | ||
PN_stdfloat | v, | ||
PN_stdfloat | us, | ||
PN_stdfloat | vs, | ||
const LVector4 & | color | ||
) |
Draws a 2d rectangle, with borders and corders, taken from the surrounding texture.
Definition at line 216 of file meshDrawer2D.cxx.
References rectangle_tiled().
void MeshDrawer2D::rectangle_tiled | ( | PN_stdfloat | x, |
PN_stdfloat | y, | ||
PN_stdfloat | w, | ||
PN_stdfloat | h, | ||
PN_stdfloat | u, | ||
PN_stdfloat | v, | ||
PN_stdfloat | us, | ||
PN_stdfloat | vs, | ||
const LVector4 & | color | ||
) |
Draws a tiled rectangle, size of tiles is in us and vs.
Definition at line 135 of file meshDrawer2D.cxx.
References rectangle().
Referenced by rectangle_border_tiled().
|
inline |
Sets the total triangle budget of the drawer.
Definition at line 57 of file meshDrawer2D.I.
|
inline |
Sets clipping rectangle.
Definition at line 74 of file meshDrawer2D.I.