本文整理汇总了C++中BLayoutItem::NextSibling方法的典型用法代码示例。如果您正苦于以下问题:C++ BLayoutItem::NextSibling方法的具体用法?C++ BLayoutItem::NextSibling怎么用?C++ BLayoutItem::NextSibling使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BLayoutItem
的用法示例。
在下文中一共展示了BLayoutItem::NextSibling方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
void
BLayoutContainer::SetUnitsPerPixel(float value, bool deep)
{
if (value <= 0) return;
fUnitsPerPixel = value;
BLayoutItem *item;
if (deep) {
item = (BLayoutItem*)fItems.ItemAt(0);
while (item != NULL) {
cast_as(item, BLayoutContainer)->fUnitsPerPixel = value;
if (cast_as(item, BLayoutContainer)->fItems.CountItems() > 0) {
item = (BLayoutItem*)cast_as(item, BLayoutContainer)->fItems.ItemAt(0);
} else if (item->fContainer == this) {
item = item->NextSibling();
} else {
if (item->NextSibling() != NULL) {
item = item->NextSibling();
continue;
}
while (cast_as(item->fContainer, BLayoutItem)->NextSibling() == NULL) {
item = cast_as(item->fContainer, BLayoutItem);
if (item->fContainer == this) break;
}
item = cast_as(item->fContainer, BLayoutItem)->NextSibling();
}
}
}
BRect updateRect;
for (item = (BLayoutItem*)fItems.ItemAt(0); item != NULL; item = item->NextSibling()) {
if (item->fHidden || item->fFrame.IsValid() == false) continue;
updateRect |= item->fFrame;
item->UpdateVisibleRegion();
}
Invalidate(updateRect);
}