20 #ifndef __CU_TEXTURED_NODE_H__
21 #define __CU_TEXTURED_NODE_H__
25 #include <2d/CCNode.h>
26 #include <base/CCProtocols.h>
27 #include <renderer/CCTrianglesCommand.h>
32 #pragma mark TexturedNode
73 #pragma mark Internal Helpers
111 TrianglesCommand::Triangles& allocTriangles(
const Poly2& poly);
116 void clearRenderData();
121 void updateColor()
override;
126 void updateBlendFunc();
135 void updateTextureCoords();
138 #pragma mark Abstract Methods
150 #pragma mark Attribute Accessors
163 virtual void setTexture(
const std::string &filename);
178 virtual void setTexture(Texture2D *texture)
override;
185 virtual Texture2D*
getTexture()
const override {
return _texture; }
196 virtual void setPolygon(
float* vertices,
int size,
int offset=0);
203 virtual void setPolygon(
const Poly2& poly);
215 virtual void setPolygon(
const Rect& rect);
239 virtual void shiftPolygon(
float dx,
float dy);
261 void setBlendFunc(
const BlendFunc &blendFunc)
override { _blendFunc = blendFunc; }
280 virtual void setOpacityModifyRGB(
bool modify)
override;
289 virtual bool isOpacityModifyRGB(
void)
const override;
300 void flipHorizontal(
bool flag) { _flipHorizontal = flag; updateTextureCoords(); }
318 void flipVertical(
bool flag) { _flipVertical = flag; updateTextureCoords(); }
328 CC_CONSTRUCTOR_ACCESS:
329 #pragma mark Initializers
358 virtual bool init()
override;
374 virtual bool init(
float* vertices,
int size,
int offset=0);
386 virtual bool init(
const Poly2& poly);
399 virtual bool init(
const Rect& rect);
412 virtual bool initWithFile(
const std::string& filename);
427 virtual bool initWithFile(
const std::string& filename,
float* vertices,
int size,
int offset=0);
438 virtual bool initWithFile(
const std::string& filename,
const Poly2& poly);
453 virtual bool initWithFile(
const std::string& filename,
const Rect& rect);
466 virtual bool initWithTexture(Texture2D *texture);
482 virtual bool initWithTexture(Texture2D *texture,
float* vertices,
int size,
int offset=0);
494 virtual bool initWithTexture(Texture2D *texture,
const Poly2& poly);
510 virtual bool initWithTexture(Texture2D *texture,
const Rect& rect);
bool _flipVertical
Definition: CUTexturedNode.h:98
Definition: CUTexturedNode.h:71
const Rect & getBounds() const
Definition: CUPoly2.h:574
virtual void generateRenderData()
Definition: CUTexturedNode.h:146
bool _insideBounds
Definition: CUTexturedNode.h:86
virtual Texture2D * getTexture() const override
Definition: CUTexturedNode.h:185
BlendFunc _blendFunc
Definition: CUTexturedNode.h:84
Poly2 _polygon
Definition: CUTexturedNode.h:82
bool isFlipHorizontal() const
Definition: CUTexturedNode.h:307
bool isFlipVertical() const
Definition: CUTexturedNode.h:325
void setBlendFunc(const BlendFunc &blendFunc) override
Definition: CUTexturedNode.h:261
TrianglesCommand::Triangles _triangles
Definition: CUTexturedNode.h:93
Texture2D * _texture
Definition: CUTexturedNode.h:80
const Poly2 & getPolygon() const
Definition: CUTexturedNode.h:222
const Rect & getBoundingRect() const
Definition: CUTexturedNode.h:251
bool _opacityModifyRGB
Definition: CUTexturedNode.h:88
void flipHorizontal(bool flag)
Definition: CUTexturedNode.h:300
TrianglesCommand _command
Definition: CUTexturedNode.h:91
bool _flipHorizontal
Definition: CUTexturedNode.h:96
void flipVertical(bool flag)
Definition: CUTexturedNode.h:318
const BlendFunc & getBlendFunc() const override
Definition: CUTexturedNode.h:271