Date: Thu, 15 Jul 2010 09:46:36 +0200
From: Jan Djärv<address@hidden>
CC: Óscar Fuentes<address@hidden>,
address@hidden
. Canvas redisplay is caused by requests from the application to
update some "canvas item" when the underlying application's objects
are modified; these requests are then served when GTK+ idle
handlers are run. Emacs display engine works differently: changes
that require redisplay are not considered until redisplay is
entered; the "requests" to update the display are implicitly
recorded in the buffers and in the various related data structures
(text properties and overlays, display strings, etc.), but not
explicitly translated to display terms until redisplay time, and as
an inherent part of redisplay itself. These two very different
models will need to be reconciled in some reasonably efficient way.
The changes that require redisplay would have to notify the Canvas that things
changed. I think this style is more efficient.