Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!cwjcc!ukma!rutgers!apple!well!ewhac From: ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) Newsgroups: comp.sys.amiga Subject: Re: Double Buffering and the Menu Strip Summary: ScrollVPort()'s perfectly valid. Message-ID: <7186@well.UUCP> Date: 24 Sep 88 08:10:46 GMT References: <4148@louie.udel.EDU> <8597@watdragon.waterloo.edu> Reply-To: ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) Organization: The CIA: International Meddling at Bargain Rates. Lines: 40 Quote: "Noalias must go. This is not negotiable." -- Dr. Dennis M. Ritchie In article <8597@watdragon.waterloo.edu> bmacintyre@watsol.waterloo.edu (Blair MacIntyre) writes: >In article <4148@louie.udel.EDU> iphwk%MTSUNIX1.BITNET@cunyvm.cuny.edu (Bill Kinnersley) writes: >>and here is how I double buffer: >> ScrollVPort(vp); > ^^^^^^^^^^^ > >I don't think this is an intelligent way of doing this. What you should be >doing is ( this is from memory, I'm at work doncha' know ) > > Makescreen(s); > RethinkDisplay(); > Eeuuuaaahhh!! Ick! RethinkDisplay() is very slow, as it invokes MrgCop(), which assembles a brand new copper list for the display. The time required to do this is non-trivial. Therefore, if you're doing anything remotely speed-sensitive, you should avoid RethinkDisplay(). ScrollVPort() does work with Intuition screens. As an example, check out the source code to Ing, the window bouncer. To answer the original question, you're probably best off dealing with the menus via the MENUVERIFY IDCMP class. When Intuition asks you to MENUVERIFY, you pull forward the screen you want, confirm the MENUVERIFY event, and wait for the menu event to happen. You cannot (easily) have Intuition menus over a *running* double-buffered display; you must halt double-buffering and bring the "menu'd" screen to the front to permit the user to interact with them. >>Is there something else I should be toggling (in the Layer_Info perhaps?) >>to keep the menu system informed which bitmap is the current one? > You might possibly be able to spoof the system by fiddling with the BitMap pointers in the layer structures, but this could easily lead to hairy bananas. You're better off pulling the menu'd screen to the front. _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ Leo L. Schwab -- The Guy in The Cape INET: well!ewhac@ucbvax.Berkeley.EDU \_ -_ Recumbent Bikes: UUCP: pacbell > !{well,unicom}!ewhac O----^o The Only Way To Fly. hplabs / (pronounced "AE-wack") "Work FOR? I don't work FOR anybody! I'm just having fun." -- The Doctor