MCPcopy Create free account
hub / github.com/axmolengine/axmol / initSliders

Method initSliders

tests/cpp-tests/Source/LabelTest/LabelTest.cpp:2725–2799  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2723}
2724
2725void LabelLayoutBaseTest::initSliders(const ax::Size& size)
2726{
2727 auto slider = ui::Slider::create();
2728 slider->setTag(1);
2729 slider->setTouchEnabled(true);
2730 slider->loadBarTexture("cocosui/sliderTrack.png");
2731 slider->loadSlidBallTextures("cocosui/sliderThumb.png", "cocosui/sliderThumb.png", "");
2732 slider->loadProgressBarTexture("cocosui/sliderProgress.png");
2733 slider->setPosition(Vec2(size.width / 2.0f, size.height * 0.15f + slider->getContentSize().height * 2.0f - 5));
2734 slider->setPercent(52);
2735 addChild(slider);
2736
2737 auto slider1Label = Label::createWithSystemFont(fmt::format("{}%", slider->getPercent()), "Arial", 10);
2738 slider1Label->setAnchorPoint(Vec2::ANCHOR_MIDDLE_BOTTOM);
2739 slider1Label->setPosition(slider->getBoundingBox().size.width / 2.0f, slider->getBoundingBox().size.height + 4);
2740 slider1Label->setName("percentageLabel");
2741 slider->addChild(slider1Label);
2742
2743 auto slider2 = ui::Slider::create();
2744 slider2->setTag(2);
2745 slider2->setTouchEnabled(true);
2746 slider2->loadBarTexture("cocosui/sliderTrack.png");
2747 slider2->loadSlidBallTextures("cocosui/sliderThumb.png", "cocosui/sliderThumb.png", "");
2748 slider2->loadProgressBarTexture("cocosui/sliderProgress.png");
2749 slider2->setPosition(Vec2(size.width * 0.2f, size.height / 2.0f));
2750 slider2->setRotation(-90);
2751 slider2->setPercent(52);
2752 addChild(slider2);
2753
2754 auto slider2Label = Label::createWithSystemFont(fmt::format("{}%", slider2->getPercent()), "Arial", 10);
2755 slider2Label->setAnchorPoint(Vec2::ANCHOR_MIDDLE_BOTTOM);
2756 slider2Label->setPosition(slider2->getBoundingBox().size.height / 2.0f, slider2->getBoundingBox().size.width + 4);
2757 slider2Label->setName("percentageLabel");
2758 slider2->addChild(slider2Label);
2759
2760 auto winSize = Director::getInstance()->getVisibleSize();
2761
2762 slider->addEventListener([this, slider, winSize, slider1Label](Object* /*sender*/, Slider::EventType event) {
2763 float percent = slider->getPercent();
2764 auto labelSize = _label->getContentSize();
2765 auto drawNodeSize = Size(percent / 100.0 * winSize.width, labelSize.height);
2766 if (drawNodeSize.width <= 0)
2767 {
2768 drawNodeSize.width = 0.1f;
2769 }
2770 _label->setDimensions(drawNodeSize.width, drawNodeSize.height);
2771 this->updateDrawNodeSize(drawNodeSize);
2772
2773 slider1Label->setString(fmt::format("{}%", percent));
2774
2775 scheduleOnce([this](float) {
2776 auto renderedFontSizeLabel = (Label*)this->getChildByName("renderedFontSize");
2777 renderedFontSizeLabel->setString(fmt::format("rendered font size:{}", _label->getRenderingFontSize()));
2778 }, 0.0f, "update_font_size");
2779 });
2780
2781 slider2->addEventListener([this, slider2, winSize, slider2Label](Object* /*sender*/, Slider::EventType event) {
2782 float percent = slider2->getPercent();

Callers 1

LabelLayoutBaseTestMethod · 0.95

Calls 15

updateDrawNodeSizeMethod · 0.95
createFunction · 0.85
getInstanceFunction · 0.85
setTagMethod · 0.80
loadBarTextureMethod · 0.80
loadSlidBallTexturesMethod · 0.80
getRenderingFontSizeMethod · 0.80
Vec2Function · 0.50
formatFunction · 0.50
SizeFunction · 0.50
setTouchEnabledMethod · 0.45

Tested by

no test coverage detected