Mapper
change_isohyet_legend.c
Go to the documentation of this file.
1 
2 #include "prototypes_new.h"
3 
4 void change_isohyet_legend(int win_x,int win_y)
5 
6 {
7 
8 extern int change_map_flag;
9 extern int ilegend_save;
10 extern Window window;
11 extern Widget drawing_area;
12 extern unsigned long imap[16];
13 extern unsigned long qmap[16];
14 extern int rs;
15 extern int legendysize;
16 extern int change_isohyet_flag;
17 extern int contour_isoh_flag;
18 extern int iscale,maxiscale;
19 int k,i,legend;
20 Dimension width,height;
21 Arg args[10];
22 int legendystart;
23 
25 
26 XtSetArg(args[0],XtNwidth,&width);
27 XtSetArg(args[1],XtNheight,&height);
28 XtGetValues(drawing_area,args,2);
29 
30 if(win_x < width - rs - 5)
31  return;
32 
33 if(win_y >= (legendystart+ (21+maxiscale)*rs) &&
34  win_y < (legendystart+ (22+maxiscale)*rs)) {
35 
36  change_isohyet_flag=-1;
37 
39 
40  return;
41 
42  }
43 
44 /* contour*/
45 
46 if(win_y >= (legendystart+ (20+maxiscale)*rs) &&
47  win_y < (legendystart+ (21+maxiscale)*rs)) {
48 
52 
53  write_screen();
54 
55  return;
56 
57  }
58 
59 /* raster*/
60 
61 if(win_y >= (legendystart+ (19+maxiscale)*rs) &&
62  win_y < (legendystart+ (20+maxiscale)*rs)) {
63 
64 
67 
69 
70  write_screen();
71 
72  return;
73 
74  }
75 
76 /*change pallette */
77 
78 if(win_y >= (legendystart + (19)*rs) &&
79  win_y < (legendystart + (19+maxiscale)*rs)) {
80 
81  iscale=(win_y-(legendystart+19*rs))/rs;
82 
85 
86  write_screen();
87 
88  return;
89 
90  }
91 
92 /*filter off*/
93 
94 if(win_y >= (legendystart+ 18*rs) &&
95  win_y < (legendystart+ 19*rs)) {
96 
97  for(i=0; i < 15;i++)
98  imap[i]=qmap[i];
99  ilegend_save=-1;
100  change_map_flag=1;
102 
103  write_screen();
104 
105  return;
106 
107  }
108 
109 
110 
111 
112 /*filter up*/
113 
114 if(win_y >= (legendystart+ 17*rs) &&
115  win_y < (legendystart+ 18*rs)) {
116 
117  if(ilegend_save >= 0) {
118 
119  for(i=0; i < 15;i++)
120  imap[i]=qmap[i];
121 
122  for(i=ilegend_save; i < 15;i++)
123  imap[i]=imap[ilegend_save];
124  change_map_flag=1;
126 
127  write_screen();
128 
129  }
130 
131  return;
132 
133  }
134 
135 /*filter down */
136 
137 if(win_y >= (legendystart+ 16*rs) &&
138  win_y < (legendystart+ 17*rs)) {
139 
140  if(ilegend_save >= 0) {
141 
142  for(i=0; i < 15;i++)
143  imap[i]=qmap[i];
144 
145  for(i=0;i<=ilegend_save;i++)
146  imap[i]=0;
147 
148  change_map_flag=1;
150 
151  write_screen();
152 
153  }
154 
155  return;
156 
157  }
158 
159 
160 
161 /*filter levels */
162 
163 for(k=0;k<15;k++) {
164 
165  if(win_y >= (legendystart+ (k+1) * rs) &&
166  win_y < (legendystart+ (k+2) * rs)) {
167 
168  ilegend_save=k;
169 
171 
172  return;
173 
174  }
175 
176 
177  }
178 
179 
180 
181 }
static int i
void change_isohyet_legend(int win_x, int win_y)
void write_screen(void)
Definition: mapper.c:1082
void redraw_isohyet_legend(Drawable)
void clear_drawable(Drawable)
Definition: mapper.c:1067
void redraw_legend_display(Drawable)
int k
Definition: mapp2h.h:48
int ilegend_save
Definition: mapper.c:94
int rs
Definition: mapper.c:103
int legendysize
Definition: mapper.c:103
int contour_isoh_flag
Definition: mapper.c:89
unsigned long qmap[16]
Definition: mapper.c:116
int iscale
Definition: mapper.c:101
char * legend[100]
Definition: mapper.c:15
Window window
Definition: mapper.c:190
unsigned long imap[16]
Definition: mapper.c:116
int change_map_flag
Definition: mapper.c:86
int maxiscale
Definition: mapper.c:102
int legendystart
Definition: mapper.c:103
Dimension height
Dimension width
Arg args[10]
Widget drawing_area
Definition: mapper.c:185