2025-09-28 02:51:15 +00:00
|
|
|
/* $Id$ */
|
2025-09-28 21:55:50 +00:00
|
|
|
#ifndef __MILSKO_LOWLEVEL_H__
|
|
|
|
|
#define __MILSKO_LOWLEVEL_H__
|
|
|
|
|
|
|
|
|
|
#include <Milsko/MachDep.h>
|
|
|
|
|
|
|
|
|
|
typedef struct _MilskoLLCallback *MilskoLLCallback, MilskoLLCallbackRec;
|
|
|
|
|
#ifdef _MILSKO
|
|
|
|
|
typedef struct _MilskoLL * MilskoLL, MilskoLLRec;
|
|
|
|
|
typedef struct _MilskoLLColor *MilskoLLColor, MilskoLLColorRec;
|
|
|
|
|
#else
|
|
|
|
|
typedef void* MilskoLL;
|
|
|
|
|
typedef void* MilskoLLColor;
|
|
|
|
|
#endif
|
2025-09-28 02:51:15 +00:00
|
|
|
|
|
|
|
|
#ifdef _MILSKO
|
|
|
|
|
#ifdef USE_X11
|
|
|
|
|
#include <Milsko/X11.h>
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef USE_GDI
|
|
|
|
|
#include <Milsko/GDI.h>
|
|
|
|
|
#endif
|
|
|
|
|
#endif
|
2025-09-28 08:49:49 +00:00
|
|
|
#include <Milsko/TypeDefs.h>
|
2025-09-28 08:37:12 +00:00
|
|
|
|
2025-09-28 21:55:50 +00:00
|
|
|
#define MilskoLLDispatch(x, y) \
|
|
|
|
|
if(x->callback != NULL && x->callback->y != NULL) x->callback->y(x)
|
|
|
|
|
|
|
|
|
|
struct _MilskoLLCallback {
|
|
|
|
|
void (*draw)(MilskoLL handle);
|
|
|
|
|
void (*down)(MilskoLL handle);
|
|
|
|
|
void (*up)(MilskoLL handle);
|
|
|
|
|
};
|
|
|
|
|
|
2025-09-28 22:00:17 +00:00
|
|
|
/* lowlevel.c, common part */
|
|
|
|
|
MILSKODECL void MilskoLLCreateCommon(MilskoLL handle);
|
|
|
|
|
MILSKODECL void MilskoLLDestroyCommon(MilskoLL handle);
|
|
|
|
|
|
|
|
|
|
/* driver-specific */
|
2025-09-28 09:55:42 +00:00
|
|
|
MILSKODECL MilskoLL MilskoLLCreate(MilskoLL parent, int x, int y, int width, int height);
|
|
|
|
|
MILSKODECL void MilskoLLDestroy(MilskoLL handle);
|
|
|
|
|
|
|
|
|
|
MILSKODECL void MilskoLLPolygon(MilskoLL handle, MilskoPoint* points, int points_count, MilskoLLColor color);
|
|
|
|
|
|
2025-09-28 09:50:28 +00:00
|
|
|
MILSKODECL MilskoLLColor MilskoLLAllocColor(MilskoLL handle, int r, int g, int b);
|
2025-09-28 09:55:42 +00:00
|
|
|
MILSKODECL void MilskoLLFreeColor(MilskoLLColor color);
|
|
|
|
|
|
|
|
|
|
MILSKODECL void MilskoLLGetXYWH(MilskoLL handle, int* x, int* y, unsigned int* w, unsigned int* h);
|
|
|
|
|
MILSKODECL void MilskoLLSetXY(MilskoLL handle, int x, int y);
|
|
|
|
|
MILSKODECL void MilskoLLSetWH(MilskoLL handle, int w, int h);
|
|
|
|
|
|
|
|
|
|
MILSKODECL void MilskoLLSetTitle(MilskoLL handle, const char* title);
|
|
|
|
|
|
|
|
|
|
MILSKODECL int MilskoLLPending(MilskoLL handle);
|
|
|
|
|
MILSKODECL void MilskoLLNextEvent(MilskoLL handle);
|
|
|
|
|
MILSKODECL void MilskoLLSleep(int ms);
|
2025-09-28 02:51:15 +00:00
|
|
|
|
|
|
|
|
#endif
|