home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d5xx
/
d547
/
powersource.lha
/
PowerSource
/
source.lzh
/
source
/
defs.h
< prev
next >
Wrap
C/C++ Source or Header
|
1991-09-15
|
7KB
|
245 lines
/*----------------------------------------------------------------------*
defs.h version 3.0 - © Copyright 1990-91 Jaba Development
Author : Jan van den Baard
Purpose: headerfile for making a pre-copiled symbol file (Aztec V5.0a)
*----------------------------------------------------------------------*/
#include <exec/types.h>
#include <exec/memory.h>
#include <intuition/intuition.h>
#include <intuition/intuitionbase.h>
#include <libraries/dos.h>
#include <libraries/dosextens.h>
#include <workbench/workbench.h>
#include <workbench/startup.h>
#include <workbench/icon.h>
#include <functions.h>
#include <tool.h> /* tool.library V8++ !!! */
#define AND &&
#define OR ||
#define Alloc(c,s) AllocItem(c,(ULONG)s,MEMF_PUBLIC|MEMF_CLEAR)
struct BitMapHeader {
UWORD w,h;
WORD x,y;
UBYTE nPlanes;
UBYTE masking;
UBYTE compression;
UBYTE pad1;
UWORD transparentColor;
UBYTE xAspect, yAspect;
WORD pageWidth, pageHeight;
};
struct FORMChunk {
ULONG fc_Type;
ULONG fc_Length;
ULONG fc_SubType;
};
struct IFFChunk {
ULONG ic_Type;
ULONG ic_Length;
};
#define bpr(w) (((w+15)>>4)<<1)
#define RENDER 0
#define SELECT 1
#define STDPRP 2
#define TXT_ADD 0
#define TXT_MOVE 1
#define TXT_MODIFY 2
#define TXT_DELETE 3
#define TITLE ((UBYTE *)"PowerSource V3.0")
#define TYPE ((ULONG)'PWSR')
struct ge_prefs {
BOOL skip_zero_planes;
BOOL auto_size;
BOOL image_copy;
BOOL text_copy;
BOOL static_structures;
BOOL no_flags;
BOOL os2_hborder;
UWORD flag_bits;
};
#define GP_COORDS 0x0001
/*
* FOR THE BINARY FILE STRUCTURE!!!
*/
#define GE_VERSION 4
struct BinHeader {
ULONG FileType;
USHORT Version;
USHORT ScrDepth;
USHORT Colors[32];
USHORT FPen;
USHORT BPen;
USHORT BackFill;
USHORT WDBackFill;
USHORT LightSide;
USHORT DarkSide;
ULONG FlagsBits;
ULONG SpareFlags;
UWORD Spare[6];
};
#define BH_WORKBENCH 0x0001
#define BH_REQUESTER 0x0002
#define GADGETOFF 0x0001
#define BORDERONLY 0x0002
#define NOSIGNAL 0x0004
#define IMAGEONLY 0x0008 /* not yet implemented! */
#define NOBORDER 0x0010
#define OS20BORDER 0x0020
#define USERLABEL 0x0040
#define OS20HIGHBORDER 0x0080
#define SHAREDBORDER 0x0100
/*
* reserved bits ->
* GZZGADGET 0x2000 in SpecialFlags!
*/
#define MAXLABEL 32
struct MyGadget {
struct MyGadget *Succ;
struct MyGadget *Pred;
struct Gadget Gadget;
USHORT SpecialFlags;
UBYTE GadgetLabel[MAXLABEL];
UWORD RenderAccount;
UWORD SelectAccount;
UWORD BorderAccount;
UWORD HBorderAccount;
};
struct GadgetList {
struct MyGadget *Head;
struct MyGadget *Tail;
struct MyGadget *TailPred;
};
struct SharedImage {
struct SharedImage *Succ;
struct SharedImage *Pred;
struct Image *Image;
UWORD UseCount;
ULONG CheckSum;
UWORD Colors[32];
};
struct SharedList {
struct SharedImage *Head;
struct SharedImage *Tail;
struct SharedImage *TailPred;
};
struct MyMenu {
/*** standard menu structure ***/
struct MyMenu *NextMenu;
WORD LeftEdge, TopEdge, Width, Height;
UWORD Flags;
BYTE *MenuName;
struct MyMenuItem *FirstItem;
WORD JazzX, JazzY, BeatX, BeatY;
UWORD SpecialFlags; /* flags (see below) */
BYTE TheMenuName[32]; /* the menu it's name */
struct ListItem *ItsListItem;
};
#define USERFORMAT 0x0001 /* user specified format */
struct MyMenuItem {
/*** standard MenuItem structure ***/
struct MyMenuItem *NextItem;
WORD LeftEdge, TopEdge, Width, Height;
UWORD Flags;
LONG MutualExclude;
APTR ItemFill;
APTR SelectFill;
BYTE Command;
BYTE KludgeFill0;
struct MyMenuItem *SubItem;
UWORD NextSelect;
UWORD SpecialFlags; /* flags (see above) */
UWORD RenderAccount; /* image account */
UWORD SelectAccount; /* selected image account */
struct ListItem *ItsListItem;
};
struct ListItem {
struct MenuItem AItem; /* just a stupid item */
struct IntuiText Text; /* and its stupid text */
UBYTE Letters[10]; /* and room for the stupid text */
struct MyMenu *Menu; /* the menu */
struct MyMenuItem *Item; /* the item (if (sub)itemlist) */
struct MyMenuItem *SubItem; /* the subitem (if sublist) */
};
struct SharedBorder {
struct SharedBorder *Succ;
struct SharedBorder *Pred;
struct Border *Border;
UWORD UseCount;
UWORD SpecialFlags;
};
#define SB_HIGHBORDER 0x0001
#define SB_BORDERONLY 0x0002
struct BorderList {
struct SharedBorder *Head;
struct SharedBorder *Tail;
struct SharedBorder *TailPred;
};
#ifdef FileRequester
#define FileSelector FileRequester
#endif
#define RETURN_MAIN_MENU 0
#define RETURN_MENU_MENU 1
#define RETURN_ITEM_MENU 2
#define TEXT_WIDTH(r,t) (TextLength(r,(char *)t,strlen((char *)t)))
#define TEXT_HEIGHT(r) (r->Font->tf_YSize)
#define MENUED 0
#define ITEMED 1
#define SUBED 2
#define MENUSPACING 16
#define ITEMSPACING 1
#define TEXTSPACING 4
#define IDCMP_NM NEWSIZE|GADGETUP|GADGETDOWN|INACTIVEWINDOW|ACTIVEWINDOW|MENUPICK|RAWKEY|MOUSEBUTTONS|CLOSEWINDOW|MOUSEMOVE
#define FLAGS_NM WINDOWSIZING|WINDOWDRAG|WINDOWCLOSE|WINDOWDEPTH|NOCAREREFRESH|SMART_REFRESH+ACTIVATE
#define FLAGS_RQ WINDOWSIZING|WINDOWDRAG|NOCAREREFRESH|SMART_REFRESH|ACTIVATE|SIZEBRIGHT|SIZEBBOTTOM|GIMMEZEROZERO|BORDERLESS
#define ESC 0x45
#define F1 0x50
#define F2 0x51
#define F3 0x52
#define F4 0x53
#define F5 0x54
#define F6 0x55
#define F7 0x56
#define F8 0x57
#define F9 0x58
#define F10 0x59
#define HELP 0x5F