/* ** $Filename: VisualArts.h $ ** $Includes, V2.2 $ ** $Date: 95/03/15$ ** ** ** (C) 1994 Danny Y. Wong ** All Rights Reserved ** ** DO NOT MODIFY */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "string.h" #include "stdio.h" #include "stdlib.h" #include "ctype.h" #include "PopUpMenuClass.h" /* screemode flags */ #define ASLSM_INITIALAUTOSCROLL 1 #define ASLSM_INITIALINFOOPENED 2 #define ASLSM_DOWIDTH 4 #define ASLSM_DOHEIGHT 8 #define ASLSM_DODEPTH 16 #define ASLSM_DOOVERSCANTYPE 32 #define ASLSM_DOAUTOSCROLL 64 #define ASLSM_SLEEPWINDOW 128 /* font requester flags */ #define ASLFO_SLEEPWINDOW 1 #define ASLFO_DOFRONTPEN 2 #define ASLFO_DOBACKPEN 4 #define ASLFO_DOSTYLE 8 #define ASLFO_DODRAWMODE 16 #define ASLFO_FOXEDWIDTHONLY 32 /* file requester flags */ #define ASLFR_DOSAVEMODE 1 #define ASLFR_DOMULTISELECT 2 #define ASLFR_DOPATTERNS 4 #define ASLFR_DRAWERSONLY 8 #define ASLFR_REJECTICONS 16 #define ASLFR_FILTERDRAWERS 32 #define ASLFR_SLEEPWINDOW 64 /* to adjust the GUI if the window title is other than topaz 8 */ #define kWindowOffSetY (Scr->Font->ta_YSize - 8) /* context sensitive */ #define VA_Static 0x0001 #define VA_ExpandX 0x0002 #define VA_MoveX 0x0004 #define VA_ExpandY 0x0008 #define VA_MoveY 0x0010 /* defines for scroller window with super bitmap */ #define MAX_LEVEL (0xFFFFL) #define LAYERXOFFSET(win) (win->RPort->Layer->Scroll_X) #define LAYERYOFFSET(win) (win->RPort->Layer->Scroll_Y) /* clip board */ struct cbbuf { ULONG size; /* size of memory allocation */ ULONG count; /* number of characters after stripping */ UBYTE *mem; /* pointer to memory containing data */ }; /* define for Image */ #ifndef IM #define IM(o) ((struct Image *) o) #endif /* define for determining the max value */ #ifndef MAX #define MAX(x,y) ((x) > (y) ? (x) : (y)) #endif /* for new menus in V38 */ #ifndef WA_NewLookMenus #define WA_NewLookMenus (WA_Dummy + 0x30) #endif #ifndef GTMN_NewLookMenus #define GTMN_NewLookMenus GT_TagBase+67 /* ti_Data is boolean */ #endif #ifndef WFLG_NEWLOOKMENUS #define WFLG_NEWLOOKMENUS 0x00200000 /* window has NewLook menus */ #endif /* macros for easy access to Gadget data */ #define GetString(gad) (((struct StringInfo *)gad->SpecialInfo)->Buffer) #define GetUndoString(gad) (((struct StringInfo *)gad->SpecialInfo)->UndoBuffer) #define GetNumber(gad) (((struct StringInfo *)gad->SpecialInfo)->LongInt) /* List node name. Each node have the following */ struct NameNode { struct Node nn_Node; /* linked list node to previous or next node */ UBYTE nn_Data[255]; /* name of the node, this is the same as */ /* nn_Node.ln_Name */ }; /* Visual Arts message object. Every GADGETUP event, the object is sent to the attached function. For Menus, the va_Gadget field is always NULL. */ struct VAobject { struct Window *va_Window; /* window the object originated */ struct Gadget *va_Gadget; /* the gadget that sent this object */ struct IntuiMessage *va_IntuiMsg; /* the IntuiMessage */ ULONG va_Flags; /* user flags */ APTR va_UserData; /* user data, function pointer etc..*/ }; /* Every AREXX command have the following */ struct rexxCommandList { char *name; /* name of the AREXX command, note its case sensitive */ APTR userdata; /* user data, in this case it's a function pointer */ }; /* Structure for Multi-Processing windows. This structure is a linked List for every window opened as Multi-Processing */ struct WindowNode { struct Node nn_Node; /* linked list to prev or next window */ UBYTE nn_Data[80]; /* window name */ struct Window *nn_Window; /* window pointer */ struct AppWindow *nn_AppWindow; /* AppWindow pointer if window is a AppWindow */ struct MsgPort *nn_AppWindPort; /* AppWindow Port */ short ID; /* WindowNode ID */ APTR UserData; /* window Handler for this window */ };