Files
FireBee_Setup/devtools/rsm/DE/modules/ovl_dev/ovl.h
2022-11-14 10:05:42 +01:00

70 lines
1.9 KiB
C
Raw Blame History

#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 */