home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
594a.lha
/
maker_v0.1
/
maker.h
< prev
next >
Wrap
C/C++ Source or Header
|
1991-07-29
|
4KB
|
229 lines
#ifndef MAKER_H
#define MAKER_H
#include <exec/types.h>
#include <intuition/intuition.h>
#include <graphics/rastport.h>
#include <libraries/gadtools.h>
typedef struct Screen Screen;
typedef struct Menu Menu;
typedef struct IntuiMessage IntuiMessage;
typedef struct RastPort RastPort;
typedef struct Gadget Gadget;
typedef struct Window Window;
typedef struct Message Message;
typedef struct IntuiText IntuiText;
typedef struct TextFont TextFont;
typedef struct TextAttr TextAttr;
typedef struct Remember Remember;
typedef struct List List;
typedef struct Node Node;
#define SOLID 0xffff
#define DASH 0xf0f0
#define MAX_TEXT_LEN 80
#define FONT_NAME_LEN 50
#define KEYCODE_Delete 127
#define KEYCODE_BackSpace 8
enum { OTYPE_Rect, OTYPE_Line, OTYPE_Text, OTYPE_Button, OTYPE_String, OTYPE_Palette,
OTYPE_CheckBox, OTYPE_ListView, OTYPE_Cycle, OTYPE_MX, OTYPE_Scroller,
OTYPE_Slider, OTYPE_IText };
enum { grayPen, blackPen, whitePen, bluePen };
#define RectWidth(rect) ((rect).maxX-(rect).minX+1)
#define RectHeight(rect) ((rect).maxY-(rect).minY+1)
typedef struct
{
USHORT minX,
minY,
maxX,
maxY;
} Rect;
/*
typedef struct
{
USHORT x,
y;
} Point;
*/
/* The common linked list element */
#define LINK_NODE struct LinkNode *next; \
USHORT type; \
USHORT numBytes; \
Rect rect;
typedef struct LinkNode
{
LINK_NODE
} LinkNode;
/*
This structure is common to all gadget-type objects
It includes the standard LinkNode structure, plus some common gadget data
*/
#define GADGET_OBJ Gadget *gadget; \
Gadget *topGadget; \
Remember *remKey; \
ULONG flags; \
char label[MAX_TEXT_LEN]; \
USHORT numGadget; \
BOOL disable;
typedef struct GadgetObj
{
LINK_NODE
GADGET_OBJ
} GadgetObj;
/* the rectangle is not a Gadtools gadget */
typedef struct RectObj
{
LINK_NODE
USHORT color;
} RectObj;
typedef struct TextObj
{
LINK_NODE
GADGET_OBJ
BOOL copyText;
BOOL border;
} TextObj;
typedef struct ButtonObj
{
LINK_NODE
GADGET_OBJ
} ButtonObj;
typedef struct CycleObj
{
LINK_NODE
GADGET_OBJ
UWORD activeItem;
char **textLabels;
UWORD tempValue;
} CycleObj;
typedef struct MXObj
{
LINK_NODE
GADGET_OBJ
UWORD activeItem;
UWORD extraSpacing;
char **textLabels;
} MXObj;
typedef struct CheckBoxObj
{
LINK_NODE
GADGET_OBJ
BOOL checked;
} CheckBoxObj;
typedef struct ScrollerObj
{
LINK_NODE
GADGET_OBJ
WORD topItem;
WORD totalItems;
WORD visibleItems;
UWORD arrowSize;
UWORD orientation;
BOOL immediateMsg;
BOOL releaseMsg;
} ScrollerObj;
typedef struct SliderObj
{
LINK_NODE
GADGET_OBJ
WORD minLevel;
WORD maxLevel;
WORD currentLevel;
UWORD maxChars;
char format[MAX_TEXT_LEN];
UWORD levelPlace;
UWORD orientation;
BOOL immediateMsg;
BOOL releaseMsg;
} SliderObj;
typedef struct StringObj
{
LINK_NODE
GADGET_OBJ
UWORD maxChars;
char theChars[MAX_TEXT_LEN];
} StringObj;
typedef struct PaletteObj
{
LINK_NODE
GADGET_OBJ
UBYTE firstColor;
UBYTE colorOffset;
UWORD depth;
UWORD indicatorWidth;
UWORD indicatorHeight;
} PaletteObj;
typedef struct ListViewObj
{
LINK_NODE
GADGET_OBJ
StringObj *stringObj;
List itemList;
UWORD topItem;
BOOL readOnly;
UWORD scrollWidth;
UWORD selectedItem;
UWORD extraSpacing;
UWORD tempStringID;
} ListViewObj;
typedef struct ITextObj
{
LINK_NODE
IntuiText iText;
char label[MAX_TEXT_LEN];
TextAttr textAttr;
char fontName[FONT_NAME_LEN];
} ITextObj;
typedef struct
{
ULONG seconds,
micros;
} TimeStamp;
#endif /* MAKER_H */