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