X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Futil%2Farea.c;h=0460d57c72ca571803846983b885fa88c31dfae9;hb=39e76e43d441ad2d066339ba47e07e77bda249bc;hp=df2de5a71d66f0381b3a8973b61fbafc0638a555;hpb=4dfce699f6879b5638b044affa6972581ef04bf6;p=chaz%2Ftint2 diff --git a/src/util/area.c b/src/util/area.c index df2de5a..0460d57 100644 --- a/src/util/area.c +++ b/src/util/area.c @@ -56,13 +56,12 @@ * or from a layering event (size or position change). * * DRAWING LOOP : - * * 1) browse tree and resize SIZE_BY_CONTENT node * - children node are resized before its parent - * - if 'size' changed then 'resize = 1' on the parent + * - if 'size' changed then 'redraw = 1' and 'resize = 1' on the parent * 2) browse tree and resize SIZE_BY_LAYOUT node * - parent node is resized before its children - * - if 'size' changed then 'resize = 1' on childs with SIZE_BY_LAYOUT + * - if 'size' changed then 'redraw = 1' and 'resize = 1' on childs with SIZE_BY_LAYOUT * 3) calculate posx of objects * - parent's position is calculated before children's position * - if 'position' changed then 'redraw = 1' @@ -70,6 +69,10 @@ * - parent node is drawn before its children * * perhaps 2) and 3) can be merged... + * répartition entre niveau global et niveau local ?? + * size_by_content peut-il modifier redraw=1 en cas de changement ? ou est ce géré par chaque composant ? + * size_by_layout peut-il modifier redraw ? + * ************************************************************/ @@ -118,6 +121,7 @@ void size_by_content (Area *a) // if 'size' changed then 'resize = 1' on the parent if (a->_resize) { a->_resize(a); + a->redraw = 1; ((Area*)a->parent)->resize = 1; } }