107 lines
2.6 KiB
OpenEdge ABL
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
|