70 lines
1.9 KiB
C
70 lines
1.9 KiB
C
#ifndef _OVL_H
|
||
#define _OVL_H
|
||
|
||
typedef LONG RSC_H;
|
||
|
||
typedef struct
|
||
{
|
||
WORD Protokoll;
|
||
|
||
/* ab RSM2OVL.Protokoll >= 1 */
|
||
|
||
RSC_H (*RscLoad)(const char* RscFile, LONG Mode);
|
||
void (*RscFree)(RSC_H ResourceHandle);
|
||
OBJECT* (*RscGetTree)(RSC_H ResourceHandle, LONG Index);
|
||
char* (*RscGetSring)(RSC_H ResourceHandle, LONG Index);
|
||
BITBLK* (*RscGetImage)(RSC_H ResourceHandle, LONG Index);
|
||
|
||
void (*ConvertTree)(OBJECT* Tree, LONG Mode);
|
||
} RSM2OVL;
|
||
|
||
|
||
|
||
typedef struct
|
||
{
|
||
OBJECT* DialToolbox; /* Die Toolbox f<>r Dialoge */
|
||
OBJECT* MenuToolbox; /* Die Toolbox f<>r Men<65>s */
|
||
OBJECT* MenuDrop; /* Wird im Men<65> ein Title eingef<65>gt, */
|
||
/* dann wird dieser Baum als Drop verwendet.*/
|
||
OBJECT* StdDialog; /* Soll ein neuer Dialog angelegt werden, */
|
||
/* dann wird dieser Baum verwendet. */
|
||
OBJECT* StdMenu; /* Soll ein neues Men<65> angelegt werden, */
|
||
/* dann wird dieser Baum verwendet. */
|
||
} TOOLS;
|
||
|
||
typedef WORD (*EVENTHANDLER)(EVNT* Evnt);
|
||
typedef WORD (*INITEVENTHANDLER)(EVENTHANDLER EventHandler);
|
||
typedef const char* (*GETOBNAME)(LONG Idx);
|
||
|
||
typedef struct
|
||
{
|
||
LONG Magic; /* 0x4f424a43 'OBJC' */
|
||
WORD Protokoll;
|
||
LONG ID;
|
||
WORD Version;
|
||
char Name[32];
|
||
char Copyright[32];
|
||
|
||
WORD (*Init)(const char* FileName, UWORD* Global, RSM2OVL* RsmOvl, TOOLS* Tools);
|
||
void (*Exit)();
|
||
|
||
WORD (*Draw)(OBJECT* Objc, LONG* Clip, LONG Flags);
|
||
|
||
/* ab OVL2RSM.Protokoll >= 1 */
|
||
|
||
WORD (*GetMinSize)(OBJECT* Objc, LONG Flags, WORD* MinW, WORD* MinH);
|
||
void (*GetArea)(OBJECT* Objc, LONG Flags, GRECT* Area);
|
||
|
||
WORD (*SetUp)(INITEVENTHANDLER InitEventHandler);
|
||
|
||
/* ab OVL2RSM.Protokoll >= 2 */
|
||
|
||
WORD (*Test)(LONG Mode, LONG Resource, LONG Idx, GETOBNAME GetObName, INITEVENTHANDLER InitEventHandler);
|
||
|
||
LONG (*GetShortCut)(OBJECT* Objc, LONG Flags, char ShortCut[10]);
|
||
|
||
} OVL2RSM;
|
||
|
||
|
||
#endif /* _OVL_H */
|