Mapper
change_pcpn_legend.c
Go to the documentation of this file.
1 
2 #include "prototypes_new.h"
3 
4 void change_pcpn_legend(int win_x,int win_y)
5 
6 {
7 
8 extern int add_isohyet_flag;
9 extern int change_map_flag;
10 extern int contour_pcp_flag;
11 extern int contour_isoh_flag;
12 extern int qlegend_save;
13 extern Window window;
14 extern Widget drawing_area;
15 extern unsigned long xmap[16];
16 extern unsigned long qmap[16];
17 extern unsigned long imap[16];
18 extern int kscale;
19 extern int iscale;
20 extern int maxkscale;
21 extern int rs;
22 extern int legendysize;
23 extern int change_pcpn_flag;
24 int k,i;
25 Dimension width,height;
26 Arg args[10];
27 int legendystart;
28 
29 XtSetArg(args[0],XtNwidth,&width);
30 XtSetArg(args[1],XtNheight,&height);
31 XtGetValues(drawing_area,args,2);
32 
33 if(win_x < width - rs - 5)
34  return;
35 
36 /* restore filter*/
37 
39 
40 if(win_y >= (legendystart + (22+maxkscale)*rs) &&
41  win_y < (legendystart + (23+maxkscale)*rs)) {
42 
45 
46  return;
47 
48  }
49 
50 if(win_y >= (legendystart + (21+maxkscale)*rs) &&
51  win_y < (legendystart + (22+maxkscale)*rs)) {
52 
53  contour_pcp_flag=1;
55 
57 
58  if(add_isohyet_flag==1)
60 
61  write_screen();
62 
63  return;
64 
65  }
66 if(win_y >= (legendystart + (20+maxkscale)*rs) &&
67  win_y < (legendystart + (21+maxkscale)*rs)) {
68 
69  contour_pcp_flag=-1;
71 
72  if(add_isohyet_flag==1)
74 
76 
77  write_screen();
78 
79  return;
80 
81  }
82 
83 
84 /*change pallette */
85 
86 if(win_y >= (legendystart + (20)*rs) &&
87  win_y < (legendystart + (20+maxkscale)*rs)) {
88 
89  kscale=(win_y-(legendystart+20*rs))/rs;
90 
91  iscale=kscale;
92 
93  if(add_isohyet_flag==1)
95 
97 
98  write_screen();
99 
100  return;
101 
102  }
103 
104 
105 /* filter off */
106 
107 if(win_y >= (legendystart + 19*rs) &&
108  win_y < (legendystart + 20*rs)) {
109 
110  for(i=0; i < 15;i++) {
111 
112  xmap[i]=qmap[i];
113  imap[i]=qmap[i];
114 
115  }
116 
117  qlegend_save=-1;
118 
119  if(add_isohyet_flag==1)
120  change_map_flag=1;
122 
123  write_screen();
124 
125  return;
126 
127  }
128 
129 /*filter up*/
130 
131 if(win_y >= (legendystart + 18*rs) &&
132  win_y < (legendystart + 19*rs)) {
133 
134  if(qlegend_save >= 0) {
135 
136  for(i=0; i < 15;i++) {
137 
138  xmap[i]=qmap[i];
139  imap[i]=qmap[i];
140 
141  }
142 
143  for(i=qlegend_save; i < 15;i++){
144 
145  xmap[i]=xmap[qlegend_save];
147 
148  }
149 
150  if(add_isohyet_flag==1)
151  change_map_flag=1;
152 
154 
155  write_screen();
156 
157  }
158 
159  return;
160 
161  }
162 
163 /*filter down */
164 
165 if(win_y >= (legendystart + 17*rs) &&
166  win_y < (legendystart + 18*rs)) {
167 
168  if(qlegend_save >= 0) {
169 
170  for(i=0; i < 15;i++) {
171 
172  xmap[i]=qmap[i];
173  imap[i]=qmap[i];
174 
175  }
176 
177  for(i=0;i<=qlegend_save;i++) {
178 
179  xmap[i]=0;
180  imap[i]=0;
181 
182  }
183 
184  if(add_isohyet_flag==1)
185  change_map_flag=1;
186 
188 
189  write_screen();
190 
191  }
192 
193  return;
194 
195  }
196 
197 /*filter levels */
198 
199 for(k=0;k<16;k++) {
200 
201  if(win_y >= (legendystart + (k+1) * rs) &&
202  win_y < (legendystart + (k+2) * rs)) {
203 
204  qlegend_save=k;
206 
207 
208  return;
209 
210  }
211 
212 
213  }
214 
215 
216 
217 }
static int i
void change_pcpn_legend(int win_x, int win_y)
void redraw_pcpn_legend(Drawable)
void write_screen(void)
Definition: mapper.c:1082
void clear_drawable(Drawable)
Definition: mapper.c:1067
void redraw_legend_display(Drawable)
int k
Definition: mapp2h.h:48
int rs
Definition: mapper.c:103
int legendysize
Definition: mapper.c:103
int contour_isoh_flag
Definition: mapper.c:89
int change_pcpn_flag
Definition: mapper.c:98
int maxkscale
Definition: mapper.c:102
unsigned long qmap[16]
Definition: mapper.c:116
int iscale
Definition: mapper.c:101
Window window
Definition: mapper.c:190
unsigned long imap[16]
Definition: mapper.c:116
int change_map_flag
Definition: mapper.c:86
int qlegend_save
Definition: mapper.c:95
int legendystart
Definition: mapper.c:103
unsigned long xmap[16]
Definition: mapper.c:116
Dimension height
Dimension width
Arg args[10]
Widget drawing_area
Definition: mapper.c:185
int kscale
Definition: mapper.c:101