本文整理汇总了C++中twindow::dirty_list方法的典型用法代码示例。如果您正苦于以下问题:C++ twindow::dirty_list方法的具体用法?C++ twindow::dirty_list怎么用?C++ twindow::dirty_list使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类twindow
的用法示例。
在下文中一共展示了twindow::dirty_list方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: child_populate_dirty_list
void tstacked_widget::child_populate_dirty_list(twindow& caller,
const std::vector<twidget*>& call_stack)
{
std::vector<twidget*> layers;
for (size_t n = 0; n < generator_->get_item_count(); ++ n) {
std::vector<tdirty_list>& dirty_list = caller.dirty_list();
size_t dirty_size = dirty_list.size();
// tgrid <==> [layer]
tgrid& grid = generator_->item(n);
if (grid.get_visible() != twidget::VISIBLE) {
continue;
}
std::vector<twidget*> child_call_stack = call_stack;
if (n > 0) {
child_call_stack.insert(child_call_stack.end(), layers.begin(), layers.end());
}
grid.populate_dirty_list(caller, child_call_stack);
if (n > 0 && dirty_list.size() != dirty_size) {
std::vector<tdirty_list>::iterator it = dirty_list.begin();
for (std::advance(it, dirty_size); it != dirty_list.end(); ++ it) {
it->children = layers;
}
}
layers.push_back(&grid);
}
}