summaryrefslogtreecommitdiff
path: root/src/wbmp.h
blob: 9a93d6ebf09be2d915cf9b608d1c57de55ce89f2 (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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
	/* WBMP
	 * ----
	 * WBMP Level 0: B/W, Uncompressed
	 * This implements the WBMP format as specified in WAPSpec 1.1 and 1.2.
	 * It does not support ExtHeaders as defined in the spec. The spec states
	 * that a WAP client does not need to implement ExtHeaders.
	 *
	 * (c) 2000 Johan Van den Brande <johan@vandenbrande.com>
	 *
	 * Header file
	 */
#ifndef __WBMP_H
#define __WBMP_H	1

#ifdef __cplusplus
extern "C" {
#endif

	/* WBMP struct
	 * -----------
	 * A Wireless bitmap structure
	 */

	typedef struct Wbmp_ {
		int type;	/* type of the wbmp */
		int width;	/* width of the image */
		int height;	/* height of the image */
		int *bitmap;/* pointer to data: 0 = WHITE , 1 = BLACK */
	}
	Wbmp;

#define WBMP_WHITE  1
#define WBMP_BLACK  0

	/* Proto's
	 * -------
	 */
	void putmbi(int i, void (*putout)(int c, void *out), void *out);
	int getmbi(int (*getin)(void *in), void *in);
	int skipheader(int (*getin)(void *in), void *in);
	Wbmp *createwbmp(int width, int height, int color);
	int readwbmp(int (*getin)(void *in), void *in, Wbmp **wbmp);
	int writewbmp(Wbmp *wbmp, void (*putout)(int c, void *out), void *out);
	void freewbmp(Wbmp *wbmp);
	void printwbmp(Wbmp *wbmp);

#ifdef __cplusplus
}
#endif

#endif