Event Questions
BlitzMax Forums/BlitzMax Beginners Area/Event Questions| 
 | ||
| For trial I try to write a very simple drawing program. For reasons mentioned in another post ( http://www.blitzbasic.com/Community/posts.php?topic=86218 ), I've currently my main loop like: 
Repeat
  Select WaitEvent()
  Case KEY_ESCAPE
     ...
  End Select
  X=MouseX()
  Y=MouseY()
  If drawing mode, draw
  If delete mode, delete
  If something changed, flip
Until false
First, is it ok to mix Events and polled events? For example, I read the mouse pos with mousex(); is there any reason why I should use the CurrentEvent info instead? Then: because of this construct, partially hiding the window with another one will garbage the display (which is not refreshed, as no event came). Is there an event code like WINDOW_SHOW for this? | 
| 
 | ||
|  Then: because of this construct, partially hiding the window with another one will garbage the display (which is not refreshed, as no event came). Is there an event code like WINDOW_SHOW for this?   Check out the events below. Best to put some of them in a hook function for immediate effect. EVENT_GADGETPAINT A Canvas Gadget needs to be redrawn EVENT_WINDOWMOVE Window has been moved EVENT_WINDOWSIZE Window has been resized EVENT_APPRESUME Application resumed And for your first question i would do it event based, but that's probably just me:) The advantage is that no cpu power is consumed when nothing happens... | 
| 
 | ||
| hmmm, none of those worked for my repaint problem. Looks anyway bad for simple repaint: I tried following: 
Repeat
	WaitEvent()
	Print CurrentEvent.id
        Select CurrentEvent.id
           ...
No event id is displayed for repaint (e.g. when another window is moved over my app window) Anotherone: EVENT_WINDOWCLOSE doesn't react when I press the window-close-cross in the window bar. Why? instead, EVENT_APPTERMINATE does. | 
| 
 | ||
| Quick example: Draw something and move windows on top. Resize will clear the window. |