Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!rpi!uupsi!sunic!kth.se!news From: glazou@mowitz.pdc.kth.se (Daniel Glazman) Newsgroups: comp.sys.atari.st.tech Subject: Re: Closing AES boxes interfering with VDI drawing Message-ID: Date: 18 Dec 90 13:32:25 GMT References: <9267@ncar.ucar.edu> <1990Nov29.145734.1059@chinet.chi.il.us> <27569349.8114@maccs.dcss.mcmaster.ca> <111330@convex.convex.com> <111628@convex.convex.com> <3391@medusainformatik.uni-erlangen.de> Sender: news@kth.se (News Administrator) Organization: The Royal Institute of Technology, Stockholm, Sweden Lines: 57 In-reply-to: csbrod@medusainformatik.uni-erlangen.de's message of 18 Dec 90 11:57:24 GMT in article from csbrod@medusainformatik.uni-erlangen.de (Claus Brod ) Date: 18 Dec 90 11:57:24 GMT, you write: > [deleted lines] > > >aw, c'mon, dan. it is not THAT bad. lighten up! > Sorry, Bill, Dan is right. It _is_ that bad, and there are easy ways to > do it better. > > >and it is the only way i know of to use dialogs larger than 25% of the > >screen. unless u can suggest a better approach? i'd gladly change my > >evil ways :-). > > Get the size and position of the dialog displayed. Find out the number > of bitplanes used by calling vq_extnd() and looking at work_out[4] > (I think it is 4, but there I might be wrong.). Malloc sufficient space > for your dialog and vro_cpyfm the background to the allocated memory area. > You don't need any video buffer addresses to do that. Just fill in 0L > as the start address in the screen MFDB; VDI will automatically fill > in all the required MFDB parameters for the screen. > > Then objc_draw() your dialog and do any form_do thingies you'd like. > Afterwards, vro_cpyfm() the background to the screen again. > > This way, you can have _fast_ dialogs in a GEM-compatible way, and > you won't ever have to bother with new screen resolutions or graphic > cards with video RAM that is not visible in the processor's address > space. > > [deleted lines] Waouuuuuuu... a REAL programmer... Thanks God, it still exists. You are perfectly right, this is a complete GEM-routine. BUT, i am not so happy to see work_out[4]... This last sentence is not written for you but for Atari. A parameter MUST NEVER BE OBTAINED by looking in a set of system variables but using inquire's functions like vdi_what_is_current_resolution(x,y,w,h,planes) And it is possible to compare the use of Line-A stuff to the old Peek & Poke. I hope we will see someday a *nice* Gem... /Daniel/ -- +---------------------------------------+-------------------------------------+ | Daniel Glazman , TDS | glazou@mowitz.pdc.kth.se | | The Royal Institute of Technology | | | S-100 44 STOCKHOLM, SWEDEN | glazman@inf.enst.fr | +---------------------------------------+-------------------------------------+ | "Ca fait 25 ans que je me demande pourquoi je suis encore la a me demander | | ce que je fais ici..." Anonyme | | | | "Gardez votre ville propre : mangez un pigeon !" Gary Gregory. | +-----------------------------------------------------------------------------+