~ubuntu-branches/ubuntu/raring/xfig/raring

« back to all changes in this revision

Viewing changes to w_util.c

  • Committer: Bazaar Package Importer
  • Author(s): Daniel T Chen
  • Date: 2007-05-20 23:33:59 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20070520233359-4ejk0ave70m2ihlz
Tags: 1:3.2.5-rel-1ubuntu1
* Merge from Debian unstable. Remaining Ubuntu change:
  - .desktop added.
* Modify Maintainer value to match Debian-Maintainer-Field Spec

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
#include "f_util.h"
25
25
#include "u_redraw.h"
26
26
#include "w_canvas.h"
27
 
#include "w_color.h"
28
27
#include "w_cmdpanel.h"
29
28
#include "w_drawprim.h"
30
29
#include "w_export.h"
31
30
#include "w_indpanel.h"
 
31
#include "w_color.h"
32
32
#include "w_layers.h"
33
33
#include "w_msgpanel.h"
34
34
#include "w_print.h"
35
35
#include "w_util.h"
36
36
#include "w_setup.h"
37
37
 
 
38
#include <X11/IntrinsicP.h> /* XtResizeWidget() */
 
39
 
38
40
#ifdef I18N
39
41
#include "d_text.h"
40
42
#endif /* I18N */
71
73
 
72
74
static Pixmap   spinup_bm=0;    /* pixmaps for spinners */
73
75
static Pixmap   spindown_bm=0;
74
 
static void     validate_int(); /* validation for spinners */
 
76
static void     validate_int(Widget w, XtPointer info, XtPointer dum);  /* validation for spinners */
75
77
static void     convert_gridstr(Widget widget, float mult);
76
78
 
77
79
/* for internal consumption only (use MakeIntSpinnerEntry or MakeFloatSpinnerEntry) */
78
 
static Widget   MakeSpinnerEntry();
 
80
static Widget   MakeSpinnerEntry(Widget parent, Widget *text, char *name, Widget below, Widget beside, XtCallbackProc callback, char *string, int type, float min, float max, float inc, int width);
79
81
 
