home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 4
/
FreshFish_May-June1994.bin
/
bbs
/
cbm
/
os-include.lha
/
os-include
/
intuition
/
intuition.i
< prev
next >
Wrap
Text File
|
1993-10-15
|
63KB
|
1,635 lines
IFND INTUITION_INTUITION_I
INTUITION_INTUITION_I SET 1
**
** $VER: intuition.i 38.26 (11.8.93)
** Includes Release 40.15
**
** Interface definitions for Intuition applications
**
** (C) Copyright 1985-1993 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 GRAPHICS_TEXT_I
INCLUDE "graphics/text.i"
ENDC
IFND EXEC_PORTS_I
INCLUDE "exec/ports.i"
ENDC
IFND DEVICES_TIMER_I
INCLUDE "devices/timer.i"
ENDC
IFND DEVICES_INPUTEVENT_I
INCLUDE "devices/inputevent.i"
ENDC
IFND UTILITY_TAGITEM_I
INCLUDE "utility/tagitem.i"
ENDC
*
* NOTE: intuition/iobsolete.i is included at the END of this file!
*
; ========================================================================;
; === Menu ===============================================================;
; ========================================================================;
STRUCTURE Menu,0
APTR mu_NextMenu ; menu pointer, same level
WORD mu_LeftEdge ; position of the select box
WORD mu_TopEdge ; position of the select box
WORD mu_Width ; dimensions of the select box
WORD mu_Height ; dimensions of the select box
WORD mu_Flags ; see flag definitions below
APTR mu_MenuName ; text for this Menu Header
APTR mu_FirstItem ; pointer to first in chain
; these mysteriously-named variables are for internal use only
WORD mu_JazzX
WORD mu_JazzY
WORD mu_BeatX
WORD mu_BeatY
LABEL mu_SIZEOF
;*** FLAGS SET BY BOTH THE APPLIPROG AND INTUITION ***
MENUENABLED EQU $0001 ; whether or not this menu is enabled
;*** FLAGS SET BY INTUITION ***
MIDRAWN EQU $0100 ; this menu's items are currently drawn
; ========================================================================;
; === MenuItem ===========================================================;
; ========================================================================;
STRUCTURE MenuItem,0
APTR mi_NextItem ; pointer to next in chained list
WORD mi_LeftEdge ; position of the select box
WORD mi_TopEdge ; position of the select box
WORD mi_Width ; dimensions of the select box
WORD mi_Height ; dimensions of the select box
WORD mi_Flags ; see the defines below
LONG mi_MutualExclude ; set bits mean this item excludes that item
APTR mi_ItemFill ; points to Image, IntuiText, or NULL
; when this item is pointed to by the cursor and the items highlight
; mode HIGHIMAGE is selected, this alternate image will be displayed
APTR mi_SelectFill ; points to Image, IntuiText, or NULL
BYTE mi_Command ; only if appliprog sets the COMMSEQ flag
BYTE mi_KludgeFill00 ; This is strictly for word-alignment
APTR mi_SubItem ; if non-zero, points to MenuItem for submenu
; The NextSelect field represents the menu number of next selected
; item (when user has drag-selected several items)
WORD mi_NextSelect
LABEL mi_SIZEOF
; --- FLAGS SET BY THE APPLIPROG --------------------------------------------
CHECKIT EQU $0001 ; set to indicate checkmarkable item
ITEMTEXT EQU $0002 ; set if textual, clear if graphical item
COMMSEQ EQU $0004 ; set if there's an command sequence
MENUTOGGLE EQU $0008 ; set for toggling checks (else mut. exclude)
ITEMENABLED EQU $0010 ; set if this item is enabled
; these are the SPECIAL HIGHLIGHT FLAG state meanings
HIGHFLAGS EQU $00C0 ; see definitions below for these bits
HIGHIMAGE EQU $0000 ; use the user's "select image"
HIGHCOMP EQU $0040 ; highlight by complementing the select box
HIGHBOX EQU $0080 ; highlight by drawing a box around the image
HIGHNONE EQU $00C0 ; don't highlight
; --- FLAGS SET BY BOTH APPLIPROG AND INTUITION -----------------------------
CHECKED EQU $0100 ; state of the checkmark
; --- FLAGS SET BY INTUITION ------------------------------------------------
ISDRAWN EQU $1000 ; this item's subs are currently drawn
HIGHITEM EQU $2000 ; this item is currently highlighted
MENUTOGGLED EQU $4000 ; this item was already toggled
; ========================================================================
; === Requester ==========================================================
; ========================================================================
STRUCTURE Requester,0
APTR rq_OlderRequest
WORD rq_LeftEdge ; dimensions of the entire box
WORD rq_TopEdge ; dimensions of the entire box
WORD rq_Width ; dimensions of the entire box
WORD rq_Height ; dimensions of the entire box
WORD rq_RelLeft ; get POINTREL Pointer relativity offsets
WORD rq_RelTop ; get POINTREL Pointer relativity offsets
APTR rq_ReqGadget ; pointer to the first of a list of gadgets
APTR rq_ReqBorder ; the box's border
APTR rq_ReqText ; the box's text
WORD rq_Flags ; see definitions below
UBYTE rq_BackFill ; pen number for back-plane fill before draws
BYTE rq_KludgeFill00 ; This is strictly for word-alignment
APTR rq_ReqLayer ; layer in which requester rendered
STRUCT rq_ReqPad1,32 ; for backwards compatibility (reserved)
; If the BitMap plane pointers are non-zero, this tells the system
; that the image comes pre-drawn (if the appliprog wants to define
; its own box, in any shape or size it wants!); this is OK by
; Intuition as long as there's a good correspondence between the image
; and the specified Gadgets
APTR rq_ImageBMap ; points to the BitMap of PREDRAWN imagery
APTR rq_RWindow ; points back to requester's window
APTR rq_ReqImage ; new for V36: drawn if USEREQIMAGE set
STRUCT rq_ReqPad2,32 ; for backwards compatibility (reserved)
LABEL rq_SIZEOF
; FLAGS SET BY THE APPLIPROG
POINTREL EQU $0001 ; if POINTREL set, TopLeft is relative to pointer
; for DMRequester, relative to window center
; for Request().
PREDRAWN EQU $0002 ; if ReqBMap points to predrawn Requester imagery
NOISYREQ EQU $0004 ; if you don't want requester to filter input
; New for V36
SIMPLEREQ EQU $0010 ; to use SIMPLEREFRESH layer (recommended)
USEREQIMAGE EQU $0020 ; render linked list ReqImage after BackFill
; but before gadgets and text
NOREQBACKFILL EQU $0040 ; don't bother filling with Requester.BackFill
; FLAGS SET BY INTUITION;
REQOFFWINDOW EQU $1000 ; part of one of the Gadgets was offwindow
REQACTIVE EQU $2000 ; this requester is active
SYSREQUEST EQU $4000 ; (unused) this requester caused by system
DEFERREFRESH EQU $8000 ; this Requester stops a Refresh broadcast
; ========================================================================
; === Gadget =============================================================
; ========================================================================
STRUCTURE Gadget,0
APTR gg_NextGadget ; next gadget in the list
WORD gg_LeftEdge ; "hit box" of gadget
WORD gg_TopEdge ; "hit box" of gadget
WORD gg_Width ; "hit box" of gadget
WORD gg_Height ; "hit box" of gadget
WORD gg_Flags ; see below for list of defines
WORD gg_Activation ; see below for list of defines
WORD gg_GadgetType ; see below for defines
; appliprog can specify that the Gadget be rendered as either as Border
; or an Image. This variable points to which (or equals NULL if there's
; nothing to be rendered about this Gadget)
APTR gg_GadgetRender
; appliprog can specify "highlighted" imagery rather than algorithmic
; this can point to either Border or Image data
APTR gg_SelectRender
APTR gg_GadgetText ; text for this gadget;
; MutualExclude, never implemented, is now declared obsolete.
; There are published examples of implementing a more general
; and practical exclusion in your applications.
;
; Starting V36, this field is used to point to a hook
; for a custom gadget.
;
; Programs using this field for their own proce