 |
CUGL 1.3
Cornell University Game Library
|
34 #ifndef __CU_TEXTURED_NODE_H__
35 #define __CU_TEXTURED_NODE_H__
38 #include <cugl/math/CUPoly2.h>
39 #include <cugl/2d/CUNode.h>
40 #include <cugl/renderer/CUTexture.h>
41 #include <cugl/renderer/CUVertex.h>
119 #pragma mark Constructors
143 virtual void dispose()
override;
171 bool init(
const std::vector<Vec2>& vertices) {
229 bool initWithFile(
const std::string& filename,
const std::vector<Vec2>& vertices) {
278 bool initWithTexture(
const std::shared_ptr<Texture>& texture,
const std::vector<Vec2>& vertices) {
329 #pragma mark Attributes
353 void setTexture(
const std::shared_ptr<Texture>& texture);
376 virtual void setPolygon(
const std::vector<Vec2>& vertices) = 0;
554 virtual std::string
toString(
bool verbose=
false)
const override;
558 #pragma mark Scaling Attributes
656 #pragma mark Rendering
680 virtual void draw(
const std::shared_ptr<SpriteBatch>& batch,
681 const Mat4& transform,
Color4 tint)
override = 0;
689 #pragma mark Internal Helpers
std::shared_ptr< Texture > _texture
Definition: CUTexturedNode.h:91
bool initWithFile(const std::string &filename, const std::vector< Vec2 > &vertices)
Definition: CUTexturedNode.h:229
void setBlendEquation(GLenum equation)
Definition: CUTexturedNode.h:492
bool isFlipVertical() const
Definition: CUTexturedNode.h:542
const Poly2 & getPolygon() const
Definition: CUTexturedNode.h:399
bool _rendered
Definition: CUTexturedNode.h:102
const Rect & getBounds() const
Definition: CUPoly2.h:867
virtual bool init() override
Definition: CUTexturedNode.h:154
Poly2 & set(const std::vector< Vec2 > &vertices)
virtual std::string toString(bool verbose=false) const override
virtual void shiftPolygon(float dx, float dy)
virtual void setAnchor(const Vec2 &anchor)
virtual void setContentSize(const Size &size) override
bool init(const std::vector< Vec2 > &vertices)
Definition: CUTexturedNode.h:171
const Rect & getBoundingRect() const
Definition: CUTexturedNode.h:427
virtual void generateRenderData()
void setTexture(const std::string &filename)
Definition: CUTexturedNode.h:339
bool isAbsolute() const
Definition: CUTexturedNode.h:574
virtual void setAnchor(const Vec2 &anchor) override
Definition: CUTexturedNode.h:619
bool _absolute
Definition: CUTexturedNode.h:97
Definition: CUColor4.h:1084
bool initWithTexture(const std::shared_ptr< Texture > &texture, const std::vector< Vec2 > &vertices)
Definition: CUTexturedNode.h:278
bool _flipHorizontal
Definition: CUTexturedNode.h:114
void flipHorizontal(bool flag)
Definition: CUTexturedNode.h:517
virtual void setPolygon(const std::vector< Vec2 > &vertices)=0
bool isFlipHorizontal() const
Definition: CUTexturedNode.h:524
const std::shared_ptr< Texture > & getTexture() const
Definition: CUTexturedNode.h:367
virtual void dispose() override
static const Vec2 ANCHOR_BOTTOM_LEFT
Definition: CUVec2.h:82
std::shared_ptr< Texture > & getTexture()
Definition: CUTexturedNode.h:360
std::string _classname
Definition: CUTexturedNode.h:88
virtual bool initWithData(const SceneLoader *loader, const std::shared_ptr< JsonValue > &data) override
bool _flipVertical
Definition: CUTexturedNode.h:116
void refresh()
Definition: CUTexturedNode.h:686
void updateTextureCoords()
GLenum _dstFactor
Definition: CUTexturedNode.h:111
void setAbsolute(bool flag)
Definition: CUTexturedNode.h:591
void flipVertical(bool flag)
Definition: CUTexturedNode.h:535
Definition: CUSceneLoader.h:77
Poly2 _polygon
Definition: CUTexturedNode.h:94
~TexturedNode()
Definition: CUTexturedNode.h:132
void setBlendFunc(GLenum srcFactor, GLenum dstFactor)
Definition: CUTexturedNode.h:447
Definition: CUPoly2.h:109
bool initWithFile(const std::string &filename)
bool _stretch
Definition: CUTexturedNode.h:99
bool init(const Poly2 &poly)
Definition: CUTexturedNode.h:186
virtual void setContentSize(float width, float height) override
Definition: CUTexturedNode.h:650
GLenum _blendEquation
Definition: CUTexturedNode.h:107
GLenum getDestinationBlendFactor() const
Definition: CUTexturedNode.h:475
GLenum _srcFactor
Definition: CUTexturedNode.h:109
virtual void draw(const std::shared_ptr< SpriteBatch > &batch, const Mat4 &transform, Color4 tint) override=0
static std::shared_ptr< Texture > allocWithFile(const std::string &filename)
Definition: CUTexture.h:269
bool initWithTexture(const std::shared_ptr< Texture > &texture)
Definition: CUTexturedNode.h:84
bool init(const Rect &rect)
Definition: CUTexturedNode.h:203
CU_DISALLOW_COPY_AND_ASSIGN(TexturedNode)
std::vector< Vertex2 > _vertices
Definition: CUTexturedNode.h:104
static const Rect ZERO
Definition: CURect.h:54
GLenum getSourceBlendFactor() const
Definition: CUTexturedNode.h:461
Vec2 _anchor
Definition: CUNode.h:109
GLenum getBlendEquation() const
Definition: CUTexturedNode.h:506