home *** CD-ROM | disk | FTP | other *** search
- IFND WORKBENCH_WORKBENCH_I
- WORKBENCH_WORKBENCH_I EQU 1
- **
- ** $Filename: workbench/workbench.i $
- ** $Release: 2.04 Includes, V37.4 $
- ** $Revision: 37.2 $
- ** $Date: 91/02/01 $
- **
- ** workbench.library general definitions
- **
- ** (C) Copyright 1985-1991 Commodore-Amiga, Inc.
- ** All Rights Reserved
- **
-
- IFND EXEC_TYPES_I
- INCLUDE "exec/types.i"
- ENDC
-
- IFND EXEC_NODES_I
- INCLUDE "exec/nodes.i"
- ENDC
-
- IFND EXEC_LISTS_I
- INCLUDE "exec/lists.i"
- ENDC
-
- IFND EXEC_TASKS_I
- INCLUDE "exec/tasks.i"
- ENDC
-
- IFND INTUITION_INTUITION_I
- INCLUDE "intuition/intuition.i"
- ENDC
-
-
- ; 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
- WBAPPICON EQU 8
-
- ; 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 OldDrawerData_SIZEOF ; pre V36 size
- ; the amount of OldDrawerData actually written to disk
- OLDDRAWERDATAFILESIZE EQU (OldDrawerData_SIZEOF)
- ULONG dd_Flags ; flags for drawer
- UWORD dd_ViewModes ; view mode for drawer
- LABEL DrawerData_SIZEOF
- ; the amount of DrawerData actually written to disk
- DRAWERDATAFILESIZE EQU (DrawerData_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
- UBYTE do_Type
- UBYTE do_PAD_BYTE ; Pad it out to the next word boundry
- 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
- WB_DISKREVISION EQU 1 ; out current revision number
- ; I only use the lower 8 bits of Gadget.UserData for the revision #
- WB_DISKREVISIONMASK EQU $ff
-
- 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>
- MTYPE_APPWINDOW EQU 7 ; msg from an app window
- MTYPE_APPICON EQU 8 ; msg from an app icon
- MTYPE_APPMENUITEM EQU 9 ; msg from an app menuitem
- MTYPE_COPYEXIT EQU 10 ; exit message from copy process
- MTYPE_ICONPUT EQU 11 ; msg from PutDiskObject in icon.library
-
- * 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)
-
-
- * workbench now is a library. this is it's name
- WORKBENCH_NAME MACRO
- dc.b 'workbench.library',0
- ds.w 0
- ENDM
-
- ; If you find am_Version >= AM_VERSION, you now this structure has
- ; at least the fields defined in this version of the include file
- AM_VERSION EQU 1
-
- STRUCTURE AppMessage,0
- STRUCT am_Message,MN_SIZE ; standard message structure
- UWORD am_Type ; message type
- ULONG am_UserData ; application specific
- ULONG am_ID ; application definable ID
- LONG am_NumArgs ; # of elements in arglist
- APTR am_ArgList ; the arguements themselves
- UWORD am_Version ; will be AM_VERSION
- UWORD am_Class ; message class
- WORD am_MouseX ; mouse x position of event
- WORD am_MouseY ; mount y position of event
- ULONG am_Seconds ; current system clock time
- ULONG am_Micros ; current system clock time
- STRUCT am_Reserved,8 ; avoid recompilation
- LABEL AppMessage_SIZEOF
-
-
- *
- * The following structures are private. These are just stub
- * structures for code compatibility...
- *
- STRUCTURE AppWindow,0
- STRUCT aw_PRIVATE,0
- LABEL AppWindow_SIZEOF
-
- STRUCTURE AppIcon,0
- STRUCT ai_PRIVATE,0
- LABEL AppIcon_SIZEOF
-
- STRUCTURE AppMenuItem,0
- STRUCT ami_PRIVATE,0
- LABEL AppMenuItem_SIZEOF
-
-
- ENDC ; WORKBENCH_WORKBENCH_I
-
-