mirror of https://github.com/axmolengine/axmol.git
issue #4636, finish UISlider
This commit is contained in:
parent
a7a1a6b05b
commit
b59beab61a
|
@ -111,9 +111,9 @@ void Slider::initRenderer()
|
||||||
addProtectedChild(_slidBallRenderer, SLIDBALL_RENDERER_Z, -1);
|
addProtectedChild(_slidBallRenderer, SLIDBALL_RENDERER_Z, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Slider::loadBarTexture(const char* fileName, TextureResType texType)
|
void Slider::loadBarTexture(const std::string& fileName, TextureResType texType)
|
||||||
{
|
{
|
||||||
if (!fileName || strcmp(fileName, "") == 0)
|
if (fileName.empty())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -149,9 +149,9 @@ void Slider::loadBarTexture(const char* fileName, TextureResType texType)
|
||||||
progressBarRendererScaleChangedWithSize();
|
progressBarRendererScaleChangedWithSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Slider::loadProgressBarTexture(const char *fileName, TextureResType texType)
|
void Slider::loadProgressBarTexture(const std::string& fileName, TextureResType texType)
|
||||||
{
|
{
|
||||||
if (!fileName || strcmp(fileName, "") == 0)
|
if (fileName.empty())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -210,8 +210,8 @@ void Slider::setScale9Enabled(bool able)
|
||||||
_barRenderer = Sprite::create();
|
_barRenderer = Sprite::create();
|
||||||
_progressBarRenderer = Sprite::create();
|
_progressBarRenderer = Sprite::create();
|
||||||
}
|
}
|
||||||
loadBarTexture(_textureFile.c_str(), _barTexType);
|
loadBarTexture(_textureFile, _barTexType);
|
||||||
loadProgressBarTexture(_progressBarTextureFile.c_str(), _progressBarTexType);
|
loadProgressBarTexture(_progressBarTextureFile, _progressBarTexType);
|
||||||
addProtectedChild(_barRenderer, BASEBAR_RENDERER_Z, -1);
|
addProtectedChild(_barRenderer, BASEBAR_RENDERER_Z, -1);
|
||||||
addProtectedChild(_progressBarRenderer, PROGRESSBAR_RENDERER_Z, -1);
|
addProtectedChild(_progressBarRenderer, PROGRESSBAR_RENDERER_Z, -1);
|
||||||
if (_scale9Enabled)
|
if (_scale9Enabled)
|
||||||
|
@ -278,16 +278,16 @@ const Rect& Slider::getCapInsetsProgressBarRebderer()
|
||||||
return _capInsetsProgressBarRenderer;
|
return _capInsetsProgressBarRenderer;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Slider::loadSlidBallTextures(const char* normal,const char* pressed,const char* disabled,TextureResType texType)
|
void Slider::loadSlidBallTextures(const std::string& normal,const std::string& pressed,const std::string& disabled,TextureResType texType)
|
||||||
{
|
{
|
||||||
loadSlidBallTextureNormal(normal, texType);
|
loadSlidBallTextureNormal(normal, texType);
|
||||||
loadSlidBallTexturePressed(pressed,texType);
|
loadSlidBallTexturePressed(pressed,texType);
|
||||||
loadSlidBallTextureDisabled(disabled,texType);
|
loadSlidBallTextureDisabled(disabled,texType);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Slider::loadSlidBallTextureNormal(const char* normal,TextureResType texType)
|
void Slider::loadSlidBallTextureNormal(const std::string& normal,TextureResType texType)
|
||||||
{
|
{
|
||||||
if (!normal || strcmp(normal, "") == 0)
|
if (normal.empty())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -307,9 +307,9 @@ void Slider::loadSlidBallTextureNormal(const char* normal,TextureResType texType
|
||||||
updateRGBAToRenderer(_slidBallNormalRenderer);
|
updateRGBAToRenderer(_slidBallNormalRenderer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Slider::loadSlidBallTexturePressed(const char* pressed,TextureResType texType)
|
void Slider::loadSlidBallTexturePressed(const std::string& pressed,TextureResType texType)
|
||||||
{
|
{
|
||||||
if (!pressed || strcmp(pressed, "") == 0)
|
if (pressed.empty())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -329,9 +329,9 @@ void Slider::loadSlidBallTexturePressed(const char* pressed,TextureResType texTy
|
||||||
updateRGBAToRenderer(_slidBallPressedRenderer);
|
updateRGBAToRenderer(_slidBallPressedRenderer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Slider::loadSlidBallTextureDisabled(const char* disabled,TextureResType texType)
|
void Slider::loadSlidBallTextureDisabled(const std::string& disabled,TextureResType texType)
|
||||||
{
|
{
|
||||||
if (!disabled || strcmp(disabled, "") == 0)
|
if (disabled.empty())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -596,11 +596,11 @@ void Slider::copySpecialProperties(Widget *widget)
|
||||||
{
|
{
|
||||||
_prevIgnoreSize = slider->_prevIgnoreSize;
|
_prevIgnoreSize = slider->_prevIgnoreSize;
|
||||||
setScale9Enabled(slider->_scale9Enabled);
|
setScale9Enabled(slider->_scale9Enabled);
|
||||||
loadBarTexture(slider->_textureFile.c_str(), slider->_barTexType);
|
loadBarTexture(slider->_textureFile, slider->_barTexType);
|
||||||
loadProgressBarTexture(slider->_progressBarTextureFile.c_str(), slider->_progressBarTexType);
|
loadProgressBarTexture(slider->_progressBarTextureFile, slider->_progressBarTexType);
|
||||||
loadSlidBallTextureNormal(slider->_slidBallNormalTextureFile.c_str(), slider->_ballNTexType);
|
loadSlidBallTextureNormal(slider->_slidBallNormalTextureFile, slider->_ballNTexType);
|
||||||
loadSlidBallTexturePressed(slider->_slidBallPressedTextureFile.c_str(), slider->_ballPTexType);
|
loadSlidBallTexturePressed(slider->_slidBallPressedTextureFile, slider->_ballPTexType);
|
||||||
loadSlidBallTextureDisabled(slider->_slidBallDisabledTextureFile.c_str(), slider->_ballDTexType);
|
loadSlidBallTextureDisabled(slider->_slidBallDisabledTextureFile, slider->_ballDTexType);
|
||||||
setPercent(slider->getPercent());
|
setPercent(slider->getPercent());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,7 +71,7 @@ public:
|
||||||
*
|
*
|
||||||
* @param texType @see UI_TEX_TYPE_LOCAL
|
* @param texType @see UI_TEX_TYPE_LOCAL
|
||||||
*/
|
*/
|
||||||
void loadBarTexture(const char* fileName,TextureResType texType = UI_TEX_TYPE_LOCAL);
|
void loadBarTexture(const std::string& fileName,TextureResType texType = UI_TEX_TYPE_LOCAL);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets if slider is using scale9 renderer.
|
* Sets if slider is using scale9 renderer.
|
||||||
|
@ -118,7 +118,10 @@ public:
|
||||||
*
|
*
|
||||||
* @param texType @see UI_TEX_TYPE_LOCAL
|
* @param texType @see UI_TEX_TYPE_LOCAL
|
||||||
*/
|
*/
|
||||||
void loadSlidBallTextures(const char* normal,const char* pressed,const char* disabled,TextureResType texType = UI_TEX_TYPE_LOCAL);
|
void loadSlidBallTextures(const std::string& normal,
|
||||||
|
const std::string& pressed,
|
||||||
|
const std::string& disabled,
|
||||||
|
TextureResType texType = UI_TEX_TYPE_LOCAL);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load normal state texture for slider ball.
|
* Load normal state texture for slider ball.
|
||||||
|
@ -127,7 +130,7 @@ public:
|
||||||
*
|
*
|
||||||
* @param texType @see UI_TEX_TYPE_LOCAL
|
* @param texType @see UI_TEX_TYPE_LOCAL
|
||||||
*/
|
*/
|
||||||
void loadSlidBallTextureNormal(const char* normal,TextureResType texType = UI_TEX_TYPE_LOCAL);
|
void loadSlidBallTextureNormal(const std::string& normal,TextureResType texType = UI_TEX_TYPE_LOCAL);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load selected state texture for slider ball.
|
* Load selected state texture for slider ball.
|
||||||
|
@ -136,7 +139,7 @@ public:
|
||||||
*
|
*
|
||||||
* @param texType @see UI_TEX_TYPE_LOCAL
|
* @param texType @see UI_TEX_TYPE_LOCAL
|
||||||
*/
|
*/
|
||||||
void loadSlidBallTexturePressed(const char* pressed,TextureResType texType = UI_TEX_TYPE_LOCAL);
|
void loadSlidBallTexturePressed(const std::string& pressed,TextureResType texType = UI_TEX_TYPE_LOCAL);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load dark state texture for slider ball.
|
* Load dark state texture for slider ball.
|
||||||
|
@ -145,7 +148,7 @@ public:
|
||||||
*
|
*
|
||||||
* @param texType @see UI_TEX_TYPE_LOCAL
|
* @param texType @see UI_TEX_TYPE_LOCAL
|
||||||
*/
|
*/
|
||||||
void loadSlidBallTextureDisabled(const char* disabled,TextureResType texType = UI_TEX_TYPE_LOCAL);
|
void loadSlidBallTextureDisabled(const std::string& disabled,TextureResType texType = UI_TEX_TYPE_LOCAL);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load dark state texture for slider progress bar.
|
* Load dark state texture for slider progress bar.
|
||||||
|
@ -154,7 +157,7 @@ public:
|
||||||
*
|
*
|
||||||
* @param texType @see UI_TEX_TYPE_LOCAL
|
* @param texType @see UI_TEX_TYPE_LOCAL
|
||||||
*/
|
*/
|
||||||
void loadProgressBarTexture(const char* fileName, TextureResType texType = UI_TEX_TYPE_LOCAL);
|
void loadProgressBarTexture(const std::string& fileName, TextureResType texType = UI_TEX_TYPE_LOCAL);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Changes the progress direction of slider.
|
* Changes the progress direction of slider.
|
||||||
|
|
|
@ -22,26 +22,19 @@ bool UISliderTest::init()
|
||||||
Size widgetSize = _widget->getSize();
|
Size widgetSize = _widget->getSize();
|
||||||
|
|
||||||
// Add a label in which the slider alert will be displayed
|
// Add a label in which the slider alert will be displayed
|
||||||
_displayValueLabel = Text::create();
|
_displayValueLabel = Text::create("Move the slider thumb","Move the slider thumb",32);
|
||||||
_displayValueLabel->setText("Move the slider thumb");
|
|
||||||
_displayValueLabel->setFontName("fonts/Marker Felt.ttf");
|
|
||||||
_displayValueLabel->setFontSize(32);
|
|
||||||
_displayValueLabel->setAnchorPoint(Point(0.5f, -1));
|
_displayValueLabel->setAnchorPoint(Point(0.5f, -1));
|
||||||
_displayValueLabel->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f));
|
_displayValueLabel->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f));
|
||||||
_uiLayer->addChild(_displayValueLabel);
|
_uiLayer->addChild(_displayValueLabel);
|
||||||
|
|
||||||
// Add the alert
|
// Add the alert
|
||||||
Text* alert = Text::create();
|
Text* alert = Text::create("Slider","fonts/Marker Felt.ttf",30);
|
||||||
alert->setText("Slider");
|
|
||||||
alert->setFontName("fonts/Marker Felt.ttf");
|
|
||||||
alert->setFontSize(30);
|
|
||||||
alert->setColor(Color3B(159, 168, 176));
|
alert->setColor(Color3B(159, 168, 176));
|
||||||
alert->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getSize().height * 1.75f));
|
alert->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getSize().height * 1.75f));
|
||||||
_uiLayer->addChild(alert);
|
_uiLayer->addChild(alert);
|
||||||
|
|
||||||
// Create the slider
|
// Create the slider
|
||||||
Slider* slider = Slider::create();
|
Slider* slider = Slider::create();
|
||||||
slider->setTouchEnabled(true);
|
|
||||||
slider->loadBarTexture("cocosui/sliderTrack.png");
|
slider->loadBarTexture("cocosui/sliderTrack.png");
|
||||||
slider->loadSlidBallTextures("cocosui/sliderThumb.png", "cocosui/sliderThumb.png", "");
|
slider->loadSlidBallTextures("cocosui/sliderThumb.png", "cocosui/sliderThumb.png", "");
|
||||||
slider->loadProgressBarTexture("cocosui/sliderProgress.png");
|
slider->loadProgressBarTexture("cocosui/sliderProgress.png");
|
||||||
|
@ -49,19 +42,6 @@ bool UISliderTest::init()
|
||||||
slider->addEventListenerSlider(this, sliderpercentchangedselector(UISliderTest::sliderEvent));
|
slider->addEventListenerSlider(this, sliderpercentchangedselector(UISliderTest::sliderEvent));
|
||||||
_uiLayer->addChild(slider);
|
_uiLayer->addChild(slider);
|
||||||
|
|
||||||
/*
|
|
||||||
// Create the slider that set allow min progress and allow max progress
|
|
||||||
Slider* sliderAllow = Slider::create();
|
|
||||||
// sliderAllow->setMinAllowPercent(20);
|
|
||||||
// sliderAllow->setMaxAllowPercent(80);
|
|
||||||
sliderAllow->setTouchEnabled(true);
|
|
||||||
sliderAllow->loadBarTexture("cocosui/sliderTrack.png");
|
|
||||||
sliderAllow->loadSlidBallTextures("cocosui/sliderThumb.png", "cocosui/sliderThumb.png", "");
|
|
||||||
sliderAllow->loadProgressBarTexture("cocosui/sliderProgress.png");
|
|
||||||
sliderAllow->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f - sliderAllow->getSize().height * 2.0f));
|
|
||||||
sliderAllow->addEventListenerSlider(this, sliderpercentchangedselector(UISliderTest::sliderEvent));
|
|
||||||
_uiLayer->addChild(sliderAllow);
|
|
||||||
*/
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -97,26 +77,19 @@ bool UISliderTest_Scale9::init()
|
||||||
Size widgetSize = _widget->getSize();
|
Size widgetSize = _widget->getSize();
|
||||||
|
|
||||||
// Add a label in which the slider alert will be displayed
|
// Add a label in which the slider alert will be displayed
|
||||||
_displayValueLabel = Text::create();
|
_displayValueLabel = Text::create("Move the slider thumb","fonts/Marker Felt.ttf",32);
|
||||||
_displayValueLabel->setText("Move the slider thumb");
|
|
||||||
_displayValueLabel->setFontName("fonts/Marker Felt.ttf");
|
|
||||||
_displayValueLabel->setFontSize(32);
|
|
||||||
_displayValueLabel->setAnchorPoint(Point(0.5f, -1));
|
_displayValueLabel->setAnchorPoint(Point(0.5f, -1));
|
||||||
_displayValueLabel->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f));
|
_displayValueLabel->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f));
|
||||||
_uiLayer->addChild(_displayValueLabel);
|
_uiLayer->addChild(_displayValueLabel);
|
||||||
|
|
||||||
// Add the alert
|
// Add the alert
|
||||||
Text *alert = Text::create();
|
Text *alert = Text::create("Slider scale9 render","fonts/Marker Felt.ttf",30);
|
||||||
alert->setText("Slider scale9 render");
|
|
||||||
alert->setFontName("fonts/Marker Felt.ttf");
|
|
||||||
alert->setFontSize(30);
|
|
||||||
alert->setColor(Color3B(159, 168, 176));
|
alert->setColor(Color3B(159, 168, 176));
|
||||||
alert->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getSize().height * 1.75f));
|
alert->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getSize().height * 1.75f));
|
||||||
_uiLayer->addChild(alert);
|
_uiLayer->addChild(alert);
|
||||||
|
|
||||||
// Create the slider
|
// Create the slider
|
||||||
Slider* slider = Slider::create();
|
Slider* slider = Slider::create();
|
||||||
slider->setTouchEnabled(true);
|
|
||||||
slider->loadBarTexture("cocosui/sliderTrack2.png");
|
slider->loadBarTexture("cocosui/sliderTrack2.png");
|
||||||
slider->loadSlidBallTextures("cocosui/sliderThumb.png", "cocosui/sliderThumb.png", "");
|
slider->loadSlidBallTextures("cocosui/sliderThumb.png", "cocosui/sliderThumb.png", "");
|
||||||
slider->loadProgressBarTexture("cocosui/slider_bar_active_9patch.png");
|
slider->loadProgressBarTexture("cocosui/slider_bar_active_9patch.png");
|
||||||
|
@ -127,22 +100,6 @@ bool UISliderTest_Scale9::init()
|
||||||
slider->addEventListenerSlider(this, sliderpercentchangedselector(UISliderTest_Scale9::sliderEvent));
|
slider->addEventListenerSlider(this, sliderpercentchangedselector(UISliderTest_Scale9::sliderEvent));
|
||||||
_uiLayer->addChild(slider);
|
_uiLayer->addChild(slider);
|
||||||
|
|
||||||
/*
|
|
||||||
// Create the slider that set allow min progress and allow max progress
|
|
||||||
Slider* sliderAllow = Slider::create();
|
|
||||||
// sliderAllow->setMinAllowPercent(20);
|
|
||||||
// sliderAllow->setMaxAllowPercent(80);
|
|
||||||
sliderAllow->setTouchEnabled(true);
|
|
||||||
sliderAllow->loadBarTexture("cocosui/sliderTrack2.png");
|
|
||||||
sliderAllow->loadSlidBallTextures("cocosui/sliderThumb.png", "cocosui/sliderThumb.png", "");
|
|
||||||
sliderAllow->loadProgressBarTexture("cocosui/slider_bar_active_9patch.png");
|
|
||||||
sliderAllow->setScale9Enabled(true);
|
|
||||||
sliderAllow->setCapInsets(Rect(0, 0, 0, 0));
|
|
||||||
sliderAllow->setSize(Size(250.0f, 10.0f / Director::getInstance()->getContentScaleFactor()));
|
|
||||||
sliderAllow->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f - slider->getSize().height * 3.0f));
|
|
||||||
sliderAllow->addEventListenerSlider(this, sliderpercentchangedselector(UISliderTest_Scale9::sliderEvent));
|
|
||||||
_uiLayer->addChild(sliderAllow);
|
|
||||||
*/
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue