21static unsigned int get_2(
const unsigned char **q)
23 const unsigned char *p = *q;
24 unsigned int n = (p[0] << 0) | (p[1] << 8);
30static unsigned int get_4(
const unsigned char **q)
32 const unsigned char *p = *q;
33 unsigned int n = (p[0] << 0) | (p[1] << 8) | (p[2] << 16) | (p[3] << 24);
39static int read_bmp_header(
const unsigned char *p)
57 if (get_4(&p) != (
unsigned int)
png.width)
59 if (get_4(&p) != (
unsigned int)-
png.height)
68 if (get_4(&p) != (
unsigned int)
png.width *
png.height * 4)
89 input = fopen(
png.file_name,
"rb");
93 if (fread(header,
sizeof(header), 1, input) != 1)
96 if (!read_bmp_header(header))
99 for (y = 0, p =
png.grid; y <
png.height; y++) {
100 for (
x = 0;
x <
png.width;
x++, p++) {
101 int b = fgetc(input);
102 int g = fgetc(input);
103 int r = fgetc(input);
104 int a = fgetc(input);
unsigned int png_get_color(int r, int g, int b, int a)
void G_fatal_error(const char *msg,...)
Print a fatal error message to stderr.
GRASS png display driver - header file.