Subj : Re: GUI implementation To : apam From : fusion Date : Tue May 23 2023 04:46:24 On 23 May 2023, apam said the following... ap> I think I should only be drawing things that are either visible or ap> changed, but I just can't wrap my head around how to do this without ap> making it just as complex as just redrawing everything. just spitballing here but: as a window moves, have a function for each window to tell it what is happening. follow the z-order from top to bottom. if your new window's right side is now 420 and your next window down in the z-order used to be overlapped from 421-430 that window's expose function is called and can redraw itself that tiny bit. what the message might look like for each window: window zorder1: i'm exposing 421w-430w window zo2: okay i'll redisplay that but part of it isn't in my window. i'll tell the next window down window zo3: you're telling me 421w-430w 510h-515h is now exposed. i'm there so i'll redraw that little bit. 5 lines arent in my window though. i'll tell the next window down window zo4: i'm nowhere near you guys. i'll pass it along unchanged window zo5: those are my lines. i'll redraw them. xx no further unclaimed exposures xx cheat and force the icons on the bottom of the z-order of the window list, or make the desktop a window for updating a window (text scrolling in the bg or something) probably just send an expose message to the whole window rectangle.. but then you might need code for exposing 4 rectangles in one go (like if a small window like a calculator is right on top in the middle of a text editor) i duno. never implemented that type of thing myself, but seems like a reasonable method to me. --- Mystic BBS v1.12 A47 2021/12/25 (Windows/32) * Origin: cold fusion - cfbbs.net - grand rapids, mi (21:1/616) .