home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 4
/
FreshFish_May-June1994.bin
/
bbs
/
cbm
/
nduk-v37.lha
/
V37
/
include
/
intuition
/
screens.i
< prev
next >
Wrap
Text File
|
1991-11-27
|
12KB
|
349 lines
IFND INTUITION_SCREENS_I
INTUITION_SCREENS_I SET 1
**
** $Filename: intuition/screens.i $
** $Release: 2.04 Includes, V37.4 $
** $Revision: 36.18 $
** $Date: 91/10/07 $
**
** The Screen and NewScreen structures and attributes
**
** (C) Copyright 1985-1991 Commodore-Amiga, Inc.
** All Rights Reserved
**
IFND EXEC_TYPES_I
INCLUDE "exec/types.i"
ENDC
IFND GRAPHICS_GFX_I
INCLUDE "graphics/gfx.i"
ENDC
IFND GRAPHICS_CLIP_I
INCLUDE "graphics/clip.i"
ENDC
IFND GRAPHICS_VIEW_I
INCLUDE "graphics/view.i"
ENDC
IFND GRAPHICS_RASTPORT_I
INCLUDE "graphics/rastport.i"
ENDC
IFND GRAPHICS_LAYERS_I
INCLUDE "graphics/layers.i"
ENDC
IFND UTILITY_TAGITEM_I
INCLUDE "utility/tagitem.i"
ENDC
*
* NOTE: intuition/iobsolete.i is included at the END of this file!
*
; ========================================================================
; === DrawInfo =========================================================
; ========================================================================
* This is a packet of information for graphics rendering. It originates
* with a Screen, and is gotten using GetScreenDrawInfo( screen );
* If you find dri_Version >= DRI_VERSION, you know this structure
* has at least the fields defined in this version of the include file
DRI_VERSION EQU 1
STRUCTURE DrawInfo,0
UWORD dri_Version ; will be DRI_VERSION
UWORD dri_NumPens ; guaranteed to be >= NUMDRIPENS
APTR dri_Pens ; pointer to pen array
APTR dri_Font ; screen default font
UWORD dri_Depth ; (initial) depth of screen bitmap
; from DisplayInfo database for initial display mode
UWORD dri_ResolutionX
UWORD dri_ResolutionY
ULONG dri_Flags
STRUCT dri_longreserved,28
DRIF_NEWLOOK EQU $00000001 ; specified SA_Pens, full treatment
DRIB_NEWLOOK EQU 0
; rendering pen number indexes into DrawInfo.dri_Pens[]
ENUM
EITEM DETAILPEN ; compatible Intuition rendering pens
EITEM BLOCKPEN,
EITEM TEXTPEN ; text on background (pen = 0)
EITEM SHINEPEN ; bright edge on bas-relief
EITEM SHADOWPEN ; dark edge
EITEM FILLPEN ; active window fill
EITEM FILLTEXTPEN ; text over FILLPEN
EITEM BACKGROUNDPEN ; always color 0
EITEM HIGHLIGHTTEXTPEN ; highlighted text, against BACKGROUNDPEN
EITEM NUMDRIPENS
; ========================================================================
; === Screen =============================================================
; ========================================================================
STRUCTURE Screen,0
APTR sc_NextScreen ; linked list of screens
APTR sc_FirstWindow ; linked list Screen's Windows
WORD sc_LeftEdge ; parameters of the screen
WORD sc_TopEdge ; parameters of the screen
WORD sc_Width ; null-terminated Title text
WORD sc_Height ; for Windows without ScreenTitle
WORD sc_MouseY ; position relative to upper-left
WORD sc_MouseX ; position relative to upper-left
WORD sc_Flags ; see definitions below
APTR sc_Title
APTR sc_DefaultTitle
; Bar sizes for this Screen and all Window's in this Screen
BYTE sc_BarHeight
BYTE sc_BarVBorder
BYTE sc_BarHBorder
BYTE sc_MenuVBorder
BYTE sc_MenuHBorder
BYTE sc_WBorTop
BYTE sc_WBorLeft
BYTE sc_WBorRight
BYTE sc_WBorBottom
BYTE sc_KludgeFill00 ; This is strictly for word-alignment
; the display data structures for this Screen
APTR sc_Font ; this screen's default font
STRUCT sc_ViewPort,vp_SIZEOF ; describing the Screen's display
STRUCT sc_RastPort,rp_SIZEOF ; describing Screen rendering
STRUCT sc_BitMap,bm_SIZEOF ; auxiliary graphexcess baggage
STRUCT sc_LayerInfo,li_SIZEOF ; each screen gets a LayerInfo
APTR sc_FirstGadget
BYTE sc_DetailPen ; for bar/border/gadget rendering
BYTE sc_BlockPen ; for bar/border/gadget rendering
; the following variable(s) are maintained by Intuition to support the
; DisplayBeep() color flashing technique
WORD sc_SaveColor0
; This layer is for the Screen and Menu bars
APTR sc_BarLayer ; was "BarLayer"
APTR sc_ExtData
APTR sc_UserData ; general-purpose pointer to User data
LABEL sc_SIZEOF ; actually, you have no business talking about
; or relying on the size of a screen structure
; --- FLAGS SET BY INTUITION -------------------------------------------------
; The SCREENTYPE bits are reserved for describing various Screen types
; available under Intuition.
SCREENTYPE EQU $000F ; all the screens types available
; --- the definitions for the Screen Type ------------------------------------
WBENCHSCREEN EQU $0001 ; identifies the Workbench screen
PUBLICSCREEN EQU $0002 ; public shared (custom) screen
CUSTOMSCREEN EQU $000F ; for that special look
SHOWTITLE EQU $0010 ; this gets set by a call to ShowTitle()
BEEPING EQU $0020 ; set when Screen is beeping
CUSTOMBITMAP EQU $0040 ; if you are supplying your own BitMap
SCREENBEHIND EQU $0080 ; if you want your screen to open behind
; already open screens
SCREENQUIET EQU $0100 ; if you do not want Intuition to render
; into your screen (gadgets, title)
SCREENHIRES EQU $0200 ; do not use lowres gadgets (set by intuition)
STDSCREENHEIGHT EQU -1 ; supply in NewScreen.Height
STDSCREENWIDTH EQU -1 ; supply in NewScreen.Width
NS_EXTENDED EQU $1000 ; means ns_Extenion is valid
AUTOSCROLL EQU $4000 ; automatic scrolling of large raster
* Screen attribute tag ID's. These are used in the ti_Tag field of
* TagItem arrays passed to OpenScreenTagList() (or in the
* ExtNewScreen.Extension field).
* Screen attribute tags. Please use these versions, not those in
* iobsolete.h.
ENUM TAG_USER+33
*
* these items specify items equivalent to fields in NewScreen
EITEM SA_Left ; traditional screen positions and dimensions
EITEM SA_Top
EITEM SA_Width
EITEM SA_Height
EITEM SA_Depth ; screen bitmap depth
EITEM SA_DetailPen ; serves as default for windows, too
EITEM SA_BlockPen
EITEM SA_Title ; default screen title
EITEM SA_Colors ; ti_Data is an array of struct ColorSpec,
; terminated by ColorIndex = -1. Specifies
; initial screen palette colors.
EITEM SA_ErrorCode ; ti_Data points to LONG error code (values below)
EITEM SA_Font ; equiv. to NewScreen.Font
EITEM SA_SysFont ; Selects one of the preferences system fonts:
; 0 - old DefaultFont, fixed-width
; 1 - WB Screen preferred font
EITEM SA_Type ; equiv. to NewScreen.Type
EITEM SA_BitMap ; ti_Data is pointer to custom BitMap. This
; implies type of CUSTOMBITMAP
EITEM SA_PubName ; presence of this tag means that the screen
; is to be a public screen. Please specify
; BEFORE the two tags below
EITEM SA_PubSig
EITEM SA_PubTask ; Task ID and signal for being notified that
; the last window has closed on a public screen.
EITEM SA_DisplayID ; ti_Data is new extended display ID from
; <graphics/displayinfo.h>.
EITEM SA_DClip ; ti_Data points to a rectangle which defines
; screen display clip region
EITEM SA_Overscan ; was S_STDDCLIP. Set to one of the OSCAN_
; specifiers below to get a system standard
; overscan region for your display clip,
; screen dimensions (unless otherwise specified),
; and automatically centered position (partial
; support only so far).
EITEM SA_Obsolete1 ; obsolete S_MONITORNAME
* booleans *
EITEM SA_ShowTitle ; boolean equivalent to flag SHOWTITLE
EITEM SA_Behind ; boolean equivalent to flag SCREENBEHIND
EITEM SA_Quiet ; boolean equivalent to flag SCREENQUIET
EITEM SA_AutoScroll ; boolean equivalent to flag AUTOSCROLL
EITEM SA_Pens ; array as in DrawInfo, terminated by -1
EITEM SA_FullPalette ; boolean: initialize color table to entire
; preferences palette (32 for V36), rather
; than compatible pens 0-3, 17-19, with
; remaining palette as returned by GetColorMap()
* OpenScreen error codes, which are returned in the (optional) LONG
* pointed to by ti_Data for the SA_ErrorCode tag item
OSERR_NOMONITOR EQU (1) ; named monitor spec not available
OSERR_NOCHIPS EQU (2) ; you need newer cu