PuzzleSDK
CaptureScreenTest类 参考

#include <NewRendererTest.h>

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

Public 成员函数

 CREATE_FUNC (CaptureScreenTest)
 
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
 

Protected 成员函数

 CaptureScreenTest ()
 
 ~CaptureScreenTest ()
 
void onCaptured (cocos2d::Ref *)
 
void afterCaptured (bool succeed, const std::string &outputFile)
 

Protected 属性

std::string _filename
 
- Protected 属性 继承自 TestCase
cocos2d::MenuItemImage * _priorTestItem
 
cocos2d::MenuItemImage * _restartTestItem
 
cocos2d::MenuItemImage * _nextTestItem
 
cocos2d::Label * _titleLabel
 
cocos2d::Label * _subtitleLabel
 

静态 Private 属性

static const int childTag = 119
 

额外继承的成员函数

- Public 类型 继承自 TestCase
enum class  Type { ROBUSTNESS , UNIT , GRAPHICAL_STATIC , MANUAL }
 
- Public 属性 继承自 TestCase
CC_CONSTRUCTOR_ACCESS __pad0__: virtual bool init() override
 

详细描述

在文件 NewRendererTest.h164 行定义.

构造及析构函数说明

◆ CaptureScreenTest()

CaptureScreenTest::CaptureScreenTest ( )
protected

在文件 NewRendererTest.cpp617 行定义.

618{
619 Size s = Director::getInstance()->getWinSize();
620 Vec2 left(s.width / 4, s.height / 2);
621 Vec2 right(s.width / 4 * 3, s.height / 2);
622
623 auto sp1 = Sprite::create("Images/grossini.png");
624 sp1->setPosition(left);
625 auto move1 = MoveBy::create(1, Vec2(s.width/2, 0.0f));
626 auto seq1 = RepeatForever::create(Sequence::create(move1, move1->reverse(), nullptr));
627 addChild(sp1);
628 sp1->runAction(seq1);
629 auto sp2 = Sprite::create("Images/grossinis_sister1.png");
630 sp2->setPosition(right);
631 auto move2 = MoveBy::create(1, Vec2(-s.width/2, 0.0f));
632 auto seq2 = RepeatForever::create(Sequence::create(move2, move2->reverse(), nullptr));
633 addChild(sp2);
634 sp2->runAction(seq2);
635
636 auto label1 = Label::createWithTTF(TTFConfig("fonts/arial.ttf"), "capture all");
637 auto mi1 = MenuItemLabel::create(label1, CC_CALLBACK_1(CaptureScreenTest::onCaptured, this));
638 auto menu = Menu::create(mi1, nullptr);
639 addChild(menu);
640 menu->setPosition(s.width / 2, s.height / 4);
641
642 _filename = "";
643}
void onCaptured(cocos2d::Ref *)
std::string _filename

引用了 _filename , 以及 onCaptured().

+ 函数调用图:

◆ ~CaptureScreenTest()

CaptureScreenTest::~CaptureScreenTest ( )
protected

在文件 NewRendererTest.cpp645 行定义.

646{
647 Director::getInstance()->getTextureCache()->removeTextureForKey(_filename);
648}

引用了 _filename.

成员函数说明

◆ afterCaptured()

void CaptureScreenTest::afterCaptured ( bool  succeed,
const std::string &  outputFile 
)
protected

在文件 NewRendererTest.cpp670 行定义.

671{
672 if (succeed)
673 {
674 auto sp = Sprite::create(outputFile);
675 addChild(sp, 0, childTag);
676 Size s = Director::getInstance()->getWinSize();
677 sp->setPosition(s.width / 2, s.height / 2);
678 sp->setScale(0.25);
679 _filename = outputFile;
680 }
681 else
682 {
683 log("Capture screen failed.");
684 }
685
686 // release it since it is retained in `CaptureScreenTest::onCaptured()`
687 this->release();
688}
static const int childTag

引用了 _filename , 以及 childTag.

被这些函数引用 onCaptured().

+ 这是这个函数的调用关系图:

◆ CREATE_FUNC()

CaptureScreenTest::CREATE_FUNC ( CaptureScreenTest  )

◆ onCaptured()

void CaptureScreenTest::onCaptured ( cocos2d::Ref *  )
protected

在文件 NewRendererTest.cpp660 行定义.

661{
662 Director::getInstance()->getTextureCache()->removeTextureForKey(_filename);
663 removeChildByTag(childTag);
664 _filename = "CaptureScreenTest.png";
665 // retain it to avoid crash caused by invoking afterCaptured
666 this->retain();
667 utils::captureScreen(CC_CALLBACK_2(CaptureScreenTest::afterCaptured, this), _filename);
668}
void afterCaptured(bool succeed, const std::string &outputFile)

引用了 _filename, afterCaptured() , 以及 childTag.

被这些函数引用 CaptureScreenTest().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ subtitle()

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

重载 MultiSceneTest .

在文件 NewRendererTest.cpp655 行定义.

656{
657 return "Capture screen test, press the menu items to capture the screen";
658}

◆ title()

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

重载 MultiSceneTest .

在文件 NewRendererTest.cpp650 行定义.

651{
652 return "New Renderer";
653}

类成员变量说明

◆ _filename

std::string CaptureScreenTest::_filename
protected

在文件 NewRendererTest.h179 行定义.

被这些函数引用 afterCaptured(), CaptureScreenTest(), onCaptured() , 以及 ~CaptureScreenTest().

◆ childTag

const int CaptureScreenTest::childTag = 119
staticprivate

在文件 NewRendererTest.h166 行定义.

被这些函数引用 afterCaptured() , 以及 onCaptured().


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