Ejemplo n.º 1
0
void twidget::populate_dirty_list(twindow& caller,
		std::vector<twidget*>& call_stack)
{
	assert(call_stack.empty() || call_stack.back() != this);

	if(visible_ != VISIBLE) {
		return;
	}

	if(get_drawing_action() == NOT_DRAWN) {
		return;
	}

	call_stack.push_back(this);
	if(dirty_) {
		caller.add_to_dirty_list(call_stack);
	} else {
		// virtual function which only does something for container items.
		child_populate_dirty_list(caller, call_stack);
	}
}
Ejemplo n.º 2
0
void widget::populate_dirty_list(window& caller,
								  std::vector<widget*>& call_stack)
{
	assert(call_stack.empty() || call_stack.back() != this);

	if(visible_ != visibility::visible) {
		return;
	}

	if(get_drawing_action() == redraw_action::none) {
		return;
	}

	call_stack.push_back(this);
	if(is_dirty_) {
		caller.add_to_dirty_list(call_stack);
	} else {
		// virtual function which only does something for container items.
		child_populate_dirty_list(caller, call_stack);
	}
}