home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Otherware
/
Otherware_1_SB_Development.iso
/
amiga
/
comms
/
network
/
grn1asrc.lha
/
screenmode.txt
< prev
next >
Wrap
Internet Message Format
|
1992-02-25
|
3KB
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: <mykes.9980@amiga0.SF-Bay.ORG>
Reply-To: peter@cbmvax.commodore.com (Peter Cherna)
Organization: Commodore-Amiga, Inc. West Chester, PA.
Lines: 54
In article <mykes.9980@amiga0.SF-Bay.ORG> 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.