[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]


    NAME
        QueryOverscan -- Inquire about a standard overscan region. (V36)

    SYNOPSIS
        success = QueryOverscan( DisplayID, Rect, OScanType )
        D0                       A0         A1    D0

        long queryoverscan( ulong, struct rectangle *, word );

    FUNCTION
        This function fills in a rectangle with one of the system
        overscan dimensions, scaled appropriately for the mode of
        the DisplayID it is passed.

        There are three types of system overscan values:
        OSCAN_TEXT: completely visible, by user preference.  Used
          for Workbench screen and screen dimensions STDSCREENWIDTH
          and STDSCREENHEIGHT.  Left/Top is always 0,0.
        OSCAN_STANDARD: just beyond visible bounds of monitor, by
          user preference.  Left/Top may be negative.
        OSCAN_MAX: The largest region we can display, AND display
          any smaller region (see note below).
        OSCAN_VIDEO: The absolute largest region that the graphics.library
          can display.  This region must be used as-is.


    INPUTS
        DisplayID -- A 32-bit identifier for a display mode, as defined
          in the <graphics/modeid.h> include file (v39 and up) or in
          <graphics/displayinfo.h> (v37/v38).

          NOTE: If you only intend to use one of the four standard
          overscan dimensions as is, and open your screen to exactly
          the DisplayClip dimensions, you can specify one of
          the OSCAN_ values using the SA_Overscan tag to the
          openscreentaglist() function and omit all of sa_left, sa_top,
          SA_Width, and SA_Height.  This also requires that you do
          not supply a newscreen structure, since it always contains
          left/top/width/height information.

          If you wish to supply a newscreen structure, then you are
          supplying left/top/width/height information.  This information
          can be taken from the rectangle resulting from this function:
                NewScreen.LeftEdge = Rect.MinX;
                NewScreen.TopEdge = Rect.MinY;
                NewScreen.Width = STDSCREENWIDTH;
                        /* or ( Rect.MaxX - Rect.MinX + 1 ) */
                NewScreen.Height = STDSCREENHEIGHT;
                        /* or ( Rect.MaxY - Rect.Miny + 1 ) */

        Rect -- pointer to a rectangle structure which this function
          will fill out with its return values.  Note that to convert
          a rectangle to a screen "Height" you do (MaxY - MinY + 1), and
          similarly for "Width."  The rectangle may be passed directly
          to openscreen() as a displayclip region (sa_dclip).

    RESULT
        0 (FALSE) if the monitorspec your newscreen requests
        does not exist.  Non-zero (TRUE) if it does.

    BUGS
        Change in parameter V36.A17 might cause problems for some.

    SEE ALSO
        openscreen(), intuition v36 update documentation