本文整理汇总了C++中WidgetPtr::setPosition方法的典型用法代码示例。如果您正苦于以下问题:C++ WidgetPtr::setPosition方法的具体用法?C++ WidgetPtr::setPosition怎么用?C++ WidgetPtr::setPosition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WidgetPtr
的用法示例。
在下文中一共展示了WidgetPtr::setPosition方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: _alignWidget
void Gui::_alignWidget(WidgetPtr _widget, const FloatSize& _old, const FloatSize& _new)
{
if (null == _widget) return;
Align align = _widget->getAlign();
if (ALIGN_DEFAULT == align) return;
IntCoord coord = _widget->getCoord();
// первоначальное выравнивание
if (IS_ALIGN_RIGHT(align)) {
if (IS_ALIGN_LEFT(align)) {
// раст¤гиваем
coord.width += _new.width - _old.width;
} else {
// двигаем по правому краю
coord.left += _new.width - _old.width;
}
} else if (false == IS_ALIGN_LEFT(align)) {
// выравнивание по горизонтали без раст¤жени¤
coord.left = (_new.width - coord.width) / 2;
}
if (IS_ALIGN_BOTTOM(align)) {
if (IS_ALIGN_TOP(align)) {
// раст¤гиваем
coord.height += _new.height - _old.height;
} else {
coord.top += _new.height - _old.height;
}
} else if (false == IS_ALIGN_TOP(align)) {
// выравнивание по вертикали без раст¤жени¤
coord.top = (_new.height - coord.height) / 2;
}
_widget->setPosition(coord);
}
示例2: Widget_Move
void WidgetFactory::Widget_Move(WidgetPtr _widget, const Ogre::String &_key, const Ogre::String &_value)
{
const std::vector<std::string> & vec = utility::split(_value);
if (vec.size() == 4) _widget->setPosition(utility::parseInt(vec[0]), utility::parseInt(vec[1]), utility::parseInt(vec[2]), utility::parseInt(vec[3]) );
else if (vec.size() == 2) _widget->setPosition( utility::parseInt(vec[0]), utility::parseInt(vec[1]) );
}