Path: zorch!vsi1!ames!elroy.jpl.nasa.gov!usc!wupost!uunet!cbmvax!peter From: peter@cbmvax.commodore.com (Peter Cherna) Newsgroups: comp.sys.amiga.programmer Subject: Re: Question about Intuition 2.0 Message-ID: <28610@cbmvax.commodore.com> Date: 25 Feb 92 14:17:39 GMT References: Reply-To: peter@cbmvax.commodore.com (Peter Cherna) Organization: Commodore-Amiga, Inc. West Chester, PA. Lines: 54 In article mykes@amiga0.SF-Bay.ORG (Mike Schwartz) writes: >Under Intuition 2.0, how can you tell the displayed size >of the workbench (or other public screen)? More specifically, >I am running, say, a hires (non interlaced) scrollable workbench >of 1K x 1K pixels. When I use QueryOverscan(), I need to >programatically determine if the WB is HIRES or HIRESLACE, etc. There are a few sizes at play here. I'll provide a little background. 2.0 allows screens that are wider or taller than the display. The screen->Width and screen->Height are the actual dimensions of the bitmap, and are independent of how much is displayed. The "display clip" is the rectangle which is displayed. Screens that are bigger than their display clip will scroll. Any screen can have an arbitrary display clip, but the system does provide a few default display clips: "Text Overscan" is a rectangle roughly corresponding to the "morerows" size from 1.3. The user gets to set the text overscan size, and the idea is that all pixels inside Text Overscan should be visible on the user's monitor. The Workbench screen has a Text Overscan display clip. "Standard Overscan" is a rectangle the user sets. When correctly set, it's the smallest rectangle that completely fills the user's particular monitor. The idea is "what is the smallest rectangle that gives me wall-to-wall video on my system?" "Max Overscan" is the largest size overscan that the system fully supports (hence it is not settable). For the Workbench, you can get its dclip like so: if ( wbscreen = LockPubScreen("Workbench") ) { if ( ( modeID = GetVPModeID( &wbscreen->ViewPort ) ) != INVALID_ID ) { if ( QueryOverscan( modeID, &rect, OSCAN_TEXT ) ) { /* got it */ } } UnlockPubScreen( NULL, wbscreen ); } >Mike Schwartz (Author of GRn and MailMinder) Peter -- From the disk of ... Peter Cherna, Operating Systems Development Group, Commodore-Amiga, Inc. {uunet|rutgers}!cbmvax!peter peter@cbmvax.commodore.com My opinions do not necessarily represent the opinions of my employer.