Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!bu.edu!bucsf.bu.edu!harryk From: harryk@bucsf.bu.edu (Harry Karayiannis) Newsgroups: comp.sys.atari.st.tech Subject: Re: Closing AES boxes interfering with VDI drawing Message-ID: <71214@bu.edu.bu.edu> Date: 23 Dec 90 00:15:27 GMT References: <111628@convex.convex.com> <3391@medusainformatik.uni-erlangen.de> <1990Dec18.161238.24031@unixg.ubc.ca> Sender: news@bu.edu.bu.edu Reply-To: harryk@bucsf.bu.edu (Harry Karayiannis) Followup-To: comp.sys.atari.st.tech Organization: Computer Science Department, Boston University, Boston, MA, USA Lines: 37 In article <1990Dec18.161238.24031@unixg.ubc.ca> mintha@unixg.ubc.ca (Jim Mintha) writes: > > I'm writing a program that uses only AES, and not VDI. When I put up >a dialog box, I save the portion of the screen used with my own copy routines, >and when the dialog finishes, I copy the region back. Everything works fine >except when the user moves the mouse at a later time, a small square the size >of the mouse appears with the standard desktop background pattern. Is there >anyway to avoid this, can I change the buffer used to hold what is underneath >the mouse pointer background? > >-- >------------------------------------------------------------------------------- >Jim Mintha University of British Columbia >Programming Assistant Geography Department >e-mail: mintha@geog.ubc.ca Vancouver, B.C. The problem should be that you don't hide the mouse before you make any changes to the screen. A procedure that should work is the following: 1. hide the mouse ( AES: graf_mouse(M_OFF, 0L), or VDI: v_hide_c(vdi_handle) ) 2. save the screen-area that the dialog box will cover 3. show the mouse ( AES: graf_mouse(M_ON, 0L), or VDI: v_show_c(vdi_handle, 0) ) 4. display & manipulate the dialog box ( objc_draw(...) and form_do(..) or evnt_multi(...)) 5. same as 1 6. restore the screen-area saved in step 2. 7. same as 3 Hope we helped....... Alex Volanis, Harry Karayiannis