PuzzleSDK
SpriteFrameCachePixelFormatTest类 参考

#include <SpriteFrameCacheTest.h>

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

Public 成员函数

 CREATE_FUNC (SpriteFrameCachePixelFormatTest)
 
virtual std::string title () const override
 
virtual std::string subtitle () const override
 
 SpriteFrameCachePixelFormatTest ()
 
- 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
 

Private 成员函数

void loadSpriteFrames (const std::string &file, cocos2d::backend::PixelFormat expectedFormat)
 

Private 属性

cocos2d::Label * infoLabel
 

额外继承的成员函数

- 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
 

详细描述

在文件 SpriteFrameCacheTest.h33 行定义.

构造及析构函数说明

◆ SpriteFrameCachePixelFormatTest()

SpriteFrameCachePixelFormatTest::SpriteFrameCachePixelFormatTest ( )

在文件 SpriteFrameCacheTest.cpp43 行定义.

44{
45 const Size screenSize = Director::getInstance()->getWinSize();
46
47 infoLabel = Label::create();
48 infoLabel->setAnchorPoint(Point(0.5f, 1.0f));
49 infoLabel->setAlignment(cocos2d::TextHAlignment::CENTER);
50 infoLabel->setPosition(screenSize.width * 0.5f, screenSize.height * 0.7f);
51 addChild(infoLabel);
52
53 // load atlas definition with specified PixelFormat and check that it matches to expected format
54 loadSpriteFrames("Images/sprite_frames_test/test_A8.plist", backend::PixelFormat::A8);
55 loadSpriteFrames("Images/sprite_frames_test/test_RGBA8888.plist", backend::PixelFormat::RGBA8888);
56 loadSpriteFrames("Images/sprite_frames_test/test_AI88.plist", backend::PixelFormat::AI88);
57 loadSpriteFrames("Images/sprite_frames_test/test_RGBA8888.plist", backend::PixelFormat::RGBA8888);
58 loadSpriteFrames("Images/sprite_frames_test/test_RGB565.plist", backend::PixelFormat::RGB565);
59 loadSpriteFrames("Images/sprite_frames_test/test_RGB888.plist", backend::PixelFormat::RGB888);
60 loadSpriteFrames("Images/sprite_frames_test/test_RGBA4444.plist", backend::PixelFormat::RGBA4444);
61 loadSpriteFrames("Images/sprite_frames_test/test_RGBA5551.plist", backend::PixelFormat::RGB5A1);
62
63 if (Configuration::getInstance()->supportsPVRTC()) {
64 loadSpriteFrames("Images/sprite_frames_test/test_PVRTC2.plist", backend::PixelFormat::PVRTC2A);
65 loadSpriteFrames("Images/sprite_frames_test/test_PVRTC4.plist", backend::PixelFormat::PVRTC4A);
66 loadSpriteFrames("Images/sprite_frames_test/test_PVRTC2_NOALPHA.plist", backend::PixelFormat::PVRTC2);
67 }
68
69 // test loading atlases without PixelFormat specified
70 Texture2D::setDefaultAlphaPixelFormat(backend::PixelFormat::RGB5A1);
71 loadSpriteFrames("Images/sprite_frames_test/test_NoFormat.plist", backend::PixelFormat::RGB5A1);
72
73 // restore default alpha pixel format
74 Texture2D::setDefaultAlphaPixelFormat(backend::PixelFormat::RGBA8888);
75}
void loadSpriteFrames(const std::string &file, cocos2d::backend::PixelFormat expectedFormat)

引用了 infoLabel , 以及 loadSpriteFrames().

+ 函数调用图:

成员函数说明

◆ CREATE_FUNC()

SpriteFrameCachePixelFormatTest::CREATE_FUNC ( SpriteFrameCachePixelFormatTest  )

◆ loadSpriteFrames()

void SpriteFrameCachePixelFormatTest::loadSpriteFrames ( const std::string &  file,
cocos2d::backend::PixelFormat  expectedFormat 
)
private

在文件 SpriteFrameCacheTest.cpp77 行定义.

78{
79 SpriteFrameCache::getInstance()->addSpriteFramesWithFile(file);
80 SpriteFrame *spriteFrame = SpriteFrameCache::getInstance()->getSpriteFrameByName("grossini.png");
81 Texture2D *texture = spriteFrame->getTexture();
82 const ssize_t bitsPerKB = 8 * 1024;
83 const double memorySize = 1.0 * texture->getBitsPerPixelForFormat() * texture->getContentSizeInPixels().width * texture->getContentSizeInPixels().height / bitsPerKB;
84#ifndef CC_USE_METAL
85 CC_ASSERT(texture->getPixelFormat() == expectedFormat);
86#endif
87 const std::string textureInfo = StringUtils::format("%s: %.2f KB\r\n", texture->getStringForFormat(), memorySize);
88 infoLabel->setString(infoLabel->getString() + textureInfo);
89
90 SpriteFrameCache::getInstance()->removeSpriteFramesFromFile(file);
91 Director::getInstance()->getTextureCache()->removeTexture(texture);
92}

引用了 infoLabel.

被这些函数引用 SpriteFrameCachePixelFormatTest().

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

◆ subtitle()

virtual std::string SpriteFrameCachePixelFormatTest::subtitle ( ) const
inlineoverridevirtual

重载 TestCase .

在文件 SpriteFrameCacheTest.h39 行定义.

39{ return "It shouldn't crash"; }

◆ title()

virtual std::string SpriteFrameCachePixelFormatTest::title ( ) const
inlineoverridevirtual

重载 TestCase .

在文件 SpriteFrameCacheTest.h38 行定义.

38{ return "Pixel formats test"; }

类成员变量说明

◆ infoLabel

cocos2d::Label* SpriteFrameCachePixelFormatTest::infoLabel
private

在文件 SpriteFrameCacheTest.h47 行定义.

被这些函数引用 loadSpriteFrames() , 以及 SpriteFrameCachePixelFormatTest().


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