| 3215 | } |
| 3216 | |
| 3217 | LabelSystemFontTest::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 |
nothing calls this directly
no test coverage detected