PuzzleSDK
RenderTextureIssue937类 参考

#include <RenderTextureTest.h>

+ 类 RenderTextureIssue937 继承关系图:
+ RenderTextureIssue937 的协作图:

Public 成员函数

 CREATE_FUNC (RenderTextureIssue937)
 
 RenderTextureIssue937 ()
 
virtual std::string title () const override
 
virtual std::string subtitle () const override
 
- Public 成员函数 继承自 TestCase
 TestCase ()
 
 ~TestCase ()
 
virtual Type getTestType () const
 
virtual float getDuration () const
 
virtual std::string getExpectedOutput () const
 
virtual std::string getActualOutput () const
 
virtual void restartTestCallback (cocos2d::Ref *sender)
 
virtual void nextTestCallback (cocos2d::Ref *sender)
 
virtual void priorTestCallback (cocos2d::Ref *sender)
 
virtual void onBackCallback (cocos2d::Ref *sender)
 
void setTestSuite (TestSuite *testSuite)
 
TestSuitegetTestSuite () const
 
float getRunTime () const
 
void setTestCaseName (const std::string &name)
 
std::string getTestCaseName () const
 
const cocos2d::Label * getSubtitleLable () const
 
const cocos2d::MenuItemImage * getRestartTestItem () const
 
virtual void onEnter () override
 

额外继承的成员函数

- Public 类型 继承自 TestCase
enum class  Type { ROBUSTNESS , UNIT , GRAPHICAL_STATIC , MANUAL }
 
- Public 属性 继承自 TestCase
CC_CONSTRUCTOR_ACCESS __pad0__: virtual bool init() override
 
- Protected 属性 继承自 TestCase
cocos2d::MenuItemImage * _priorTestItem
 
cocos2d::MenuItemImage * _restartTestItem
 
cocos2d::MenuItemImage * _nextTestItem
 
cocos2d::Label * _titleLabel
 
cocos2d::Label * _subtitleLabel
 

详细描述

在文件 RenderTextureTest.h57 行定义.

构造及析构函数说明

◆ RenderTextureIssue937()

RenderTextureIssue937::RenderTextureIssue937 ( )

Implementation of RenderTextureIssue937

在文件 RenderTextureTest.cpp218 行定义.

219{
220 /*
221 * 1 2
222 * A: A1 A2
223 *
224 * B: B1 B2
225 *
226 * A1: premulti sprite
227 * A2: premulti render
228 *
229 * B1: non-premulti sprite
230 * B2: non-premulti render
231 */
232 auto background = LayerColor::create(Color4B(200,200,200,255));
233 addChild(background);
234
235 auto s = Director::getInstance()->getWinSize();
236 auto spr_premulti = Sprite::create("Images/fire.png");
237 spr_premulti->setPosition(Vec2(s.width/2-16, s.height/2+16));
238
239 auto spr_nonpremulti = Sprite::create("Images/fire.png");
240 spr_nonpremulti->setPosition(Vec2(s.width/2-16, s.height/2-16));
241
242 /* A2 & B2 setup */
243 auto rend = RenderTexture::create(32, 64, backend::PixelFormat::RGBA8888);
244
245 if (nullptr == rend)
246 {
247 return;
248 }
249
250 auto spr_size = spr_premulti->getContentSize();
251 rend->setKeepMatrix(true);
252 Size pixelSize = Director::getInstance()->getWinSizeInPixels();
253 rend->setVirtualViewport(Vec2(s.width/2-32, s.height/2-32),Rect(0,0,s.width,s.height),Rect(0,0,pixelSize.width,pixelSize.height));
254
255 // It's possible to modify the RenderTexture blending function by
256 // [[rend sprite] setBlendFunc:(BlendFunc) {BlendFactor::ONE, BlendFactor::ONE_MINUS_SRC_ALPHA}];
257 rend->begin();
258 spr_premulti->visit();
259 spr_nonpremulti->visit();
260 rend->end();
261
262 rend->setPosition(Vec2(s.width/2+16, s.height/2));
263
264 addChild(spr_nonpremulti);
265 addChild(spr_premulti);
266 addChild(rend);
267}

成员函数说明

◆ CREATE_FUNC()

RenderTextureIssue937::CREATE_FUNC ( RenderTextureIssue937  )

◆ subtitle()

std::string RenderTextureIssue937::subtitle ( ) const
overridevirtual

重载 TestCase .

在文件 RenderTextureTest.cpp274 行定义.

275{
276 return "All images should be equal...";
277}

◆ title()

std::string RenderTextureIssue937::title ( ) const
overridevirtual

重载 TestCase .

在文件 RenderTextureTest.cpp269 行定义.

270{
271 return "Testing issue #937";
272}

该类的文档由以下文件生成: