source: trunk/dll/presparm.c@ 1211

Last change on this file since 1211 was 1211, checked in by John Small, 17 years ago

Ticket 187: Move data declarations/definitions out of fm3dll.h

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 19.0 KB
Line 
1
2/***********************************************************************
3
4 $Id: presparm.c 1211 2008-09-13 06:52:08Z jbs $
5
6 Edit presentation parameters
7
8 Copyright (c) 1993-98 M. Kimes
9 Copyright (c) 2006 Steven H.Levine
10
11 22 Jul 06 SHL Check more run time errors
12 20 Aug 07 GKY Move #pragma alloc_text to end for OpenWatcom compat
13 22 Nov 07 GKY Use CopyPresParams to fix presparam inconsistencies in menus
14 10 Dec 07 GKY Updated CopyPresParams to copy all parameter types
15
16***********************************************************************/
17
18#include <string.h>
19
20#define INCL_WIN
21#define INCL_LONGLONG // dircnrs.h
22
23#include "fm3dll.h"
24#include "notebook.h" // Data declaration(s)
25#include "presparm.h"
26#include "wrappers.h" // xmalloc
27#include "fortify.h"
28
29// static PSZ pszSrcFile = __FILE__;
30
31//static VOID IfNoParam(HWND hwnd, CHAR * keyroot, ULONG size, PVOID attrvalue);
32
33//static VOID StoreWndPresParams(HWND hwnd, CHAR * tagname, HINI prof);
34
35#ifdef NEVER
36/*
37 * this routine will fill a buffer with all defined window pres params
38 * the PRESPARAMS structure returned is suitable to be passed as
39 * pPresParams ie. WinCreateWindow(,,,,,,,,,,,, PVOID pPresParams)
40 */
41VOID StoreWndPresParams(HWND hwnd, CHAR * tagname, HINI prof)
42{
43 PARAM *pparam;
44 PRESPARAMS *ppresparams;
45
46 if (!tagname || !*tagname || !prof)
47 return;
48 /* setup memory access */
49 ppresparams = (PRESPARAMS *) xmalloc(PP_MAXBUF, pszSrcFile, __LINE__);
50 if (!ppresparams)
51 return;
52 ppresparams->cb = 0; /* no entries yet */
53 pparam = ppresparams->aparam; /* cast structure onto memory */
54
55 /*
56 * query every possible presentation parameter...
57 */
58
59 /* foreground color -- takes 12 bytes */
60 pparam->cb = WinQueryPresParam(hwnd,
61 PP_FOREGROUNDCOLOR,
62 PP_FOREGROUNDCOLORINDEX,
63 &pparam->id,
64 sizeof(LONG),
65 (PVOID) pparam->ab, QPF_NOINHERIT);
66 if (pparam->cb) { /* was the param found? */
67 ppresparams->cb += 12; /* used 12 bytes */
68 pparam = (PPARAM) (((ULONG) pparam) + 12); /* advance 12 bytes to next memory location */
69 }
70
71 /* background color -- takes 12 bytes */
72 pparam->cb = WinQueryPresParam(hwnd,
73 PP_BACKGROUNDCOLOR,
74 PP_BACKGROUNDCOLORINDEX,
75 &pparam->id,
76 sizeof(LONG),
77 (PVOID) pparam->ab, QPF_NOINHERIT);
78 if (pparam->cb) {
79 ppresparams->cb += 12;
80 pparam = (PPARAM) (((ULONG) pparam) + 12);
81 }
82
83 /* hilited foreground color -- takes 12 bytes */
84 pparam->cb = WinQueryPresParam(hwnd,
85 PP_HILITEFOREGROUNDCOLOR,
86 PP_HILITEFOREGROUNDCOLORINDEX,
87 &pparam->id,
88 sizeof(LONG),
89 (PVOID) pparam->ab, QPF_NOINHERIT);
90 if (pparam->cb) {
91 ppresparams->cb += 12;
92 pparam = (PPARAM) (((ULONG) pparam) + 12);
93 }
94
95 /* hilited background color -- takes 12 bytes */
96 pparam->cb = WinQueryPresParam(hwnd,
97 PP_HILITEBACKGROUNDCOLOR,
98 PP_HILITEBACKGROUNDCOLORINDEX,
99 &pparam->id,
100 sizeof(LONG),
101 (PVOID) pparam->ab, QPF_NOINHERIT);
102 if (pparam->cb) {
103 ppresparams->cb += 12;
104 pparam = (PPARAM) (((ULONG) pparam) + 12);
105 }
106
107 /* disabled foreground color -- takes 12 bytes */
108 pparam->cb = WinQueryPresParam(hwnd,
109 PP_DISABLEDFOREGROUNDCOLOR,
110 PP_DISABLEDFOREGROUNDCOLORINDEX,
111 &pparam->id,
112 sizeof(LONG),
113 (PVOID) pparam->ab, QPF_NOINHERIT);
114 if (pparam->cb) {
115 ppresparams->cb += 12;
116 pparam = (PPARAM) (((ULONG) pparam) + 12);
117 }
118
119 /* disabled background color -- takes 12 bytes */
120 pparam->cb = WinQueryPresParam(hwnd,
121 PP_DISABLEDBACKGROUNDCOLOR,
122 PP_DISABLEDBACKGROUNDCOLORINDEX,
123 &pparam->id,
124 sizeof(LONG),
125 (PVOID) pparam->ab, QPF_NOINHERIT);
126 if (pparam->cb) {
127 ppresparams->cb += 12;
128 pparam = (PPARAM) (((ULONG) pparam) + 12);
129 }
130
131 /* border color -- takes 12 bytes */
132 pparam->cb = WinQueryPresParam(hwnd,
133 PP_BORDERCOLOR,
134 PP_BORDERCOLORINDEX,
135 &pparam->id,
136 sizeof(LONG),
137 (PVOID) pparam->ab, QPF_NOINHERIT);
138 if (pparam->cb) {
139 ppresparams->cb += 12;
140 pparam = (PPARAM) (((ULONG) pparam) + 12);
141 }
142
143 /* font name & size -- maximum 44 bytes (32 for face name, 4 for point size) + 8 for data */
144 pparam->cb = WinQueryPresParam(hwnd,
145 PP_FONTNAMESIZE,
146 0,
147 &pparam->id,
148 36, (PVOID) pparam->ab, QPF_NOINHERIT);
149 if (pparam->cb) {
150 ppresparams->cb += (pparam->cb + 8);
151 pparam = (PPARAM) (((ULONG) pparam) + pparam->cb + 8);
152 }
153
154 /* active color -- takes 12 bytes */
155 pparam->cb = WinQueryPresParam(hwnd,
156 PP_ACTIVECOLOR,
157 PP_ACTIVECOLORINDEX,
158 &pparam->id,
159 sizeof(LONG),
160 (PVOID) pparam->ab, QPF_NOINHERIT);
161 if (pparam->cb) {
162 ppresparams->cb += 12;
163 pparam = (PPARAM) (((ULONG) pparam) + 12);
164 }
165
166 /* inactive color -- takes 12 bytes */
167 pparam->cb = WinQueryPresParam(hwnd,
168 PP_INACTIVECOLOR,
169 PP_INACTIVECOLORINDEX,
170 &pparam->id,
171 sizeof(LONG),
172 (PVOID) pparam->ab, QPF_NOINHERIT);
173 if (pparam->cb) {
174 ppresparams->cb += 12;
175 pparam = (PPARAM) (((ULONG) pparam) + 12);
176 }
177
178 /* active text foreground color -- takes 12 bytes */
179 pparam->cb = WinQueryPresParam(hwnd,
180 PP_ACTIVETEXTFGNDCOLOR,
181 PP_ACTIVETEXTFGNDCOLORINDEX,
182 &pparam->id,
183 sizeof(LONG),
184 (PVOID) pparam->ab,
185 QPF_NOINHERIT | QPF_PURERGBCOLOR);
186 if (pparam->cb) {
187 ppresparams->cb += 12;
188 pparam = (PPARAM) (((ULONG) pparam) + 12);
189 }
190
191 /* active text background color -- takes 12 bytes */
192 pparam->cb = WinQueryPresParam(hwnd,
193 PP_ACTIVETEXTBGNDCOLOR,
194 PP_ACTIVETEXTBGNDCOLORINDEX,
195 &pparam->id,
196 sizeof(LONG),
197 (PVOID) pparam->ab,
198 QPF_NOINHERIT | QPF_PURERGBCOLOR);
199 if (pparam->cb) {
200 ppresparams->cb += 12;
201 pparam = (PPARAM) (((ULONG) pparam) + 12);
202 }
203
204 /* inactive text foreground color -- takes 12 bytes */
205 pparam->cb = WinQueryPresParam(hwnd,
206 PP_INACTIVETEXTFGNDCOLOR,
207 PP_INACTIVETEXTFGNDCOLORINDEX,
208 &pparam->id,
209 sizeof(LONG),
210 (PVOID) pparam->ab,
211 QPF_NOINHERIT | QPF_PURERGBCOLOR);
212 if (pparam->cb) {
213 ppresparams->cb += 12;
214 pparam = (PPARAM) (((ULONG) pparam) + 12);
215 }
216
217 /* inactive text background color -- takes 12 bytes */
218 pparam->cb = WinQueryPresParam(hwnd,
219 PP_INACTIVETEXTBGNDCOLOR,
220 PP_INACTIVETEXTBGNDCOLORINDEX,
221 &pparam->id,
222 sizeof(LONG),
223 (PVOID) pparam->ab,
224 QPF_NOINHERIT | QPF_PURERGBCOLOR);
225 if (pparam->cb) {
226 ppresparams->cb += 12;
227 pparam = (PPARAM) (((ULONG) pparam) + 12);
228 }
229
230 /* shadow color -- takes 12 bytes */
231 pparam->cb = WinQueryPresParam(hwnd,
232 PP_SHADOW, 0,
233 &pparam->id,
234 sizeof(LONG),
235 (PVOID) pparam->ab, QPF_NOINHERIT);
236 if (pparam->cb) {
237 ppresparams->cb += 12;
238 pparam = (PPARAM) (((ULONG) pparam) + 12);
239 }
240
241 /* menu foreground color -- takes 12 bytes */
242 pparam->cb = WinQueryPresParam(hwnd,
243 PP_MENUFOREGROUNDCOLOR,
244 PP_MENUFOREGROUNDCOLORINDEX,
245 &pparam->id,
246 sizeof(LONG),
247 (PVOID) pparam->ab, QPF_NOINHERIT);
248 if (pparam->cb) {
249 ppresparams->cb += 12;
250 pparam = (PPARAM) (((ULONG) pparam) + 12);
251 }
252
253 /* menu background color -- takes 12 bytes */
254 pparam->cb = WinQueryPresParam(hwnd,
255 PP_MENUBACKGROUNDCOLOR,
256 PP_MENUBACKGROUNDCOLORINDEX,
257 &pparam->id,
258 sizeof(LONG),
259 (PVOID) pparam->ab, QPF_NOINHERIT);
260 if (pparam->cb) {
261 ppresparams->cb += 12;
262 pparam = (PPARAM) (((ULONG) pparam) + 12);
263 }
264
265 /* menu hilite foreground color -- takes 12 bytes */
266 pparam->cb = WinQueryPresParam(hwnd,
267 PP_MENUHILITEFGNDCOLOR,
268 PP_MENUHILITEFGNDCOLORINDEX,
269 &pparam->id,
270 sizeof(LONG),
271 (PVOID) pparam->ab, QPF_NOINHERIT);
272 if (pparam->cb) {
273 ppresparams->cb += 12;
274 pparam = (PPARAM) (((ULONG) pparam) + 12);
275 }
276
277 /* menu hilite background color -- takes 12 bytes */
278 pparam->cb = WinQueryPresParam(hwnd,
279 PP_MENUHILITEBGNDCOLOR,
280 PP_MENUHILITEBGNDCOLORINDEX,
281 &pparam->id,
282 sizeof(LONG),
283 (PVOID) pparam->ab, QPF_NOINHERIT);
284 if (pparam->cb) {
285 ppresparams->cb += 12;
286 pparam = (PPARAM) (((ULONG) pparam) + 12);
287 }
288
289 /* menu disabled foreground color -- takes 12 bytes */
290 pparam->cb = WinQueryPresParam(hwnd,
291 PP_MENUDISABLEDFGNDCOLOR,
292 PP_MENUDISABLEDFGNDCOLORINDEX,
293 &pparam->id,
294 sizeof(LONG),
295 (PVOID) pparam->ab, QPF_NOINHERIT);
296 if (pparam->cb) {
297 ppresparams->cb += 12;
298 pparam = (PPARAM) (((ULONG) pparam) + 12);
299 }
300
301 /* menu disabled background color -- takes 12 bytes */
302 pparam->cb = WinQueryPresParam(hwnd,
303 PP_MENUDISABLEDBGNDCOLOR,
304 PP_MENUDISABLEDBGNDCOLORINDEX,
305 &pparam->id,
306 sizeof(LONG),
307 (PVOID) pparam->ab, QPF_NOINHERIT);
308 if (pparam->cb) {
309 ppresparams->cb += 12;
310 pparam = (PPARAM) (((ULONG) pparam) + 12);
311 }
312
313 if (ppresparams->cb)
314 PrfWriteProfileData(prof,
315 appname, tagname, ppresparams, ppresparams->cb + 4);
316
317 free(ppresparams);
318}
319
320#endif // NEVER
321
322VOID CopyPresParams(HWND target, HWND source)
323{
324 /*
325 * Copy presentation parameters of interest to us from one window
326 * to another
327 */
328
329 ULONG AttrFound, AttrValue[64], cbRetLen, x = 0,
330 AttrName[] = { PP_FONTNAMESIZE, PP_FOREGROUNDCOLOR,
331 PP_BACKGROUNDCOLOR, PP_HILITEBACKGROUNDCOLOR,
332 PP_HILITEFOREGROUNDCOLOR, PP_BORDERCOLOR, PP_MENUFOREGROUNDCOLOR,
333 PP_MENUBACKGROUNDCOLOR, PP_FOREGROUNDCOLORINDEX, PP_BACKGROUNDCOLORINDEX,
334 PP_HILITEFOREGROUNDCOLORINDEX, PP_HILITEBACKGROUNDCOLORINDEX,
335 PP_DISABLEDFOREGROUNDCOLOR, PP_DISABLEDBACKGROUNDCOLOR,
336 PP_DISABLEDFOREGROUNDCOLORINDEX, PP_DISABLEDBACKGROUNDCOLORINDEX,
337 PP_BORDERCOLOR, PP_BORDERCOLORINDEX, PP_FONTHANDLE, PP_ACTIVECOLOR,
338 PP_ACTIVECOLORINDEX, PP_INACTIVECOLOR, PP_INACTIVECOLORINDEX,
339 PP_ACTIVETEXTFGNDCOLOR, PP_ACTIVETEXTFGNDCOLORINDEX, PP_ACTIVETEXTBGNDCOLOR,
340 PP_ACTIVETEXTBGNDCOLORINDEX, PP_INACTIVETEXTFGNDCOLOR,
341 PP_INACTIVETEXTFGNDCOLORINDEX, PP_INACTIVETEXTBGNDCOLOR,
342 PP_INACTIVETEXTBGNDCOLORINDEX, PP_SHADOW, PP_MENUFOREGROUNDCOLORINDEX,
343 PP_MENUBACKGROUNDCOLORINDEX, PP_MENUHILITEFGNDCOLOR, PP_MENUHILITEFGNDCOLORINDEX,
344 PP_MENUHILITEBGNDCOLOR, PP_MENUHILITEBGNDCOLORINDEX, PP_MENUDISABLEDFGNDCOLOR,
345 PP_MENUDISABLEDFGNDCOLORINDEX, PP_MENUDISABLEDBGNDCOLOR,
346 PP_MENUDISABLEDBGNDCOLORINDEX, PP_SHADOWTEXTCOLOR, PP_SHADOWTEXTCOLORINDEX,
347 PP_SHADOWHILITEFGNDCOLOR, PP_SHADOWHILITEFGNDCOLORINDEX, PP_SHADOWHILITEBGNDCOLOR,
348 PP_SHADOWHILITEBGNDCOLORINDEX, PP_ICONTEXTBACKGROUNDCOLOR,
349 PP_ICONTEXTBACKGROUNDCOLORINDEX, PP_BORDERLIGHTCOLOR, PP_BORDERDARKCOLOR,
350 PP_BORDER2COLOR, PP_BORDER2LIGHTCOLOR, PP_BORDER2DARKCOLOR, PP_BORDERDEFAULTCOLOR,
351 PP_FIELDBACKGROUNDCOLOR, PP_BUTTONBACKGROUNDCOLOR, PP_BUTTONBORDERLIGHTCOLOR,
352 PP_BUTTONBORDERDARKCOLOR, PP_ARROWCOLOR, PP_ARROWBORDERLIGHTCOLOR,
353 PP_ARROWBORDERDARKCOLOR, PP_ARROWDISABLEDCOLOR, PP_CHECKLIGHTCOLOR,
354 PP_CHECKMIDDLECOLOR, PP_CHECKDARKCOLOR, PP_PAGEFOREGROUNDCOLOR,
355 PP_PAGEBACKGROUNDCOLOR, PP_MAJORTABFOREGROUNDCOLOR, PP_MAJORTABBACKGROUNDCOLOR,
356 PP_MINORTABFOREGROUNDCOLOR, PP_MINORTABBACKGROUNDCOLOR, PP_USER, 0 };
357
358 while (AttrName[x]) {
359 cbRetLen = WinQueryPresParam(source,
360 AttrName[x],
361 0,
362 &AttrFound,
363 sizeof(AttrValue),
364 &AttrValue, 0);
365 //printf("%s %x\n", AttrValue, source); fflush(stdout);
366 //printf("%x\n", AttrValue); fflush(stdout);
367 if (cbRetLen)
368 WinSetPresParam(target, AttrName[x], cbRetLen, (PVOID) AttrValue);
369 x++;
370 } //while
371}
372
373VOID SetPresParams(HWND hwnd, RGB2 * back, RGB2 * fore, RGB2 * border,
374 CHAR * font)
375{
376 if (font)
377 WinSetPresParam(hwnd, PP_FONTNAMESIZE, strlen(font) + 1, (PVOID) font);
378 if (back)
379 WinSetPresParam(hwnd, PP_BACKGROUNDCOLOR, sizeof(RGB2), (PVOID) back);
380 if (fore)
381 WinSetPresParam(hwnd, PP_FOREGROUNDCOLOR, sizeof(RGB2), (PVOID) fore);
382 if (border)
383 WinSetPresParam(hwnd, PP_BORDERCOLOR, sizeof(RGB2), (PVOID) border);
384}
385
386#if 0 // JBS 11 Sep 08
387VOID IfNoParam(HWND hwnd, CHAR * keyroot, ULONG size, PVOID attrvalue)
388{
389 ULONG fsize = 0;
390 CHAR s[81];
391
392 sprintf(s, "%s", keyroot);
393 if (!PrfQueryProfileSize(fmprof, appname, s, &fsize) || !fsize)
394 WinSetPresParam(hwnd, PP_FONTNAMESIZE, size, (PVOID) attrvalue);
395}
396#endif
397
398VOID PresParamChanged(HWND hwnd, CHAR * keyroot, MPARAM mp1, MPARAM mp2)
399{
400 ULONG AttrFound, AttrValue[64], cbRetLen;
401
402 cbRetLen = WinQueryPresParam(hwnd, (ULONG) mp1, 0, &AttrFound,
403 (ULONG) sizeof(AttrValue), &AttrValue, 0);
404 if (cbRetLen) {
405
406 CHAR s[133];
407
408 *s = 0;
409 switch (AttrFound) {
410 case PP_BACKGROUNDCOLOR:
411 sprintf(s, "%s.Backgroundcolor", keyroot);
412 break;
413 case PP_FOREGROUNDCOLOR:
414 sprintf(s, "%s.Foregroundcolor", keyroot);
415 break;
416 case PP_HILITEBACKGROUNDCOLOR:
417 sprintf(s, "%s.Hilitebackgroundcolor", keyroot);
418 break;
419 case PP_HILITEFOREGROUNDCOLOR:
420 sprintf(s, "%s.Hiliteforegroundcolor", keyroot);
421 break;
422 case PP_BORDERCOLOR:
423 sprintf(s, "%s.Bordercolor", keyroot);
424 break;
425 case PP_FONTNAMESIZE:
426 sprintf(s, "%s.Fontnamesize", keyroot);
427 break;
428 default:
429 break;
430 }
431 if (*s)
432 PrfWriteProfileData(fmprof, appname, s, (PVOID) AttrValue, cbRetLen);
433 }
434}
435
436VOID RestorePresParams(HWND hwnd, CHAR * keyroot)
437{
438 CHAR s[81];
439 ULONG AttrValue[64], size;
440
441 size = sizeof(AttrValue);
442 sprintf(s, "%s.Backgroundcolor", keyroot);
443 if (PrfQueryProfileData(fmprof, appname, s, (PVOID) AttrValue, &size)
444 && size)
445 WinSetPresParam(hwnd, PP_BACKGROUNDCOLOR, size, (PVOID) AttrValue);
446 size = sizeof(AttrValue);
447 sprintf(s, "%s.Foregroundcolor", keyroot);
448 if (PrfQueryProfileData(fmprof, appname, s, (PVOID) AttrValue, &size)
449 && size)
450 WinSetPresParam(hwnd, PP_FOREGROUNDCOLOR, size, (PVOID) AttrValue);
451 size = sizeof(AttrValue);
452 sprintf(s, "%s.Hilitebackgroundcolor", keyroot);
453 if (PrfQueryProfileData(fmprof, appname, s, (PVOID) AttrValue, &size)
454 && size)
455 WinSetPresParam(hwnd, PP_HILITEBACKGROUNDCOLOR, size, (PVOID) AttrValue);
456 size = sizeof(AttrValue);
457 sprintf(s, "%s.Hiliteforegroundcolor", keyroot);
458 if (PrfQueryProfileData(fmprof, appname, s, (PVOID) AttrValue, &size)
459 && size)
460 WinSetPresParam(hwnd, PP_HILITEFOREGROUNDCOLOR, size, (PVOID) AttrValue);
461 size = sizeof(AttrValue);
462 sprintf(s, "%s.Bordercolor", keyroot);
463 if (PrfQueryProfileData(fmprof, appname, s, (PVOID) AttrValue, &size)
464 && size)
465 WinSetPresParam(hwnd, PP_BORDERCOLOR, size, (PVOID) AttrValue);
466 size = sizeof(AttrValue);
467 sprintf(s, "%s.Fontnamesize", keyroot);
468 if (PrfQueryProfileData(fmprof,
469 appname, s, (PVOID) AttrValue, &size) && size)
470 WinSetPresParam(hwnd, PP_FONTNAMESIZE, size, (PVOID) AttrValue);
471}
472
473 /** SavePresParams
474 * Save the presentation parameters used by RestorePresParams
475 */
476VOID SavePresParams(HWND hwnd, CHAR *keyroot)
477{
478
479
480 ULONG AttrFound, AttrValue[64], cbRetLen, x = 0,
481 AttrName[] = { PP_FONTNAMESIZE, PP_FOREGROUNDCOLOR,
482 PP_BACKGROUNDCOLOR, PP_HILITEBACKGROUNDCOLOR,
483 PP_HILITEFOREGROUNDCOLOR, PP_BORDERCOLOR, 0 };
484
485 while (AttrName[x]) {
486 cbRetLen = WinQueryPresParam(hwnd,
487 AttrName[x],
488 0,
489 &AttrFound,
490 sizeof(AttrValue),
491 &AttrValue, 0);
492 if (cbRetLen){
493 CHAR s[133];
494
495 *s = 0;
496 switch (AttrFound) {
497 case PP_BACKGROUNDCOLOR:
498 sprintf(s, "%s.Backgroundcolor", keyroot);
499 break;
500 case PP_FOREGROUNDCOLOR:
501 sprintf(s, "%s.Foregroundcolor", keyroot);
502 break;
503 case PP_HILITEBACKGROUNDCOLOR:
504 sprintf(s, "%s.Hilitebackgroundcolor", keyroot);
505 break;
506 case PP_HILITEFOREGROUNDCOLOR:
507 sprintf(s, "%s.Hiliteforegroundcolor", keyroot);
508 break;
509 case PP_BORDERCOLOR:
510 sprintf(s, "%s.Bordercolor", keyroot);
511 break;
512 case PP_FONTNAMESIZE:
513 sprintf(s, "%s.Fontnamesize", keyroot);
514 break;
515 default:
516 break;
517 }
518 if (*s)
519 PrfWriteProfileData(fmprof, appname, s, (PVOID) AttrValue, cbRetLen);
520 }
521 x++;
522 } //while
523}
524
525#pragma alloc_text(PRESPARAM,CopyPresParams,SetPresParams)
526#pragma alloc_text(PRESPARAM,PresParamChanged,RestorePresParams,SavePresParams)
527#pragma alloc_text(PRESPARAM,StoreWndPresParams)
Note: See TracBrowser for help on using the repository browser.