iup-stack/cd/include/cdlua3_private.h

121 lines
2.2 KiB
C
Raw Normal View History

2023-02-20 16:44:45 +00:00
/** \file
* \brief Private Lua 3 Binding Functions
*
* See Copyright Notice in cd.h
*/
#ifndef __CDLUA3_PRIVATE_H
#define __CDLUA3_PRIVATE_H
#ifdef __cplusplus
extern "C" {
#endif
#define COLOR_TAG "CDLUA_COLOR_TAG"
#define CANVAS_TAG "CDLUA_CANVAS_TAG"
#define STATE_TAG "CDLUA_STATE_TAG"
#define BITMAP_TAG "CDLUA_BITMAP_TAG"
#define IMAGE_TAG "CDLUA_IMAGE_TAG"
#define IMAGERGB_TAG "CDLUA_IMAGERGB_TAG"
#define IMAGERGBA_TAG "CDLUA_IMAGERGBA_TAG"
#define STIPPLE_TAG "CDLUA_STIPPLE_TAG"
#define PATTERN_TAG "CDLUA_PATTERN_TAG"
#define PALETTE_TAG "CDLUA_PALETTE_TAG"
#define IMAGEMAP_TAG "CDLUA_IMAGEMAP_TAG"
#define CHANNEL_TAG "CDLUA_CHANNEL_TAG"
/* context management */
typedef struct _cdCallbackLUA {
int lock;
char *name;
cdCallback func;
} cdCallbackLUA;
typedef struct _cdContextLUA {
int id;
char *name;
cdContext* (*ctx)(void);
void* (*checkdata)(int param);
cdCallbackLUA* cb_list;
int cb_n;
} cdContextLUA;
void cdlua_addcontext(cdContextLUA* luactx);
void cdlua_register(char* name, lua_CFunction func);
void cdlua_pushnumber(double num, char* name);
/* tag management */
typedef struct _canvas_t {
cdCanvas *cd_canvas;
} canvas_t;
typedef struct _state_t {
cdState *state;
} state_t;
typedef struct _stipple_t {
unsigned char *value;
int width;
int height;
long int size;
} stipple_t;
typedef struct _pattern_t {
long int *color;
int width;
int height;
long int size;
} pattern_t;
typedef struct _palette_t {
long int *color;
long int size;
} palette_t;
typedef struct _image_t {
void *cd_image;
} image_t;
typedef struct _imagergb_t {
unsigned char *red;
unsigned char *green;
unsigned char *blue;
int width;
int height;
long int size;
} imagergb_t;
typedef struct _imagergba_t {
unsigned char *red;
unsigned char *green;
unsigned char *blue;
unsigned char *alpha;
int width;
int height;
long int size;
} imagergba_t;
typedef struct _imagemap_t {
unsigned char *index;
int width;
int height;
long int size;
} imagemap_t;
typedef struct _channel_t {
unsigned char *value;
long int size;
} channel_t;
typedef struct _bitmap_t {
cdBitmap *image;
} bitmap_t;
#ifdef __cplusplus
}
#endif
#endif