mirror of https://github.com/axmolengine/axmol.git
56 lines
2.0 KiB
Plaintext
56 lines
2.0 KiB
Plaintext
|
|
||
|
namespace cocos2d {
|
||
|
|
||
|
typedef enum eImageFormat
|
||
|
{
|
||
|
kCCImageFormatJPG = 0,
|
||
|
kCCImageFormatPNG = 1,
|
||
|
kCCImageFormatRawData = 2
|
||
|
} tImageFormat;
|
||
|
|
||
|
class CCRenderTexture : public CCNode
|
||
|
{
|
||
|
/** The CCSprite being used.
|
||
|
The sprite, by default, will use the following blending function: GL_ONE, GL_ONE_MINUS_SRC_ALPHA.
|
||
|
The blending function can be changed in runtime by calling:
|
||
|
- [[renderTexture sprite] setBlendFunc:(ccBlendFunc){GL_ONE, GL_ONE_MINUS_SRC_ALPHA}];
|
||
|
*/
|
||
|
CCSprite* getSprite();
|
||
|
void setSprite(CCSprite* psprite);
|
||
|
|
||
|
CCRenderTexture();
|
||
|
~CCRenderTexture();
|
||
|
/** creates a RenderTexture object with width and height in Points and a pixel format, only RGB and RGBA formats are valid */
|
||
|
static CCRenderTexture * renderTextureWithWidthAndHeight(int w, int h, CCTexture2DPixelFormat eFormat);
|
||
|
|
||
|
/** creates a RenderTexture object with width and height in Points, pixel format is RGBA8888 */
|
||
|
static CCRenderTexture * renderTextureWithWidthAndHeight(int w, int h);
|
||
|
|
||
|
/** initializes a RenderTexture object with width and height in Points and a pixel format, only RGB and RGBA formats are valid */
|
||
|
bool initWithWidthAndHeight(int w, int h, CCTexture2DPixelFormat eFormat);
|
||
|
|
||
|
/** starts grabbing */
|
||
|
void begin();
|
||
|
|
||
|
/** starts rendering to the texture while clearing the texture first.
|
||
|
This is more efficient then calling -clear first and then -begin */
|
||
|
void beginWithClear(float r, float g, float b, float a);
|
||
|
|
||
|
/** ends grabbing */
|
||
|
void endToLua();
|
||
|
|
||
|
/** clears the texture with a color */
|
||
|
void clear(float r, float g, float b, float a);
|
||
|
|
||
|
/** saves the texture into a file */
|
||
|
bool saveBuffer(const char *name);
|
||
|
/** saves the texture into a file. The format can be JPG or PNG */
|
||
|
bool saveBuffer(const char *name, int format);
|
||
|
|
||
|
/* get buffer as UIImage, can only save a render buffer which has a RGBA8888 pixel format */
|
||
|
CCData *getUIImageAsDataFromBuffer(int format);
|
||
|
|
||
|
};
|
||
|
|
||
|
} // namespace cocos2d
|