94 |
|
|
95 |
#define FL_UNPACK(p,r,g,b) do {r=FL_GETR(p);g=FL_GETG(p),b=FL_GETB(p);} while(0) |
#define FL_UNPACK(p,r,g,b) do {r=FL_GETR(p);g=FL_GETG(p),b=FL_GETB(p);} while(0) |
96 |
#define FL_UNPACK3 FL_UNPACK |
#define FL_UNPACK3 FL_UNPACK |
97 |
#define FL_UNPACK4(p,r,g,b,a) do {FL_UNPACK3(p,r,g,b);a=FL_GETA(p);} while(0) |
#define FL_UNPACK4(p,r,g,b,a) do {FL_UNPACK3(p,r,g,b);a=FL_GETA(p);} while(0) |
98 |
#endif |
#endif |
99 |
|
|
100 |
#define FL_LUTBITS 12 /* max colormap bits. 4096 entries */ |
#define FL_LUTBITS 12 /* max colormap bits. 4096 entries */ |
102 |
#define FL_IsRGB(im) (im->type == FL_IMAGE_RGB) |
#define FL_IsRGB(im) (im->type == FL_IMAGE_RGB) |
103 |
#define FL_IsPacked(im) (im->type == FL_IMAGE_PACKED) |
#define FL_IsPacked(im) (im->type == FL_IMAGE_PACKED) |
104 |
|
|
105 |
enum |
enum |
106 |
{ |
{ |
107 |
FLIMAGE_AUTOCOLOR = 0x7fffffff, |
FLIMAGE_AUTOCOLOR = 0x7fffffff, |
108 |
FLIMAGE_BADCOLOR = FLIMAGE_AUTOCOLOR |
FLIMAGE_BADCOLOR = FLIMAGE_AUTOCOLOR |
109 |
}; |
}; |
110 |
|
|
111 |
|
|
144 |
const char *psdraw; |
const char *psdraw; |
145 |
int reserved[6]; |
int reserved[6]; |
146 |
} FLIMAGE_MARKER; |
} FLIMAGE_MARKER; |
147 |
|
|
148 |
|
|
149 |
#define FLIMAGE_REPFREQ 0x1f /* report every 32 lines */ |
#define FLIMAGE_REPFREQ 0x1f /* report every 32 lines */ |
150 |
|
|
175 |
void *app_data; /* for application at setup time */ |
void *app_data; /* for application at setup time */ |
176 |
void *u_vdata; /* for application */ |
void *u_vdata; /* for application */ |
177 |
long u_ldata; /* for application */ |
long u_ldata; /* for application */ |
178 |
unsigned char **red; |
unsigned char **red; |
179 |
unsigned char **green; |
unsigned char **green; |
180 |
unsigned char **blue; |
unsigned char **blue; |
181 |
unsigned char **alpha; |
unsigned char **alpha; |
232 |
|
|
233 |
/* physicalValue = poffset + pixelValue * pscale */ |
/* physicalValue = poffset + pixelValue * pscale */ |
234 |
double pmin, pmax; /* physical data range */ |
double pmin, pmax; /* physical data range */ |
235 |
double poffset; |
double poffset; |
236 |
double pscale; |
double pscale; |
237 |
/* pixel grid distance */ |
/* pixel grid distance */ |
238 |
double xdist_offset; |
double xdist_offset; |
246 |
long foffset; |
long foffset; |
247 |
int original_type; |
int original_type; |
248 |
/* hooks for application to have a chance to set some options. |
/* hooks for application to have a chance to set some options. |
249 |
if pre_write returns -1, the output will be canceled |
if pre_write returns -1, the output will be canceled |
250 |
*/ |
*/ |
251 |
int (*pre_write)(struct flimage_ *); |
int (*pre_write)(struct flimage_ *); |
252 |
int (*post_write)(struct flimage_ *); |
int (*post_write)(struct flimage_ *); |
253 |
int f_reserved[16]; |
int f_reserved[16]; |
254 |
|
|
255 |
/* image processing stuff */ |
/* image processing stuff */ |
259 |
unsigned int fill_color; /* fill color */ |
unsigned int fill_color; /* fill color */ |
260 |
int force_convert; |
int force_convert; |
261 |
int *llut[3]; /* linear lut */ |
int *llut[3]; /* linear lut */ |
262 |
int llut_len; |
int llut_len; |
263 |
unsigned int *hist[4]; |
unsigned int *hist[4]; |
264 |
int ip_reserved[16]; |
int ip_reserved[16]; |
265 |
|
|
266 |
/* application handlers */ |
/* application handlers */ |
267 |
int total, completed; |
int total, completed; |
268 |
int (*visual_cue) (struct flimage_*, const char *); |
int (*visual_cue) (struct flimage_*, const char *); |
269 |
void (*error_message) (struct flimage_*, const char *); |
void (*error_message) (struct flimage_*, const char *); |
314 |
struct flimage_src_ *src; /* src other than file */ |
struct flimage_src_ *src; /* src other than file */ |
315 |
struct flimage_dest_ *dest; /* destination other than file */ |
struct flimage_dest_ *dest; /* destination other than file */ |
316 |
int internal_reserved[14]; |
int internal_reserved[14]; |
317 |
} |
} |
318 |
FL_IMAGE; |
FL_IMAGE; |
319 |
|
|
320 |
/* some configuration stuff */ |
/* some configuration stuff */ |
642 |
|
|
643 |
#define FLIMAGE_SHARPEN (int**)(-1) |
#define FLIMAGE_SHARPEN (int**)(-1) |
644 |
#define FLIMAGE_SMOOTH (int**)(-2) |
#define FLIMAGE_SMOOTH (int**)(-2) |
645 |
#define FL_SMOOTH FLIMAGE_SMOOTH |
#define FL_SMOOTH FLIMAGE_SMOOTH |
646 |
#define FL_SHARPEN FLIMAGE_SHARPEN |
#define FL_SHARPEN FLIMAGE_SHARPEN |
647 |
|
|
648 |
enum |
enum |
649 |
{ |
{ |
650 |
FLIMAGE_NOSUBPIXEL = 0, /* scale with no subpixel sampling */ |
FLIMAGE_NOSUBPIXEL = 0, /* scale with no subpixel sampling */ |
651 |
FLIMAGE_SUBPIXEL = 1, /* scale with subpixel sampling */ |
FLIMAGE_SUBPIXEL = 1, /* scale with subpixel sampling */ |
652 |
FLIMAGE_CENTER = 2, /* center warped image. default */ |
FLIMAGE_CENTER = 2, /* center warped image. default */ |
653 |
FLIMAGE_RIGHT = 8, /* flush right the warped image */ |
FLIMAGE_RIGHT = 8, /* flush right the warped image */ |
654 |
FLIMAGE_ASPECT = 32, /* fit the size */ |
FLIMAGE_ASPECT = 32, /* fit the size */ |
655 |
FLIMAGE_NOCENTER = FL_ALIGN_TOP_LEFT |
FLIMAGE_NOCENTER = FL_ALIGN_TOP_LEFT |
656 |
}; |
}; |
657 |
|
|
658 |
FL_EXPORT int flimage_convolve( |
FL_EXPORT int flimage_convolve( |