本文整理汇总了C++中UIWindow::GetClipChildren方法的典型用法代码示例。如果您正苦于以下问题:C++ UIWindow::GetClipChildren方法的具体用法?C++ UIWindow::GetClipChildren怎么用?C++ UIWindow::GetClipChildren使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UIWindow
的用法示例。
在下文中一共展示了UIWindow::GetClipChildren方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DrawWindowRecursive
static void DrawWindowRecursive(const UIWindow &wnd, DrawingContext &dc, bool topMostPass, bool insideTopMost)
{
insideTopMost |= wnd.GetTopMost();
if (!wnd.GetVisible() || (insideTopMost && !topMostPass))
return; // skip window and all its children
dc.PushTransform(Vector2(wnd.GetX(), wnd.GetY()));
if (insideTopMost == topMostPass)
wnd.Draw(dc);
// topmost windows escape parents' clip
bool clipChildren = wnd.GetClipChildren() && (!topMostPass || insideTopMost);
if (clipChildren)
{
math::RectInt clip;
clip.left = 0;
clip.top = 0;
clip.right = (int)wnd.GetWidth();
clip.bottom = (int)wnd.GetHeight();
dc.PushClippingRect(clip);
}
for (UIWindow *w = wnd.GetFirstChild(); w; w = w->GetNextSibling())
DrawWindowRecursive(*w, dc, topMostPass, wnd.GetTopMost() || insideTopMost);
if (clipChildren)
dc.PopClippingRect();
dc.PopTransform();
}