File: loader.h

package info (click to toggle)
fbi 1.23
  • links: PTS
  • area: main
  • in suites: woody
  • size: 320 kB
  • ctags: 377
  • sloc: ansic: 3,258; sh: 205; makefile: 96
file content (67 lines) | stat: -rw-r--r-- 1,971 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67

/* image data and metadata */
struct ida_image_info {
    int width;
    int height;
    int dpi;
};
struct ida_image {
    struct ida_image_info  i;
    unsigned char          *data;
};

/* load image files */
struct ida_loader {
    char  *magic;
    int   moff;
    int   mlen;
    char  *name;
    void* (*init)(FILE *fp, char *filename, struct ida_image_info *i);
    void  (*read)(unsigned char *dst, int line, void *data);
    void  (*done)(void *data);
};

/* ----------------------------------------------------------------------- */
/* resolution                                                              */

#define res_cm_to_inch(x) ((x * 2540 + 5) / 1000)
#define res_m_to_inch(x)  ((x * 2540 + 5) / 100000)
#define res_inch_to_m(x)  ((x * 100000 + 5) / 2540)

/* ----------------------------------------------------------------------- */

/* helpers */
void load_gray(unsigned char *dst, unsigned char *src, int width);
void load_graya(unsigned char *dst, unsigned char *src, int width);
void load_rgba(unsigned char *dst, unsigned char *src, int width);

/* import */
extern struct ida_loader ppm_loader;
extern struct ida_loader pgm_loader;
extern struct ida_loader xwd_loader;
extern struct ida_loader pcd_loader;
extern struct ida_loader xpm_loader;
extern struct ida_loader xbm1_loader;
extern struct ida_loader xbm2_loader;
extern struct ida_loader bmp_loader;
extern struct ida_loader jpeg_loader;
extern struct ida_loader gif_loader;
extern struct ida_loader png_loader;
extern struct ida_loader tiff1_loader;
extern struct ida_loader tiff2_loader;
extern struct ida_loader magick_loader;
extern struct ida_loader sane_loader;

/* export */
extern struct ida_writer ppm_writer;
extern struct ida_writer jpeg_writer;
extern struct ida_writer tiff_writer;
extern struct ida_writer ps_writer;
extern struct ida_writer png_writer;

/* lists */
extern struct ida_loader *loaders[];
extern struct ida_writer *writers[];

/* other */
extern int debug;