Thread: DR1000 Screen Refresh for DR1000
View Single Post
Old 08-30-2011, 02:49 AM   #8
Iņigo
Guru
Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.
 
Posts: 710
Karma: 72743
Join Date: Feb 2008
Location: Here or there
Device: iRex iLiad, in love with iRex DR800S. Also a K4NT. Now a Kobo Aura
Quote:
Originally Posted by Mackx View Post
Yes, a full refresh. Although I am not sure why it works (worked?). Maybe it has to do with the total area that needs an update. If you draw something at the top and then update a GtkLabel at the bottom, it leads to a full-refresh.
(see also sysd/src/display.c)
From the "Ion Development Environment" doc., pages 23-24:

A simple hook is added to GTK's main loop event handler which triggers a screen update
on certain expose events. We only perform an update if the expose event was emitted by a top level window, and if the expose is not the result of some intermediate process (such is the case with X configure events). This results in the minimum number of display updates, but it ignores updates to GtkEntry fields because they are implemented as GdkWindows (which are ignored, if they're not top-level).


My guess is that as Gtk.Label widgets do not have their own gdk / X window, the parent container with a proper window gets the refresh, thus this the Gtk.Window often.

Iņigo
Iņigo is offline   Reply With Quote