diff options
Diffstat (limited to 'debian/pilot-link/pilot-link-0.12.5-dfsg/include/pi-palmpix.h')
-rw-r--r-- | debian/pilot-link/pilot-link-0.12.5-dfsg/include/pi-palmpix.h | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/debian/pilot-link/pilot-link-0.12.5-dfsg/include/pi-palmpix.h b/debian/pilot-link/pilot-link-0.12.5-dfsg/include/pi-palmpix.h new file mode 100644 index 00000000..8fbddebe --- /dev/null +++ b/debian/pilot-link/pilot-link-0.12.5-dfsg/include/pi-palmpix.h @@ -0,0 +1,103 @@ +/* + * $Id: pi-palmpix.h,v 1.5 2006/10/17 13:24:07 desrod Exp $ + * + * pi-palmpix.h: Kodak PalmPix Camera support + * (Kodak didn't like that we did this, tee hee!) + * + * This library is free software; you can redistribute it and/or modify it + * under the terms of the GNU Library General Public License as published by + * the Free Software Foundation; either version 2 of the License, or (at + * your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library + * General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef PILOT_PALMPIX_H +#define PILOT_PALMPIX_H + +#include "pi-args.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +#define PalmPix_Creator (makelong ("COCO")) +#define PalmPix_DB "ArchImage" + +/* flags values */ +#define PALMPIX_COLOUR_CORRECTION 1 +#define PALMPIX_HISTOGRAM_STRETCH 2 + +struct PalmPixState { + /* This callback should read record #RECNO into BUFFER and BUFSIZE, and + return 0 when successful, just like pi_file_read_record(). */ + int (*getrecord) PI_ARGS ((struct PalmPixState *self, int recno, + void **buffer, size_t *bufsize)); + + /* This will be filled in by pixName. */ + char pixname[33]; + + /* After unpack_PalmPix, this will be the last record index which is part + of the current picture. */ + int highest_recno; + + /* Set these to some permutation of 0,1,2 before using pixPixmap. */ + int offset_r, offset_g, offset_b; + + /* This specifies the png or ppm output */ + int output_type; + + /* This will be filled in by pixPixmap. */ + unsigned char *pixmap; + + /* The output brightness adjustment */ + int bias; + + /* This controls colour correction and histogram stretch */ + int flags; +}; + +enum { + pixChannelGR, pixChannelR, pixChannelB, pixChannelGB +}; + +struct PalmPixHeader { + int w, h, resolution, zoom, num; + int year, month, day, hour, min, sec; + int numRec, thumbLen; + int chansize[4]; +}; + +enum { + pixName = 0x01, pixThumbnail = 0x02, pixPixmap = 0x04 +}; + +/* picture output types */ +#define PALMPIX_OUT_PPM 1 +#define PALMPIX_OUT_PNG 2 + +/* Returns the number of bytes from the buffer that were consumed, or 0 on + error (generally the record not in fact being a PalmPixHeader). */ +extern int unpack_PalmPixHeader + PI_ARGS ((struct PalmPixHeader *h, const unsigned char *p, int len)); + +extern int unpack_PalmPix + PI_ARGS ((struct PalmPixState *state, + const struct PalmPixHeader *h, int recno, int wanted)); + +extern int free_PalmPix_data + PI_ARGS ((struct PalmPixState *state)); + +#ifdef __cplusplus +} +#endif + +#endif |