aboutsummaryrefslogtreecommitdiff
path: root/lpg/libqr/qr/bitmap.h
blob: 098d9c364378841d2bc21bc7e0ec1a19c8de8584 (plain)
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
#ifndef QR_BITMAP_H
#define QR_BITMAP_H

#ifdef __cplusplus
extern "C" {
#endif

struct qr_bitmap {
        unsigned char * bits;
        unsigned char * mask;
        size_t stride;
        size_t width, height;
};

struct qr_bitmap * qr_bitmap_create(size_t width, size_t height, int masked);
void qr_bitmap_destroy(struct qr_bitmap *);

int qr_bitmap_add_mask(struct qr_bitmap *);

struct qr_bitmap * qr_bitmap_clone(const struct qr_bitmap *);

void qr_bitmap_merge(struct qr_bitmap * dest, const struct qr_bitmap * src);

void qr_bitmap_render(const struct qr_bitmap * bmp,
                      void *                   buffer,
                      int                      mod_bits,
                      long                     line_stride,
                      int                      line_repeat,
                      unsigned long            mark,
                      unsigned long            space);

#ifdef __cplusplus
}
#endif

#endif