157 lines
4.7 KiB
OpenEdge ABL
157 lines
4.7 KiB
OpenEdge ABL
IFND INTUITION_SCREENS_I
|
|
INTUITION_SCREENS_I SET 1
|
|
**
|
|
** $Filename: intuition/screens.i $
|
|
** $Release: 1.3 $
|
|
**
|
|
**
|
|
**
|
|
** (C) Copyright 1987,1988 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
|
|
|
|
; ========================================================================
|
|
; === 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
|
|
|
|
; You supply a linked-list of Gadgets for your Screen.
|
|
; This list DOES NOT include system Gadgets. You get the standard
|
|
; system Screen Gadgets by default
|
|
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
|
|
|
|
|
|
; --- 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 ; Ta Da! The Workbench
|
|
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)
|
|
|
|
STDSCREENHEIGHT EQU -1 ; supply in NewScreen.Height
|
|
|
|
; ========================================================================
|
|
; === NewScreen ==========================================================
|
|
; ========================================================================
|
|
STRUCTURE NewScreen,0
|
|
|
|
WORD ns_LeftEdge ; initial Screen dimensions
|
|
WORD ns_TopEdge ; initial Screen dimensions
|
|
WORD ns_Width ; initial Screen dimensions
|
|
WORD ns_Height ; initial Screen dimensions
|
|
WORD ns_Depth ; initial Screen dimensions
|
|
|
|
BYTE ns_DetailPen ; default rendering pens (for Windows too)
|
|
BYTE ns_BlockPen ; default rendering pens (for Windows too)
|
|
|
|
WORD ns_ViewModes ; display "modes" for this Screen
|
|
|
|
WORD ns_Type ; Intuition Screen Type specifier
|
|
|
|
APTR ns_Font ; default font for Screen and Windows
|
|
|
|
APTR ns_DefaultTitle ; Title when Window doesn't care
|
|
|
|
APTR ns_Gadgets ; Your own initial Screen Gadgets
|
|
|
|
; if you are opening a CUSTOMSCREEN and already have a BitMap
|
|
; that you want used for your Screen, you set the flags CUSTOMBITMAP in
|
|
; the Types variable and you set this variable to point to your BitMap
|
|
; structure. The structure will be copied into your Screen structure,
|
|
; after which you may discard your own BitMap if you want
|
|
APTR ns_CustomBitMap
|
|
|
|
LABEL ns_SIZEOF
|
|
|
|
ENDC ; INTUITION_SCREENS_I
|