Re: reposition DrawingArea inside a Scrollbar after enlarging



jcupitt gmail com writes:

   Hi Hendrik,

   On 8 July 2011 09:17, Hendrik Tews <tews os inf tu-dresden de> wrote:
   > what is the preferred way to reposition a GtkDrawingArea inside a
   > GtkScrollbar just after the GtkDrawingArea has been enlarged?

   I agree, this can be tricky with an asynchronous toolkit.

   In my opinion, the best solution is to do the scrolling from the
   expose event. When you create the new object, set a flag on it called

This does not work, as I described in my original message:

   Changing the adjustment in the handler of the exposure event does
   also not work reliably. Sometimes the DrawingArea receives
   exposure events before the size has changed. 

I guess that the exposure event before changing the size is
caused by my call to gtk_widget_queue_draw. I have to do this
because adding a new element might change positions of old
elements and I therefore have to redraw everything.

I don't understand why there is an exposure event before the size
request has been dealt with. When the size changes, it is likely
that additional exposure events are necessary. Therefore it would
be better to postpone the exposure events until the size has
changed. 

Is there any way to force the size allocation after I have
called gtk_widget_set_size_request?


Bye,

Hendrik


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]