本文整理汇总了C++中GuiControl::parentResized方法的典型用法代码示例。如果您正苦于以下问题:C++ GuiControl::parentResized方法的具体用法?C++ GuiControl::parentResized怎么用?C++ GuiControl::parentResized使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GuiControl
的用法示例。
在下文中一共展示了GuiControl::parentResized方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: parentResized
void GuiContainer::parentResized(const RectI &oldParentRect, const RectI &newParentRect)
{
//if(!mCanResize)
// return;
// If it's a control that specifies invalid docking, we'll just treat it as an old GuiControl
if( getDocking() & Docking::dockInvalid || getDocking() & Docking::dockNone)
return Parent::parentResized( oldParentRect, newParentRect );
S32 deltaX = newParentRect.extent.x - oldParentRect.extent.x;
S32 deltaY = newParentRect.extent.y - oldParentRect.extent.y;
// Update Self
RectI oldThisRect = getBounds();
anchorControl( this, Point2I( deltaX, deltaY ) );
RectI newThisRect = getBounds();
// Update Deltas to pass on to children
deltaX = newThisRect.extent.x - oldThisRect.extent.x;
deltaY = newThisRect.extent.y - oldThisRect.extent.y;
// Iterate over all children and update their anchors
iterator nI = begin();
for( ; nI != end(); nI++ )
{
// Sanity
GuiControl *control = dynamic_cast<GuiControl*>( (*nI) );
if( control )
control->parentResized( oldThisRect, newThisRect );
}
}