- //size(a);
- size_by_content(a);
- size_by_layout(a);
-
- // don't draw transparent objects (without foreground and without background)
- if (a->redraw) {
- a->redraw = 0;
- // force redraw of child
- GSList *l;
- for (l = a->list ; l ; l = l->next)
- set_redraw(l->data);
-
- //printf("draw area posx %d, width %d\n", a->posx, a->width);
- draw(a);
- }
-
- // draw current Area
- if (a->pix == 0) printf("empty area posx %d, width %d\n", a->posx, a->width);
- XCopyArea (server.dsp, a->pix, ((Panel *)a->panel)->temp_pmap, server.gc, 0, 0, a->width, a->height, a->posx, a->posy);
-
- // and then refresh child object
- GSList *l;
- for (l = a->list; l ; l = l->next)
- refresh(l->data);
-}
-
-
-void size (Area *a)
-{
- GSList *l;
-
- if (a->resize) {
- a->resize = 0;
- // force the resize of childs
- for (l = a->list; l ; l = l->next) {
- Area *area = (Area*)l->data;
- area->resize = 1;
- size(area);
- }
-
- // resize can generate a redraw
- if (a->_resize)
- a->_resize(a);
- }
-}
-
-
-void size_by_content (Area *a)
-{