121 lines
2.2 KiB
C
Executable File
121 lines
2.2 KiB
C
Executable File
/** \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
|