GRASS GIS 8 Programmer's Manual
8.4.1(2025)-45ca3179ab
Loading...
Searching...
No Matches
htmldriver/graph_set.c
Go to the documentation of this file.
1
/*
2
* Start up graphics processing. Anything that needs to be assigned, set up,
3
* started-up, or otherwise initialized happens here. This is called only at
4
* the startup of the graphics driver.
5
*
6
* The external variables define the pixle limits of the graphics surface. The
7
* coordinate system used by the applications programs has the (0,0) origin
8
* in the upper left-hand corner. Hence,
9
* screen_left < screen_right
10
* screen_top < screen_bottom
11
*
12
*/
13
14
#include <string.h>
15
#include <stdlib.h>
16
17
#include <grass/gis.h>
18
#include <grass/glocale.h>
19
20
#include "
driverlib.h
"
21
#include "
driver.h
"
22
#include "
htmlmap.h
"
23
24
struct
html_state
html
;
25
26
int
HTML_Graph_set
(
void
)
27
{
28
char
*file_name;
29
char
*p;
30
31
G_gisinit(
"HTMLMAP driver"
);
32
33
/*
34
* set the minimum bounding box dimensions
35
*/
36
37
if
(
NULL
!= (p = getenv(
"GRASS_RENDER_HTMLMINBBOX"
))) {
38
html
.BBOX_MINIMUM = atoi(p);
39
if
(
html
.BBOX_MINIMUM <= 0) {
40
html
.BBOX_MINIMUM =
DEF_MINBBOX
;
41
}
42
}
43
else
{
44
html
.BBOX_MINIMUM =
DEF_MINBBOX
;
45
}
46
47
/*
48
* set the maximum number of points
49
*/
50
51
if
(
NULL
!= (p = getenv(
"GRASS_RENDER_HTMLMAXPOINTS"
))) {
52
html
.MAX_POINTS = atoi(p);
53
if
(
html
.MAX_POINTS <= 0) {
54
html
.MAX_POINTS =
DEF_MAXPTS
;
55
}
56
}
57
else
{
58
html
.MAX_POINTS =
DEF_MAXPTS
;
59
}
60
61
/*
62
* set the minimum difference to keep a point
63
*/
64
65
if
(
NULL
!= (p = getenv(
"GRASS_RENDER_HTMLMINDIST"
))) {
66
html
.MINIMUM_DIST = atoi(p);
67
if
(
html
.MINIMUM_DIST <= 0) {
68
html
.MINIMUM_DIST =
DEF_MINDIST
;
69
}
70
}
71
else
{
72
html
.MINIMUM_DIST =
DEF_MINDIST
;
73
}
74
75
/*
76
* open the output file
77
*/
78
79
if
(
NULL
!= (p = getenv(
"GRASS_RENDER_FILE"
))) {
80
if
(strlen(p) == 0) {
81
p =
FILE_NAME
;
82
}
83
}
84
else
{
85
p =
FILE_NAME
;
86
}
87
file_name = p;
88
89
html
.output = fopen(file_name,
"w"
);
90
if
(
html
.output ==
NULL
) {
91
G_fatal_error
(
"HTMLMAP: couldn't open output file %s"
, file_name);
92
exit(EXIT_FAILURE);
93
}
94
95
G_verbose_message
(_(
"html: collecting to file '%s'"
), file_name);
96
G_verbose_message
(_(
"html: image size %dx%d"
),
screen_width
,
screen_height
);
97
98
/*
99
* check type of map wanted
100
*/
101
102
if
(
NULL
== (p = getenv(
"GRASS_RENDER_HTMLTYPE"
))) {
103
p =
"CLIENT"
;
104
}
105
106
if
(strcmp(p,
"APACHE"
) == 0) {
107
html
.type =
APACHE
;
108
G_verbose_message
(_(
"html: type '%s'"
),
"apache"
);
109
}
110
else
if
(strcmp(p,
"RAW"
) == 0) {
111
html
.type =
RAW
;
112
G_verbose_message
(_(
"html: type '%s'"
),
"raw"
);
113
}
114
else
{
115
html
.type =
CLIENT
;
116
G_verbose_message
(_(
"html: type '%s'"
),
"client"
);
117
}
118
119
/*
120
* initialize text memory and list pointers
121
*/
122
123
html
.last_text = (
char
*)G_malloc(
INITIAL_TEXT
+ 1);
124
html
.last_text[0] =
'\0'
;
125
html
.last_text_len =
INITIAL_TEXT
;
126
127
html
.head =
NULL
;
128
html
.tail = &
html
.head;
129
130
return
0;
131
}
NULL
#define NULL
Definition
ccmath.h:32
driver.h
screen_height
int screen_height
Definition
driver/init.c:30
screen_width
int screen_width
Definition
driver/init.c:29
driverlib.h
G_verbose_message
void G_verbose_message(const char *msg,...)
Print a message to stderr but only if module is in verbose mode.
Definition
gis/error.c:108
G_fatal_error
void G_fatal_error(const char *msg,...)
Print a fatal error message to stderr.
Definition
gis/error.c:159
HTML_Graph_set
int HTML_Graph_set(void)
Definition
htmldriver/graph_set.c:26
html
struct html_state html
Definition
htmldriver/graph_set.c:24
htmlmap.h
DEF_MAXPTS
#define DEF_MAXPTS
Definition
htmlmap.h:6
DEF_MINDIST
#define DEF_MINDIST
Definition
htmlmap.h:5
INITIAL_TEXT
#define INITIAL_TEXT
Definition
htmlmap.h:10
RAW
#define RAW
Definition
htmlmap.h:15
FILE_NAME
#define FILE_NAME
Definition
htmlmap.h:8
APACHE
#define APACHE
Definition
htmlmap.h:12
DEF_MINBBOX
#define DEF_MINBBOX
Definition
htmlmap.h:4
CLIENT
#define CLIENT
Definition
htmlmap.h:14
html_state
Definition
htmlmap.h:25
htmldriver
graph_set.c
Generated on Sat Jun 21 2025 21:07:27 for GRASS GIS 8 Programmer's Manual by
1.13.2