amos-professional/AMOSPro Sources/includes/workbench/workbench.i
2020-04-26 02:58:13 +02:00

107 lines
2.6 KiB
OpenEdge ABL

IFND WORKBENCH_WORKBENCH_I
WORKBENCH_WORKBENCH_I SET 1
**
** $Filename: workbench/workbench.i $
** $Release: 1.3 $
**
**
**
** (C) Copyright 1985,1986,1987,1988 Commodore-Amiga, Inc.
** All Rights Reserved
**
IFND EXEC_TYPES_I
INCLUDE "exec/types.i"
ENDC ; EXEC_TYPES_I
IFND EXEC_NODES_I
INCLUDE "exec/nodes.i"
ENDC ; EXEC_NODES_I
IFND EXEC_LISTS_I
INCLUDE "exec/lists.i"
ENDC ; EXEC_LISTS_I
IFND EXEC_TASKS_I
INCLUDE "exec/tasks.i"
ENDC ; EXEC_TASKS_I
IFND INTUITION_INTUITION_I
INCLUDE "intuition/intuition.i"
ENDC ; INTUITION_INTUITION_I
; the Workbench object types
WBDISK EQU 1
WBDRAWER EQU 2
WBTOOL EQU 3
WBPROJECT EQU 4
WBGARBAGE EQU 5
WBDEVICE EQU 6
WBKICK EQU 7
; the main workbench object structure
STRUCTURE DrawerData,0
STRUCT dd_NewWindow,nw_SIZE ; args to open window
LONG dd_CurrentX ; current x coordinate of origin
LONG dd_CurrentY ; current y coordinate of origin
LABEL dd_SIZEOF
; the amount of DrawerData actually written to disk
DRAWERDATAFILESIZE EQU (dd_SIZEOF)
STRUCTURE DiskObject,0
UWORD do_Magic ; a magic num at the start of the file
UWORD do_Version ; a version number, so we can change it
STRUCT do_Gadget,gg_SIZEOF ; a copy of in core gadget
UWORD do_Type
APTR do_DefaultTool
APTR do_ToolTypes
LONG do_CurrentX
LONG do_CurrentY
APTR do_DrawerData
APTR do_ToolWindow ; only applies to tools
LONG do_StackSize ; only applies to tools
LABEL do_SIZEOF
WB_DISKMAGIC EQU $e310 ; a magic number, not easily impersonated
WB_DISKVERSION EQU 1 ; our current version number
STRUCTURE FreeList,0
WORD fl_NumFree
STRUCT fl_MemList,LH_SIZE
; weird name to avoid conflicts with FileLocks
LABEL FreeList_SIZEOF
* each message that comes into the WorkBenchPort must have a type field
* in the preceeding short. These are the defines for this type
*
MTYPE_PSTD EQU 1 ; a "standard Potion" message
MTYPE_TOOLEXIT EQU 2 ; exit message from our tools
MTYPE_DISKCHANGE EQU 3 ; dos telling us of a disk change
MTYPE_TIMER EQU 4 ; we got a timer tick
MTYPE_CLOSEDOWN EQU 5 ; <unimplemented>
MTYPE_IOPROC EQU 6 ; <unimplemented>
* workbench does different complement modes for its gadgets.
* It supports separate images, complement mode, and backfill mode.
* The first two are identical to intuitions GADGIMAGE and GADGHCOMP.
* backfill is similar to GADGHCOMP, but the region outside of the
* image (which normally would be color three when complemented)
* is flood-filled to color zero.
*
GADGBACKFILL EQU $0001
* if an icon does not really live anywhere, set its current position
* to here
*
NO_ICON_POSITION EQU ($80000000)
ENDC ; WORKBENCH_WORKBENCH_I