Beispiel #1
0
void Desktop::draw(void) {
	if(!damage()) return;
	
	if(damage() & (FL_DAMAGE_ALL | FL_DAMAGE_EXPOSE)) {
		/*
		 * If any overlay was previously visible during full redraw, it will not be cleared because of fast flip.
		 * This will assure that does not happened.
		 */
		fl_overlay_clear();
		EDE_DESKTOP_WINDOW::draw();
		//E_DEBUG(E_STRLOC ": REDRAW ALL\n");
	}

	if(damage() & EDE_DESKTOP_DAMAGE_OVERLAY) {
		if(selbox->show)
			fl_overlay_rect(selbox->x, selbox->y, selbox->w, selbox->h);
		else
			fl_overlay_clear();

		/*
		 * now scan all icons and see if they needs redraw, and if do
		 * just update their label since it is indicator of selection
		 */
		for(int i = 0; i < children(); i++) {
			if(child(i)->damage() == EDE_DESKTOP_DAMAGE_CHILD_LABEL) {
				update_child(*child(i));
				child(i)->clear_damage();
				//E_DEBUG(E_STRLOC ": ICON REDRAW \n");
			}
		}
	}

	clear_damage();
}
Beispiel #2
0
 FL_EXPORT_C(void,flc_overlay_rect)(int x,int y,int w,int h){
   fl_overlay_rect(x,y,w,h);
 }