[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]
Re: [zzdev] (techy) window_draw and key_pressed
- To: zzdev@xxxxxxxxxx
- Subject: Re: [zzdev] (techy) window_draw and key_pressed
- From: Andrew Pam <xanni@xxxxxxxxxxxxxxxxx>
- Date: Fri, 20 Nov 1998 03:05:27 +1100
- In-reply-to: <19981115201656.C3347@xxxxxxxxxxxxxx>; from Bek Oberin on Sun, Nov 15, 1998 at 08:16:56PM +1100
- References: <19981115201656.C3347@xxxxxxxxxxxxxx>
- Reply-to: zzdev@xxxxxxxxxx
On Sun, Nov 15, 1998 at 08:16:56PM +1100, Bek Oberin wrote:
> I'm prodding at source again and I don't quite see why window_draw
> needs to know whether there was a key pressed.
>
> Is it because that's shown up in the window border, rather than
> in the middle?
>
> I also can't figure out how to cope with that special-case while
> decoupling the functions from IO.
>
> Perhaps window_draw needs to know what happened so it can figure out
> what to draw? eg window_draw("cursor moved"), window_draw("cell
> marked") or something? That seems inelegant to me.
No, you're on completely the wrong track. It's because when input
is queued up, there's no point in drawing the whole screen when it is
most likely just about to change again. More to the point, we want to
avoid performing large numbers of database lookups for cells and links
that the user probably didn't need to see right now anyway. This is
an extremely significant high-level user interface optimisation without
which performance of scrolling through many cells can degrade severely
to the point where the system becomes unpleasant to use, especially on
slower systems.
Hope that helps,
*** Xanni ***
--
mailto:xanni@xxxxxxxxxx Andrew Pam
http://www.xanadu.com.au/ Technical VP, Xanadu
http://www.glasswings.com.au/ Technical Editor, Glass Wings
http://www.sericyb.com.au/sc/ Manager, Serious Cybernetics
P.O. Box 26, East Melbourne VIC 8002 Australia Phone +61 3 96511511