34 #ifndef __CU_TEXTURED_NODE_H__
35 #define __CU_TEXTURED_NODE_H__
38 #include "../math/CUPoly2.h"
40 #include "../renderer/CUTexture.h"
41 #include "../renderer/CUVertex.h"
116 #pragma mark Constructors
140 virtual void dispose()
override;
168 bool init(
const std::vector<Vec2>& vertices) {
226 bool initWithFile(
const std::string& filename,
const std::vector<Vec2>& vertices) {
227 _polygon.
set(vertices);
275 bool initWithTexture(
const std::shared_ptr<Texture>& texture,
const std::vector<Vec2>& vertices) {
304 #pragma mark Attributes
328 void setTexture(
const std::shared_ptr<Texture>& texture);
351 virtual void setPolygon(
const std::vector<Vec2>& vertices) = 0;
529 virtual std::string
toString(
bool verbose=
false)
const override;
532 #pragma mark Absolute Position
599 #pragma mark Rendering
623 virtual void draw(
const std::shared_ptr<SpriteBatch>& batch,
624 const Mat4& transform,
Color4 tint)
override = 0;
629 #pragma mark Internal Helpers
GLenum getDestinationBlendFactor() const
Definition: CUTexturedNode.h:450
bool init(const Poly2 &poly)
Definition: CUTexturedNode.h:183
bool initWithTexture(const std::shared_ptr< Texture > &texture)
Definition: CUTexturedNode.h:83
static const Rect ZERO
Definition: CURect.h:54
bool isFlipVertical() const
Definition: CUTexturedNode.h:517
GLenum _srcFactor
Definition: CUTexturedNode.h:106
void setBlendFunc(GLenum srcFactor, GLenum dstFactor)
Definition: CUPoly2.h:115
bool init(const Rect &rect)
Definition: CUTexturedNode.h:200
void flipVertical(bool flag)
Definition: CUTexturedNode.h:510
const std::shared_ptr< Texture > & getTexture() const
Definition: CUTexturedNode.h:342
bool initWithFile(const std::string &filename, const std::vector< Vec2 > &vertices)
Definition: CUTexturedNode.h:226
std::vector< Vertex2 > _vertices
Definition: CUTexturedNode.h:101
std::string _classname
Definition: CUTexturedNode.h:87
GLenum getBlendEquation() const
Definition: CUTexturedNode.h:481
const Rect & getBounds() const
Definition: CUPoly2.h:834
virtual std::string toString(bool verbose=false) const override
void updateTextureCoords()
void setTexture(const std::string &filename)
Definition: CUTexturedNode.h:314
bool _flipVertical
Definition: CUTexturedNode.h:113
const Rect & getBoundingRect() const
Definition: CUTexturedNode.h:402
bool init(const std::vector< Vec2 > &vertices)
Definition: CUTexturedNode.h:168
GLenum getSourceBlendFactor() const
Definition: CUTexturedNode.h:436
virtual void setAnchor(const Vec2 &anchor)
static std::shared_ptr< Texture > allocWithFile(const std::string &filename)
Definition: CUTexture.h:245
bool _flipHorizontal
Definition: CUTexturedNode.h:111
GLenum _blendEquation
Definition: CUTexturedNode.h:104
virtual void dispose() override
static const Vec2 ANCHOR_BOTTOM_LEFT
Definition: CUVec2.h:82
bool isFlipHorizontal() const
Definition: CUTexturedNode.h:499
virtual void setAnchor(const Vec2 &anchor) override
Definition: CUTexturedNode.h:593
virtual void draw(const std::shared_ptr< SpriteBatch > &batch, const Mat4 &transform, Color4 tint) override=0
virtual bool init() override
Definition: CUTexturedNode.h:151
Vec2 _anchor
Definition: CUNode.h:109
virtual void shiftPolygon(float dx, float dy)
const Poly2 & getPolygon() const
Definition: CUTexturedNode.h:374
bool _rendered
Definition: CUTexturedNode.h:99
CU_DISALLOW_COPY_AND_ASSIGN(TexturedNode)
void setAbsolute(bool flag)
Definition: CUTexturedNode.h:565
void flipHorizontal(bool flag)
Definition: CUTexturedNode.h:492
Poly2 & set(const std::vector< Vec2 > &vertices)
virtual void generateRenderData()
bool initWithTexture(const std::shared_ptr< Texture > &texture, const std::vector< Vec2 > &vertices)
Definition: CUTexturedNode.h:275
Poly2 _polygon
Definition: CUTexturedNode.h:93
std::shared_ptr< Texture > _texture
Definition: CUTexturedNode.h:90
virtual void setPolygon(const std::vector< Vec2 > &vertices)=0
GLenum _dstFactor
Definition: CUTexturedNode.h:108
Definition: CUColor4.h:1104
bool isAbsolute() const
Definition: CUTexturedNode.h:548
Definition: CUAnimationNode.h:52
std::shared_ptr< Texture > & getTexture()
Definition: CUTexturedNode.h:335
virtual ~TexturedNode()
Definition: CUTexturedNode.h:129
void setBlendEquation(GLenum equation)
bool initWithFile(const std::string &filename)
bool _absolute
Definition: CUTexturedNode.h:96