80
82
/* bitmap for checkmark */
81
83
static unsigned char check_bits[] = {
164
166
 
165
167
/* popup a confirmation window */
166
168
 
167
 
static          query_result, query_done;
 
169
static int      query_result, query_done;
168
170
static String   query_translations =
169
171
        "<Message>WM_PROTOCOLS: DismissQuery()\n";
170
 
static void     accept_cancel();
 
172
static void     accept_cancel(Widget widget, XtPointer closure, XtPointer call_data);
171
173
static XtActionsRec     query_actions[] =
172
174
{
173
175
    {"DismissQuery", (XtActionProc) accept_cancel},
175
177
 
176
178
/* synchronize so that (e.g.) new cursor appears etc. */
177
179
 
178
 
app_flush()
 
180
 
 
181
 
 
182
void app_flush(void)
179
183
{
180
184
        /* this method prevents "ghost" rubberbanding when the user
181
185
           moves the mouse after creating/resizing object */
183
187
}
184
188
 
185
189
static void
186
 
accept_yes(widget, closure, call_data)
187
 
    Widget          widget;
188
 
    XtPointer       closure;
189
 
    XtPointer       call_data;
 
190
accept_yes(Widget widget, XtPointer closure, XtPointer call_data)
190
191
{
191
192
    query_done = 1;
192
193
    query_result = RESULT_YES;
193
194
}
194
195
 
195
196
static void
196
 
accept_no(widget, closure, call_data)
197
 
    Widget          widget;
198
 
    XtPointer       closure;
199
 
    XtPointer       call_data;
 
197
accept_no(Widget widget, XtPointer closure, XtPointer call_data)
200
198
{
201
199
    query_done = 1;
202
200
    query_result = RESULT_NO;
203
201
}
204
202
 
205
203
static void
206
 
accept_cancel(widget, closure, call_data)
207
 
    Widget          widget;
208
 
    XtPointer       closure;
209
 
    XtPointer       call_data;
 
204
accept_cancel(Widget widget, XtPointer closure, XtPointer call_data)
210
205
{
211
206
    query_done = 1;
212
207
    query_result = RESULT_CANCEL;
213
208
}
214
209
 
215
210
static void
216
 
accept_part(widget, closure, call_data)
217
 
    Widget          widget;
218
 
    XtPointer       closure;
219
 
    XtPointer       call_data;
 
211
accept_part(Widget widget, XtPointer closure, XtPointer call_data)
220
212
{
221
213
    query_done = 1;
222
214
    query_result = RESULT_PART;
223
215
}
224
216
 
225
217
static void
226
 
accept_all(widget, closure, call_data)
227
 
    Widget          widget;
228
 
    XtPointer       closure;
229
 
    XtPointer       call_data;
 
218
accept_all(Widget widget, XtPointer closure, XtPointer call_data)
230
219
{
231
220
    query_done = 1;
232
221
    query_result = RESULT_ALL;
233
222
}
234
223
 
235
224
int
236
 
popup_query(query_type, message)
237
 
    int             query_type;
238
 
    char           *message;
 
225
popup_query(int query_type, char *message)
239
226
{
240
227
    Widget          query_popup, query_form, query_message;
241
228
    Widget          query_yes, query_no, query_cancel;
366
353
 
367
354
#include "SmeCascade.h"
368
355
 
 
356
#include "d_text.h"
 
357
#include "e_placelib.h"
 
358
#include "w_rulers.h"
 
359
 
369
360
Widget
370
 
make_pulldown_menu(entries, nent, divide_line, divide_message, parent, callback)
371
 
    char           *entries[];
372
 
    Cardinal        nent;
373
 
    int             divide_line;
374
 
    char           *divide_message;
375
 
    Widget          parent;
376
 
    XtCallbackProc  callback;
377
 
 
 
361
make_pulldown_menu(char **entries, Cardinal nent, int divide_line, char *divide_message, Widget parent, XtCallbackProc callback)
378
362
{
379
363
    Widget          pulldown_menu, entry;
380
364
    int             i;
400
384
}
401
385
 
402
386
static void
403
 
CvtStringToFloat(args, num_args, fromVal, toVal)
404
 
    XrmValuePtr     args;
405
 
    Cardinal       *num_args;
406
 
    XrmValuePtr     fromVal;
407
 
    XrmValuePtr     toVal;
 
387
CvtStringToFloat(XrmValuePtr args, Cardinal *num_args, XrmValuePtr fromVal, XrmValuePtr toVal)
408
388
{
409
389
    static float    f;
410
390
 
418
398
}
419
399
 
420
400
static void
421
 
CvtIntToFloat(args, num_args, fromVal, toVal)
422
 
    XrmValuePtr     args;
423
 
    Cardinal       *num_args;
424
 
    XrmValuePtr     fromVal;
425
 
    XrmValuePtr     toVal;
 
401
CvtIntToFloat(XrmValuePtr args, Cardinal *num_args, XrmValuePtr fromVal, XrmValuePtr toVal)
426
402
{
427
403
    static float    f;
428
404
 
433
409
    (*toVal).addr = (caddr_t) & f;
434
410
}
435
411
 
436
 
fix_converters()
 
412
void fix_converters(void)
437
413
{
438
414
    XtAppAddConverter(tool_app, "String", "Float", CvtStringToFloat, NULL, 0);
439
415
    XtAppAddConverter(tool_app, "Int", "Float", CvtIntToFloat, NULL, 0);
441
417
 
442
418
 
443
419
static void
444
 
cancel_color(w, widget, dum1)
445
 
    Widget   w;
446
 
    XtPointer widget, dum1;
 
420
cancel_color(Widget w, XtPointer widget, XtPointer dum1)
447
421
{
448
422
    XtPopdown((Widget)widget);
449
423
}
450
424
 
451
425
Widget
452
 
make_color_popup_menu(parent, name, callback, include_transp, include_backg)
453
 
    Widget          parent;
454
 
    char           *name;
455
 
    XtCallbackProc  callback;
456
 
    Boolean         include_transp, include_backg;
457
 
 
 
426
make_color_popup_menu(Widget parent, char *name, XtCallbackProc callback, Boolean include_transp, Boolean include_backg)
458
427
{
459
428
    Widget          pop_menu, pop_form, color_box;
460
429
    Widget          viewp, entry, label;
591
560
}
592
561
 
593
562
void
594
 
set_color_name(color, buf)
595
 
    Color           color;
596
 
    char           *buf;
 
563
set_color_name(int color, char *buf)
597
564
{
598
565
    if (color == TRANSP_NONE)
599
566
        sprintf(buf,"None");
611
578
 */
612
579
 
613
580
void
614
 
set_but_col(widget, color)
615
 
    Widget          widget;
616
 
    Pixel           color;
 
581
set_but_col(Widget widget, Pixel color)
617
582
{
618
583
        XColor           xcolor;
619
584
        Pixel            but_col;
633
598
}
634
599
 
635
600
static void
636
 
inc_flt_spinner(widget, info, dum)
637
 
    Widget  widget;
638
 
    XtPointer info, dum;
 
601
inc_flt_spinner(Widget widget, XtPointer info, XtPointer dum)
639
602
{
640
603
    float val;
641
604
    char *sval,str[40];
658
621
}
659
622
 
660
623
static void
661
 
dec_flt_spinner(widget, info, dum)
662
 
    Widget  widget;
663
 
    XtPointer info, dum;
 
624
dec_flt_spinner(Widget widget, XtPointer info, XtPointer dum)
664
625
{
665
626
    float val;
666
627
    char *sval,str[40];
684
645
}
685
646
 
686
647
static void
687
 
inc_int_spinner(widget, info, dum)
688
 
    Widget  widget;
689
 
    XtPointer info, dum;
 
648
inc_int_spinner(Widget widget, XtPointer info, XtPointer dum)
690
649
{
691
650
    int     val;
692
651
    char   *sval,str[40];
709
668
}
710
669
 
711
670
static void
712
 
dec_int_spinner(widget, info, dum)
713
 
    Widget  widget;
714
 
    XtPointer info, dum;
 
671
dec_int_spinner(Widget widget, XtPointer info, XtPointer dum)
715
672
{
716
673
    int     val;
717
674
    char   *sval,str[40];
737
694
/* Code to handle automatic spinning when user holds down mouse button */
738
695
/***********************************************************************/
739
696
 
740
 
static XtTimerCallbackProc auto_spin();
 
697
static XtTimerCallbackProc auto_spin(XtPointer client_data, XtIntervalId *id);
741
698
static XtIntervalId        auto_spinid;
742
 
static XtEventHandler      stop_spin_timer();
 
699
static XtEventHandler      stop_spin_timer(int widget, int data, int event);
743
700
static Widget              cur_spin = (Widget) 0;
744
701
 
745
702
XtEventHandler
746
 
start_spin_timer(widget, data, event)
747
 
    Widget      widget;
748
 
    XtPointer   data;
749
 
    XEvent      event;
 
703
start_spin_timer(Widget widget, XtPointer data, XEvent event)
750
704
{
751
705
    auto_spinid = XtAppAddTimeOut(tool_app, appres.spinner_delay,
752
706
                                (XtTimerCallbackProc) auto_spin, (XtPointer) NULL);
755
709
                          (XtEventHandler) stop_spin_timer, (XtPointer) NULL);
756
710
    /* keep track of which one the user is pressing */
757
711
    cur_spin = widget;
 
712
 
 
713
    return;
758
714
}
759
715
 
760
716
static XtEventHandler
761
 
stop_spin_timer(widget, data, event)
 
717
stop_spin_timer(int widget, int data, int event)
762
718
{
763
719
    XtRemoveTimeOut(auto_spinid);
 
720
 
 
721
    return;
764
722
}
765
723
 
766
724
static  XtTimerCallbackProc
767
 
auto_spin(client_data, id)
768
 
    XtPointer       client_data;
769
 
    XtIntervalId   *id;
 
725
auto_spin(XtPointer client_data, XtIntervalId *id)
770
726
{
771
727
    auto_spinid = XtAppAddTimeOut(tool_app, appres.spinner_rate,
772
728
                                (XtTimerCallbackProc) auto_spin, (XtPointer) NULL);
773
729
    /* call the proper spinup/down routine */
774
730
    XtCallCallbacks(cur_spin, XtNcallback, 0);
 
731
 
 
732
    return;
775
733
}
776
734
 
777
735
/***************************/
779
737
/***************************/
780
738
 
781
739
Widget
782
 
MakeIntSpinnerEntry(parent, text, name, below, beside, callback,
783
 
                        string, min, max, inc, width)
784
 
    Widget  parent, *text;
785
 
    char   *name;
786
 
    Widget  below, beside;
787
 
    XtCallbackProc callback;
788
 
    char   *string;
789
 
    int     min, max, inc;
790
 
    int     width;
 
740
MakeIntSpinnerEntry(Widget parent, Widget *text, char *name, Widget below, Widget beside, XtCallbackProc callback, char *string, int min, int max, int inc, int width)
791
741
{
792
742
    return MakeSpinnerEntry(parent, text, name, below, beside, callback,
793
743
                        string, I_IVAL, (float) min, (float) max, (float) inc, width);
798
748
/*********************************/
799
749
 
800
750
Widget
801
 
MakeFloatSpinnerEntry(parent, text, name, below, beside, callback,
802
 
                        string, min, max, inc, width)
803
 
    Widget  parent, *text;
804
 
    char   *name;
805
 
    Widget  below, beside;
806
 
    XtCallbackProc callback;
807
 
    char   *string;
808
 
    float   min, max, inc;
809
 
    int     width;
 
751
MakeFloatSpinnerEntry(Widget parent, Widget *text, char *name, Widget below, Widget beside, XtCallbackProc callback, char *string, float min, float max, float inc, int width)
810
752
{
811
753
    return MakeSpinnerEntry(parent, text, name, below, beside, callback,
812
754
                        string, I_FVAL, min, max, inc, width);
835
777
*****************************************************************************************/
836
778
 
837
779
static Widget
838
 
MakeSpinnerEntry(parent, text, name, below, beside, callback,
839
 
                        string, type, min, max, inc, width)
840
 
    Widget       parent, *text;
841
 
    char        *name;
842
 
    Widget       below, beside;
843
 
    XtCallbackProc callback;
844
 
    char        *string;
845
 
    int          type;
846
 
    float        min, max, inc;
847
 
    int          width;
 
780
MakeSpinnerEntry(Widget parent, Widget *text, char *name, Widget below, Widget beside, XtCallbackProc callback, char *string, int type, float min, float max, float inc, int width)
848
781
{
849
782
    Widget       inform, outform, spinup, spindown, source;
850
783
    spin_struct *spinstruct;
994
927
/* validate the integer spinner as user types */
995
928
 
996
929
void
997
 
validate_int(w, info, dum)
998
 
    Widget      w;
999
 
    XtPointer   info, dum;
 
930
validate_int(Widget w, XtPointer info, XtPointer dum)
1000
931
{
1001
932
    DeclareArgs(4);
1002
933
    spin_struct *spins = (spin_struct*) info;
1003
934
    char        buf[200];
1004
 
    int         val, i, s, pos;
 
935
    int         val, i, pos;
1005
936
 
1006
937
    /* save cursor position */
1007
938
    FirstArg(XtNinsertPosition, &pos);
1038
969
/* handle the wheelmouse wheel */
1039
970
 
1040
971
void
1041
 
spinner_up_down(w, ev, params, num_params)
1042
 
    Widget          w;
1043
 
    XButtonEvent   *ev;
1044
 
    String         *params;
1045
 
    Cardinal       *num_params;
 
972
spinner_up_down(Widget w, XButtonEvent *ev, String *params, Cardinal *num_params)
1046
973
{
1047
974
  w = XtParent(w);
1048
975
  if (params[0][0] == '+') w = XtNameToWidget(w, "*spinup");
1059
986
/* if the file message window is up add it to the grab */
1060
987
/* in this way a user may dismiss the file_msg panel if another panel is up */
1061
988
 
1062
 
file_msg_add_grab()
 
989
void file_msg_add_grab(void)
1063
990
{
1064
991
    if (file_msg_popup)
1065
992
        XtAddGrab(file_msg_popup, False, False);
1068
995
/* get the pointer relative to the window it is in */
1069
996
 
1070
997
void
1071
 
get_pointer_win_xy(xposn, yposn)
1072
 
    int           *xposn, *yposn;
 
998
get_pointer_win_xy(int *xposn, int *yposn)
1073
999
1074
1000
    Window         win;
1075
1001
    int            cx, cy;
1082
1008
/* get the pointer relative to the root */
1083
1009
 
1084
1010
void
1085
 
get_pointer_root_xy(xposn, yposn)
1086
 
    int           *xposn, *yposn;
 
1011
get_pointer_root_xy(int *xposn, int *yposn)
1087
1012
1088
1013
    Window         rw, cw;
1089
1014
    int            cx, cy;
1097
1022
   to switch modes in the middle of some drawing/editing operation */
1098
1023
 
1099
1024
Boolean
1100
 
check_action_on()
 
1025
check_action_on(void)
1101
1026
{
1102
1027
    /* zooming is ok */
1103
1028
    if (action_on && cur_mode != F_ZOOM) {
1118
1043
 
1119
1044
/* process any (single) outstanding Xt event to allow things like button pushes */
1120
1045
 
1121
 
process_pending()
 
1046
void process_pending(void)
1122
1047
{
1123
1048
    while (XtAppPending(tool_app))
1124
1049
        XtAppProcessEvent(tool_app, XtIMAll);
1137
1062
 
1138
1063
/* save user colors into temp vars */
1139
1064
 
1140
 
save_user_colors()
 
1065
void save_user_colors(void)
1141
1066
{
1142
1067
    int         i;
1143
1068
 
1162
1087
 
1163
1088
/* save n_user colors into temp vars */
1164
1089
 
1165
 
save_nuser_colors()
 
1090
void save_nuser_colors(void)
1166
1091
{
1167
1092
    int         i;
1168
1093
 
1183
1108
 
1184
1109
/* restore user colors from temp vars */
1185
1110
 
1186
 
restore_user_colors()
 
1111
void restore_user_colors(void)
1187
1112
{
1188
1113
    int         i,num;
1189
1114
 
1235
1160
 
1236
1161
/* Restore user colors from temp vars into n_user_...  */
1237
1162
 
1238
 
restore_nuser_colors()
 
1163
void restore_nuser_colors(void)
1239
1164
{
1240
1165
    int         i;
1241
1166
 
1259
1184
 
1260
1185
/* create some global bitmaps like menu arrows, checkmarks, etc. */
1261
1186
 
1262
 
create_bitmaps()
 
1187
void create_bitmaps(void)
1263
1188
{
1264
1189
        int            i;
1265
1190
 
1320
1245
/* put a string into an ASCII text widget */
1321
1246
 
1322
1247
void
1323
 
panel_set_value(widg, val)
1324
 
    Widget          widg;
1325
 
    char           *val;
 
1248
panel_set_value(Widget widg, char *val)
1326
1249
{
1327
1250
    FirstArg(XtNstring, val);
1328
1251
    SetValues(widg);
1334
1257
/* get a string from an ASCII text widget */
1335
1258
 
1336
1259
char *
1337
 
panel_get_value(widg)
1338
 
    Widget          widg;
 
1260
panel_get_value(Widget widg)
1339
1261
{
1340
1262
    char           *val;
1341
1263
 
1347
1269
/* put an int into an ASCII text widget */
1348
1270
 
1349
1271
void
1350
 
panel_set_int(widg, intval)
1351
 
    Widget          widg;
1352
 
    int             intval;
 
1272
panel_set_int(Widget widg, int intval)
1353
1273
{
1354
1274
    char            buf[80];
1355
1275
    sprintf(buf, "%d", intval);
1359
1279
/* put a float into an ASCII text widget */
1360
1280
 
1361
1281
void
1362
 
panel_set_float(widg, floatval, format)
1363
 
    Widget          widg;
1364
 
    float           floatval;
1365
 
    char           *format;
 
1282
panel_set_float(Widget widg, float floatval, char *format)
1366
1283
{
1367
1284
    char            buf[80];
1368
1285
    sprintf(buf, format, floatval);
1372
1289
/* create a checkbutton with a labelled area to the right */
1373
1290
 
1374
1291
Widget
1375
 
CreateCheckbutton(label, widget_name, parent, below, beside, manage, large, 
1376
 
                        value, user_callback, togwidg)
1377
 
    char        *label;
1378
 
    char        *widget_name;
1379
 
    Widget       parent, below, beside;
1380
 
    Boolean      manage;
1381
 
    Boolean      large;
1382
 
    Boolean     *value;
1383
 
    XtCallbackProc user_callback;
1384
 
    Widget      *togwidg;
 
1292
CreateCheckbutton(char *label, char *widget_name, Widget parent, Widget below, Widget beside, Boolean manage, Boolean large, Boolean *value, XtCallbackProc user_callback, Widget *togwidg)
1385
1293
{
1386
1294
        DeclareArgs(20);
1387
1295
        Widget   form, toggle, labelw;
1461
1369
}
1462
1370
 
1463
1371
XtCallbackProc
1464
 
toggle_checkbutton(w, data, garbage)
1465
 
    Widget         w;
1466
 
    XtPointer      data;
1467
 
    XtPointer      garbage;
 
1372
toggle_checkbutton(Widget w, XtPointer data, XtPointer garbage)
1468
1373
{
1469
1374
    DeclareArgs(5);
1470
1375
    Pixmap         pm;
1498
1403
        NextArg(XtNstate, True);
1499
1404
    }
1500
1405
    SetValues(w);
 
1406
 
 
1407
    return;
1501
1408
}
1502
1409
 
1503
1410
/* assemble main window title bar with xfig title and (base) file name */
1504
1411
 
1505
1412
void
1506
 
update_wm_title(name)
1507
 
char    *name;
 
1413
update_wm_title(char *name)
1508
1414
{
1509
1415
    char  wm_title[200];
1510
1416
    DeclareArgs(2);
1516
1422
}
1517
1423
 
1518
1424
void
1519
 
check_for_resize(tool, event, params, nparams)
1520
 
    Widget          tool;
1521
 
    XButtonEvent   *event;
1522
 
    String         *params;
1523
 
    Cardinal       *nparams;
 
1425
check_for_resize(Widget tool, XButtonEvent *event, String *params, Cardinal *nparams)
1524
1426
{
1525
1427
    int             dx, dy;
1526
1428
    XConfigureEvent *xc = (XConfigureEvent *) event;
1540
1442
 
1541
1443
/* resize whole shebang given new canvas size (width,height) */
1542
1444
 
1543
 
resize_all(width, height)
1544
 
    int         width, height;
 
1445
void resize_all(int width, int height)
1545
1446
{
1546
1447
    Dimension   b, b2, b3, w, h, h2;
1547
1448
    int         min_sw_per_row;
1661
1562
}
1662
1563
 
1663
1564
void
1664
 
check_colors()
 
1565
check_colors(void)
1665
1566
{
1666
1567
    int             i;
1667
1568
    XColor          dum,color;
1754
1655
}
1755
1656
 
1756
1657
/* useful when using ups */
1757
 
XSyncOn()
 
1658
void XSyncOn(void)
1758
1659
{
1759
1660
        XSynchronize(tool_d, True);
1760
1661
        XFlush(tool_d);
1761
1662
}
1762
1663
 
1763
 
XSyncOff()
 
1664
void XSyncOff(void)
1764
1665
{
1765
1666
        XSynchronize(tool_d, False);
1766
1667
        XFlush(tool_d);
1772
1673
 */
1773
1674
 
1774
1675
int
1775
 
xallncol(name,color,exact)
1776
 
    char        *name;
1777
 
    XColor      *color,*exact;
 
1676
xallncol(char *name, XColor *color, XColor *exact)
1778
1677
{
1779
1678
    unsigned    short r,g,b;
1780
1679
    char        nam[30];
1800
1699
}
1801
1700
 
1802
1701
Widget
1803
 
make_grid_options(parent, put_below, put_beside, minor_grid_value, major_grid_value,
1804
 
                        grid_minor_menu_button, grid_major_menu_button,
1805
 
                        grid_minor_menu, grid_major_menu,
1806
 
                        print_grid_minor_text, print_grid_major_text,
1807
 
                        grid_unit_label, grid_major_select, grid_minor_select)
1808
 
    Widget        parent, put_below, put_beside;
1809
 
    char         *minor_grid_value, *major_grid_value;
1810
 
    Widget       *grid_minor_menu_button, *grid_major_menu_button;
1811
 
    Widget       *grid_minor_menu, *grid_major_menu;
1812
 
    Widget       *print_grid_minor_text, *print_grid_major_text;
1813
 
    Widget       *grid_unit_label;
1814
 
    void        (*grid_major_select)(), (*grid_minor_select)();
 
1702
make_grid_options(Widget parent, Widget put_below, Widget put_beside, char *minor_grid_value, char *major_grid_value, Widget *grid_minor_menu_button, Widget *grid_major_menu_button, Widget *grid_minor_menu, Widget *grid_major_menu, Widget *print_grid_minor_text, Widget *print_grid_major_text, Widget *grid_unit_label, void (*grid_major_select) (/* ??? */), void (*grid_minor_select) (/* ??? */))
1815
1703
{
1816
1704
        Widget  below, beside;
1817
1705
 
1920
1808
/* do this in both the print and export panels */
1921
1809
 
1922
1810
void
1923
 
reset_grid_menus()
 
1811
reset_grid_menus(void)
1924
1812
{
1925
1813
        float   convert;
1926
1814
 
2004
1892
        char    *sval, fraction[20];
2005
1893
        double   fracts[] = { 2, 4, 8, 16, 32 };
2006
1894
        double   tol[]    = { 0.05, 0.1, 0.2, 0.3, 0.6};
2007
 
#define NUM_FRACTS sizeof(fracts)/sizeof(int)
 
1895
#define NUM_FRACTS sizeof(fracts)/sizeof(double)
2008
1896
        int      i;
2009
1897
 
2010
1898
        FirstArg(XtNstring, &sval);
2058
1946
 * Then we fade the letters to the background color and remove the icon.
2059
1947
 ****************************************************************************/
2060
1948
 
2061
 
splash_screen()
 
1949
void splash_screen(void)
2062
1950
{
2063
1951
        GC              splash_gc;
2064
1952
        XColor          col, colbg;
2068
1956
        int             splash_x, splash_y;
2069
1957
        int             i, x, y, width;
2070
1958
        unsigned long   plane_mask;
2071
 
        Boolean         use_bitmap;
 
1959
        Boolean         use_bitmap = False;
2072
1960
        XGCValues       gcv;
2073
1961
 
2074
1962
#ifdef USE_XPM
2257
2145
/* clear_canvas() zeroes splash_onscreen */
2258
2146
 
2259
2147
void
2260
 
clear_splash()
 
2148
clear_splash(void)
2261
2149
{
2262
2150
    if (splash_onscreen)
2263
2151
        clear_canvas();