本文整理汇总了C++中WidgetPtr::SetPosition方法的典型用法代码示例。如果您正苦于以下问题:C++ WidgetPtr::SetPosition方法的具体用法?C++ WidgetPtr::SetPosition怎么用?C++ WidgetPtr::SetPosition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WidgetPtr
的用法示例。
在下文中一共展示了WidgetPtr::SetPosition方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AddChild
void Stack::AddChild( WidgetPtr child )
{
int x = 0;
int y = 0;
if (mWidgets.size() > 0)
{
WidgetPtr last = mWidgets.back();
if (mOrientation == OrientationVertical)
{
y = last->GetY() + last->GetHeight() + mSpacing;
}
else
{
x = last->GetX() + last->GetWidth() + mSpacing;
}
}
child->SetPosition(x, y);
BasicContainer::Add(child);
if (mOrientation == OrientationVertical)
{
SetSize(std::max(GetWidth(), child->GetWidth()), y + child->GetHeight());
}
else
{
SetSize(x + child->GetWidth(), std::max(GetHeight(), child->GetHeight()));
}
}
示例2: RebuildLayout
void Stack::RebuildLayout()
{
int x = 0;
int y = 0;
int w = 0;
int h = 0;
for (WidgetListIterator it = mWidgets.begin(); it != mWidgets.end(); ++it)
{
WidgetPtr child = *it;
child->SetPosition(x, y);
if (mOrientation == OrientationVertical)
{
y = y + child->GetHeight() + mSpacing;
}
else
{
x = x + child->GetWidth() + mSpacing;
}
w = std::max(child->GetWidth(), w);
h = std::max(child->GetHeight(), h);
}
w = std::max(w, x - mSpacing);
SetSize(w, std::max(h, y - mSpacing));
}
示例3: Add
void Container::Add(WidgetPtr widget, int x, int y)
{
widget->SetPosition(x, y);
BasicContainer::Add(widget);
}