void separator_widget_rep::handle_repaint (repaint_event ev) { renderer ren= ev->win; layout_default (ren, ev->x1, ev->y1, ev->x2, ev->y2); ren->set_pencil (pencil (layout_dark (ren), PIXEL)); if (vert) ren->line (pre+PIXEL, ev->y1, pre+PIXEL, ev->y2); else ren->line (ev->x1, -pre-PIXEL, ev->x2, -pre-PIXEL); ren->set_pencil (pencil (white, PIXEL)); if (vert) ren->line (pre+2*PIXEL, ev->y1, pre+2*PIXEL, ev->y2); else ren->line (ev->x1, -pre-2*PIXEL, ev->x2, -pre-2*PIXEL); }
void glue_widget_rep::handle_repaint (repaint_event ev) { renderer ren= win->get_renderer (); if (col == "") layout_default (ren, ev->x1, ev->y1, ev->x2, ev->y2); else { if (is_atomic (col)) { color c= named_color (col->label); ren->set_background (c); ren->set_color (c); ren->fill (ev->x1, ev->y1, ev->x2, ev->y2); } else { ren->set_shrinking_factor (5); int old_a; tree old_bg= ren->get_background_pattern (old_a); ren->set_background_pattern (col); ren->clear_pattern (5*ev->x1, 5*ev->y1, 5*ev->x2, 5*ev->y2); ren->set_background_pattern (old_bg, old_a); ren->set_shrinking_factor (1); } } }
void tabs_widget_rep::handle_repaint (repaint_event ev) { (void) ev; renderer ren= ev->win; layout_default (ren, 0, 0, w, h); if (h1 == 0 || h2 == 0 || N(xs) == 0) return; int l= N(a)-1, focus= 0; a[l] << get_integer ("switch", focus); color pastel= layout_pastel (ren); color dark= layout_dark (ren); SI fx1= xs[focus] - PIXEL; SI fx2= xs[focus+1] - PIXEL; SI top= h1 + h2 + 2*PIXEL; SI lim= xs[N(xs)-1]; ren->set_pencil (pencil (pastel, PIXEL)); if (focus > 0) ren->line (0, h1, fx1, h1); ren->line (fx2, h1, w, h1); ren->set_pencil (pencil (dark, PIXEL)); if (focus > 0) ren->line (0, h1 + PIXEL, fx1, h1 + PIXEL); ren->line (fx2, h1 + PIXEL, w, h1 + PIXEL); ren->set_pencil (pencil (dark, PIXEL)); ren->line (0, top, lim - PIXEL, top); for (int i=0; i<l; i++) { ren->set_pencil (pencil (pastel, PIXEL)); ren->line (xs[i], h1+2*PIXEL, xs[i], top - PIXEL); ren->set_pencil (pencil (dark, PIXEL)); ren->line (xs[i+1]-PIXEL, h1+2*PIXEL, xs[i+1]-PIXEL, top - PIXEL); } ren->set_pencil (pencil (pastel, PIXEL)); ren->line (0, 0, 0, h1); ren->set_pencil (pencil (dark, PIXEL)); ren->line (0, 0, w, 0); ren->line (w-PIXEL, 0, w-PIXEL, h1); }