KeymapSwitcher: dockybase.h

// DOCKYBASE.H
#ifndef DOCKY_BASE_H
#define DOCKY_BASE_H
#ifndef DOCKY_DATA_H
#define DOCKY_DATA_H
 
#include <proto/exec.h>
#include <proto/dos.h>
#include <proto/utility.h>
#include <proto/icon.h>
#include <interfaces/docky.h>
#include <libraries/docky.h>
#include <prefs/prefhdr.h>
#include <prefs/input.h>
 
#define DOCKYF_IMAGEFLAG (1 << 0)
#define OBJ(x) Objects[x]
#define GAD(x) (struct Gadget *)Objects[x]
 
struct DockyData {
 struct DockyObjectNr self;
 struct DockySize size;
 struct RastPort *rp;
 struct DockyAttention attn;
 struct Screen *scr;
 struct Window *win;
 char filename[1024], keymap1Name[64], keymap2Name[64], keymapSel[64];
 int32 km_item;
};
 
struct DockyBase {
 struct Library libBase;
 APTR SegList;
};
 
extern uint32               VARARGS68K _docky_Obtain(struct DockyIFace *);
extern uint32               VARARGS68K _docky_Release(struct DockyIFace *);
extern void                 VARARGS68K _docky_Expunge(struct DockyIFace *);
extern struct DockyIFace *  VARARGS68K _docky_Clone(struct DockyIFace *);
extern BOOL                 VARARGS68K _docky_DockyGet(struct DockyIFace *, uint32 msgType, uint32 * msgData);
extern BOOL                 VARARGS68K _docky_DockySet(struct DockyIFace *, uint32 msgType, uint32 msgData);
extern BOOL                 VARARGS68K _docky_DockyProcess(struct DockyIFace *, uint32 turnCount, uint32 * msgType, uint32 * msgData, BOOL * anotherTurn);
 
enum // windows
{
 WID_MAIN = 0,
 WID_PREFS,
 WID_LAST
};
 
enum
{
 // preferences objects
 OBJ_LISTBROWSER = 0,
 OBJ_QUIT,
 OBJ_USE,
 OBJ_SAVE,
 // menu objects
 GID_BITMAP1,
 GID_BITMAP2,
 // choose keymap objects
 OBJ_BTN1,
 OBJ_BTN2,
 GID_KM1,
 GID_KM2,
 LAST_NUM
};
 
enum
{
 // menu options
 MENU_OPT1 = 0,
 MENU_OPT2,
 MENU_PREFS
};
 
#endif
#endif