Serious-Engine/Sources/LWSkaExporter/SDK/lwimage.h
2016-03-11 15:57:17 +02:00

70 lines
2.6 KiB
C

/*
* LWSDK Header File
* Copyright 1999, NewTek, Inc.
*
* LWIMAGE.H -- LightWave Images
*/
#ifndef LWSDK_IMAGE_H
#define LWSDK_IMAGE_H
#include <lwtypes.h>
#include <lwimageio.h>
#include <lwio.h>
#define LWIMAGELIST_GLOBAL "LW Image List 3"
#define LWIMAGEUTIL_GLOBAL "Image Utility"
typedef struct st_LWImageList {
LWImageID (*first) (void);
LWImageID (*next) (LWImageID);
LWImageID (*load) (const char *);
const char * (*name) (LWImageID);
const char * (*filename) (LWImageID, LWFrame);
int (*isColor) (LWImageID);
void (*needAA) (LWImageID);
void (*size) (LWImageID, int *w, int *h);
LWBufferValue (*luma) (LWImageID, int x, int y);
void (*RGB) (LWImageID, int x, int y, LWBufferValue[3]);
double (*lumaSpot) (LWImageID, double x, double y,
double spotSize, int blend);
void (*RGBSpot) (LWImageID, double x, double y,
double spotSize, int blend, double[3]);
void (*clear) (LWImageID);
LWImageID (*sceneLoad) (const LWLoadState *);
void (*sceneSave) (const LWSaveState *, LWImageID);
int (*hasAlpha) (LWImageID);
LWBufferValue (*alpha) (LWImageID, int x, int y);
double (*alphaSpot) (LWImageID, double x, double y,
double spotSize, int blend);
LWPixmapID (*evaluate) (LWImageID, LWTime t);
} LWImageList;
typedef struct st_LWImageUtil {
LWPixmapID (*create) (int w, int h, LWImageType type);
void (*destroy) (LWPixmapID img);
int (*save) (LWPixmapID img, int saver,const char *name);
void (*setPixel) (LWPixmapID img, int x, int y, void *pix);
void (*getPixel) (LWPixmapID img, int x, int y, void *pix);
void (*getInfo) (LWPixmapID img, int *w, int *h, int *type);
LWPixmapID (*resample) (LWPixmapID img, int w, int h, int mode);
int (*saverCount) ();
const char * (*saverName) (int saver);
} LWImageUtil;
/* resample modes */
enum {
LWISM_SUBSAMPLING = 0,
LWISM_MEDIAN, /* for shrinking */
LWISM_SUPERSAMPLING,
LWISM_BILINEAR, /* for expanding */
LWISM_BSPLINE, /* for expanding */
LWISM_BICUBIC /* for expanding */
};
#endif