PuzzleSDK
ShaderBlur类 参考

#include <ShaderTest.h>

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

Public 成员函数

 CREATE_FUNC (ShaderBlur)
 
 ShaderBlur ()
 
virtual std::string title () const override
 
virtual std::string subtitle () const override
 
virtual bool init () override
 
void createSliderCtls ()
 
void onRadiusChanged (cocos2d::Ref *sender, cocos2d::extension::Control::EventType controlEvent)
 
void onSampleNumChanged (cocos2d::Ref *sender, cocos2d::extension::Control::EventType controlEvent)
 
- 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 属性

SpriteBlur_blurSprite
 
cocos2d::extension::ControlSlider * _sliderRadiusCtl
 
cocos2d::extension::ControlSlider * _sliderNumCtrl
 
- Protected 属性 继承自 TestCase
cocos2d::MenuItemImage * _priorTestItem
 
cocos2d::MenuItemImage * _restartTestItem
 
cocos2d::MenuItemImage * _nextTestItem
 
cocos2d::Label * _titleLabel
 
cocos2d::Label * _subtitleLabel
 

额外继承的成员函数

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

详细描述

在文件 ShaderTest.h106 行定义.

构造及析构函数说明

◆ ShaderBlur()

ShaderBlur::ShaderBlur ( )

在文件 ShaderTest.cpp504 行定义.

505{
506}

成员函数说明

◆ CREATE_FUNC()

ShaderBlur::CREATE_FUNC ( ShaderBlur  )

◆ createSliderCtls()

void ShaderBlur::createSliderCtls ( )

在文件 ShaderTest.cpp518 行定义.

519{
520 auto screenSize = Director::getInstance()->getWinSize();
521
522 {
523 ControlSlider *slider = ControlSlider::create("extensions/sliderTrack.png","extensions/sliderProgress.png" ,"extensions/sliderThumb.png");
524 slider->setAnchorPoint(Vec2(0.5f, 1.0f));
525 slider->setMinimumValue(0.0f);
526 slider->setMaximumValue(25.0f);
527 slider->setScale(0.6f);
528 slider->setPosition(Vec2(screenSize.width / 4.0f, screenSize.height / 3.0f + 24.0f));
529 slider->addTargetWithActionForControlEvents(this, cccontrol_selector(ShaderBlur::onRadiusChanged), Control::EventType::VALUE_CHANGED);
530 slider->setValue(2.0f);
531 addChild(slider);
532 _sliderRadiusCtl = slider;
533
534 auto label = Label::createWithTTF("Blur Radius", "fonts/arial.ttf", 12.0f);
535 addChild(label);
536 label->setPosition(Vec2(screenSize.width / 4.0f, screenSize.height / 3.0f));
537 }
538
539 {
540 ControlSlider *slider = ControlSlider::create("extensions/sliderTrack.png","extensions/sliderProgress.png" ,"extensions/sliderThumb.png");
541 slider->setAnchorPoint(Vec2(0.5f, 1.0f));
542 slider->setMinimumValue(0.0f);
543 slider->setMaximumValue(11.0f);
544 slider->setScale(0.6f);
545 slider->setPosition(Vec2(screenSize.width / 4.0f, screenSize.height / 3.0f - 10.0f));
546 slider->addTargetWithActionForControlEvents(this, cccontrol_selector(ShaderBlur::onSampleNumChanged), Control::EventType::VALUE_CHANGED);
547 slider->setValue(7.0f);
548 addChild(slider);
549 _sliderNumCtrl = slider;
550
551 auto label = Label::createWithTTF("Blur Sample Num", "fonts/arial.ttf", 12.0f);
552 addChild(label);
553 label->setPosition(Vec2(screenSize.width / 4.0f, screenSize.height / 3.0f - 34.0f));
554 }
555
556}
cocos2d::extension::ControlSlider * _sliderNumCtrl
Definition: ShaderTest.h:121
void onRadiusChanged(cocos2d::Ref *sender, cocos2d::extension::Control::EventType controlEvent)
Definition: ShaderTest.cpp:582
void onSampleNumChanged(cocos2d::Ref *sender, cocos2d::extension::Control::EventType controlEvent)
Definition: ShaderTest.cpp:588
cocos2d::extension::ControlSlider * _sliderRadiusCtl
Definition: ShaderTest.h:120

引用了 _sliderNumCtrl, _sliderRadiusCtl, onRadiusChanged() , 以及 onSampleNumChanged().

被这些函数引用 init().

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

◆ init()

bool ShaderBlur::init ( )
overridevirtual

在文件 ShaderTest.cpp558 行定义.

559{
560 if( ShaderTestDemo::init() )
561 {
562 _blurSprite = SpriteBlur::create("Images/grossini.png");
563 auto sprite = Sprite::create("Images/grossini.png");
564 auto s = Director::getInstance()->getWinSize();
565 _blurSprite->setPosition(Vec2(s.width/3, s.height/2 + 30.0f));
566 sprite->setPosition(Vec2(2*s.width/3, s.height/2 + 30.0f));
567
568 addChild(_blurSprite);
569 addChild(sprite);
570
571 auto label = Label::createWithTTF("Normal Sprite", "fonts/arial.ttf", 12.0f);
572 addChild(label);
573 label->setPosition(Vec2(2*s.width/3, s.height/3.0f));
575
576 return true;
577 }
578
579 return false;
580}
void createSliderCtls()
Definition: ShaderTest.cpp:518
SpriteBlur * _blurSprite
Definition: ShaderTest.h:119
static SpriteBlur * create(const char *pszFileName)
Definition: ShaderTest.cpp:429

引用了 _blurSprite, SpriteBlur::create() , 以及 createSliderCtls().

+ 函数调用图:

◆ onRadiusChanged()

void ShaderBlur::onRadiusChanged ( cocos2d::Ref *  sender,
cocos2d::extension::Control::EventType  controlEvent 
)

在文件 ShaderTest.cpp582 行定义.

583{
584 ControlSlider* slider = (ControlSlider*)sender;
585 _blurSprite->setBlurRadius(slider->getValue());
586}
void setBlurRadius(float radius)
Definition: ShaderTest.cpp:490

引用了 _blurSprite , 以及 SpriteBlur::setBlurRadius().

被这些函数引用 createSliderCtls().

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

◆ onSampleNumChanged()

void ShaderBlur::onSampleNumChanged ( cocos2d::Ref *  sender,
cocos2d::extension::Control::EventType  controlEvent 
)

在文件 ShaderTest.cpp588 行定义.

589{
590 ControlSlider* slider = (ControlSlider*)sender;
591 _blurSprite->setBlurSampleNum(slider->getValue());
592}
void setBlurSampleNum(float num)
Definition: ShaderTest.cpp:496

引用了 _blurSprite , 以及 SpriteBlur::setBlurSampleNum().

被这些函数引用 createSliderCtls().

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

◆ subtitle()

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

重载 TestCase .

在文件 ShaderTest.cpp513 行定义.

514{
515 return "Gaussian blur";
516}

◆ title()

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

重载 TestCase .

在文件 ShaderTest.cpp508 行定义.

509{
510 return "Shader: Frag shader";
511}

类成员变量说明

◆ _blurSprite

SpriteBlur* ShaderBlur::_blurSprite
protected

在文件 ShaderTest.h119 行定义.

被这些函数引用 init(), onRadiusChanged() , 以及 onSampleNumChanged().

◆ _sliderNumCtrl

cocos2d::extension::ControlSlider* ShaderBlur::_sliderNumCtrl
protected

在文件 ShaderTest.h121 行定义.

被这些函数引用 createSliderCtls().

◆ _sliderRadiusCtl

cocos2d::extension::ControlSlider* ShaderBlur::_sliderRadiusCtl
protected

在文件 ShaderTest.h120 行定义.

被这些函数引用 createSliderCtls().


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