GRASS 8 Programmer's Manual
8.6.0dev(2026)-8843f13794
Loading...
Searching...
No Matches
pngdriver/write.c
Go to the documentation of this file.
1
/*!
2
\file lib/pngdriver/write.c
3
4
\brief GRASS png display driver - write image (lower level functions)
5
6
SPDX-FileCopyrightText: 2007-2014 Glynn Clements
7
SPDX-FileCopyrightText: GRASS Development Team
8
SPDX-License-Identifier: GPL-2.0-or-later
9
10
\author Glynn Clements
11
*/
12
13
#include <
stdio.h
>
14
#include <
stdlib.h
>
15
#include <
string.h
>
16
17
#include <
grass/config.h
>
18
#include <
grass/gis.h
>
19
#include "
pngdriver.h
"
20
21
void
write_image
(
void
)
22
{
23
char
*p =
png
.file_name +
strlen
(
png
.file_name) - 4;
24
25
if
(!
png
.modified)
26
return
;
27
28
if
(
png
.mapped)
29
return
;
30
31
if
(
G_strcasecmp
(p,
".ppm"
) == 0) {
32
write_ppm
();
33
if
(
png
.has_alpha)
34
write_pgm
();
35
}
36
else
if
(
G_strcasecmp
(p,
".bmp"
) == 0)
37
write_bmp
();
38
#ifdef HAVE_PNG_H
39
else
if
(
G_strcasecmp
(p,
".png"
) == 0)
40
write_png
();
41
#endif
42
else
43
G_fatal_error
(
"write_image: unknown file type: %s"
, p);
44
45
png
.modified = 0;
46
}
AMI_STREAM
Definition
ami_stream.h:153
config.h
G_fatal_error
void void void void G_fatal_error(const char *,...) __attribute__((format(printf
G_strcasecmp
int int G_strcasecmp(const char *, const char *)
String compare ignoring case (upper or lower)
Definition
strings.c:45
gis.h
png
struct png_state png
Definition
pngdriver/graph_set.c:31
write_image
void write_image(void)
Definition
pngdriver/write.c:21
pngdriver.h
GRASS png display driver - header file.
write_pgm
void write_pgm(void)
Definition
pngdriver/write_ppm.c:48
write_ppm
void write_ppm(void)
Definition
pngdriver/write_ppm.c:20
write_bmp
void write_bmp(void)
Definition
pngdriver/write_bmp.c:62
write_png
void write_png(void)
Definition
write_png.c:54
stdio.h
stdlib.h
string.h
lib
pngdriver
write.c
Generated on Tue Sep 15 2026 06:57:42 for GRASS 8 Programmer's Manual by
1.9.8