Mapper
change_frz_legend.c
Go to the documentation of this file.
1 
2 #include "prototypes_new.h"
3 
4 void change_frz_legend(int win_x,int win_y)
5 
6 {
7 
8 
9 extern int contour_pcp_flag;
10 extern int qlegend_save;
11 extern Window window;
12 extern Widget drawing_area;
13 extern unsigned long xmap[16];
14 extern unsigned long qmap[16];
15 extern int zscale;
16 extern int maxzscale;
17 extern int rs;
18 extern int legendysize;
19 extern int change_frz_flag;
20 int k,i;
21 Dimension width,height;
22 Arg args[10];
23 int legendystart;
24 
25 XtSetArg(args[0],XtNwidth,&width);
26 XtSetArg(args[1],XtNheight,&height);
27 XtGetValues(drawing_area,args,2);
28 
29 if(win_x < width - rs - 5)
30  return;
31 
32 /* restore filter*/
33 
35 
36 if(win_y >= (legendystart + (22+maxzscale)*rs) &&
37  win_y < (legendystart + (23+maxzscale)*rs)) {
38 
39  change_frz_flag=-1;
41 
42  return;
43 
44  }
45 
46 if(win_y >= (legendystart + (21+maxzscale)*rs) &&
47  win_y < (legendystart + (22+maxzscale)*rs)) {
48 
49  contour_pcp_flag=1;
50 
52 
53  write_screen();
54 
55  return;
56 
57  }
58 if(win_y >= (legendystart + (20+maxzscale)*rs) &&
59  win_y < (legendystart + (21+maxzscale)*rs)) {
60 
61  contour_pcp_flag=-1;
62 
64 
65  write_screen();
66 
67  return;
68 
69  }
70 
71 
72 /*change pallette */
73 
74 if(win_y >= (legendystart + (20)*rs) &&
75  win_y < (legendystart + (20+maxzscale)*rs)) {
76 
77  zscale=(win_y-(legendystart+20*rs))/rs;
78 
79 
81 
82  write_screen();
83 
84  return;
85 
86  }
87 
88 
89 /* filter off */
90 
91 if(win_y >= (legendystart + 19*rs) &&
92  win_y < (legendystart + 20*rs)) {
93 
94  for(i=0; i < 15;i++)
95  xmap[i]=qmap[i];
96  qlegend_save=-1;
97 
99 
100  write_screen();
101 
102  return;
103 
104  }
105 
106 /*filter up*/
107 
108 if(win_y >= (legendystart + 18*rs) &&
109  win_y < (legendystart + 19*rs)) {
110 
111  if(qlegend_save >= 0) {
112 
113  for(i=0; i < 15;i++)
114  xmap[i]=qmap[i];
115 
116  for(i=qlegend_save; i < 15;i++)
117  xmap[i]=xmap[qlegend_save];
118 
120 
121  write_screen();
122 
123  }
124 
125  return;
126 
127  }
128 
129 /*filter down */
130 
131 if(win_y >= (legendystart + 17*rs) &&
132  win_y < (legendystart + 18*rs)) {
133 
134  if(qlegend_save >= 0) {
135 
136  for(i=0; i < 15;i++)
137  xmap[i]=qmap[i];
138 
139  for(i=0;i<=qlegend_save;i++)
140  xmap[i]=0;
142 
143  write_screen();
144 
145  }
146 
147  return;
148 
149  }
150 
151 /*filter levels */
152 
153 for(k=0;k<16;k++) {
154 
155  if(win_y >= (legendystart + (k+1) * rs) &&
156  win_y < (legendystart + (k+2) * rs)) {
157 
158  qlegend_save=k;
159 
161 
162 
163  return;
164 
165  }
166 
167 
168  }
169 
170 
171 
172 }
static int i
void change_frz_legend(int win_x, int win_y)
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
unsigned long qmap[16]
Definition: mapper.c:116
Window window
Definition: mapper.c:190
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
void redraw_frz_legend(Drawable pixm)