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

Method LabelSystemFontTest

tests/cpp-tests/Source/LabelTest/LabelTest.cpp:3217–3286  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3215}
3216
3217LabelSystemFontTest::LabelSystemFontTest()
3218{
3219 _label->setLineSpacing(5);
3220 _label->setVerticalAlignment(TextVAlignment::CENTER);
3221 _label->setOverflow(Label::Overflow::NONE);
3222 _label->setSystemFontName("Hiragino Sans GB");
3223 _label->setSystemFontSize(20);
3224 _label->enableOutline(Color4B::RED, 1.0);
3225 _label->setString("This is a very\n 我爱你中国\n long sentence");
3226 _labelType = 2;
3227
3228 auto stepper = (ControlStepper*)this->getChildByName("stepper");
3229 stepper->setEnabled(true);
3230
3231 auto checkbox = (CheckBox*)(this->getChildByName("toggleType"));
3232 checkbox->setEnabled(false);
3233
3234 this->updateDrawNodeSize(_label->getContentSize());
3235
3236 auto slider1 = (ui::Slider*)this->getChildByTag(1);
3237
3238 auto winSize = Director::getInstance()->getVisibleSize();
3239 slider1->addEventListener([this, slider1, winSize](Object* /*sender*/, Slider::EventType event) {
3240 float percent = slider1->getPercent();
3241 auto drawNodeSize = Size(percent / 100.0 * winSize.width, _label->getContentSize().height);
3242 if (drawNodeSize.height <= 0)
3243 {
3244 drawNodeSize.height = 0.1f;
3245 }
3246 _label->setDimensions(drawNodeSize.width, drawNodeSize.height);
3247 this->updateDrawNodeSize(drawNodeSize);
3248
3249 auto label = static_cast<Label*>(slider1->getChildByName("percentageLabel"));
3250 if (label)
3251 {
3252 label->setString(fmt::format("{}%", percent));
3253 }
3254 });
3255
3256 auto label = Label::createWithSystemFont("char Line break:", "Arial", 10);
3257 label->setColor(Color3B::WHITE);
3258 label->setPosition(Vec2(winSize.width * 0.1f, winSize.height * 0.8f));
3259 this->addChild(label);
3260
3261 CheckBox* checkBox = CheckBox::create("cocosui/check_box_normal.png", "cocosui/check_box_normal_press.png",
3262 "cocosui/check_box_active.png", "cocosui/check_box_normal_disable.png",
3263 "cocosui/check_box_active_disable.png");
3264 checkBox->setPosition(Vec2(winSize.width * 0.2f, winSize.height * 0.8f));
3265 checkBox->setScale(0.5);
3266 checkBox->setSelected(false);
3267 checkBox->setName("LineBreak");
3268
3269 checkBox->addEventListener([this](Object* /*sender*/, CheckBox::EventType event) {
3270 if (event == CheckBox::EventType::SELECTED)
3271 {
3272 _label->setLineBreakWithoutSpace(true);
3273 }
3274 else

Callers

nothing calls this directly

Calls 15

getInstanceFunction · 0.85
createFunction · 0.85
setLineSpacingMethod · 0.80
setVerticalAlignmentMethod · 0.80
setSystemFontNameMethod · 0.80
setSystemFontSizeMethod · 0.80
updateDrawNodeSizeMethod · 0.80
initToggleCheckboxesMethod · 0.80
SizeFunction · 0.50
formatFunction · 0.50
Vec2Function · 0.50

Tested by

no test coverage detected