Panda3D
|
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. | |
~MeshDrawer2D () | |
Destroys the MeshDrawer2D low level system. | |
void | begin () |
Opens up the geom for drawing, don't forget to call MeshDrawer2D::end() | |
void | end () |
Finish the drawing and clearing off the remaining vertexes. | |
virtual TypeHandle | force_init_type () |
int | get_budget () |
Gets the total triangle budget of the drawer. | |
NodePath | get_root () |
Returns the root NodePath. | |
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. | |
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 which can be clipped. | |
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. | |
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. | |
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. | |
void | set_budget (int budget) |
Sets the total triangle budget of the drawer. | |
void | set_clip (PN_stdfloat x, PN_stdfloat y, PN_stdfloat w, PN_stdfloat h) |
Sets the clipping rectangle. | |
![]() | |
TypedObject (const TypedObject ©)=default | |
TypedObject * | as_typed_object () |
Returns the object, upcast (if necessary) to a TypedObject pointer. | |
const TypedObject * | as_typed_object () const |
Returns the object, upcast (if necessary) to a TypedObject pointer. | |
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. | |
bool | is_exact_type (TypeHandle handle) const |
Returns true if the current object is the indicated type exactly. | |
bool | is_of_type (TypeHandle handle) const |
Returns true if the current object is or derives from the indicated type. | |
TypedObject & | operator= (const TypedObject ©)=default |
![]() | |
void | operator delete (void *, void *) |
void | operator delete (void *ptr) |
void | operator delete[] (void *, void *) |
void | operator delete[] (void *ptr) |
void * | operator new (size_t size) |
void * | operator new (size_t size, void *ptr) |
void * | operator new[] (size_t size) |
void * | operator new[] (size_t size, void *ptr) |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
![]() | |
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. | |
Additional Inherited Members | |
![]() | |
get_type | |
This class allows the drawing of 2D objects - mainly based on quads and rectangles.
It allows clipping and several high level UI theme functions.
Definition at line 45 of file meshDrawer2D.h.
|
inline |
Creates the MeshDrawer2D low level system.
Definition at line 19 of file meshDrawer2D.I.
|
inline |
Destroys the MeshDrawer2D low level system.
Definition at line 37 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.
References GeomVertexWriter::add_data3().
|
inlinevirtual |
Implements TypedObject.
Definition at line 139 of file meshDrawer2D.h.
|
inline |
Gets the total triangle budget of the drawer.
Definition at line 65 of file meshDrawer2D.I.
|
inlinestatic |
Definition at line 128 of file meshDrawer2D.h.
|
inline |
Returns the root NodePath.
Definition at line 48 of file meshDrawer2D.I.
|
inlinevirtual |
Implements TypedObject.
Definition at line 136 of file meshDrawer2D.h.
|
inlinestatic |
Definition at line 131 of file meshDrawer2D.h.
|
inline |
Draws a 2D rectangle.
Ignores the clipping rectangle.
Definition at line 84 of file meshDrawer2D.I.
References GeomVertexWriter::add_data2(), GeomVertexWriter::add_data3(), and GeomVertexWriter::add_data4().
|
inline |
Draws a 2D rectangle which can be clipped.
Definition at line 130 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 185 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 215 of file meshDrawer2D.cxx.
References rectangle_tiled().
|
inline |
Definition at line 113 of file meshDrawer2D.I.
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 134 of file meshDrawer2D.cxx.
References rectangle().
Referenced by rectangle_border_tiled().
|
inline |
Sets the total triangle budget of the drawer.
Definition at line 56 of file meshDrawer2D.I.
|
inline |
Sets the clipping rectangle.
Definition at line 73 of file meshDrawer2D.I.