From ff4c372a14e67e388fab5aaeb75b9dded7df88cc Mon Sep 17 00:00:00 2001
From: Mario Haustein <
[email protected]>
Date: Fri, 31 Jan 2025 23:43:14 +0100
Subject: [PATCH 1/8] Fix prototypes for mouse button callbacks
Bug:
https://bugs.gentoo.org/946838
Upstream:
https://sourceforge.net/p/mcj/xfig/merge-requests/1/
--- a/src/d_arc.c
+++ b/src/d_arc.c
@@ -57,11 +57,11 @@ double r;
/* LOCAL */
-static void create_arcobject(int lx, int ly);
-static void get_arcpoint(int x, int y);
-static void init_arc_drawing(int x, int y);
-static void cancel_arc(void);
-static void init_arc_c_drawing(int x, int y);
+static void create_arcobject(int lx, int ly, unsigned int shift);
+static void get_arcpoint(int x, int y, unsigned int shift);
+static void init_arc_drawing(int x, int y, unsigned int shift);
+static void cancel_arc(int x, int y, unsigned int shift);
+static void init_arc_c_drawing(int x, int y, unsigned int shift);
static void resizing_arc(int x, int y);
static F_arc *tmparc = 0;
@@ -88,9 +88,11 @@ arc_drawing_selected(void)
}
static void
-init_arc_drawing(int x, int y)
+init_arc_drawing(int x, int y, unsigned int shift)
{
int i;
+ (void)shift;
+
if (center_marked) {
/* erase the ellipse */
elastic_ebr();
@@ -144,18 +146,20 @@ init_arc_drawing(int x, int y)
elastic_line();
}
canvas_leftbut_proc = get_arcpoint;
- canvas_middlebut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
set_cursor(null_cursor);
set_action_on();
}
static void
-init_arc_c_drawing(int x, int y)
+init_arc_c_drawing(int x, int y, unsigned int shift)
{
+ (void)shift;
+
set_mousefun("first point", "", "cancel", "", "", "");
draw_mousefun_canvas();
canvas_locmove_proc = resizing_cbr;
- canvas_middlebut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = cancel_arc;
center_point.x = fix_x = cur_x = x;
center_point.y = fix_y = cur_y = y;
@@ -184,8 +190,12 @@ init_earc_c_drawing(int x, int y)
}
static void
-cancel_arc(void)
+cancel_arc(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
if (center_marked) {
/* erase circle */
if (num_point == 0)
elastic_cbr();
@@ -226,8 +236,10 @@ cancel_arc(void)
}
static void
-get_arcpoint(int x, int y)
+get_arcpoint(int x, int y, unsigned int shift)
{
+ (void)shift;
+
if (x == fix_x && y == fix_y)
return;
@@ -254,12 +266,14 @@ get_arcpoint(int x, int y)
}
static void
-create_arcobject(int lx, int ly)
+create_arcobject(int lx, int ly, unsigned int shift)
{
F_arc *arc;
int x, y;
float xx, yy;
+ (void)shift;
+
/* erase last line segment */
if (!center_marked)
elastic_line();
--- a/src/d_arcbox.c
+++ b/src/d_arcbox.c
@@ -33,9 +33,9 @@
/*************************** local procedures *********************/
-static void create_arc_boxobject(int x, int y);
-static void cancel_arc_boxobject(void);
-static void init_arc_box_drawing(int x, int y);
+static void create_arc_boxobject(int x, int y, unsigned int shift);
+static void cancel_arc_boxobject(int x, int y, unsigned int shift);
+static void init_arc_box_drawing(int x, int y, unsigned int shift);
@@ -46,22 +46,24 @@ arcbox_drawing_selected(void)
canvas_kbd_proc = null_proc;
canvas_locmove_proc = null_proc;
canvas_leftbut_proc = init_arc_box_drawing;
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
+ canvas_rightbut_proc = null_proc_button;
set_cursor(crosshair_cursor);
reset_action_on();
}
static void
-init_arc_box_drawing(int x, int y)
+init_arc_box_drawing(int x, int y, unsigned int shift)
{
+ (void)shift;
+
cur_x = fix_x = x;
cur_y = fix_y = y;
set_mousefun("final point", "", "cancel", "", "", "");
draw_mousefun_canvas();
canvas_locmove_proc = resizing_box;
canvas_leftbut_proc = create_arc_boxobject;
- canvas_middlebut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = cancel_arc_boxobject;
elastic_box(fix_x, fix_y, cur_x, cur_y);
set_cursor(null_cursor);
@@ -69,19 +71,25 @@ init_arc_box_drawing(int x, int y)
}
static void
-cancel_arc_boxobject(void)
+cancel_arc_boxobject(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
elastic_box(fix_x, fix_y, cur_x, cur_y);
arcbox_drawing_selected();
draw_mousefun_canvas();
}
static void
-create_arc_boxobject(int x, int y)
+create_arc_boxobject(int x, int y, unsigned int shift)
{
F_line *box;
F_point *point;
+ (void)shift;
+
elastic_box(fix_x, fix_y, cur_x, cur_y);
/* erase last lengths if appres.showlengths is true */
erase_box_lengths();
--- a/src/d_box.c
+++ b/src/d_box.c
@@ -34,8 +34,8 @@
/*************************** local declarations *********************/
-static void create_boxobject(int x, int y);
-static void cancel_box(void);
+static void create_boxobject(int x, int y, unsigned int shift);
+static void cancel_box(int x, int y, unsigned int shift);
@@ -46,22 +46,24 @@ box_drawing_selected(void)
canvas_kbd_proc = null_proc;
canvas_locmove_proc = null_proc;
canvas_leftbut_proc = init_box_drawing;
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
+ canvas_rightbut_proc = null_proc_button;
set_cursor(crosshair_cursor);
reset_action_on();
}
void
-init_box_drawing(int x, int y)
+init_box_drawing(int x, int y, unsigned int shift)
{
+ (void)shift;
+
cur_x = fix_x = x;
cur_y = fix_y = y;
set_mousefun("final point", "", "cancel", "", "", "");
draw_mousefun_canvas();
canvas_locmove_proc = resizing_box;
canvas_leftbut_proc = create_boxobject;
- canvas_middlebut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = cancel_box;
elastic_box(fix_x, fix_y, cur_x, cur_y);
set_cursor(null_cursor);
@@ -69,8 +71,12 @@ init_box_drawing(int x, int y)
}
static void
-cancel_box(void)
+cancel_box(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
elastic_box(fix_x, fix_y, cur_x, cur_y);
/* erase last lengths if appres.showlengths is true */
erase_box_lengths();
@@ -79,11 +85,13 @@ cancel_box(void)
}
static void
-create_boxobject(int x, int y)
+create_boxobject(int x, int y, unsigned int shift)
{
F_line *box;
F_point *point;
+ (void)shift;
+
elastic_box(fix_x, fix_y, cur_x, cur_y);
/* erase last lengths if appres.showlengths is true */
erase_box_lengths();
--- a/src/d_box.h
+++ b/src/d_box.h
@@ -16,5 +16,5 @@
*
*/
-extern void init_box_drawing(int x, int y);
+extern void init_box_drawing(int x, int y, unsigned int shift);
extern void box_drawing_selected (void);
--- a/src/d_ellipse.c
+++ b/src/d_ellipse.c
@@ -36,18 +36,18 @@
/************************* local procedures ********************/
-static void init_ellipsebyradius_drawing(int x, int y);
-static void init_ellipsebydiameter_drawing(int x, int y);
-static void init_circlebyradius_drawing(int x, int y);
-static void init_circlebydiameter_drawing(int x, int y);
-static void create_ellipsebydia(int x, int y);
-static void create_ellipsebyrad(int x, int y);
-static void create_circlebyrad(int x, int y);
-static void create_circlebydia(int x, int y);
-static void cancel_ellipsebydia(void);
-static void cancel_ellipsebyrad(void);
-static void cancel_circlebyrad(void);
-static void cancel_circlebydia(void);
+static void init_ellipsebyradius_drawing(int x, int y, unsigned int shift);
+static void init_ellipsebydiameter_drawing(int x, int y, unsigned int shift);
+static void init_circlebyradius_drawing(int x, int y, unsigned int shift);
+static void init_circlebydiameter_drawing(int x, int y, unsigned int shift);
+static void create_ellipsebydia(int x, int y, unsigned int shift);
+static void create_ellipsebyrad(int x, int y, unsigned int shift);
+static void create_circlebyrad(int x, int y, unsigned int shift);
+static void create_circlebydia(int x, int y, unsigned int shift);
+static void cancel_ellipsebydia(int x, int y, unsigned int shift);
+static void cancel_ellipsebyrad(int x, int y, unsigned int shift);
+static void cancel_circlebyrad(int x, int y, unsigned int shift);
+static void cancel_circlebydia(int x, int y, unsigned int shift);
@@ -58,15 +58,17 @@ circle_ellipse_byradius_drawing_selected(void)
canvas_locmove_proc = null_proc;
canvas_leftbut_proc = init_circlebyradius_drawing;
canvas_middlebut_proc = init_ellipsebyradius_drawing;
- canvas_rightbut_proc = null_proc;
+ canvas_rightbut_proc = null_proc_button;
set_cursor(crosshair_cursor);
set_mousefun("Circle center", "Ellipse center", "", "", "", "");
reset_action_on();
}
static void
-init_ellipsebyradius_drawing(int x, int y)
+init_ellipsebyradius_drawing(int x, int y, unsigned int shift)
{
+ (void)shift;
+
cur_mode = F_ELLIPSE_BY_RAD;
cur_x = fix_x = x;
cur_y = fix_y = y;
@@ -84,8 +86,12 @@ init_ellipsebyradius_drawing(int x, int y)
}
static void
-cancel_ellipsebyrad(void)
+cancel_ellipsebyrad(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
elastic_ebr();
center_marker(fix_x, fix_y);
circle_ellipse_byradius_drawing_selected();
@@ -93,10 +99,12 @@ cancel_ellipsebyrad(void)
}
static void
-create_ellipsebyrad(int x, int y)
+create_ellipsebyrad(int x, int y, unsigned int shift)
{
F_ellipse *ellipse;
+ (void)shift;
+
elastic_ebr();
center_marker(fix_x, fix_y);
if ((ellipse = create_ellipse()) == NULL)
@@ -137,14 +145,16 @@ void circle_ellipse_bydiameter_drawing_selected(void)
canvas_locmove_proc = null_proc;
canvas_leftbut_proc = init_circlebydiameter_drawing;
canvas_middlebut_proc = init_ellipsebydiameter_drawing;
- canvas_rightbut_proc = null_proc;
+ canvas_rightbut_proc = null_proc_button;
set_cursor(crosshair_cursor);
reset_action_on();
}
static void
-init_ellipsebydiameter_drawing(int x, int y)
+init_ellipsebydiameter_drawing(int x, int y, unsigned int shift)
{
+ (void)shift;
+
cur_mode = F_ELLIPSE_BY_DIA;
cur_x = fix_x = x;
cur_y = fix_y = y;
@@ -162,8 +172,12 @@ init_ellipsebydiameter_drawing(int x, int y)
}
static void
-cancel_ellipsebydia(void)
+cancel_ellipsebydia(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
elastic_ebd();
center_marker(fix_x, fix_y);
circle_ellipse_bydiameter_drawing_selected();
@@ -171,10 +185,12 @@ cancel_ellipsebydia(void)
}
static void
-create_ellipsebydia(int x, int y)
+create_ellipsebydia(int x, int y, unsigned int shift)
{
F_ellipse *ellipse;
+ (void)shift;
+
elastic_ebd();
center_marker(fix_x, fix_y);
if ((ellipse = create_ellipse()) == NULL)
@@ -211,8 +227,10 @@ create_ellipsebydia(int x, int y)
/*************************** circle section ************************/
static void
-init_circlebyradius_drawing(int x, int y)
+init_circlebyradius_drawing(int x, int y, unsigned int shift)
{
+ (void)shift;
+
cur_mode = F_CIRCLE_BY_RAD;
cur_x = fix_x = x;
cur_y = fix_y = y;
@@ -221,7 +239,7 @@ init_circlebyradius_drawing(int x, int y)
draw_mousefun_canvas();
canvas_locmove_proc = resizing_cbr;
canvas_leftbut_proc = create_circlebyrad;
- canvas_middlebut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = cancel_circlebyrad;
set_cursor(null_cursor);
elastic_cbr();
@@ -229,8 +247,12 @@ init_circlebyradius_drawing(int x, int y)
}
static void
-cancel_circlebyrad(void)
+cancel_circlebyrad(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
elastic_cbr();
center_marker(fix_x, fix_y);
circle_ellipse_byradius_drawing_selected();
@@ -238,11 +260,13 @@ cancel_circlebyrad(void)
}
static void
-create_circlebyrad(int x, int y)
+create_circlebyrad(int x, int y, unsigned int shift)
{
F_ellipse *c;
double rx, ry;
+ (void)shift;
+
elastic_cbr();
center_marker(fix_x, fix_y);
if ((c = create_ellipse()) == NULL)
@@ -278,8 +302,10 @@ create_circlebyrad(int x, int y)
}
static void
-init_circlebydiameter_drawing(int x, int y)
+init_circlebydiameter_drawing(int x, int y, unsigned int shift)
{
+ (void)shift;
+
cur_mode = F_CIRCLE_BY_DIA;
cur_x = fix_x = x;
cur_y = fix_y = y;
@@ -288,7 +314,7 @@ init_circlebydiameter_drawing(int x, int y)
draw_mousefun_canvas();
canvas_locmove_proc = resizing_cbd;
canvas_leftbut_proc = create_circlebydia;
- canvas_middlebut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = cancel_circlebydia;
set_cursor(null_cursor);
elastic_cbd();
@@ -296,8 +322,12 @@ init_circlebydiameter_drawing(int x, int y)
}
static void
-cancel_circlebydia(void)
+cancel_circlebydia(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
elastic_cbd();
center_marker(fix_x, fix_y);
circle_ellipse_bydiameter_drawing_selected();
@@ -305,11 +335,13 @@ cancel_circlebydia(void)
}
static void
-create_circlebydia(int x, int y)
+create_circlebydia(int x, int y, unsigned int shift)
{
F_ellipse *c;
double rx, ry;
+ (void)shift;
+
elastic_cbd();
center_marker(fix_x, fix_y);
if ((c = create_ellipse()) == NULL)
--- a/src/d_line.c
+++ b/src/d_line.c
@@ -44,8 +44,8 @@ Boolean freehand_line;
static Boolean dimension_line;
-static void init_line_drawing(int x, int y, int shift);
-static void init_line_freehand_drawing(int x, int y);
+static void init_line_drawing(int x, int y, unsigned int shift);
+static void init_line_freehand_drawing(int x, int y, unsigned int shift);
/********************** polyline and polygon section **********************/
@@ -62,7 +62,7 @@ line_drawing_selected(void)
if (cur_mode == F_POLYGON) {
set_mousefun("first point", "freehand", "", "", "", "");
min_num_points = 3;
- canvas_rightbut_proc = null_proc;
+ canvas_rightbut_proc = null_proc_button;
} else {
set_mousefun("first point", "freehand", "single point", "dimension line", "", "");
min_num_points = 1;
@@ -73,8 +73,10 @@ line_drawing_selected(void)
}
static void
-init_line_freehand_drawing(int x, int y)
+init_line_freehand_drawing(int x, int y, unsigned int shift)
{
+ (void)shift;
+
freehand_line = True;
/* not a dimension line */
dimension_line = False;
@@ -82,7 +84,7 @@ init_line_freehand_drawing(int x, int y)
}
static void
-init_line_drawing(int x, int y, int shift)
+init_line_drawing(int x, int y, unsigned int shift)
{
freehand_line = False;
/* if the user pressed shift then make a dimension line */
@@ -90,13 +92,17 @@ init_line_drawing(int x, int y, int shift)
if (shift) {
min_num_points = 2;
}
- canvas_middlebut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
init_trace_drawing(x, y);
}
void
-cancel_line_drawing(void)
+cancel_line_drawing(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
elastic_line();
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -143,7 +149,7 @@ init_trace_drawing(int x, int y)
set_mousefun("next point", "", "cancel", "del point", "", "");
if (dimension_line) {
set_mousefun("final point", "", "cancel", "del point", "", "");
- canvas_middlebut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
} else if (num_point >= min_num_points - 1) {
set_mousefun("next point", "final point", "cancel", "del point", "", "");
canvas_middlebut_proc = canvas_middlebut_save;
@@ -172,7 +178,7 @@ freehand_get_intermediatepoint(int x, int y)
}
void
-get_intermediatepoint(int x, int y, int shift)
+get_intermediatepoint(int x, int y, unsigned int shift)
{
/* in freehand mode call unconstrained_line explicitely to move the mouse */
if (freehand_line) {
@@ -233,12 +239,14 @@ get_intermediatepoint(int x, int y, int shift)
/* or the second point of a dimension line */
void
-create_lineobject(int x, int y)
+create_lineobject(int x, int y, unsigned int shift)
{
F_line *line;
F_compound *comp;
int dot;
+ (void)shift;
+
if (num_point == 0) {
if ((first_point = create_point()) == NULL) {
line_drawing_selected();
--- a/src/d_line.h
+++ b/src/d_line.h
@@ -22,8 +22,8 @@
#include <X11/Intrinsic.h>
extern void init_trace_drawing(int x, int y);
-extern void create_lineobject(int x, int y);
-extern void get_intermediatepoint(int x, int y, int shift);
+extern void create_lineobject(int x, int y, unsigned int shift);
+extern void get_intermediatepoint(int x, int y, unsigned int shift);
extern void freehand_get_intermediatepoint(int x, int y);
extern Boolean freehand_line;
--- a/src/d_picobj.c
+++ b/src/d_picobj.c
@@ -38,9 +38,9 @@
/*************************** local declarations *********************/
-static void init_picobj_drawing(int x, int y);
-static void create_picobj(int x, int y);
-static void cancel_picobj(void);
+static void init_picobj_drawing(int x, int y, unsigned int shift);
+static void create_picobj(int x, int y, unsigned int shift);
+static void cancel_picobj(int x, int y, unsigned int shift);
@@ -51,34 +51,40 @@ picobj_drawing_selected(void)
canvas_kbd_proc = null_proc;
canvas_locmove_proc = null_proc;
canvas_leftbut_proc = init_picobj_drawing;
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
+ canvas_rightbut_proc = null_proc_button;
set_cursor(crosshair_cursor);
reset_action_on();
}
static void
-init_picobj_drawing(int x, int y)
+init_picobj_drawing(int x, int y, unsigned int shift)
{
- init_box_drawing(x, y);
+ init_box_drawing(x, y, shift);
canvas_leftbut_proc = create_picobj;
canvas_rightbut_proc = cancel_picobj;
}
static void
-cancel_picobj(void)
+cancel_picobj(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
elastic_box(fix_x, fix_y, cur_x, cur_y);
picobj_drawing_selected();
draw_mousefun_canvas();
}
static void
-create_picobj(int x, int y)
+create_picobj(int x, int y, unsigned int shift)
{
F_line *box;
F_point *point;
+ (void)shift;
+
/* erase last lengths if appres.showlengths is true */
erase_lengths();
elastic_box(fix_x, fix_y, cur_x, cur_y);
--- a/src/d_regpoly.c
+++ b/src/d_regpoly.c
@@ -37,9 +37,9 @@
/*************************** local declarations *********************/
-static void init_regpoly_drawing(int x, int y);
-static void create_regpoly(int x, int y);
-static void cancel_regpoly(void);
+static void init_regpoly_drawing(int x, int y, unsigned int shift);
+static void create_regpoly(int x, int y, unsigned int shift);
+static void cancel_regpoly(int x, int y, unsigned int shift);
@@ -50,15 +50,17 @@ regpoly_drawing_selected(void)
canvas_kbd_proc = null_proc;
canvas_locmove_proc = null_proc;
canvas_leftbut_proc = init_regpoly_drawing;
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
+ canvas_rightbut_proc = null_proc_button;
set_cursor(crosshair_cursor);
reset_action_on();
}
static void
-init_regpoly_drawing(int x, int y)
+init_regpoly_drawing(int x, int y, unsigned int shift)
{
+ (void)shift;
+
cur_x = fix_x = x;
cur_y = fix_y = y;
work_numsides = cur_numsides;
@@ -66,7 +68,7 @@ init_regpoly_drawing(int x, int y)
draw_mousefun_canvas();
canvas_locmove_proc = resizing_poly;
canvas_leftbut_proc = create_regpoly;
- canvas_middlebut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = cancel_regpoly;
elastic_poly(fix_x, fix_y, cur_x, cur_y, work_numsides);
set_cursor(null_cursor);
@@ -74,8 +76,12 @@ init_regpoly_drawing(int x, int y)
}
static void
-cancel_regpoly(void)
+cancel_regpoly(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
elastic_poly(fix_x, fix_y, cur_x, cur_y, work_numsides);
/* erase any length info if appres.showlengths is true */
erase_lengths();
@@ -84,7 +90,7 @@ cancel_regpoly(void)
}
static void
-create_regpoly(int x, int y)
+create_regpoly(int x, int y, unsigned int shift)
{
register float angle;
register int nx, ny, i;
@@ -93,6 +99,8 @@ create_regpoly(int x, int y)
F_line *poly;
F_point *point;
+ (void)shift;
+
elastic_poly(fix_x, fix_y, cur_x, cur_y, work_numsides);
/* erase any length info if appres.showlengths is true */
erase_lengths();
--- a/src/d_spline.c
+++ b/src/d_spline.c
@@ -40,10 +40,10 @@
/*************************** local declarations *********************/
-static void init_spline_drawing(int x, int y);
-static void create_splineobject(int x, int y);
-static void init_spline_freehand_drawing(int x, int y);
-static void init_spline_drawing2(int x, int y);
+static void init_spline_drawing(int x, int y, unsigned int shift);
+static void create_splineobject(int x, int y, unsigned int shift);
+static void init_spline_freehand_drawing(int x, int y, unsigned int shift);
+static void init_spline_drawing2(int x, int y, unsigned int shift);
@@ -55,28 +55,30 @@ spline_drawing_selected(void)
canvas_locmove_proc = null_proc;
canvas_leftbut_proc = init_spline_drawing;
canvas_middlebut_proc = init_spline_freehand_drawing;
- canvas_rightbut_proc = null_proc;
+ canvas_rightbut_proc = null_proc_button;
set_cursor(crosshair_cursor);
reset_action_on();
}
static void
-init_spline_freehand_drawing(int x, int y)
+init_spline_freehand_drawing(int x, int y, unsigned int shift)
{
freehand_line = True;
- init_spline_drawing2(x, y);
+ init_spline_drawing2(x, y, shift);
}
static void
-init_spline_drawing(int x, int y)
+init_spline_drawing(int x, int y, unsigned int shift)
{
freehand_line = False;
- init_spline_drawing2(x, y);
+ init_spline_drawing2(x, y, shift);
}
static void
-init_spline_drawing2(int x, int y)
+init_spline_drawing2(int x, int y, unsigned int shift)
{
+ (void)shift;
+
if ((cur_mode == F_APPROX_SPLINE) || (cur_mode == F_INTERP_SPLINE)) {
min_num_points = OPEN_SPLINE_MIN_NUM_POINTS;
init_trace_drawing(x, y);
@@ -85,7 +87,7 @@ init_spline_drawing2(int x, int y)
min_num_points = CLOSED_SPLINE_MIN_NUM_POINTS;
init_trace_drawing(x, y);
canvas_middlebut_save = create_splineobject;
- canvas_middlebut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
}
return_proc = spline_drawing_selected;
@@ -93,10 +95,12 @@ init_spline_drawing2(int x, int y)
static void
-create_splineobject(int x, int y)
+create_splineobject(int x, int y, unsigned int shift)
{
F_spline *spline;
+ (void)shift;
+
if (x != fix_x || y != fix_y)
get_intermediatepoint(x, y, 0);
if (num_point < min_num_points) { /* too few points */
--- a/src/d_text.c
+++ b/src/d_text.c
@@ -120,8 +120,9 @@ static float work_angle; /* in RADIANS */
static void begin_utf8char(unsigned char *str, int *pos);
static void end_utf8char(unsigned char *str, int *pos);
-static void finish_n_start(int x, int y);
-static void init_text_input(int x, int y), cancel_text_input(void);
+static void finish_n_start(int x, int y, unsigned int shift);
+static void init_text_input(int x, int y, unsigned int shift);
+static void cancel_text_input(int x, int y, unsigned int shift);
static F_text *new_text(int len, char *string);
static void new_text_line(void);
@@ -146,7 +147,9 @@ static void xim_set_spot();
static pid_t preedit_pid = -1;
static char preedit_filename[PATH_MAX] = "";
-static void open_preedit_proc(), close_preedit_proc(), paste_preedit_proc();
+static void open_preedit_proc(int x, int y, unsigned int shift);
+static void close_preedit_proc(int x, int y, unsigned int shift);
+static void paste_preedit_proc(int x, int y, unsigned int shift);
static Boolean is_preedit_running();
/********************************************************/
@@ -161,9 +164,9 @@ text_drawing_selected(void)
{
canvas_kbd_proc = null_proc;
canvas_locmove_proc = null_proc;
- canvas_middlebut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
canvas_leftbut_proc = init_text_input;
- canvas_rightbut_proc = null_proc;
+ canvas_rightbut_proc = null_proc_button;
set_mousefun("position cursor", "", "", "", "", "");
if (appres.international && strlen(appres.text_preedit) != 0) {
if (is_preedit_running()) {
@@ -205,7 +208,7 @@ commit_current_text(void)
}
static void
-finish_n_start(int x, int y)
+finish_n_start(int x, int y, unsigned int shift)
{
reset_action_on();
terminate_char_handler();
@@ -214,11 +217,11 @@ finish_n_start(int x, int y)
work_fontsize = cur_fontsize;
supersub = 0;
is_newline = False;
- init_text_input(x, y);
+ init_text_input(x, y, shift);
}
void
-finish_text_input(int x, int y, int shift)
+finish_text_input(int x, int y, unsigned int shift)
{
(void)x;
(void)y;
@@ -238,8 +241,12 @@ finish_text_input(int x, int y, int shift)
}
static void
-cancel_text_input(void)
+cancel_text_input(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
int a,b,c,d, e,f,g,h;
/* erase the current text */
text_bound(cur_t, &a, &b, &c, &d);
@@ -447,11 +454,13 @@ overlay_text_input(int x, int y)
}
static void
-init_text_input(int x, int y)
+init_text_input(int x, int y, unsigned int shift)
{
int asc;
int desc;
+ (void)shift;
+
cur_x = x;
cur_y = y;
@@ -809,7 +818,7 @@ char_handler(unsigned char *c, int clen, KeySym keysym)
int i;
if (clen == 1 && c[0] == ESC) {
- cancel_text_input();
+ cancel_text_input(0, 0, 0);
} else if (clen == 1 && (c[0] == CR || c[0] == NL)) {
new_text_line();
} else if (clen == 1 && c[0] == CTRL_UNDERSCORE) {
@@ -1401,10 +1410,11 @@ kill_preedit(void)
}
static void
-close_preedit_proc(int x, int y)
+close_preedit_proc(int x, int y, unsigned int shift)
{
(void)x;
(void)y;
+ (void)shift;
if (is_preedit_running()) {
kill_preedit();
@@ -1415,10 +1425,11 @@ close_preedit_proc(int x, int y)
}
static void
-open_preedit_proc(int x, int y)
+open_preedit_proc(int x, int y, unsigned int shift)
{
(void)x;
(void)y;
+ (void)shift;
int i;
if (!is_preedit_running()) {
@@ -1451,14 +1462,14 @@ open_preedit_proc(int x, int y)
}
static void
-paste_preedit_proc(int x, int y)
+paste_preedit_proc(int x, int y, unsigned int shift)
{
FILE *fp;
int ch;
if (!is_preedit_running()) {
- open_preedit_proc(x, y);
+ open_preedit_proc(x, y, shift);
} else if ((fp = fopen(preedit_filename, "r")) != NULL) {
- init_text_input(x, y);
+ init_text_input(x, y, shift);
while ((ch = getc(fp)) != EOF) {
if (ch == '\\')
new_text_line();
--- a/src/d_text.h
+++ b/src/d_text.h
@@ -29,7 +29,7 @@
extern int work_font;
extern XFontStruct *canvas_font;
extern void char_handler(unsigned char *c, int clen, KeySym keysym);
-extern void finish_text_input(int x, int y, int shift);
+extern void finish_text_input(int x, int y, unsigned int shift);
extern XIC xim_ic;
extern Boolean xim_active;
--- a/src/e_addpt.c
+++ b/src/e_addpt.c
@@ -39,8 +39,8 @@
static void init_point_adding(F_line *p, int type, int x, int y, int px, int py);
-static void fix_linepoint_adding(int x, int y);
-static void fix_splinepoint_adding(int x, int y);
+static void fix_linepoint_adding(int x, int y, unsigned int shift);
+static void fix_splinepoint_adding(int x, int y, unsigned int shift);
static void init_linepointadding(int px, int py);
static void init_splinepointadding(int px, int py);
@@ -55,8 +55,8 @@ point_adding_selected(void)
canvas_ref_proc = null_proc;
init_searchproc_left(init_point_adding);
canvas_leftbut_proc = object_search_left;
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
+ canvas_rightbut_proc = null_proc_button;
set_cursor(pick9_cursor);
force_nopositioning();
force_anglegeom();
@@ -118,8 +118,12 @@ wrapup_pointadding(void)
}
static void
-cancel_pointadding(void)
+cancel_pointadding(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_linelink();
/* turn back on all relevant markers */
@@ -128,7 +132,7 @@ cancel_pointadding(void)
}
static void
-cancel_line_pointadding(void)
+cancel_line_pointadding(int x, int y, unsigned int shift)
{
canvas_ref_proc = canvas_locmove_proc = null_proc;
if (left_point != NULL && right_point != NULL)
@@ -136,7 +140,7 @@ cancel_line_pointadding(void)
right_point->x, right_point->y, PAINT,
cur_l->thickness, cur_l->style, cur_l->style_val,
cur_l->pen_color);
- cancel_pointadding();
+ cancel_pointadding(x, y, shift);
}
/************************** spline *******************************/
@@ -164,10 +168,12 @@ init_splinepointadding(int px, int py)
}
static void
-fix_splinepoint_adding(int x, int y)
+fix_splinepoint_adding(int x, int y, unsigned int shift)
{
F_point *p;
+ (void)shift;
+
/* if this point is coincident with the point being added to, return */
if (((left_point == NULL) &&
(cur_x == cur_s->points[0].x) && (cur_y == cur_s->points[0].y)) ||
@@ -279,10 +285,12 @@ init_linepointadding(int px, int py)
}
static void
-fix_linepoint_adding(int x, int y)
+fix_linepoint_adding(int x, int y, unsigned int shift)
{
F_point *p;
+ (void)shift;
+
/* if this point is coincident with the point being added to, return */
if (((left_point == NULL) &&
(cur_x == cur_l->points[0].x) && (cur_y == cur_l->points[0].y)) ||
--- a/src/e_align.c
+++ b/src/e_align.c
@@ -75,7 +75,7 @@ align_selected(void)
init_searchproc_left(init_align);
canvas_leftbut_proc = object_search_left;
canvas_middlebut_proc = init_align_canvas;
- canvas_rightbut_proc = null_proc;
+ canvas_rightbut_proc = null_proc_button;
set_cursor(pick15_cursor);
reset_action_on();
}
--- a/src/e_arrow.c
+++ b/src/e_arrow.c
@@ -57,7 +57,7 @@ arrow_head_selected(void)
init_searchproc_middle(delete_arrow_head);
canvas_leftbut_proc = point_search_left;
canvas_middlebut_proc = point_search_middle;
- canvas_rightbut_proc = null_proc;
+ canvas_rightbut_proc = null_proc_button;
set_cursor(pick9_cursor);
reset_action_on();
}
--- a/src/e_break.c
+++ b/src/e_break.c
@@ -50,7 +50,7 @@ break_selected(void)
init_searchproc_middle(init_break_tag);
canvas_leftbut_proc = object_search_left;
canvas_middlebut_proc = object_search_middle;
- canvas_rightbut_proc = null_proc;
+ canvas_rightbut_proc = null_proc_button;
set_cursor(pick15_cursor);
reset_action_on();
}
--- a/src/e_chop.c
+++ b/src/e_chop.c
@@ -46,7 +46,7 @@
static void select_axe_object();
static void select_log_object();
-static void clear_axe_objects();
+static void clear_axe_objects(int x, int y, unsigned shift);
typedef struct {
void * object;
@@ -140,9 +140,9 @@ select_axe_object(void *obj, int type, int x, int y, F_point *p, F_point * q)
}
static void
-clear_axe_objects(void *obj, int type, int x, int y, F_point *p, F_point * q)
+clear_axe_objects(int x, int y, unsigned shift)
{
- (void)obj; (void)type; (void)x; (void)y; (void)p; (void)q;
+ (void)x; (void)y; (void)shift;
put_msg("Axe object list cleared.");
axe_objects_next = 0;
--- a/src/e_compound.c
+++ b/src/e_compound.c
@@ -133,7 +133,7 @@ open_compound_selected(void)
init_searchproc_middle(init_open_compound_vis);
canvas_leftbut_proc = object_search_left;
canvas_middlebut_proc = object_search_middle;
- canvas_rightbut_proc = null_proc;
+ canvas_rightbut_proc = null_proc_button;
set_cursor(pick15_cursor);
reset_action_on();
}
--- a/src/e_convert.c
+++ b/src/e_convert.c
@@ -58,7 +58,7 @@ convert_selected(void)
init_searchproc_left(init_convert_line_spline);
init_searchproc_right(init_convert_open_closed);
canvas_leftbut_proc = object_search_left;
- canvas_middlebut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = point_search_right;
set_cursor(pick15_cursor);
reset_action_on();
--- a/src/e_delete.c
+++ b/src/e_delete.c
@@ -53,7 +53,9 @@
static void init_delete(F_line *p, int type, int x, int y, int px, int py);
-static void init_delete_region(int x, int y), delete_region(int x, int y), cancel_delete_region(void);
+static void init_delete_region(int x, int y, unsigned int shift);
+static void delete_region(int x, int y, unsigned int shift);
+static void cancel_delete_region(int x, int y, unsigned int shift);
static void init_delete_to_scrap(F_line *p, int type, int x, int y, int px, int py);
@@ -117,19 +119,23 @@ init_delete(F_line *p, int type, int x, int y, int px, int py)
}
static void
-init_delete_region(int x, int y)
+init_delete_region(int x, int y, unsigned int shift)
{
- init_box_drawing(x, y);
+ init_box_drawing(x, y, shift);
set_mousefun("", "final corner", "cancel", "", "", "");
draw_mousefun_canvas();
- canvas_leftbut_proc = null_proc;
+ canvas_leftbut_proc = null_proc_button;
canvas_middlebut_proc = delete_region;
canvas_rightbut_proc = cancel_delete_region;
}
static void
-cancel_delete_region(void)
+cancel_delete_region(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
elastic_box(fix_x, fix_y, cur_x, cur_y);
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -138,10 +144,12 @@ cancel_delete_region(void)
}
static void
-delete_region(int x, int y)
+delete_region(int x, int y, unsigned int shift)
{
F_compound *c;
+ (void)shift;
+
if ((c = create_compound()) == NULL)
return;
--- a/src/e_deletept.c
+++ b/src/e_deletept.c
@@ -50,8 +50,8 @@ delete_point_selected(void)
canvas_ref_proc = null_proc;
init_searchproc_left(init_delete_point);
canvas_leftbut_proc = point_search_left;
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
+ canvas_rightbut_proc = null_proc_button;
set_cursor(pick9_cursor);
reset_action_on();
}
--- a/src/e_flip.c
+++ b/src/e_flip.c
@@ -51,7 +51,7 @@ static int copy;
static void init_flip(F_line *p, int type, int x, int y, int px, int py);
static void init_copynflip(F_line *p, int type, int x,int y, int px,int py);
-static void set_unset_anchor(int x, int y);
+static void set_unset_anchor(int x, int y, unsigned int shift);
static void init_fliparc(F_arc *old_a, int px, int py);
static void init_flipcompound(F_compound *old_c, int px, int py);
static void init_flipellipse(F_ellipse *old_e, int px, int py);
@@ -114,8 +114,10 @@ flip_selected(void)
}
static void
-set_unset_anchor(int x, int y)
+set_unset_anchor(int x, int y, unsigned int shift)
{
+ (void)shift;
+
if (setanchor) {
set_mousefun("flip", "copy & flip", "set anchor",
LOC_OBJ, LOC_OBJ, "set anchor");
--- a/src/e_glue.c
+++ b/src/e_glue.c
@@ -41,10 +41,10 @@
#include "xfig_math.h"
-static void create_compoundobject(int x, int y);
-static void cancel_tag_region(void);
-static void init_tag_region(int x, int y);
-static void tag_region(int x, int y);
+static void create_compoundobject(int x, int y, unsigned int shift);
+static void cancel_tag_region(int x, int y, unsigned int shift);
+static void init_tag_region(int x, int y, unsigned int shift);
+static void tag_region(int x, int y, unsigned int shift);
static void tag_object(F_line *p, int type, int x, int y, int px, int py);
static void get_arc(F_arc **list);
static void sel_arc(int xmin, int ymin, int xmax, int ymax);
@@ -118,19 +118,23 @@ tag_object(F_line *p, int type, int x, int y, int px, int py)
}
static void
-init_tag_region(int x, int y)
+init_tag_region(int x, int y, unsigned int shift)
{
- init_box_drawing(x, y);
+ init_box_drawing(x, y, shift);
set_mousefun("", "final corner", "cancel", "", "", "");
draw_mousefun_canvas();
- canvas_leftbut_proc = null_proc;
+ canvas_leftbut_proc = null_proc_button;
canvas_middlebut_proc = tag_region;
canvas_rightbut_proc = cancel_tag_region;
}
static void
-cancel_tag_region(void)
+cancel_tag_region(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
elastic_box(fix_x, fix_y, cur_x, cur_y);
/* erase last lengths if appres.showlengths is true */
erase_box_lengths();
@@ -139,10 +143,12 @@ cancel_tag_region(void)
}
static void
-tag_region(int x, int y)
+tag_region(int x, int y, unsigned int shift)
{
int xmin, ymin, xmax, ymax;
+ (void)shift;
+
elastic_box(fix_x, fix_y, cur_x, cur_y);
/* erase last lengths if appres.showlengths is true */
erase_box_lengths();
@@ -156,9 +162,9 @@ tag_region(int x, int y)
}
static void
-create_compoundobject(int x, int y)
+create_compoundobject(int x, int y, unsigned int shift)
{
- (void)x; (void)y;
+ (void)x; (void)y; (void)shift;
F_compound *c;
if ((c = create_compound()) == NULL)
--- a/src/e_joinsplit.c
+++ b/src/e_joinsplit.c
@@ -50,7 +50,7 @@ static void join_splines(F_spline *spline, F_point *prev_point,
F_point *selected_point);
static void split_line(int px, int py);
static void split_spline(int px, int py);
-static void cancel_join(void);
+static void cancel_join(int x, int y, unsigned int shift);
static void join_line2(F_line *obj, int type, int x, int y, F_point *p,
F_point *q);
static void join_spline2(F_line *obj, int type, int x, int y, F_point *p,
@@ -80,7 +80,7 @@ join_split_selected(void)
init_searchproc_middle(init_split);
canvas_leftbut_proc = point_search_left; /* point search for join */
canvas_middlebut_proc = object_search_middle; /* object search for split */
- canvas_rightbut_proc = null_proc;
+ canvas_rightbut_proc = null_proc_button;
set_cursor(pick9_cursor);
/* set the markers to show we only allow POLYLINES and open SPLINES */
/* (the markers are originally set this way from the mode panel, but
@@ -150,7 +150,7 @@ join_lines(F_line *line, F_point *prev_point, F_point *selected_point)
return;
init_searchproc_left(join_line2);
canvas_leftbut_proc = point_search_left;
- canvas_middlebut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = cancel_join;
line1 = line;
sel_point = selected_point;
@@ -176,7 +176,7 @@ join_splines(F_spline *spline, F_point *prev_point, F_point *selected_point)
return;
init_searchproc_left(join_spline2);
canvas_leftbut_proc = point_search_left;
- canvas_middlebut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = cancel_join;
/* save pointer to first line and its points */
spline1 = spline;
@@ -214,8 +214,12 @@ void erase_join_marker(F_point *point)
static void
-cancel_join(void)
+cancel_join(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
join_split_selected();
/* erase any marker */
erase_join_marker(sel_point);
--- a/src/e_measure.c
+++ b/src/e_measure.c
@@ -43,13 +43,13 @@
static void init_anglemeas_object(char *p, int type, int x, int y, F_point *pp, F_point *pq);
static void init_anglemeas_object_m(char *p, int type, int x, int y, F_point *pp, F_point *pq);
static void init_anglemeas_object_r(char *p, int type, int x, int y, F_point *pp, F_point *pq);
-static void init_anglemeas_threepoints(int px, int py);
+static void init_anglemeas_threepoints(int px, int py, unsigned int shift);
-static void anglemeas_second(int x, int y);
+static void anglemeas_second(int x, int y, unsigned int shift);
static void anglemeas_third(int x, int y);
-static void anglemeas_third_l(int x, int y);
-static void anglemeas_third_m(int x, int y);
-static void cancel_anglemeas(void);
+static void anglemeas_third_l(int x, int y, unsigned int shift);
+static void anglemeas_third_m(int x, int y, unsigned int shift);
+static void cancel_anglemeas(int x, int y, unsigned int shift);
static void anglemeas_line(F_line *l, F_point *p);
static void anglemeas_arc(F_arc *a);
static void angle_msg(double value, char *msgtext);
@@ -58,12 +58,12 @@ static void angle_save(double value);
static void init_lenmeas_object(char *p, int type, int x, int y, int px, int py);
static void init_lenmeas_object_l(char *p, int type, int x, int y, int px, int py);
static void init_lenmeas_object_m(char *p, int type, int x, int y, int px, int py);
-static void clear_lenmeas_memory(void);
+static void clear_lenmeas_memory(int x, int y, unsigned int shift);
static void init_areameas_object(char *p, int type, int x, int y, int px, int py);
static void init_areameas_object_l(char *p, int type, int x, int y, int px, int py);
static void init_areameas_object_m(char *p, int type, int x, int y, int px, int py);
-static void clear_areameas_memory(int x, int y, int arg);
+static void clear_areameas_memory(int x, int y, unsigned int shift);
static void freehand_line_nomsg(int x, int y);
@@ -190,8 +190,10 @@ anglemeas_arc(F_arc *a)
/* THREE-POINT ANGLE MEASURING */
static void
-init_anglemeas_threepoints(int px, int py)
+init_anglemeas_threepoints(int px, int py, unsigned int shift)
{
+ (void)shift;
+
set_cursor(arrow_cursor);
set_mousefun("angle tip", "", "cancel", "", "", LOC_OBJ);
draw_mousefun_canvas();
@@ -202,7 +204,7 @@ init_anglemeas_threepoints(int px, int py)
canvas_locmove_proc = freehand_line_nomsg;
canvas_ref_proc = elastic_line;
canvas_leftbut_proc = anglemeas_second;
- canvas_middlebut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
elastic_line();
set_temp_cursor(null_cursor);
save_objmask = cur_objmask;
@@ -211,8 +213,10 @@ init_anglemeas_threepoints(int px, int py)
}
static void
-anglemeas_second(int x, int y)
+anglemeas_second(int x, int y, unsigned int shift)
{
+ (void)shift;
+
if (x == fix_x && y == fix_y)
return;
if (np == 1) { /* should always be! */
@@ -232,15 +236,19 @@ anglemeas_second(int x, int y)
}
static void
-anglemeas_third_l(int x, int y)
+anglemeas_third_l(int x, int y, unsigned int shift)
{
+ (void)shift;
+
save_rotnangle = 0;
anglemeas_third(x, y);
}
static void
-anglemeas_third_m(int x, int y)
+anglemeas_third_m(int x, int y, unsigned int shift)
{
+ (void)shift;
+
save_rotnangle = 1;
anglemeas_third(x, y);
}
@@ -272,8 +280,12 @@ anglemeas_third(int x, int y)
}
static void
-cancel_anglemeas(void)
+cancel_anglemeas(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
elastic_line();
if (np == 2) {
/* erase initial part of line */
@@ -397,8 +409,12 @@ init_lenmeas_object_m(char *p, int type, int x, int y, int px, int py)
}
static void
-clear_lenmeas_memory(void)
+clear_lenmeas_memory(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
total_len = 0.0;
put_msg("length reset to 0");
}
@@ -501,12 +517,12 @@ init_areameas_object_m(char *p, int type, int x, int y, int px, int py)
}
static void
-clear_areameas_memory(int x, int y, int arg)
+clear_areameas_memory(int x, int y, unsigned int shift)
{
(void)x;
(void)y;
total_area = 0.0;
- signed_area = (arg != 0);
+ signed_area = (shift != 0);
if (signed_area)
put_msg("signed area reset to 0");
else
--- a/src/e_move.c
+++ b/src/e_move.c
@@ -48,7 +48,7 @@ move_selected(void)
init_searchproc_middle(init_constrained_move);
canvas_leftbut_proc = object_search_left;
canvas_middlebut_proc = object_search_middle;
- canvas_rightbut_proc = null_proc;
+ canvas_rightbut_proc = null_proc_button;
return_proc = move_selected;
set_cursor(pick9_cursor);
reset_action_on();
@@ -59,7 +59,7 @@ init_arb_move(F_line *p, int type, int x, int y, int px, int py)
{
constrained = MOVE_ARB;
init_move(p, type, x, y, px, py);
- canvas_middlebut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
set_mousefun("place object", "", "cancel", LOC_OBJ, LOC_OBJ, LOC_OBJ);
draw_mousefun_canvas();
}
@@ -70,7 +70,7 @@ init_constrained_move(F_line *p, int type, int x, int y, int px, int py)
constrained = MOVE_HORIZ_VERT;
init_move(p, type, x, y, px, py);
canvas_middlebut_proc = canvas_leftbut_proc;
- canvas_leftbut_proc = null_proc;
+ canvas_leftbut_proc = null_proc_button;
set_mousefun("", "place object", "cancel", LOC_OBJ, LOC_OBJ, LOC_OBJ);
draw_mousefun_canvas();
}
--- a/src/e_movept.c
+++ b/src/e_movept.c
@@ -46,8 +46,8 @@
static F_point *moved_point;
-static void fix_movedcompoundpoint(int x, int y);
-static void cancel_compound(void);
+static void fix_movedcompoundpoint(int x, int y, unsigned int shift);
+static void cancel_compound(int x, int y, unsigned int shift);
static Boolean init_ellipsepointmoving(void);
static void init_arcpointmoving(void);
@@ -64,17 +64,17 @@ static Boolean init_move_point(F_line *obj, int type, int x, int y, F_point *p,
static void init_arb_move_point(F_line *obj, int type, int x, int y, F_point *p, F_point *q, int pnum);
static void init_stretch_move_point(F_line *obj, int type, int x, int y, F_point *p, F_point *q, int pnum);
-static void fix_movedarcpoint(int x, int y);
-static void fix_movedellipsepoint(int x, int y);
-static void fix_movedsplinepoint(int x, int y);
-static void fix_box(int x, int y);
-static void fix_movedlinepoint(int x, int y);
+static void fix_movedarcpoint(int x, int y, unsigned int shift);
+static void fix_movedellipsepoint(int x, int y, unsigned int shift);
+static void fix_movedsplinepoint(int x, int y, unsigned int shift);
+static void fix_box(int x, int y, unsigned int shift);
+static void fix_movedlinepoint(int x, int y, unsigned int shift);
-static void cancel_movedarcpoint(void);
-static void cancel_movedellipsepoint(void);
-static void cancel_movedsplinepoint(void);
-static void cancel_movept_box(void);
-static void cancel_movedlinepoint(void);
+static void cancel_movedarcpoint(int x, int y, unsigned int shift);
+static void cancel_movedellipsepoint(int x, int y, unsigned int shift);
+static void cancel_movedsplinepoint(int x, int y, unsigned int shift);
+static void cancel_movept_box(int x, int y, unsigned int shift);
+static void cancel_movedlinepoint(int x, int y, unsigned int shift);
void move_point_selected(void)
@@ -87,7 +87,7 @@ void move_point_selected(void)
init_searchproc_middle(init_stretch_move_point);
canvas_leftbut_proc = point_search_left;
canvas_middlebut_proc = point_search_middle;
- canvas_rightbut_proc = null_proc;
+ canvas_rightbut_proc = null_proc_button;
set_cursor(pick9_cursor);
force_anglegeom();
reset_action_on();
@@ -101,7 +101,7 @@ init_arb_move_point(F_line *obj, int type, int x, int y, F_point *p, F_point *q,
return;
set_mousefun("new posn", "", "cancel", LOC_OBJ, LOC_OBJ, LOC_OBJ);
draw_mousefun_canvas();
- canvas_middlebut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
}
static void
@@ -113,7 +113,7 @@ init_stretch_move_point(F_line *obj, int type, int x, int y, F_point *p, F_point
set_mousefun("", "new posn", "cancel", LOC_OBJ, LOC_OBJ, LOC_OBJ);
draw_mousefun_canvas();
canvas_middlebut_proc = canvas_leftbut_proc;
- canvas_leftbut_proc = null_proc;
+ canvas_leftbut_proc = null_proc_button;
}
static Boolean
@@ -243,8 +243,12 @@ init_ellipsepointmoving(void)
}
static void
-cancel_movedellipsepoint(void)
+cancel_movedellipsepoint(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
/* erase elastic version */
switch (cur_e->type) {
@@ -269,8 +273,10 @@ cancel_movedellipsepoint(void)
}
static void
-fix_movedellipsepoint(int x, int y)
+fix_movedellipsepoint(int x, int y, unsigned int shift)
{
+ (void)shift;
+
switch (cur_e->type) {
case T_ELLIPSE_BY_RAD:
elastic_ebr();
@@ -377,8 +383,12 @@ init_arcpointmoving(void)
}
static void
-cancel_movedarcpoint(void)
+cancel_movedarcpoint(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_arclink();
/* erase last lengths if appres.showlengths is true */
@@ -389,8 +399,10 @@ cancel_movedarcpoint(void)
}
static void
-fix_movedarcpoint(int x, int y)
+fix_movedarcpoint(int x, int y, unsigned int shift)
{
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_arclink();
/* erase last lengths if appres.showlengths is true */
@@ -501,8 +513,12 @@ init_splinepointmoving(void)
}
static void
-cancel_movedsplinepoint(void)
+cancel_movedsplinepoint(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_linelink();
/* erase last lengths if appres.showlengths is true */
@@ -513,8 +529,10 @@ cancel_movedsplinepoint(void)
}
static void
-fix_movedsplinepoint(int x, int y)
+fix_movedsplinepoint(int x, int y, unsigned int shift)
{
+ (void)shift;
+
(*canvas_locmove_proc) (x, y);
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_linelink();
@@ -594,8 +612,12 @@ init_compoundpointmoving(void)
}
static void
-cancel_compound(void)
+cancel_compound(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_box(fix_x, fix_y, cur_x, cur_y);
/* erase last lengths if appres.showlengths is true */
@@ -606,10 +628,12 @@ cancel_compound(void)
}
static void
-fix_movedcompoundpoint(int x, int y)
+fix_movedcompoundpoint(int x, int y, unsigned int shift)
{
float scalex, scaley;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_box(fix_x, fix_y, cur_x, cur_y);
/* erase last lengths if appres.showlengths is true */
@@ -732,8 +756,12 @@ init_linepointmoving(void)
}
static void
-cancel_movept_box(void)
+cancel_movept_box(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
/* erase the elastic box */
elastic_box(fix_x, fix_y, cur_x, cur_y);
@@ -747,8 +775,10 @@ cancel_movept_box(void)
}
static void
-fix_box(int x, int y)
+fix_box(int x, int y, unsigned int shift)
{
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_box(fix_x, fix_y, cur_x, cur_y);
/* erase last lengths if appres.showlengths is true */
@@ -805,8 +835,12 @@ assign_newboxpoint(F_line *b, int x1, int y1, int x2, int y2)
}
static void
-cancel_movedlinepoint(void)
+cancel_movedlinepoint(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
/* erase the elastic line */
elastic_linelink();
@@ -820,8 +854,10 @@ cancel_movedlinepoint(void)
}
static void
-fix_movedlinepoint(int x, int y)
+fix_movedlinepoint(int x, int y, unsigned int shift)
{
+ (void)shift;
+
(*canvas_locmove_proc) (x, y);
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_linelink();
--- a/src/e_placelib.c
+++ b/src/e_placelib.c
@@ -62,7 +62,7 @@ static void change_draw_mode(int x, int y);
static void transform_lib_obj(unsigned char *c, int clen, KeySym keysym);
static void place_lib_object(int x, int y, unsigned int shift);
static void put_draw(int paint_mode);
-static void sel_place_lib_obj_proc(int x, int y, int shift);
+static void sel_place_lib_obj_proc(int x, int y, unsigned int shift);
static int orig_put_x, orig_put_y;
@@ -149,7 +149,7 @@ transform_lib_obj(unsigned char *c, int clen, KeySym keysym)
}
static void
-sel_place_lib_obj_proc(int x, int y, int shift)
+sel_place_lib_obj_proc(int x, int y, unsigned int shift)
{
/* if shift-left button, change drawing mode */
if (shift) {
@@ -166,9 +166,9 @@ sel_place_lib_obj(void)
canvas_kbd_proc = (void (*)())transform_lib_obj;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
- canvas_leftbut_proc = null_proc;
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
+ canvas_leftbut_proc = null_proc_button;
+ canvas_middlebut_proc = null_proc_button;
+ canvas_rightbut_proc = null_proc_button;
/* erase any object currently being dragged around the canvas */
if (lib_compounds && action_on && new_c)
@@ -242,9 +242,9 @@ place_lib_object(int x, int y, unsigned int shift)
(void)y;
F_compound *this_c;
- canvas_leftbut_proc = null_proc;
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
+ canvas_leftbut_proc = null_proc_button;
+ canvas_middlebut_proc = null_proc_button;
+ canvas_rightbut_proc = null_proc_button;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
put_draw(ERASE);
@@ -312,7 +312,7 @@ init_move_object(int x, int y)
/* cancel placing a library object */
void
-cancel_place_lib_obj(int x, int y, int shift)
+cancel_place_lib_obj(int x, int y, unsigned int shift)
{
/* if shift right-button, actually do a place in original position */
if (shift) {
@@ -320,9 +320,9 @@ cancel_place_lib_obj(int x, int y, int shift)
return;
}
reset_action_on();
- canvas_leftbut_proc = null_proc;
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
+ canvas_leftbut_proc = null_proc_button;
+ canvas_middlebut_proc = null_proc_button;
+ canvas_rightbut_proc = null_proc_button;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
canvas_kbd_proc = null_proc;
--- a/src/e_placelib.h
+++ b/src/e_placelib.h
@@ -20,6 +20,6 @@
extern int cur_library_object;
extern int old_library_object;
-extern void cancel_place_lib_obj(int x, int y, int shift);
+extern void cancel_place_lib_obj(int x, int y, unsigned int shift);
extern void sel_place_lib_obj(void);
extern void put_selected (void);
--- a/src/e_rotate.c
+++ b/src/e_rotate.c
@@ -55,7 +55,7 @@ float act_rotnangle;
static int copy;
static void init_rotate(F_line *p, int type, int x, int y, int px, int py);
-static void set_unset_center(int x, int y);
+static void set_unset_center(int x, int y, unsigned int shift);
static void init_copynrotate(F_line *p, int type, int x,int y,int px,int py);
static void rotate_selected(void);
static void rotate_search(F_line *p, int type, int x, int y, int px, int py);
@@ -122,8 +122,10 @@ rotate_selected(void)
}
static void
-set_unset_center(int x, int y)
+set_unset_center(int x, int y, unsigned int shift)
{
+ (void)shift;
+
if (setcenter) {
set_mousefun("rotate object", "copy & rotate", "set center",
LOC_OBJ, LOC_OBJ, "set center");
--- a/src/e_scale.c
+++ b/src/e_scale.c
@@ -80,23 +80,23 @@ static void rescale_points(F_line *obj, int x, int y);
static void relocate_ellipsepoint(F_ellipse *ellipse, int x, int y);
static void relocate_arcpoint(F_arc *arc, int x, int y);
-static void fix_scale_arc(int x, int y);
-static void fix_scale_spline(int x, int y);
-static void fix_scale_line(int x, int y);
-static void fix_scale_ellipse(int x, int y);
-static void fix_boxscale_ellipse(int x, int y);
-static void fix_boxscale_line(int x, int y);
-static void fix_scale_compound(int x, int y);
-static void fix_boxscale_compound(int x, int y);
-
-static void cancel_scale_arc(void);
-static void cancel_scale_spline(void);
-static void cancel_scale_line(void);
-static void cancel_scale_ellipse(void);
-static void cancel_boxscale_ellipse(void);
-static void cancel_boxscale_line(void);
-static void cancel_scale_compound(void);
-static void cancel_boxscale_compound(void);
+static void fix_scale_arc(int x, int y, unsigned int shift);
+static void fix_scale_spline(int x, int y, unsigned int shift);
+static void fix_scale_line(int x, int y, unsigned int shift);
+static void fix_scale_ellipse(int x, int y, unsigned int shift);
+static void fix_boxscale_ellipse(int x, int y, unsigned int shift);
+static void fix_boxscale_line(int x, int y, unsigned int shift);
+static void fix_scale_compound(int x, int y, unsigned int shift);
+static void fix_boxscale_compound(int x, int y, unsigned int shift);
+
+static void cancel_scale_arc(int x, int y, unsigned int shift);
+static void cancel_scale_spline(int x, int y, unsigned int shift);
+static void cancel_scale_line(int x, int y, unsigned int shift);
+static void cancel_scale_ellipse(int x, int y, unsigned int shift);
+static void cancel_boxscale_ellipse(int x, int y, unsigned int shift);
+static void cancel_boxscale_line(int x, int y, unsigned int shift);
+static void cancel_scale_compound(int x, int y, unsigned int shift);
+static void cancel_boxscale_compound(int x, int y, unsigned int shift);
static void prescale_compound(F_compound *c, int x, int y);
@@ -112,7 +112,7 @@ scale_selected(void)
init_searchproc_middle(init_center_scale);
canvas_leftbut_proc = object_search_left;
canvas_middlebut_proc = object_search_middle;
- canvas_rightbut_proc = null_proc;
+ canvas_rightbut_proc = null_proc_button;
set_cursor(pick15_cursor);
reset_action_on();
}
@@ -149,7 +149,7 @@ init_box_scale(F_line *obj, int type, int x, int y, int px, int py)
}
set_mousefun("new posn", "", "cancel", LOC_OBJ, LOC_OBJ, LOC_OBJ);
draw_mousefun_canvas();
- canvas_middlebut_proc = null_proc;
+ canvas_middlebut_proc = null_proc_button;
}
static void
@@ -197,7 +197,7 @@ init_center_scale(F_line *obj, int type, int x, int y, int px, int py)
set_mousefun("", "new posn", "cancel", LOC_OBJ, LOC_OBJ, LOC_OBJ);
draw_mousefun_canvas();
- canvas_leftbut_proc = null_proc;
+ canvas_leftbut_proc = null_proc_button;
}
static void
@@ -268,8 +268,12 @@ init_boxscale_ellipse(int x, int y)
}
static void
-cancel_boxscale_ellipse(void)
+cancel_boxscale_ellipse(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
if ((cur_e->type == T_CIRCLE_BY_DIA) ||
(cur_e->type == T_CIRCLE_BY_RAD))
@@ -281,8 +285,10 @@ cancel_boxscale_ellipse(void)
}
static void
-fix_boxscale_ellipse(int x, int y)
+fix_boxscale_ellipse(int x, int y, unsigned int shift)
{
+ (void)shift;
+
if ((cur_e->type == T_CIRCLE_BY_DIA) ||
(cur_e->type == T_CIRCLE_BY_RAD))
elastic_cbd();
@@ -373,8 +379,12 @@ init_scale_ellipse(void)
}
static void
-cancel_scale_ellipse(void)
+cancel_scale_ellipse(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_scaleellipse(cur_e);
toggle_ellipsemarker(cur_e);
@@ -382,8 +392,10 @@ cancel_scale_ellipse(void)
}
static void
-fix_scale_ellipse(int x, int y)
+fix_scale_ellipse(int x, int y, unsigned int shift)
{
+ (void)shift;
+
elastic_scaleellipse(cur_e);
adjust_box_pos(x, y, from_x, from_y, &cur_x, &cur_y);
new_e = copy_ellipse(cur_e);
@@ -445,8 +457,12 @@ init_scale_arc(void)
}
static void
-cancel_scale_arc(void)
+cancel_scale_arc(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_scalearc(cur_a);
/* erase last lengths if appres.showlengths is true */
@@ -456,11 +472,13 @@ cancel_scale_arc(void)
}
static void
-fix_scale_arc(int x, int y)
+fix_scale_arc(int x, int y, unsigned int shift)
{
double newx, newy, oldx, oldy;
double newd, oldd, scalefact;
+ (void)shift;
+
elastic_scalearc(cur_a);
adjust_box_pos(x, y, from_x, from_y, &x, &y);
@@ -560,8 +578,12 @@ init_scale_spline(void)
}
static void
-cancel_scale_spline(void)
+cancel_scale_spline(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_scalepts(cur_s->points);
toggle_splinemarker(cur_s);
@@ -569,8 +591,10 @@ cancel_scale_spline(void)
}
static void
-fix_scale_spline(int x, int y)
+fix_scale_spline(int x, int y, unsigned int shift)
{
+ (void)shift;
+
elastic_scalepts(cur_s->points);
canvas_ref_proc = null_proc;
adjust_box_pos(x, y, from_x, from_y, &x, &y);
@@ -679,8 +703,12 @@ init_boxscale_compound(int x, int y)
}
static void
-cancel_boxscale_compound(void)
+cancel_boxscale_compound(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_box(fix_x, fix_y, cur_x, cur_y);
/* erase last lengths if appres.showlengths is true */
@@ -690,10 +718,12 @@ cancel_boxscale_compound(void)
}
static void
-fix_boxscale_compound(int x, int y)
+fix_boxscale_compound(int x, int y, unsigned int shift)
{
double scalex, scaley;
+ (void)shift;
+
elastic_box(fix_x, fix_y, cur_x, cur_y);
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -726,8 +756,12 @@ init_scale_compound(void)
}
static void
-cancel_scale_compound(void)
+cancel_scale_compound(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_scalecompound(cur_c);
/* erase last lengths if appres.showlengths is true */
@@ -737,8 +771,10 @@ cancel_scale_compound(void)
}
static void
-fix_scale_compound(int x, int y)
+fix_scale_compound(int x, int y, unsigned int shift)
{
+ (void)shift;
+
elastic_scalecompound(cur_c);
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -1295,8 +1331,12 @@ init_boxscale_line(int x, int y)
}
static void
-cancel_boxscale_line(void)
+cancel_boxscale_line(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_box(fix_x, fix_y, cur_x, cur_y);
/* erase last lengths if appres.showlengths is true */
@@ -1306,10 +1346,12 @@ cancel_boxscale_line(void)
}
static void
-fix_boxscale_line(int x, int y)
+fix_boxscale_line(int x, int y, unsigned int shift)
{
int owd,oht, nwd, nht;
+ (void)shift;
+
elastic_box(fix_x, fix_y, cur_x, cur_y);
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -1393,8 +1435,12 @@ init_scale_line(void)
}
static void
-cancel_scale_line(void)
+cancel_scale_line(int x, int y, unsigned shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_scalepts(cur_l->points);
/* erase last lengths if appres.showlengths is true */
@@ -1404,10 +1450,12 @@ cancel_scale_line(void)
}
static void
-fix_scale_line(int x, int y)
+fix_scale_line(int x, int y, unsigned int shift)
{
int owd,oht, nwd, nht;
+ (void)shift;
+
elastic_scalepts(cur_l->points);
/* erase last lengths if appres.showlengths is true */
erase_lengths();
--- a/src/e_tangent.c
+++ b/src/e_tangent.c
@@ -56,7 +56,7 @@ tangent_selected(void)
init_smart_searchproc_middle(init_normal_adding);
canvas_leftbut_proc = smart_object_search_left;
canvas_middlebut_proc = smart_object_search_middle;
- canvas_rightbut_proc = smart_null_proc;
+ canvas_rightbut_proc = smart_null_proc_button;
set_cursor(pick9_cursor);
/* force_nopositioning(); */
reset_action_on();
--- a/src/e_update.c
+++ b/src/e_update.c
@@ -100,7 +100,7 @@ update_selected(void)
init_searchproc_middle(init_update_settings);
canvas_leftbut_proc = object_search_left;
canvas_middlebut_proc = object_search_middle;
- canvas_rightbut_proc = null_proc;
+ canvas_rightbut_proc = null_proc_button;
set_cursor(pick9_cursor);
/* manage on the update buttons */
manage_update_buts();
--- a/src/u_drag.c
+++ b/src/u_drag.c
@@ -37,12 +37,12 @@
#include "w_msgpanel.h"
-static void array_place_line(int x, int y), place_line(int x, int y), place_line_x(int x, int y), cancel_line(void);
-static void array_place_arc(int x, int y), place_arc(int x, int y), place_arc_x(int x, int y), cancel_drag_arc(void);
-static void array_place_spline(int x, int y), place_spline(int x, int y), place_spline_x(int x, int y), cancel_spline(void);
-static void array_place_ellipse(int x, int y), place_ellipse(int x, int y), place_ellipse_x(int x, int y), cancel_ellipse(void);
-static void array_place_text(int x, int y), place_text(int x, int y), place_text_x(int x, int y), cancel_text(void);
-static void array_place_compound(int x, int y), place_compound(int x, int y), place_compound_x(int x, int y), cancel_drag_compound(void);
+static void array_place_line(int x, int y, unsigned int shift), place_line(int x, int y, unsigned int shift), place_line_x(int x, int y), cancel_line(int x, int y, unsigned int shift);
+static void array_place_arc(int x, int y, unsigned int shift), place_arc(int x, int y, unsigned int shift), place_arc_x(int x, int y), cancel_drag_arc(int x, int y, unsigned int shift);
+static void array_place_spline(int x, int y, unsigned int shift), place_spline(int x, int y, unsigned int shift), place_spline_x(int x, int y), cancel_spline(int x, int y, unsigned int shift);
+static void array_place_ellipse(int x, int y, unsigned int shift), place_ellipse(int x, int y, unsigned int shift), place_ellipse_x(int x, int y), cancel_ellipse(int x, int y, unsigned int shift);
+static void array_place_text(int x, int y, unsigned int shift), place_text(int x, int y, unsigned int shift), place_text_x(int x, int y), cancel_text(int x, int y, unsigned int shift);
+static void array_place_compound(int x, int y, unsigned int shift), place_compound(int x, int y, unsigned int shift), place_compound_x(int x, int y), cancel_drag_compound(int x, int y, unsigned int shift);
/***************************** ellipse section ************************/
@@ -69,8 +69,12 @@ init_ellipsedragging(F_ellipse *e, int x, int y)
}
static void
-cancel_ellipse(void)
+cancel_ellipse(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_moveellipse();
/* erase last lengths if appres.showlengths is true */
@@ -88,7 +92,7 @@ cancel_ellipse(void)
}
static void
-array_place_ellipse(int x, int y)
+array_place_ellipse(int x, int y, unsigned int shift)
{
int i, j, delta_x, delta_y, start_x, start_y;
int nx, ny;
@@ -102,7 +106,7 @@ array_place_ellipse(int x, int y)
save_ellipse = new_e;
if ((!cur_numxcopies) && (!cur_numycopies)) {
- place_ellipse(x, y);
+ place_ellipse(x, y, shift);
}
else {
delta_x = cur_x - fix_x;
@@ -143,8 +147,10 @@ array_place_ellipse(int x, int y)
}
static void
-place_ellipse(int x, int y)
+place_ellipse(int x, int y, unsigned int shift)
{
+ (void)shift;
+
elastic_moveellipse();
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -154,9 +160,9 @@ place_ellipse(int x, int y)
static void
place_ellipse_x(int x, int y)
{
- canvas_leftbut_proc = null_proc;
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
+ canvas_leftbut_proc = null_proc_button;
+ canvas_middlebut_proc = null_proc_button;
+ canvas_rightbut_proc = null_proc_button;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
adjust_pos(x, y, fix_x, fix_y, &x, &y);
@@ -197,8 +203,12 @@ init_arcdragging(F_arc *a, int x, int y)
}
static void
-cancel_drag_arc(void)
+cancel_drag_arc(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_movearc(new_a);
/* erase last lengths if appres.showlengths is true */
@@ -216,7 +226,7 @@ cancel_drag_arc(void)
}
static void
-array_place_arc(int x, int y)
+array_place_arc(int x, int y, unsigned int shift)
{
int i, j, delta_x, delta_y, start_x, start_y;
int nx, ny;
@@ -230,7 +240,7 @@ array_place_arc(int x, int y)
save_arc = new_a;
if ((!cur_numxcopies) && (!cur_numycopies)) {
- place_arc(x, y);
+ place_arc(x, y, shift);
} else {
delta_x = cur_x - fix_x;
delta_y = cur_y - fix_y;
@@ -270,8 +280,10 @@ array_place_arc(int x, int y)
}
static void
-place_arc(int x, int y)
+place_arc(int x, int y, unsigned int shift)
{
+ (void)shift;
+
elastic_movearc(new_a);
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -281,9 +293,9 @@ place_arc(int x, int y)
static void
place_arc_x(int x, int y)
{
- canvas_leftbut_proc = null_proc;
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
+ canvas_leftbut_proc = null_proc_button;
+ canvas_middlebut_proc = null_proc_button;
+ canvas_rightbut_proc = null_proc_button;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
adjust_pos(x, y, fix_x, fix_y, &x, &y);
@@ -330,8 +342,12 @@ init_linedragging(F_line *l, int x, int y)
}
static void
-cancel_line(void)
+cancel_line(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_moveline(new_l->points);
/* erase last lengths if appres.showlengths is true */
@@ -350,7 +366,7 @@ cancel_line(void)
}
static void
-array_place_line(int x, int y)
+array_place_line(int x, int y, unsigned int shift)
{
int i, j, delta_x, delta_y, start_x, start_y;
int nx, ny;
@@ -362,7 +378,7 @@ array_place_line(int x, int y)
tail(&objects, &object_tails);
save_line = new_l;
if ((cur_numxcopies==0) && (cur_numycopies==0)) {
- place_line(x, y);
+ place_line(x, y, shift);
} else {
delta_x = cur_x - fix_x;
delta_y = cur_y - fix_y;
@@ -402,8 +418,10 @@ array_place_line(int x, int y)
}
static void
-place_line(int x, int y)
+place_line(int x, int y, unsigned int shift)
{
+ (void)shift;
+
elastic_moveline(new_l->points);
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -414,9 +432,9 @@ static void
place_line_x(int x, int y)
{
int dx, dy;
- canvas_leftbut_proc = null_proc;
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
+ canvas_leftbut_proc = null_proc_button;
+ canvas_middlebut_proc = null_proc_button;
+ canvas_rightbut_proc = null_proc_button;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
adjust_pos(x, y, fix_x, fix_y, &x, &y);
@@ -479,7 +497,7 @@ init_textdragging(F_text *t, int x, int y)
}
static void
-array_place_text(int x, int y)
+array_place_text(int x, int y, unsigned int shift)
{
int i, j, delta_x, delta_y, start_x, start_y;
int nx, ny;
@@ -493,7 +511,7 @@ array_place_text(int x, int y)
save_text = new_t;
if ((!cur_numxcopies) && (!cur_numycopies)) {
- place_text(x, y);
+ place_text(x, y, shift);
} else {
delta_x = cur_x - fix_x;
delta_y = cur_y - fix_y;
@@ -533,8 +551,12 @@ array_place_text(int x, int y)
}
static void
-cancel_text(void)
+cancel_text(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
/* move the text back to the original position,
to clear the text at the last position it was dragged to */
@@ -554,8 +576,10 @@ cancel_text(void)
}
static void
-place_text(int x, int y)
+place_text(int x, int y, unsigned int shift)
{
+ (void)shift;
+
elastic_movetext();
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -565,9 +589,9 @@ place_text(int x, int y)
static void
place_text_x(int x, int y)
{
- canvas_leftbut_proc = null_proc;
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
+ canvas_leftbut_proc = null_proc_button;
+ canvas_middlebut_proc = null_proc_button;
+ canvas_rightbut_proc = null_proc_button;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
adjust_pos(x, y, fix_x, fix_y, &x, &y);
@@ -608,8 +632,12 @@ init_splinedragging(F_spline *s, int x, int y)
}
static void
-cancel_spline(void)
+cancel_spline(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_moveline(new_s->points);
/* erase last lengths if appres.showlengths is true */
@@ -627,7 +655,7 @@ cancel_spline(void)
}
static void
-array_place_spline(int x, int y)
+array_place_spline(int x, int y, unsigned int shift)
{
int i, j, delta_x, delta_y, start_x, start_y;
int nx, ny;
@@ -641,7 +669,7 @@ array_place_spline(int x, int y)
save_spline = new_s;
if ((!cur_numxcopies) && (!cur_numycopies)) {
- place_spline(x, y);
+ place_spline(x, y, shift);
} else {
delta_x = cur_x - fix_x;
delta_y = cur_y - fix_y;
@@ -681,8 +709,10 @@ array_place_spline(int x, int y)
}
static void
-place_spline(int x, int y)
+place_spline(int x, int y, unsigned int shift)
{
+ (void)shift;
+
elastic_moveline(new_s->points);
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -692,9 +722,9 @@ place_spline(int x, int y)
static void
place_spline_x(int x, int y)
{
- canvas_leftbut_proc = null_proc;
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
+ canvas_leftbut_proc = null_proc_button;
+ canvas_middlebut_proc = null_proc_button;
+ canvas_rightbut_proc = null_proc_button;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
adjust_pos(x, y, fix_x, fix_y, &x, &y);
@@ -740,8 +770,12 @@ init_compounddragging(F_compound *c, int x, int y)
}
static void
-cancel_drag_compound(void)
+cancel_drag_compound(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
canvas_ref_proc = canvas_locmove_proc = null_proc;
elastic_movebox();
/* erase last lengths if appres.showlengths is true */
@@ -760,7 +794,7 @@ cancel_drag_compound(void)
}
static void
-array_place_compound(int x, int y)
+array_place_compound(int x, int y, unsigned int shift)
{
int i, j, delta_x, delta_y, start_x, start_y;
int nx, ny;
@@ -774,7 +808,7 @@ array_place_compound(int x, int y)
save_compound = new_c;
if ((!cur_numxcopies) && (!cur_numycopies)) {
- place_compound(x, y);
+ place_compound(x, y, shift);
} else {
delta_x = cur_x - fix_x;
delta_y = cur_y - fix_y;
@@ -814,8 +848,9 @@ array_place_compound(int x, int y)
}
static void
-place_compound(int x, int y)
+place_compound(int x, int y, unsigned int shift)
{
+ (void)shift;
elastic_movebox();
/* erase last lengths if appres.showlengths is true */
@@ -828,9 +863,9 @@ place_compound_x(int x, int y)
{
int dx, dy;
- canvas_leftbut_proc = null_proc;
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
+ canvas_leftbut_proc = null_proc_button;
+ canvas_middlebut_proc = null_proc_button;
+ canvas_rightbut_proc = null_proc_button;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
adjust_pos(x, y, fix_x, fix_y, &x, &y);
--- a/src/u_smartsearch.c
+++ b/src/u_smartsearch.c
@@ -505,3 +505,13 @@ smart_null_proc(void)
if (highlighting)
smart_erase_objecthighlight();
}
+
+void
+smart_null_proc_button(int x, int y, unsigned int shift)
+{
+ (void)x;
+ (void)y;
+ (void)shift;
+
+ smart_null_proc();
+}
--- a/src/u_smartsearch.h
+++ b/src/u_smartsearch.h
@@ -31,6 +31,7 @@ void smart_object_search_left(int x, int y, unsigned int shift);
void smart_object_search_middle(int x, int y, unsigned int shift);
void smart_object_search_right(int x, int y, unsigned int shift);
void smart_null_proc(void);
+void smart_null_proc_button(int x, int y, unsigned int shift);
extern F_point smart_point1, smart_point2;
--- a/src/w_canvas.c
+++ b/src/w_canvas.c
@@ -72,10 +72,10 @@
void (*canvas_kbd_proc) ();
void (*canvas_locmove_proc) ();
void (*canvas_ref_proc) ();
-void (*canvas_leftbut_proc) ();
-void (*canvas_middlebut_proc) ();
-void (*canvas_middlebut_save) ();
-void (*canvas_rightbut_proc) ();
+void (*canvas_leftbut_proc) (int x, int y, unsigned int shift);
+void (*canvas_middlebut_proc) (int x, int y, unsigned int shift);
+void (*canvas_middlebut_save) (int x, int y, unsigned int shift);
+void (*canvas_rightbut_proc) (int x, int y, unsigned int shift);
void (*return_proc) ();
int clip_xmin, clip_ymin, clip_xmax, clip_ymax;
@@ -115,6 +115,16 @@ null_proc(void)
erase_objecthighlight();
}
+void
+null_proc_button(int x, int y, unsigned int shift)
+{
+ (void)x;
+ (void)y;
+ (void)shift;
+
+ null_proc();
+}
+
static void
canvas_exposed(Widget tool, XEvent *event, String *params, Cardinal *nparams)
{
@@ -199,9 +209,9 @@ init_canvas(Widget tool)
canvas_sw = XtCreateWidget("canvas", labelWidgetClass, tool,
Args, ArgCount);
- canvas_leftbut_proc = null_proc;
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
+ canvas_leftbut_proc = null_proc_button;
+ canvas_middlebut_proc = null_proc_button;
+ canvas_rightbut_proc = null_proc_button;
canvas_kbd_proc = canvas_locmove_proc = null_proc;
XtAugmentTranslations(canvas_sw,
XtParseTranslationTable(canvas_translations));
--- a/src/w_canvas.h
+++ b/src/w_canvas.h
@@ -27,12 +27,13 @@ extern void add_canvas_actions(void);
extern void (*canvas_kbd_proc) ();
extern void (*canvas_locmove_proc) ();
extern void (*canvas_ref_proc) ();
-extern void (*canvas_leftbut_proc) ();
-extern void (*canvas_middlebut_proc) ();
-extern void (*canvas_middlebut_save) ();
-extern void (*canvas_rightbut_proc) ();
+extern void (*canvas_leftbut_proc) (int x, int y, unsigned int shift);
+extern void (*canvas_middlebut_proc) (int x, int y, unsigned int shift);
+extern void (*canvas_middlebut_save) (int x, int y, unsigned int shift);
+extern void (*canvas_rightbut_proc) (int x, int y, unsigned int shift);
extern void (*return_proc) ();
extern void null_proc(void);
+extern void null_proc_button(int x, int y, unsigned int shift);
extern void toggle_show_balloons(void);
extern void toggle_show_lengths(void);
extern void toggle_show_vertexnums(void);
--- a/src/w_cmdpanel.c
+++ b/src/w_cmdpanel.c
@@ -132,7 +132,7 @@ void delete_all_cmd(Widget w, int closure, int call_data);
static void init_move_paste_object(int x, int y);
static void move_paste_object(int x, int y);
static void place_object(int x, int y, unsigned int shift);
-static void cancel_paste(void);
+static void cancel_paste(int x, int y, unsigned int shift);
static void paste_draw(int paint_mode);
static void place_object_orig_posn(int x, int y, unsigned int shift);
static void place_menu(Widget w, XEvent *event, String *params,
@@ -673,12 +673,16 @@ paste(Widget w, XtPointer closure, XtPointer call_data)
}
static void
-cancel_paste(void)
+cancel_paste(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
reset_action_on();
- canvas_leftbut_proc = null_proc;
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
+ canvas_leftbut_proc = null_proc_button;
+ canvas_middlebut_proc = null_proc_button;
+ canvas_rightbut_proc = null_proc_button;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
clear_mousefun();
@@ -747,7 +751,7 @@ place_object(int x, int y, unsigned int shift)
add_compound(new_c);
set_modifiedflag();
redisplay_compound(new_c);
- cancel_paste();
+ cancel_paste(x, y, shift);
}
/* button 2: paste object in original location whence it came */
@@ -768,7 +772,7 @@ place_object_orig_posn(int x, int y, unsigned int shift)
add_compound(new_c);
set_modifiedflag();
redisplay_compound(new_c);
- cancel_paste();
+ cancel_paste(x, y, shift);
}
void
--- a/src/w_library.c
+++ b/src/w_library.c
@@ -286,9 +286,9 @@ library_cancel(Widget w, XButtonEvent *ev)
canvas_kbd_proc = null_proc;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
- canvas_leftbut_proc = null_proc;
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
+ canvas_leftbut_proc = null_proc_button;
+ canvas_middlebut_proc = null_proc_button;
+ canvas_rightbut_proc = null_proc_button;
set_mousefun("","","","","","");
}
}
--- a/src/w_modepanel.c
+++ b/src/w_modepanel.c
@@ -528,7 +528,7 @@ sel_mode_but(Widget widget, XtPointer closure, XEvent *event,
mode_sw_info *msw = (mode_sw_info *) closure;
if (zoom_in_progress)
- cancel_zoom();
+ cancel_zoom(0, 0, 0);
/* erase any existing anchor for flips */
if (setanchor)
center_marker(setanchor_x, setanchor_y);
--- a/src/w_zoom.c
+++ b/src/w_zoom.c
@@ -39,15 +39,15 @@
Boolean zoom_in_progress = False;
-static void do_zoom(int x, int y);
+static void do_zoom(int x, int y, unsigned int shift);
static void init_zoombox_drawing(int x, int y);
static void (*save_kbd_proc) ();
static void (*save_locmove_proc) ();
static void (*save_ref_proc) ();
-static void (*save_leftbut_proc) ();
-static void (*save_middlebut_proc) ();
-static void (*save_rightbut_proc) ();
+static void (*save_leftbut_proc) (int x, int y, unsigned int shift);
+static void (*save_middlebut_proc) (int x, int y, unsigned int shift);
+static void (*save_rightbut_proc) (int x, int y, unsigned int shift);
static int save_cur_mode;
float display_zoomscale; /* both zoomscales initialized in main() */
@@ -93,7 +93,7 @@ zoom_selected(int x, int y, unsigned int button)
}
} else if (button == Button1) {
reset_cursor();
- do_zoom(x, y);
+ do_zoom(x, y, 0);
}
}
@@ -137,7 +137,7 @@ init_zoombox_drawing(int x, int y)
canvas_locmove_proc = my_box;
canvas_ref_proc = elastic_mybox;
canvas_leftbut_proc = do_zoom;
- canvas_middlebut_proc = canvas_rightbut_proc = null_proc;
+ canvas_middlebut_proc = canvas_rightbut_proc = null_proc_button;
canvas_rightbut_proc = cancel_zoom;
elastic_box(my_fix_x, my_fix_y, my_cur_x, my_cur_y);
set_action_on();
@@ -147,11 +147,13 @@ init_zoombox_drawing(int x, int y)
}
static void
-do_zoom(int x, int y)
+do_zoom(int x, int y, unsigned int shift)
{
int dimx, dimy;
float scalex, scaley;
+ (void)shift;
+
/* don't allow zooming while previewing */
if (preview_in_progress)
return;
@@ -185,8 +187,12 @@ do_zoom(int x, int y)
}
void
-cancel_zoom(void)
+cancel_zoom(int x, int y, unsigned int shift)
{
+ (void)x;
+ (void)y;
+ (void)shift;
+
elastic_box(my_fix_x, my_fix_y, my_cur_x, my_cur_y);
/* restore state */
canvas_kbd_proc = save_kbd_proc;
--- a/src/w_zoom.h
+++ b/src/w_zoom.h
@@ -30,7 +30,7 @@ extern Boolean zoom_in_progress;
extern Boolean integral_zoom;
extern void unzoom(void);
-extern void cancel_zoom(void);
+extern void cancel_zoom(int x, int y, unsigned int shift);
extern void zoom_selected(int x, int y, unsigned int button);
#endif /* W_ZOOM_H */
--
2.45.3
From 74febf3cfb1b5ee388fb0211fbe5844dd3aded04 Mon Sep 17 00:00:00 2001
From: Mario Haustein <
[email protected]>
Date: Sat, 1 Feb 2025 00:23:21 +0100
Subject: [PATCH 2/8] Fix prototypes for keyboard callbacks
--- a/src/d_arc.c
+++ b/src/d_arc.c
@@ -78,7 +78,7 @@ arc_drawing_selected(void)
center_marked = FALSE;
ell_arc = FALSE;
set_mousefun("first point", "center point", "", "", "", "");
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_leftbut_proc = init_arc_drawing;
canvas_middlebut_proc = init_arc_c_drawing;
--- a/src/d_arcbox.c
+++ b/src/d_arcbox.c
@@ -43,7 +43,7 @@ void
arcbox_drawing_selected(void)
{
set_mousefun("corner point", "", "", "", "", "");
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_leftbut_proc = init_arc_box_drawing;
canvas_middlebut_proc = null_proc_button;
--- a/src/d_box.c
+++ b/src/d_box.c
@@ -43,7 +43,7 @@ void
box_drawing_selected(void)
{
set_mousefun("corner point", "", "", "", "", "");
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_leftbut_proc = init_box_drawing;
canvas_middlebut_proc = null_proc_button;
--- a/src/d_ellipse.c
+++ b/src/d_ellipse.c
@@ -54,7 +54,7 @@ static void cancel_circlebydia(int x, int y, unsigned int shift);
void
circle_ellipse_byradius_drawing_selected(void)
{
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_leftbut_proc = init_circlebyradius_drawing;
canvas_middlebut_proc = init_ellipsebyradius_drawing;
@@ -141,7 +141,7 @@ create_ellipsebyrad(int x, int y, unsigned int shift)
void circle_ellipse_bydiameter_drawing_selected(void)
{
set_mousefun("Circle diameter", "Ellipse corner", "", "", "", "");
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_leftbut_proc = init_circlebydiameter_drawing;
canvas_middlebut_proc = init_ellipsebydiameter_drawing;
--- a/src/d_line.c
+++ b/src/d_line.c
@@ -53,7 +53,7 @@ static void init_line_freehand_drawing(int x, int y, unsigned int shift);
void
line_drawing_selected(void)
{
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_leftbut_proc = init_line_drawing;
canvas_middlebut_proc = init_line_freehand_drawing;
--- a/src/d_picobj.c
+++ b/src/d_picobj.c
@@ -48,7 +48,7 @@ void
picobj_drawing_selected(void)
{
set_mousefun("corner point", "", "", "", "", "");
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_leftbut_proc = init_picobj_drawing;
canvas_middlebut_proc = null_proc_button;
--- a/src/d_regpoly.c
+++ b/src/d_regpoly.c
@@ -47,7 +47,7 @@ void
regpoly_drawing_selected(void)
{
set_mousefun("center point", "", "", "", "", "");
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_leftbut_proc = init_regpoly_drawing;
canvas_middlebut_proc = null_proc_button;
--- a/src/d_spline.c
+++ b/src/d_spline.c
@@ -51,7 +51,7 @@ void
spline_drawing_selected(void)
{
set_mousefun("first point", "freehand", "", "", "", "");
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_leftbut_proc = init_spline_drawing;
canvas_middlebut_proc = init_spline_freehand_drawing;
--- a/src/d_text.c
+++ b/src/d_text.c
@@ -162,7 +162,7 @@ static Boolean is_preedit_running();
void
text_drawing_selected(void)
{
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_middlebut_proc = null_proc_button;
canvas_leftbut_proc = init_text_input;
@@ -407,7 +407,7 @@ overlay_text_input(int x, int y)
set_mousefun("new text", "finish text", "cancel", "", "paste text", "");
draw_mousefun_kbd();
draw_mousefun_canvas();
- canvas_kbd_proc = (void (*)())char_handler;
+ canvas_kbd_proc = char_handler;
canvas_middlebut_proc = finish_text_input;
canvas_leftbut_proc = finish_n_start;
canvas_rightbut_proc = cancel_text_input;
@@ -471,7 +471,7 @@ init_text_input(int x, int y, unsigned int shift)
set_mousefun("new text", "finish text", "cancel", "", "paste text", "");
draw_mousefun_kbd();
draw_mousefun_canvas();
- canvas_kbd_proc = (void (*)())char_handler;
+ canvas_kbd_proc = char_handler;
canvas_middlebut_proc = finish_text_input;
canvas_leftbut_proc = finish_n_start;
canvas_rightbut_proc = cancel_text_input;
@@ -813,7 +813,7 @@ terminate_char_handler(void)
}
void
-char_handler(unsigned char *c, int clen, KeySym keysym)
+char_handler(char *c, int clen, KeySym keysym)
{
int i;
--- a/src/d_text.h
+++ b/src/d_text.h
@@ -28,7 +28,7 @@
extern int work_font;
extern XFontStruct *canvas_font;
-extern void char_handler(unsigned char *c, int clen, KeySym keysym);
+extern void char_handler(char *c, int clen, KeySym keysym);
extern void finish_text_input(int x, int y, unsigned int shift);
extern XIC xim_ic;
--- a/src/e_addpt.c
+++ b/src/e_addpt.c
@@ -50,7 +50,7 @@ void
point_adding_selected(void)
{
set_mousefun("break/add here", "", "", LOC_OBJ, LOC_OBJ, LOC_OBJ);
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_left(init_point_adding);
--- a/src/e_align.c
+++ b/src/e_align.c
@@ -69,7 +69,7 @@ void
align_selected(void)
{
set_mousefun("align compound", "align canvas", "", LOC_OBJ, "", LOC_OBJ);
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_left(init_align);
--- a/src/e_arrow.c
+++ b/src/e_arrow.c
@@ -50,7 +50,7 @@ void
arrow_head_selected(void)
{
set_mousefun("add arrow", "delete arrow", "", LOC_OBJ, LOC_OBJ, LOC_OBJ);
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_left(add_arrow_head);
--- a/src/e_break.c
+++ b/src/e_break.c
@@ -43,7 +43,7 @@ void
break_selected(void)
{
set_mousefun("break compound", "break and tag", "", LOC_OBJ, LOC_OBJ, LOC_OBJ);
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_left(init_break_only);
--- a/src/e_chop.c
+++ b/src/e_chop.c
@@ -87,7 +87,7 @@ chop_selected(void)
set_mousefun("Select axe object", "Select log object", "Clear axe list",
LOC_OBJ, LOC_OBJ, LOC_OBJ);
draw_mousefun_canvas();
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_left(select_axe_object);
--- a/src/e_compound.c
+++ b/src/e_compound.c
@@ -126,7 +126,7 @@ open_compound_selected(void)
set_mousefun("open compound", "open, keep visible", "",
LOC_OBJ, LOC_OBJ, LOC_OBJ);
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_left(init_open_compound);
--- a/src/e_convert.c
+++ b/src/e_convert.c
@@ -52,7 +52,7 @@ void
convert_selected(void)
{
set_mousefun("spline<->line", "", "open<->closed", LOC_OBJ, LOC_OBJ, LOC_OBJ);
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_left(init_convert_line_spline);
--- a/src/e_copy.c
+++ b/src/e_copy.c
@@ -51,7 +51,7 @@ static void init_copy_to_scrap(F_line *p, int type, int x, int y, int px,
void
copy_selected(void)
{
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_left(init_arb_copy);
--- a/src/e_delete.c
+++ b/src/e_delete.c
@@ -65,7 +65,7 @@ delete_selected(void)
{
set_mousefun("delete object", "delete region", "del to cut buf",
LOC_OBJ, "", LOC_OBJ);
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_left(init_delete);
--- a/src/e_deletept.c
+++ b/src/e_deletept.c
@@ -45,7 +45,7 @@ void
delete_point_selected(void)
{
set_mousefun("delete point", "", "", LOC_OBJ, LOC_OBJ, LOC_OBJ);
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_left(init_delete_point);
--- a/src/e_edit.c
+++ b/src/e_edit.c
@@ -687,7 +687,7 @@ void edit_item_selected(void)
{
set_mousefun("edit object", "edit Main comment", "edit point",
LOC_OBJ, "show comments", LOC_OBJ);
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_left(edit_item);
--- a/src/e_flip.c
+++ b/src/e_flip.c
@@ -102,7 +102,7 @@ flip_selected(void)
{
set_mousefun("flip", "copy & flip", "set anchor",
LOC_OBJ, LOC_OBJ, "set anchor");
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_left(init_flip);
--- a/src/e_glue.c
+++ b/src/e_glue.c
@@ -65,7 +65,7 @@ compound_selected(void)
{
set_mousefun("tag object", "tag region", "compound tagged",
LOC_OBJ, "", "");
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_left(tag_object);
--- a/src/e_joinsplit.c
+++ b/src/e_joinsplit.c
@@ -73,7 +73,7 @@ join_split_selected(void)
set_mousefun("Join Lines/Splines", "Split Line/Spline", "",
LOC_OBJ, LOC_OBJ, LOC_OBJ);
draw_mousefun_canvas();
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_left(init_join);
--- a/src/e_measure.c
+++ b/src/e_measure.c
@@ -89,7 +89,7 @@ static float total_area = 0.0;
void anglemeas_selected(void)
{
set_mousefun("first point", "select & save", "select object", "", LOC_OBJ, LOC_OBJ);
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_middle(init_anglemeas_object_m);
@@ -314,7 +314,7 @@ freehand_line_nomsg(int x, int y)
void lenmeas_selected(void)
{
set_mousefun("select object", "select & add", "reset to 0", LOC_OBJ, LOC_OBJ, LOC_OBJ);
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_left(init_lenmeas_object_l);
@@ -426,7 +426,7 @@ clear_lenmeas_memory(int x, int y, unsigned int shift)
void areameas_selected(void)
{
set_mousefun("select object", "select & add", "reset to 0", LOC_OBJ, LOC_OBJ, "reset to +-0");
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_left(init_areameas_object_l);
--- a/src/e_move.c
+++ b/src/e_move.c
@@ -42,7 +42,7 @@ void
move_selected(void)
{
set_mousefun("move object", "horiz/vert move", "", LOC_OBJ, LOC_OBJ, LOC_OBJ);
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
init_searchproc_left(init_arb_move);
init_searchproc_middle(init_constrained_move);
--- a/src/e_movept.c
+++ b/src/e_movept.c
@@ -80,7 +80,7 @@ static void cancel_movedlinepoint(int x, int y, unsigned int shift);
void move_point_selected(void)
{
set_mousefun("move point", "horiz/vert move", "", LOC_OBJ, LOC_OBJ, LOC_OBJ);
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_left(init_arb_move_point);
--- a/src/e_placelib.c
+++ b/src/e_placelib.c
@@ -59,7 +59,7 @@ static int off_library_y;
static void init_move_object(int x, int y);
static void move_object(int x, int y);
static void change_draw_mode(int x, int y);
-static void transform_lib_obj(unsigned char *c, int clen, KeySym keysym);
+static void transform_lib_obj(char *c, int clen, KeySym keysym);
static void place_lib_object(int x, int y, unsigned int shift);
static void put_draw(int paint_mode);
static void sel_place_lib_obj_proc(int x, int y, unsigned int shift);
@@ -116,7 +116,7 @@ put_selected(void)
/* allow rotation or flipping of library object before placing on canvas */
static void
-transform_lib_obj(unsigned char *c, int clen, KeySym keysym)
+transform_lib_obj(char *c, int clen, KeySym keysym)
{
(void)keysym;
(void)clen;
@@ -163,7 +163,7 @@ sel_place_lib_obj_proc(int x, int y, unsigned int shift)
void
sel_place_lib_obj(void)
{
- canvas_kbd_proc = (void (*)())transform_lib_obj;
+ canvas_kbd_proc = transform_lib_obj;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
canvas_leftbut_proc = null_proc_button;
@@ -258,7 +258,7 @@ place_lib_object(int x, int y, unsigned int shift)
redisplay_compound(new_c);
if (shift) {
/* temporarily turn off library place mode so we can edit the object just placed */
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
clear_mousefun();
set_mousefun("","","", "", "", "");
turn_off_current();
@@ -325,7 +325,7 @@ cancel_place_lib_obj(int x, int y, unsigned int shift)
canvas_rightbut_proc = null_proc_button;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
clear_mousefun();
set_mousefun("","","", "", "", "");
turn_off_current();
--- a/src/e_rotate.c
+++ b/src/e_rotate.c
@@ -109,7 +109,7 @@ rotate_selected(void)
{
set_mousefun("rotate object", "copy & rotate", "set center",
LOC_OBJ, LOC_OBJ, "set center");
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_left(init_rotate);
--- a/src/e_scale.c
+++ b/src/e_scale.c
@@ -105,7 +105,7 @@ scale_selected(void)
{
set_mousefun("scale box", "scale about center", "",
LOC_OBJ, LOC_OBJ, LOC_OBJ);
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_left(init_box_scale);
--- a/src/e_tangent.c
+++ b/src/e_tangent.c
@@ -49,7 +49,7 @@ void
tangent_selected(void)
{
set_mousefun("add tangent", "add normal", "", LOC_OBJ, LOC_OBJ, LOC_OBJ);
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = smart_null_proc;
canvas_ref_proc = smart_null_proc;
init_smart_searchproc_left(init_tangent_adding);
--- a/src/e_update.c
+++ b/src/e_update.c
@@ -93,7 +93,7 @@ update_selected(void)
{
set_mousefun("update object", "update settings", "",
LOC_OBJ, LOC_OBJ, LOC_OBJ);
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
init_searchproc_left(init_update_object);
--- a/src/w_canvas.c
+++ b/src/w_canvas.c
@@ -69,7 +69,7 @@
/*********************** EXPORTS ************************/
-void (*canvas_kbd_proc) ();
+void (*canvas_kbd_proc) (char *c, int clen, KeySym keysym);
void (*canvas_locmove_proc) ();
void (*canvas_ref_proc) ();
void (*canvas_leftbut_proc) (int x, int y, unsigned int shift);
@@ -125,6 +125,16 @@ null_proc_button(int x, int y, unsigned int shift)
null_proc();
}
+void
+null_proc_kbd(char *c, int clen, KeySym keysym)
+{
+ (void)c;
+ (void)clen;
+ (void)keysym;
+
+ null_proc();
+}
+
static void
canvas_exposed(Widget tool, XEvent *event, String *params, Cardinal *nparams)
{
@@ -212,7 +222,8 @@ init_canvas(Widget tool)
canvas_leftbut_proc = null_proc_button;
canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = null_proc_button;
- canvas_kbd_proc = canvas_locmove_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
+ canvas_locmove_proc = null_proc;
XtAugmentTranslations(canvas_sw,
XtParseTranslationTable(canvas_translations));
readComposeKey();
@@ -629,7 +640,7 @@ canvas_selected(Widget tool, XButtonEvent *event, String *params,
/* edit text */
} else {
- if (canvas_kbd_proc != null_proc ) {
+ if (canvas_kbd_proc != null_proc_kbd ) {
if (key == XK_Left || key == XK_Right ||
key == XK_Home ||
key == XK_End) {
@@ -714,12 +725,12 @@ get_canvas_clipboard(Widget w, XtPointer client_data, Atom *selection,
&tmp, &num_values);
if (ret_status == Success || 0 < num_values) {
for (i = 0; i < num_values; ++i) {
- canvas_kbd_proc((unsigned char *)tmp[i],
+ canvas_kbd_proc((char *)tmp[i],
(int)strlen(tmp[i]), (KeySym)0);
}
}
} else {
- canvas_kbd_proc((unsigned char *)buf, (int)(*length),(KeySym)0);
+ canvas_kbd_proc((char *)buf, (int)(*length),(KeySym)0);
}
XtFree(buf);
}
@@ -740,7 +751,7 @@ canvas_paste(Widget w, XKeyEvent *paste_event)
Time event_time;
Atom atom_utf8_string;
- if (canvas_kbd_proc != (void (*)())char_handler)
+ if (canvas_kbd_proc != char_handler)
return;
if (paste_event != NULL)
--- a/src/w_canvas.h
+++ b/src/w_canvas.h
@@ -24,7 +24,7 @@
extern void init_canvas(Widget tool);
extern void add_canvas_actions(void);
-extern void (*canvas_kbd_proc) ();
+extern void (*canvas_kbd_proc) (char *c, int clen, KeySym keysym);
extern void (*canvas_locmove_proc) ();
extern void (*canvas_ref_proc) ();
extern void (*canvas_leftbut_proc) (int x, int y, unsigned int shift);
@@ -34,6 +34,7 @@ extern void (*canvas_rightbut_proc) (int x, int y, unsigned int shift);
extern void (*return_proc) ();
extern void null_proc(void);
extern void null_proc_button(int x, int y, unsigned int shift);
+extern void null_proc_kbd(char *c, int clen, KeySym keysym);
extern void toggle_show_balloons(void);
extern void toggle_show_lengths(void);
extern void toggle_show_vertexnums(void);
--- a/src/w_cmdpanel.c
+++ b/src/w_cmdpanel.c
@@ -1724,7 +1724,7 @@ paste_character(Widget w, XtPointer client_data, XEvent *ev, Boolean *pass)
XftChar8 str[FC_UTF8_MAX_LEN];
/* only allow during text input */
- if (canvas_kbd_proc != (void (*)())char_handler)
+ if (canvas_kbd_proc != char_handler)
return;
len = FcUcs4ToUtf8((XftChar32)i.val, str);
--- a/src/w_library.c
+++ b/src/w_library.c
@@ -283,7 +283,7 @@ library_cancel(Widget w, XButtonEvent *ev)
} else {
/* otherwise, cancel all library operations */
reset_action_on();
- canvas_kbd_proc = null_proc;
+ canvas_kbd_proc = null_proc_kbd;
canvas_locmove_proc = null_proc;
canvas_ref_proc = null_proc;
canvas_leftbut_proc = null_proc_button;
--- a/src/w_zoom.c
+++ b/src/w_zoom.c
@@ -42,7 +42,7 @@ Boolean zoom_in_progress = False;
static void do_zoom(int x, int y, unsigned int shift);
static void init_zoombox_drawing(int x, int y);
-static void (*save_kbd_proc) ();
+static void (*save_kbd_proc) (char *c, int clen, KeySym keysym);
static void (*save_locmove_proc) ();
static void (*save_ref_proc) ();
static void (*save_leftbut_proc) (int x, int y, unsigned int shift);
--
2.45.3
From af8f911a3b338bd52d72fa78995581cf58be5500 Mon Sep 17 00:00:00 2001
From: Mario Haustein <
[email protected]>
Date: Sat, 1 Feb 2025 09:50:16 +0100
Subject: [PATCH 3/8] Fix old style definitions
--- a/src/d_text.c
+++ b/src/d_text.c
@@ -150,7 +150,7 @@ static char preedit_filename[PATH_MAX] = "";
static void open_preedit_proc(int x, int y, unsigned int shift);
static void close_preedit_proc(int x, int y, unsigned int shift);
static void paste_preedit_proc(int x, int y, unsigned int shift);
-static Boolean is_preedit_running();
+static Boolean is_preedit_running(void);
/********************************************************/
/* */
--- a/src/d_text.h
+++ b/src/d_text.h
@@ -35,7 +35,7 @@ extern XIC xim_ic;
extern Boolean xim_active;
extern Boolean xim_initialize(Widget w);
extern void xim_set_ic_geometry(XIC ic, int width, int height);
-extern void kill_preedit();
+extern void kill_preedit(void);
extern void text_drawing_selected (void);
#endif
--- a/src/e_chop.c
+++ b/src/e_chop.c
@@ -149,19 +149,19 @@ clear_axe_objects(int x, int y, unsigned shift)
}
static int
-point_sort_fcn(a, b)
- s_point_s * a;
- s_point_s * b;
+point_sort_fcn(const void *_a, const void *_b)
{
+ const s_point_s *a = _a, *b = _b;
+
return (a->dist == b->dist) ? 0
: ((a->dist < b->dist) ? -1 : 1);
}
static int
-point_sort_reverse_fcn(a, b)
- s_point_s * a;
- s_point_s * b;
+point_sort_reverse_fcn(const void *_a, const void *_b)
{
+ const s_point_s *a = _a, *b = _b;
+
return (a->dist == b->dist) ? 0
: ((a->dist > b->dist) ? -1 : 1);
}
--- a/src/e_edit.c
+++ b/src/e_edit.c
@@ -329,7 +329,7 @@ static char *pic_names[] = {
static int ellipse_flag;
static intptr_t fill_flag;
static intptr_t flip_pic_flag;
-static void (*done_proc) ();
+static void (*done_proc) (void);
static int button_result;
static intptr_t textjust;
static Color pen_color, fill_color;
--- a/src/u_search.c
+++ b/src/u_search.c
@@ -69,10 +69,7 @@ static F_compound *c;
/* this rotates (x, y) into a coordinate system orthogonal to the ellipse semi-axes */
inline static void
-vector_rotate(a, b, angle)
- double * a;
- double * b;
- float angle;
+vector_rotate(double *a, double *b, float angle)
{
double x = fabs((*a * cos((double)angle)) - (*b * sin((double)angle)));
double y = fabs((*a * sin((double)angle)) + (*b * cos((double)angle)));
--- a/src/w_canvas.c
+++ b/src/w_canvas.c
@@ -76,7 +76,7 @@ void (*canvas_leftbut_proc) (int x, int y, unsigned int shift);
void (*canvas_middlebut_proc) (int x, int y, unsigned int shift);
void (*canvas_middlebut_save) (int x, int y, unsigned int shift);
void (*canvas_rightbut_proc) (int x, int y, unsigned int shift);
-void (*return_proc) ();
+void (*return_proc) (void);
int clip_xmin, clip_ymin, clip_xmax, clip_ymax;
int clip_width, clip_height;
--- a/src/w_canvas.h
+++ b/src/w_canvas.h
@@ -31,7 +31,7 @@ extern void (*canvas_leftbut_proc) (int x, int y, unsigned int shift);
extern void (*canvas_middlebut_proc) (int x, int y, unsigned int shift);
extern void (*canvas_middlebut_save) (int x, int y, unsigned int shift);
extern void (*canvas_rightbut_proc) (int x, int y, unsigned int shift);
-extern void (*return_proc) ();
+extern void (*return_proc) (void);
extern void null_proc(void);
extern void null_proc_button(int x, int y, unsigned int shift);
extern void null_proc_kbd(char *c, int clen, KeySym keysym);
--- a/src/w_cmdpanel.c
+++ b/src/w_cmdpanel.c
@@ -828,7 +828,7 @@ delete_all_cmd(Widget w, int closure, int call_data)
/* Toggle canvas orientation from Portrait to Landscape or vice versa */
void
-change_orient()
+change_orient(void)
{
Dimension formw, formh;
int dx, dy;
--- a/src/w_cmdpanel.h
+++ b/src/w_cmdpanel.h
@@ -50,15 +50,15 @@ typedef struct main_menu_struct {
extern main_menu_info main_menus[];
-extern void init_cmd_panel();
+extern void init_cmd_panel(void);
extern void add_cmd_actions(void);
extern void quit(Widget w, XtPointer closure, XtPointer call_data);
extern void new(Widget w, XtPointer closure, XtPointer call_data);
extern void paste(Widget w, XtPointer closure, XtPointer call_data);
extern void delete_all_cmd(Widget w, int closure, int call_data);
-extern void setup_cmd_panel();
-extern void change_orient();
-extern void setup_cmd_panel();
+extern void setup_cmd_panel(void);
+extern void change_orient(void);
+extern void setup_cmd_panel(void);
extern void show_global_settings(Widget w);
extern void acc_load_recent_file(Widget w, XEvent *event, String *params, Cardinal *nparams);
extern int num_main_menus(void);
--- a/src/w_color.h
+++ b/src/w_color.h
@@ -90,13 +90,13 @@ typedef struct _CMY {
extern RGB RGBWhite, RGBBlack;
-RGB MixRGB();
-RGB MixHSV();
+RGB MixRGB(void);
+RGB MixHSV(void);
RGB HSVToRGB(HSV hsv);
HSV RGBToHSV(RGB rgb);
-float RGBDist();
+float RGBDist(void);
RGB PctToRGB(float rr, float gg, float bb);
-HSV PctToHSV();
-RGB CMYToRGB();
-CMY RGBToCMY();
+HSV PctToHSV(void);
+RGB CMYToRGB(void);
+CMY RGBToCMY(void);
#endif /* W_COLOR_H */
--- a/src/w_icons.c
+++ b/src/w_icons.c
@@ -2153,7 +2153,7 @@ icon_struct areameas_ic;
-void populate_icons_big()
+void populate_icons_big(void)
{
icon_struct regpoly_ic_ = { regpoly_width_big, regpoly_height_big, (char*)regpoly_bits_big };
icon_struct addpt_ic_ = { addpt_width_big, addpt_height_big, (char*)addpt_bits_big };
@@ -2242,7 +2242,7 @@ void populate_icons_big()
}
-void populate_icons_small()
+void populate_icons_small(void)
{
icon_struct regpoly_ic_ = { regpoly_width_small, regpoly_height_small, (char*)regpoly_bits_small };
icon_struct addpt_ic_ = { addpt_width_small, addpt_height_small, (char*)addpt_bits_small };
@@ -3255,14 +3255,14 @@ icon_struct spl_bckgnd_ic = { spl_bckgnd_width, spl_bckgnd_height,
int mode_sw_ht;
int mode_sw_wd;
-void setup_icons_small()
+void setup_icons_small(void)
{
mode_sw_ht = MODE_SW_HT_SMALL;
mode_sw_wd = MODE_SW_WD_SMALL;
populate_icons_small();
}
-void setup_icons_big()
+void setup_icons_big(void)
{
mode_sw_ht = MODE_SW_HT_BIG;
mode_sw_wd = MODE_SW_WD_BIG;
--- a/src/w_icons.h
+++ b/src/w_icons.h
@@ -26,8 +26,8 @@
extern int mode_sw_ht;
extern int mode_sw_wd;
-void setup_icons_small();
-void setup_icons_big();
+void setup_icons_small(void);
+void setup_icons_big(void);
typedef struct _icon_struct {
--- a/src/w_indpanel.c
+++ b/src/w_indpanel.c
@@ -3772,8 +3772,7 @@ show_halign(ind_sw_info *sw)
/* GRID MODE */ // isometric grid
static void
-show_gridmode(sw)
- ind_sw_info *sw;
+show_gridmode(ind_sw_info *sw)
{
update_choice_pixmap(sw, cur_gridmode);
@@ -4559,7 +4558,7 @@ dec_zoom_centered(ind_sw_info *sw)
/* zoom in either from wheel or accelerator, centering canvas on mouse */
void
-wheel_inc_zoom()
+wheel_inc_zoom(void)
{
Window root, child;
int x1, y1, junk;
@@ -4581,7 +4580,7 @@ wheel_inc_zoom()
/* zoom out either from wheel or accelerator, centering canvas on mouse */
void
-wheel_dec_zoom()
+wheel_dec_zoom(void)
{
Window root, child;
int x1, y1, junk;
--- a/src/w_intersect.c
+++ b/src/w_intersect.c
@@ -93,12 +93,9 @@ boxes_overlap(struct f_point * p1a, struct f_point * p1b,
}
static void
-do_circle_ellipse_intersect(r, X, Y, e, x, y, arc, isect_cb)
- double r, X, Y;
- F_ellipse * e;
- int x, y;
- F_arc * arc;
- isect_cb_s * isect_cb;
+do_circle_ellipse_intersect(
+ double r, double X, double Y, F_ellipse *e, int x, int y,
+ F_arc *arc, isect_cb_s *isect_cb)
{
double K, L, M, N;
double hix, hiy;
@@ -197,11 +194,7 @@ do_circle_ellipse_intersect(r, X, Y, e, x, y, arc, isect_cb)
}
static void
-circle_ellipse_intersect(c, e, x, y, isect_cb)
- F_ellipse * c;
- F_ellipse * e;
- int x, y;
- isect_cb_s * isect_cb;
+circle_ellipse_intersect(F_ellipse *c, F_ellipse *e, int x, int y, isect_cb_s *isect_cb)
{
double r = (double)(c->radiuses.x);
double X = (double)(c->center.x - e->center.x);
@@ -211,18 +204,12 @@ circle_ellipse_intersect(c, e, x, y, isect_cb)
}
static void
-do_circle_circle(PX, PY, X2, Y2, R1, R2, OX, OY, arc, arc2, isect_cb)
- double PX; /* event point */
- double PY;
- double X2; /* translated arc center */
- double Y2;
- double R1; /* circle radius */
- double R2;
- double OX; /* circle -> arc displacement */
- double OY;
- F_arc * arc;
- F_arc * arc2;
- isect_cb_s * isect_cb;
+do_circle_circle(
+ double PX, double PY, /* event point */
+ double X2, double Y2, /* translated arc center */
+ double R1, double R2, /* circle radius */
+ double OX, double OY, /* circle -> arc displacement */
+ F_arc *arc, F_arc *arc2, isect_cb_s *isect_cb)
{
double dc = hypot(Y2, X2);
@@ -310,11 +297,7 @@ do_circle_circle(PX, PY, X2, Y2, R1, R2, OX, OY, arc, arc2, isect_cb)
}
static void
-circle_circle_intersect(e1, e2, x, y, isect_cb)
- F_ellipse * e1;
- F_ellipse * e2;
- int x, y;
- isect_cb_s * isect_cb;
+circle_circle_intersect(F_ellipse *e1, F_ellipse *e2, int x, int y, isect_cb_s *isect_cb)
{
double PX = (double)(x - e1->center.x);
double PY = (double)(y - e1->center.y);
@@ -331,11 +314,7 @@ circle_circle_intersect(e1, e2, x, y, isect_cb)
static void
-non_ortho_ellipse_ellipse_intersect(e1, e2, x, y, isect_cb)
- F_ellipse * e1;
- F_ellipse * e2;
- int x, y;
- isect_cb_s * isect_cb;
+non_ortho_ellipse_ellipse_intersect(F_ellipse *e1, F_ellipse *e2, int x, int y, isect_cb_s *isect_cb)
{ /* ellipse-ellipse -- non-orthogonal */
double A, B, C, D;
@@ -568,11 +547,7 @@ non_ortho_ellipse_ellipse_intersect(e1, e2, x, y, isect_cb)
static void
-ortho_ellipse_ellipse_intersect(e1, e2, x, y, isect_cb)
- F_ellipse * e1;
- F_ellipse * e2;
- int x, y;
- isect_cb_s * isect_cb;
+ortho_ellipse_ellipse_intersect(F_ellipse *e1, F_ellipse *e2, int x, int y, isect_cb_s *isect_cb)
{ /* ellipse-ellipse -- orthogonal */
/*
* x^2 / a^2 + y^2 / b2 = 1 Eq 1, origin ctrd, eclipse 1
@@ -776,16 +751,9 @@ intersect_ellipse_ellipse_handler(F_ellipse * e1, F_ellipse * e2, int x, int y
}
static void
-do_intersect_ellipse_polyline(ecx, ecy, ea, eb, theta, l, x, y, arc, isect_cb)
- double ecx;
- double ecy;
- double ea;
- double eb;
- double theta;
- F_line * l;
- int x, y;
- F_arc * arc;
- isect_cb_s * isect_cb;
+do_intersect_ellipse_polyline(
+ double ecx, double ecy, double ea, double eb, double theta,
+ F_line *l, int x, int y, F_arc *arc, isect_cb_s *isect_cb)
{
/* if arc is non-null, ecx, ecy, ea, and eb arc from arc.*/
/* if isect_cb is non-null, return the intersects */
@@ -1215,10 +1183,7 @@ intersect_spline_arc_handler(void *obj1, void *obj2, int x, int y)
}
static void
-intersect_text_text_handler(t1, t2, x, y)
- F_text * t1;
- F_text * t2;
- int x, y;
+intersect_text_text_handler(F_text *t1, F_text *t2, int x, int y)
{
F_line * f1_line_p = build_text_bounding_box(t1);
F_line * f2_line_p = build_text_bounding_box(t2);
@@ -1228,10 +1193,7 @@ intersect_text_text_handler(t1, t2, x, y)
}
static void
-intersect_text_arc_handler(t, a, x, y)
- F_text * t;
- F_arc * a;
- int x, y;
+intersect_text_arc_handler(F_text *t, F_arc *a, int x, int y)
{
F_line * f_line_p = build_text_bounding_box(t);
intersect_polyline_arc_handler(f_line_p, a, x, y, NULL);
@@ -1257,11 +1219,7 @@ intersect_arc_arc_handler(F_arc * a1, F_arc * a2, int x, int y, isect_cb_s * ise
}
static void
-intersect_ellipse_handler(obj1, obj2, type2, x, y)
- void * obj1;
- void * obj2;
- int type2;
- int x, y;
+intersect_ellipse_handler(void *obj1, void *obj2, int type2, int x, int y)
{
switch (type2) {
case O_ELLIPSE:
@@ -1283,11 +1241,7 @@ intersect_ellipse_handler(obj1, obj2, type2, x, y)
}
static void
-intersect_polyline_handler(obj1, obj2, type2, x, y)
- void * obj1;
- void * obj2;
- int type2;
- int x, y;
+intersect_polyline_handler(void *obj1, void *obj2, int type2, int x, int y)
{
switch (type2) {
case O_ELLIPSE:
@@ -1309,11 +1263,7 @@ intersect_polyline_handler(obj1, obj2, type2, x, y)
}
static void
-intersect_spline_handler(obj1, obj2, type2, x, y)
- void * obj1;
- void * obj2;
- int type2;
- int x, y;
+intersect_spline_handler(void *obj1, void *obj2, int type2, int x, int y)
{
switch (type2) {
case O_ELLIPSE:
@@ -1335,11 +1285,7 @@ intersect_spline_handler(obj1, obj2, type2, x, y)
}
static void
-intersect_text_handler(obj1, obj2, type2, x, y)
- void * obj1;
- void * obj2;
- int type2;
- int x, y;
+intersect_text_handler(void *obj1, void *obj2, int type2, int x, int y)
{
switch (type2) {
case O_ELLIPSE:
@@ -1361,11 +1307,7 @@ intersect_text_handler(obj1, obj2, type2, x, y)
}
static void
-intersect_arc_handler(obj1, obj2, type2, x, y)
- void * obj1;
- void * obj2;
- int type2;
- int x, y;
+intersect_arc_handler(void *obj1, void *obj2, int type2, int x, int y)
{
switch (type2) {
case O_ELLIPSE:
@@ -1387,12 +1329,7 @@ intersect_arc_handler(obj1, obj2, type2, x, y)
}
void
-snap_intersect_handler(obj1, type1, obj2, type2, x, y)
- void * obj1;
- int type1;
- void * obj2;
- int type2;
- int x, y;
+snap_intersect_handler(void *obj1, int type1, void *obj2, int type2, int x, int y)
{
switch (type1) {
case O_ELLIPSE:
--- a/src/w_keyboard.c
+++ b/src/w_keyboard.c
@@ -414,7 +414,7 @@ static Widget keyboard_input = None;
static void
-create_keyboard_panel()
+create_keyboard_panel(void)
{
Widget keyboard_form;
Widget label, usage_hint;
--- a/src/w_layers.c
+++ b/src/w_layers.c
@@ -725,7 +725,7 @@ any_active_in_compound(F_compound *cmpnd)
}
void
-update_layerpanel()
+update_layerpanel(void)
{
/*
* We must test for the widgets, as this is called by
--- a/src/w_layers.h
+++ b/src/w_layers.h
@@ -50,6 +50,6 @@ extern void reset_layers(void);
extern void reset_depths(void);
extern int LAYER_WD, LAYER_HT;
-extern void update_layerpanel ();
+extern void update_layerpanel (void);
#endif
--- a/src/w_modepanel.c
+++ b/src/w_modepanel.c
@@ -496,7 +496,7 @@ void setup_mode_panel(void)
SetValues(mode_panel);
}
-void update_modepanel()
+void update_modepanel(void)
{
int i;
mode_sw_info *sw;
--- a/src/w_modepanel.h
+++ b/src/w_modepanel.h
@@ -45,7 +45,7 @@ typedef struct mode_switch_struct {
extern void change_mode (icon_struct *icon);
extern void turn_off_current (void);
-extern void update_modepanel ();
+extern void update_modepanel (void);
extern void setup_mode_panel(void);
#endif
--- a/src/w_mousefun.c
+++ b/src/w_mousefun.c
@@ -108,7 +108,7 @@ setup_mousefun(void)
set_mousefun("", "", "", "", "", "");
}
-void update_mousepanel()
+void update_mousepanel(void)
{
if (mousefun) {
if (appres.showballoons)
--- a/src/w_mousefun.h
+++ b/src/w_mousefun.h
@@ -28,9 +28,9 @@ void set_mousefun(char *left, char *middle, char *right, char *sh_left, char *s
void draw_mousefun_mode(void);
void draw_mousefun_ind(void);
void draw_mousefun_unitbox(void);
-void shift_top_mousfun();
+void shift_top_mousfun(void);
void draw_mousefun_topruler(Widget w, XEvent *event, String *params, Cardinal *num_params);
-void shift_side_mousfun();
+void shift_side_mousfun(void);
void draw_mousefun_sideruler(Widget w, XEvent *event, String *params, Cardinal *num_params);
void draw_mousefun_canvas(void);
void draw_mousefun(char *left, char *middle, char *right);
@@ -42,10 +42,10 @@ void notused_right(void);
void clear_right(void);
void draw_mousefun_kbd(void);
void clear_mousefun_kbd(void);
-void init_mousefun_actions();
+void init_mousefun_actions(void);
extern String kbd_translations;
extern void init_kbd_actions (void);
-extern void update_mousepanel ();
+extern void update_mousepanel (void);
extern void draw_shift_mousefun_canvas(void);
extern void draw_shift_mousefun_canvas2(char *tl, char *tm, char *tr);
--- a/src/w_rulers.c
+++ b/src/w_rulers.c
@@ -389,7 +389,7 @@ init_unitbox(Widget tool)
static Widget unit_popup, unit_panel, cancel, set, beside, below, label;
void
-update_rulerpanel()
+update_rulerpanel(void)
{
char msg[80];
--- a/src/w_rulers.h
+++ b/src/w_rulers.h
@@ -35,7 +35,7 @@ extern void resize_sideruler (void);
extern void resize_topruler (void);
extern void setup_sideruler (void);
extern void reset_rulers (void);
-extern void update_rulerpanel ();
+extern void update_rulerpanel (void);
extern void setup_rulers(void);
extern void set_rulermark(int x, int y);
extern void erase_siderulermark(void);
--- a/src/w_snap.c
+++ b/src/w_snap.c
@@ -57,7 +57,7 @@ snap_mode_e snap_mode = SNAP_MODE_NONE;
void snap_release(Widget w, XtPointer closure, XtPointer call_data);
-static void snap_polyline_handler(F_line * l, int x, int y);
+static void snap_polyline_handler(F_line *l, int x, int y);
/* */
@@ -83,11 +83,7 @@ snap_rotate_vector(double * dx, double * dy, double x, double y, double theta)
/* defined by two points */
static double
-point_to_line(px, py, l1, l2)
- int px;
- int py;
- struct f_point * l1;
- struct f_point * l2;
+point_to_line(int px, int py, struct f_point *l1, struct f_point *l2)
{
double x0 = (double)px;
double y0 = (double)py;
@@ -123,10 +119,7 @@ get_line_from_points(double * c, struct f_point * s1, struct f_point * s2)
/* */
static void
-snap_polyline_endpoint_handler(l, x, y)
- F_line *l;
- int x;
- int y;
+snap_polyline_endpoint_handler(F_line *l, int x, int y)
{
struct f_point * point;
double mind = HUGE_VAL;
@@ -146,7 +139,7 @@ snap_polyline_endpoint_handler(l, x, y)
/* */
void
-snap_polyline_focus_handler(F_line * l, int x, int y)
+snap_polyline_focus_handler(F_line *l, int x, int y)
{
(void)x;
(void)y;
@@ -178,10 +171,7 @@ snap_polyline_focus_handler(F_line * l, int x, int y)
/* */
static void
-snap_polyline_midpoint_handler(l, x, y)
- F_line *l;
- int x;
- int y;
+snap_polyline_midpoint_handler(F_line *l, int x, int y)
{
struct f_point * prev_point = NULL;
struct f_point * point;
@@ -210,12 +200,7 @@ snap_polyline_midpoint_handler(l, x, y)
/* */
static void
-do_snap_polyline_normal(l, x, y, cur_point_x, cur_point_y)
- F_line *l;
- int x;
- int y;
- double cur_point_x;
- double cur_point_y;
+do_snap_polyline_normal(F_line *l, int x, int y, double cur_point_x, double cur_point_y)
{
struct f_point * prev_point = NULL;
struct f_point * point;
@@ -260,10 +245,7 @@ do_snap_polyline_normal(l, x, y, cur_point_x, cur_point_y)
}
static void
-snap_polyline_normal_handler(l, x, y)
- F_line *l;
- int x;
- int y;
+snap_polyline_normal_handler(F_line *l, int x, int y)
{
do_snap_polyline_normal(l, x, y, (double)(cur_point->x), (double)(cur_point->y));
}
@@ -273,10 +255,7 @@ snap_polyline_normal_handler(l, x, y)
/* */
static void
-snap_ellipse_focus_ellipse_handler(e, x, y)
- F_ellipse *e;
- int x;
- int y;
+snap_ellipse_focus_ellipse_handler(F_ellipse *e, int x, int y)
{
int idx;
int idy;
@@ -336,12 +315,7 @@ check_alignment(double x, double y,
/* */
static void
-snap_ellipse_normal_ellipse_handler(e, x, y, cur_point_x, cur_point_y)
- F_ellipse *e;
- int x;
- int y;
- double cur_point_x;
- double cur_point_y;
+snap_ellipse_normal_ellipse_handler(F_ellipse *e, int x, int y, double cur_point_x, double cur_point_y)
{
/*
@@ -443,14 +417,7 @@ snap_ellipse_normal_ellipse_handler(e, x, y, cur_point_x, cur_point_y)
/* */
static void
-circle_normal_handler(center_x, center_y, radius, x, y, cur_point_x, cur_point_y)
- double center_x;
- double center_y;
- double radius;
- int x;
- int y;
- double cur_point_x;
- double cur_point_y;
+circle_normal_handler(double center_x, double center_y, double radius, int x, int y, double cur_point_x, double cur_point_y)
{
double a;
double txa, tya;
@@ -484,12 +451,7 @@ circle_normal_handler(center_x, center_y, radius, x, y, cur_point_x, cur_point_y
}
static void
-snap_ellipse_normal_circle_handler(e, x, y, cur_point_x, cur_point_y)
- F_ellipse *e;
- int x;
- int y;
- double cur_point_x;
- double cur_point_y;
+snap_ellipse_normal_circle_handler(F_ellipse *e, int x, int y, double cur_point_x, double cur_point_y)
{
circle_normal_handler((double)(e->center.x),
(double)(e->center.y),
@@ -504,12 +466,7 @@ snap_ellipse_normal_circle_handler(e, x, y, cur_point_x, cur_point_y)
/* */
static void
-circle_tangent_handler(center_x, center_y, r, x, y)
- double center_x;
- double center_y;
- double r;
- int x;
- int y;
+circle_tangent_handler(double center_x, double center_y, double r, int x, int y)
{
double p = hypot(center_y - (double)(cur_point->y),
center_x - (double)(cur_point->x));
@@ -549,10 +506,7 @@ circle_tangent_handler(center_x, center_y, r, x, y)
}
static void
-snap_ellipse_tangent_circle_handler(e, x, y)
- F_ellipse *e;
- int x;
- int y;
+snap_ellipse_tangent_circle_handler(F_ellipse *e, int x, int y)
{
circle_tangent_handler((double)(e->center.x), (double)(e->center.y),
(double)(e->radiuses.x), x, y);
@@ -564,10 +518,7 @@ snap_ellipse_tangent_circle_handler(e, x, y)
/* */
static void
-snap_ellipse_tangent_ellipse_handler(e, x, y)
- F_ellipse *e;
- int x;
- int y;
+snap_ellipse_tangent_ellipse_handler(F_ellipse *e, int x, int y)
{
/*
@@ -705,10 +656,7 @@ snap_ellipse_tangent_ellipse_handler(e, x, y)
/* */
static void
-snap_ellipse_endpoint_handler(e, x, y)
- F_ellipse *e;
- int x;
- int y;
+snap_ellipse_endpoint_handler(F_ellipse *e, int x, int y)
{
int i;
double tx,ty;
@@ -742,10 +690,7 @@ snap_ellipse_endpoint_handler(e, x, y)
/* */
static void
-snap_polyline_handler(l, x, y)
- F_line *l;
- int x;
- int y;
+snap_polyline_handler(F_line *l, int x, int y)
{
switch (snap_mode) {
case SNAP_MODE_ENDPOINT:
@@ -782,10 +727,7 @@ snap_polyline_handler(l, x, y)
/* */
static void
-snap_spline_handler(s, x, y)
- F_spline *s;
- int x;
- int y;
+snap_spline_handler(F_spline *s, int x, int y)
{
switch (snap_mode) {
case SNAP_MODE_ENDPOINT:
@@ -859,10 +801,7 @@ snap_spline_handler(s, x, y)
/* */
static void
-snap_text_handler(t, x, y)
- F_text *t;
- int x;
- int y;
+snap_text_handler(F_text *t, int x, int y)
{
F_line * f_line_p = build_text_bounding_box(t);
snap_polyline_handler(f_line_p, x, y);
@@ -871,10 +810,7 @@ snap_text_handler(t, x, y)
Boolean
-is_point_on_arc(a, x, y)
- F_arc * a;
- int x;
- int y;
+is_point_on_arc(F_arc *a, int x, int y)
{
/*
* check if the found point is on the arc and not on the
@@ -906,10 +842,7 @@ is_point_on_arc(a, x, y)
/* */
static void
-snap_arc_handler(a, x, y)
- F_arc *a;
- int x;
- int y;
+snap_arc_handler(F_arc *a, int x, int y)
{
switch (snap_mode) {
case SNAP_MODE_ENDPOINT:
@@ -1017,10 +950,7 @@ snap_arc_handler(a, x, y)
/* */
static void
-snap_ellipse_handler(e, x, y)
- F_ellipse *e;
- int x;
- int y;
+snap_ellipse_handler(F_ellipse *e, int x, int y)
{
switch (snap_mode) {
case SNAP_MODE_ENDPOINT:
@@ -1155,10 +1085,7 @@ snap_handler(void *p, int type, int x, int y, int px, int py)
/* */
Boolean
-snap_process(px, py, state)
- int * px;
- int * py;
- unsigned int state;
+snap_process(int *px, int *py, unsigned int state)
{
int hold_objmask = cur_objmask;
@@ -1373,8 +1300,7 @@ Widget snap_indicator_label;
void
-init_snap_panel(parent)
- Widget parent;
+init_snap_panel(Widget parent)
{
Widget dlabel;
DeclareArgs(10);
--
2.45.3
From 1423baef4f696b16f2a4adffce1a337c9efaba3a Mon Sep 17 00:00:00 2001
From: Mario Haustein <
[email protected]>
Date: Sat, 1 Feb 2025 10:03:11 +0100
Subject: [PATCH 4/8] Remove obsolete declarations
--- a/src/f_readpcx.c
+++ b/src/f_readpcx.c
@@ -110,8 +110,6 @@ read_pcx(F_pic *pic, struct xfig_stream *restrict pic_stream)
file (actually a pipe).
*/
-void pcx_decode();
-
int _read_pcx(FILE *pcxfile, F_pic *pic)
{
int i,w,h,bytepp,x,y,yy,byteline,plane,pmask;
--- a/src/u_elastic.h
+++ b/src/u_elastic.h
@@ -53,7 +53,6 @@ extern void elastic_box(int x1, int y1, int x2, int y2);
extern void elastic_fixedbox(void);
extern void elastic_movebox(void);
extern void resizing_box(int x, int y);
-extern void elastic_box_constrained();
extern void constrained_resizing_box(int x, int y);
extern void constrained_resizing_scale_box(int x, int y);
extern void moving_box(int x, int y);
@@ -80,10 +79,8 @@ extern void constrainedangle_line(int x, int y);
extern void elastic_moveline(F_point *pts);
extern void elastic_movenewline(void);
extern void elastic_line(void);
-extern void elastic_dimension_line();
extern void moving_line(int x, int y);
extern void reshaping_line(int x, int y);
-extern void reshaping_latexline();
extern void elastic_linelink(void);
extern void elastic_scalepts(F_point *pts);
extern void scaling_line(int x, int y);
@@ -100,7 +97,6 @@ extern void elastic_scalearc(F_arc *a);
extern void elastic_scale_curarc(void);
extern void moving_text(int x, int y);
-extern void draw_movingtext();
extern void elastic_movetext(void);
extern void moving_spline(int x, int y);
--- a/src/w_dir.h
+++ b/src/w_dir.h
@@ -84,7 +84,6 @@ extern void update_file_export_dir(const char *restrict dir);
/* Xdir function declarations. */
-extern char *SaveString();
extern void MakeFullPath(char *root, char *filename, char *pathname);
extern Boolean IsDirectory(char *path, char *file);
extern void Rescan (Widget widget, XEvent *event, String *params, Cardinal *num_params);
--
2.45.3
From 99d4f5cff626c4367c2a95819d6c044edc1ed9bf Mon Sep 17 00:00:00 2001
From: Mario Haustein <
[email protected]>
Date: Sat, 1 Feb 2025 22:10:05 +0100
Subject: [PATCH 5/8] Fix prototypes for moving callbacks
--- a/src/d_arc.c
+++ b/src/d_arc.c
@@ -79,7 +79,7 @@ arc_drawing_selected(void)
ell_arc = FALSE;
set_mousefun("first point", "center point", "", "", "", "");
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
canvas_leftbut_proc = init_arc_drawing;
canvas_middlebut_proc = init_arc_c_drawing;
canvas_rightbut_proc = init_earc_c_drawing;
--- a/src/d_arcbox.c
+++ b/src/d_arcbox.c
@@ -44,7 +44,7 @@ arcbox_drawing_selected(void)
{
set_mousefun("corner point", "", "", "", "", "");
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
canvas_leftbut_proc = init_arc_box_drawing;
canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = null_proc_button;
--- a/src/d_box.c
+++ b/src/d_box.c
@@ -44,7 +44,7 @@ box_drawing_selected(void)
{
set_mousefun("corner point", "", "", "", "", "");
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
canvas_leftbut_proc = init_box_drawing;
canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = null_proc_button;
--- a/src/d_ellipse.c
+++ b/src/d_ellipse.c
@@ -55,7 +55,7 @@ void
circle_ellipse_byradius_drawing_selected(void)
{
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
canvas_leftbut_proc = init_circlebyradius_drawing;
canvas_middlebut_proc = init_ellipsebyradius_drawing;
canvas_rightbut_proc = null_proc_button;
@@ -142,7 +142,7 @@ void circle_ellipse_bydiameter_drawing_selected(void)
{
set_mousefun("Circle diameter", "Ellipse corner", "", "", "", "");
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
canvas_leftbut_proc = init_circlebydiameter_drawing;
canvas_middlebut_proc = init_ellipsebydiameter_drawing;
canvas_rightbut_proc = null_proc_button;
--- a/src/d_line.c
+++ b/src/d_line.c
@@ -54,7 +54,7 @@ void
line_drawing_selected(void)
{
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
canvas_leftbut_proc = init_line_drawing;
canvas_middlebut_proc = init_line_freehand_drawing;
set_cursor(crosshair_cursor);
--- a/src/d_picobj.c
+++ b/src/d_picobj.c
@@ -49,7 +49,7 @@ picobj_drawing_selected(void)
{
set_mousefun("corner point", "", "", "", "", "");
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
canvas_leftbut_proc = init_picobj_drawing;
canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = null_proc_button;
@@ -88,7 +88,7 @@ create_picobj(int x, int y, unsigned int shift)
/* erase last lengths if appres.showlengths is true */
erase_lengths();
elastic_box(fix_x, fix_y, cur_x, cur_y);
- canvas_locmove_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
if ((point = create_point()) == NULL)
return;
--- a/src/d_regpoly.c
+++ b/src/d_regpoly.c
@@ -48,7 +48,7 @@ regpoly_drawing_selected(void)
{
set_mousefun("center point", "", "", "", "", "");
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
canvas_leftbut_proc = init_regpoly_drawing;
canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = null_proc_button;
--- a/src/d_spline.c
+++ b/src/d_spline.c
@@ -52,7 +52,7 @@ spline_drawing_selected(void)
{
set_mousefun("first point", "freehand", "", "", "", "");
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
canvas_leftbut_proc = init_spline_drawing;
canvas_middlebut_proc = init_spline_freehand_drawing;
canvas_rightbut_proc = null_proc_button;
--- a/src/d_text.c
+++ b/src/d_text.c
@@ -163,7 +163,7 @@ void
text_drawing_selected(void)
{
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
canvas_middlebut_proc = null_proc_button;
canvas_leftbut_proc = init_text_input;
canvas_rightbut_proc = null_proc_button;
@@ -465,7 +465,7 @@ init_text_input(int x, int y, unsigned int shift)
cur_y = y;
/* clear canvas loc move proc in case we were in text select mode */
- canvas_locmove_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
set_action_on();
set_mousefun("new text", "finish text", "cancel", "", "paste text", "");
--- a/src/e_addpt.c
+++ b/src/e_addpt.c
@@ -51,8 +51,8 @@ point_adding_selected(void)
{
set_mousefun("break/add here", "", "", LOC_OBJ, LOC_OBJ, LOC_OBJ);
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_left(init_point_adding);
canvas_leftbut_proc = object_search_left;
canvas_middlebut_proc = null_proc_button;
@@ -94,19 +94,19 @@ init_point_adding(F_line *p, int type, int x, int y, int px, int py)
if (left_point == NULL || right_point == NULL) {
if (latexline_mode || latexarrow_mode) {
canvas_locmove_proc = latex_line;
- canvas_ref_proc = elastic_line;
+ canvas_ref_proc = elastic_line_cb;
return;
}
if (mountain_mode || manhattan_mode) {
canvas_locmove_proc = constrainedangle_line;
- canvas_ref_proc = elastic_line;
+ canvas_ref_proc = elastic_line_cb;
return;
}
} else {
force_noanglegeom();
}
canvas_locmove_proc = reshaping_line;
- canvas_ref_proc = elastic_linelink;
+ canvas_ref_proc = elastic_linelink_cb;
}
static void
@@ -124,7 +124,7 @@ cancel_pointadding(int x, int y, unsigned int shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_linelink();
/* turn back on all relevant markers */
update_markers(new_objmask);
@@ -134,7 +134,7 @@ cancel_pointadding(int x, int y, unsigned int shift)
static void
cancel_line_pointadding(int x, int y, unsigned int shift)
{
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
if (left_point != NULL && right_point != NULL)
pw_vector(canvas_win, left_point->x, left_point->y,
right_point->x, right_point->y, PAINT,
--- a/src/e_align.c
+++ b/src/e_align.c
@@ -70,8 +70,8 @@ align_selected(void)
{
set_mousefun("align compound", "align canvas", "", LOC_OBJ, "", LOC_OBJ);
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_left(init_align);
canvas_leftbut_proc = object_search_left;
canvas_middlebut_proc = init_align_canvas;
--- a/src/e_arrow.c
+++ b/src/e_arrow.c
@@ -51,8 +51,8 @@ arrow_head_selected(void)
{
set_mousefun("add arrow", "delete arrow", "", LOC_OBJ, LOC_OBJ, LOC_OBJ);
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_left(add_arrow_head);
init_searchproc_middle(delete_arrow_head);
canvas_leftbut_proc = point_search_left;
--- a/src/e_break.c
+++ b/src/e_break.c
@@ -44,8 +44,8 @@ break_selected(void)
{
set_mousefun("break compound", "break and tag", "", LOC_OBJ, LOC_OBJ, LOC_OBJ);
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_left(init_break_only);
init_searchproc_middle(init_break_tag);
canvas_leftbut_proc = object_search_left;
--- a/src/e_chop.c
+++ b/src/e_chop.c
@@ -88,8 +88,8 @@ chop_selected(void)
LOC_OBJ, LOC_OBJ, LOC_OBJ);
draw_mousefun_canvas();
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_left(select_axe_object);
init_searchproc_middle(select_log_object);
/* init_searchproc_right(init_chop_right); */ /* fixme don't need this now */
--- a/src/e_compound.c
+++ b/src/e_compound.c
@@ -127,8 +127,8 @@ open_compound_selected(void)
set_mousefun("open compound", "open, keep visible", "",
LOC_OBJ, LOC_OBJ, LOC_OBJ);
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_left(init_open_compound);
init_searchproc_middle(init_open_compound_vis);
canvas_leftbut_proc = object_search_left;
--- a/src/e_convert.c
+++ b/src/e_convert.c
@@ -53,8 +53,8 @@ convert_selected(void)
{
set_mousefun("spline<->line", "", "open<->closed", LOC_OBJ, LOC_OBJ, LOC_OBJ);
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_left(init_convert_line_spline);
init_searchproc_right(init_convert_open_closed);
canvas_leftbut_proc = object_search_left;
--- a/src/e_copy.c
+++ b/src/e_copy.c
@@ -52,8 +52,8 @@ void
copy_selected(void)
{
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_left(init_arb_copy);
init_searchproc_middle(init_constrained_copy);
init_searchproc_right(init_copy_to_scrap);
--- a/src/e_delete.c
+++ b/src/e_delete.c
@@ -66,8 +66,8 @@ delete_selected(void)
set_mousefun("delete object", "delete region", "del to cut buf",
LOC_OBJ, "", LOC_OBJ);
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_left(init_delete);
init_searchproc_right(init_delete_to_scrap);
canvas_leftbut_proc = object_search_left;
--- a/src/e_deletept.c
+++ b/src/e_deletept.c
@@ -46,8 +46,8 @@ delete_point_selected(void)
{
set_mousefun("delete point", "", "", LOC_OBJ, LOC_OBJ, LOC_OBJ);
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_left(init_delete_point);
canvas_leftbut_proc = point_search_left;
canvas_middlebut_proc = null_proc_button;
--- a/src/e_edit.c
+++ b/src/e_edit.c
@@ -688,8 +688,8 @@ void edit_item_selected(void)
set_mousefun("edit object", "edit Main comment", "edit point",
LOC_OBJ, "show comments", LOC_OBJ);
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_left(edit_item);
init_searchproc_right(edit_spline_point);
canvas_leftbut_proc = object_search_left;
--- a/src/e_flip.c
+++ b/src/e_flip.c
@@ -103,8 +103,8 @@ flip_selected(void)
set_mousefun("flip", "copy & flip", "set anchor",
LOC_OBJ, LOC_OBJ, "set anchor");
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_left(init_flip);
init_searchproc_middle(init_copynflip);
canvas_leftbut_proc = object_search_left;
--- a/src/e_glue.c
+++ b/src/e_glue.c
@@ -66,8 +66,8 @@ compound_selected(void)
set_mousefun("tag object", "tag region", "compound tagged",
LOC_OBJ, "", "");
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_left(tag_object);
canvas_leftbut_proc = object_search_left;
canvas_middlebut_proc = init_tag_region;
--- a/src/e_joinsplit.c
+++ b/src/e_joinsplit.c
@@ -74,8 +74,8 @@ join_split_selected(void)
LOC_OBJ, LOC_OBJ, LOC_OBJ);
draw_mousefun_canvas();
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_left(init_join);
init_searchproc_middle(init_split);
canvas_leftbut_proc = point_search_left; /* point search for join */
--- a/src/e_measure.c
+++ b/src/e_measure.c
@@ -90,8 +90,8 @@ void anglemeas_selected(void)
{
set_mousefun("first point", "select & save", "select object", "", LOC_OBJ, LOC_OBJ);
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_middle(init_anglemeas_object_m);
init_searchproc_right(init_anglemeas_object_r);
canvas_leftbut_proc = init_anglemeas_threepoints;
@@ -202,7 +202,7 @@ init_anglemeas_threepoints(int px, int py, unsigned int shift)
pa.y = fix_y = cur_y = py;
np = 1;
canvas_locmove_proc = freehand_line_nomsg;
- canvas_ref_proc = elastic_line;
+ canvas_ref_proc = elastic_line_cb;
canvas_leftbut_proc = anglemeas_second;
canvas_middlebut_proc = null_proc_button;
elastic_line();
@@ -315,8 +315,8 @@ void lenmeas_selected(void)
{
set_mousefun("select object", "select & add", "reset to 0", LOC_OBJ, LOC_OBJ, LOC_OBJ);
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_left(init_lenmeas_object_l);
init_searchproc_middle(init_lenmeas_object_m);
canvas_leftbut_proc = object_search_left;
@@ -427,8 +427,8 @@ void areameas_selected(void)
{
set_mousefun("select object", "select & add", "reset to 0", LOC_OBJ, LOC_OBJ, "reset to +-0");
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_left(init_areameas_object_l);
init_searchproc_middle(init_areameas_object_m);
canvas_leftbut_proc = object_search_left;
--- a/src/e_move.c
+++ b/src/e_move.c
@@ -43,7 +43,7 @@ move_selected(void)
{
set_mousefun("move object", "horiz/vert move", "", LOC_OBJ, LOC_OBJ, LOC_OBJ);
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
init_searchproc_left(init_arb_move);
init_searchproc_middle(init_constrained_move);
canvas_leftbut_proc = object_search_left;
--- a/src/e_movept.c
+++ b/src/e_movept.c
@@ -81,8 +81,8 @@ void move_point_selected(void)
{
set_mousefun("move point", "horiz/vert move", "", LOC_OBJ, LOC_OBJ, LOC_OBJ);
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_left(init_arb_move_point);
init_searchproc_middle(init_stretch_move_point);
canvas_leftbut_proc = point_search_left;
@@ -217,19 +217,19 @@ init_ellipsepointmoving(void)
switch (cur_e->type) {
case T_ELLIPSE_BY_RAD:
canvas_locmove_proc = constrained_resizing_ebr;
- canvas_ref_proc = elastic_ebr;
+ canvas_ref_proc = elastic_ebr_cb;
break;
case T_CIRCLE_BY_RAD:
canvas_locmove_proc = resizing_cbr;
- canvas_ref_proc = elastic_cbr;
+ canvas_ref_proc = elastic_cbr_cb;
break;
case T_ELLIPSE_BY_DIA:
canvas_locmove_proc = constrained_resizing_ebd;
- canvas_ref_proc = elastic_ebd;
+ canvas_ref_proc = elastic_ebd_cb;
break;
case T_CIRCLE_BY_DIA:
canvas_locmove_proc = resizing_cbd;
- canvas_ref_proc = elastic_cbd;
+ canvas_ref_proc = elastic_cbd_cb;
break;
}
/* show current radius(ii) */
@@ -249,7 +249,7 @@ cancel_movedellipsepoint(int x, int y, unsigned int shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
/* erase elastic version */
switch (cur_e->type) {
case T_ELLIPSE_BY_RAD:
@@ -291,7 +291,7 @@ fix_movedellipsepoint(int x, int y, unsigned int shift)
elastic_cbd();
break;
}
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
adjust_box_pos(x, y, from_x, from_y, &cur_x, &cur_y);
new_e = copy_ellipse(cur_e);
relocate_ellipsepoint(new_e, cur_x, cur_y, movedpoint_num);
@@ -374,7 +374,7 @@ init_arcpointmoving(void)
cur_y = cur_a->point[movedpoint_num].y;
set_cursor(crosshair_cursor);
canvas_locmove_proc = reshaping_arc;
- canvas_ref_proc = elastic_arclink;
+ canvas_ref_proc = elastic_arclink_cb;
canvas_leftbut_proc = fix_movedarcpoint;
canvas_rightbut_proc = cancel_movedarcpoint;
elastic_arclink();
@@ -389,7 +389,7 @@ cancel_movedarcpoint(int x, int y, unsigned int shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_arclink();
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -403,7 +403,7 @@ fix_movedarcpoint(int x, int y, unsigned int shift)
{
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_arclink();
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -475,27 +475,27 @@ init_splinepointmoving(void)
}
if (latexline_mode || latexarrow_mode) {
canvas_locmove_proc = latex_line;
- canvas_ref_proc = elastic_line;
+ canvas_ref_proc = elastic_line_cb;
cur_latexcursor = crosshair_cursor;
} else if (mountain_mode || manhattan_mode) {
canvas_locmove_proc = constrainedangle_line;
- canvas_ref_proc = elastic_line;
+ canvas_ref_proc = elastic_line_cb;
} else {
/* freehand line */
canvas_locmove_proc = reshaping_line;
- canvas_ref_proc = elastic_linelink;
+ canvas_ref_proc = elastic_linelink_cb;
}
} else {
/* linelink, always freehand */
force_noanglegeom();
canvas_locmove_proc = reshaping_line;
- canvas_ref_proc = elastic_linelink;
+ canvas_ref_proc = elastic_linelink_cb;
}
} else {
/* must be closed spline */
force_noanglegeom();
canvas_locmove_proc = reshaping_line;
- canvas_ref_proc = elastic_linelink;
+ canvas_ref_proc = elastic_linelink_cb;
if (left_point == NULL) {
for (left_point = right_point;
left_point->next != NULL;
@@ -519,7 +519,7 @@ cancel_movedsplinepoint(int x, int y, unsigned int shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_linelink();
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -534,7 +534,7 @@ fix_movedsplinepoint(int x, int y, unsigned int shift)
(void)shift;
(*canvas_locmove_proc) (x, y);
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_linelink();
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -604,7 +604,7 @@ init_compoundpointmoving(void)
sina = fabs(dy / l);
}
canvas_locmove_proc = constrained_resizing_scale_box;
- canvas_ref_proc = elastic_fixedbox;
+ canvas_ref_proc = elastic_fixedbox_cb;
canvas_leftbut_proc = fix_movedcompoundpoint;
canvas_rightbut_proc = cancel_compound;
/* show current length(s) */
@@ -618,7 +618,7 @@ cancel_compound(int x, int y, unsigned int shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_box(fix_x, fix_y, cur_x, cur_y);
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -634,7 +634,7 @@ fix_movedcompoundpoint(int x, int y, unsigned int shift)
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_box(fix_x, fix_y, cur_x, cur_y);
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -686,7 +686,7 @@ init_linepointmoving(void)
left_point = p, p = p->next);
force_noanglegeom();
canvas_locmove_proc = reshaping_line;
- canvas_ref_proc = elastic_linelink;
+ canvas_ref_proc = elastic_linelink_cb;
break;
case T_BOX:
@@ -713,7 +713,7 @@ init_linepointmoving(void)
if (cur_l->thickness != 1)
elastic_box(fix_x, fix_y, cur_x, cur_y);
canvas_locmove_proc = constrained_resizing_box;
- canvas_ref_proc = elastic_fixedbox;
+ canvas_ref_proc = elastic_fixedbox_cb;
canvas_leftbut_proc = fix_box;
canvas_rightbut_proc = cancel_movept_box;
/* show current length(s) */
@@ -731,21 +731,21 @@ init_linepointmoving(void)
}
if (latexline_mode || latexarrow_mode) {
canvas_locmove_proc = latex_line;
- canvas_ref_proc = elastic_line;
+ canvas_ref_proc = elastic_line_cb;
cur_latexcursor = crosshair_cursor;
} else if (mountain_mode || manhattan_mode) {
canvas_locmove_proc = constrainedangle_line;
- canvas_ref_proc = elastic_line;
+ canvas_ref_proc = elastic_line_cb;
} else {
/* unconstrained or freehand line */
canvas_locmove_proc = reshaping_line;
- canvas_ref_proc = elastic_linelink;
+ canvas_ref_proc = elastic_linelink_cb;
}
} else {
/* linelink, always freehand */
force_noanglegeom();
canvas_locmove_proc = reshaping_line;
- canvas_ref_proc = elastic_linelink;
+ canvas_ref_proc = elastic_linelink_cb;
}
break;
}
@@ -762,7 +762,7 @@ cancel_movept_box(int x, int y, unsigned int shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
/* erase the elastic box */
elastic_box(fix_x, fix_y, cur_x, cur_y);
/* erase last lengths if appres.showlengths is true */
@@ -779,7 +779,7 @@ fix_box(int x, int y, unsigned int shift)
{
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_box(fix_x, fix_y, cur_x, cur_y);
/* erase last lengths if appres.showlengths is true */
erase_box_lengths();
@@ -841,7 +841,7 @@ cancel_movedlinepoint(int x, int y, unsigned int shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
/* erase the elastic line */
elastic_linelink();
/* erase last lengths if appres.showlengths is true */
@@ -859,7 +859,7 @@ fix_movedlinepoint(int x, int y, unsigned int shift)
(void)shift;
(*canvas_locmove_proc) (x, y);
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_linelink();
/* erase last lengths if appres.showlengths is true */
erase_lengths();
--- a/src/e_placelib.c
+++ b/src/e_placelib.c
@@ -88,7 +88,7 @@ put_selected(void)
orig_put_y = lib_compounds[cur_library_object]->corner.y;
canvas_locmove_proc = init_move_object;
- canvas_ref_proc = null_proc;
+ canvas_ref_proc = null_proc_move;
canvas_leftbut_proc = place_lib_object;
canvas_middlebut_proc = sel_place_lib_obj_proc;
canvas_rightbut_proc = cancel_place_lib_obj;
@@ -164,8 +164,8 @@ void
sel_place_lib_obj(void)
{
canvas_kbd_proc = transform_lib_obj;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
canvas_leftbut_proc = null_proc_button;
canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = null_proc_button;
@@ -220,7 +220,7 @@ place_lib_object_orig(int x, int y, unsigned int shift)
(void)shift;
int dx,dy;
- canvas_ref_proc = null_proc;
+ canvas_ref_proc = null_proc_move;
put_draw(ERASE);
clean_up();
/* move back to original position */
@@ -245,8 +245,8 @@ place_lib_object(int x, int y, unsigned int shift)
canvas_leftbut_proc = null_proc_button;
canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = null_proc_button;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
put_draw(ERASE);
clean_up();
if (draw_box)
@@ -276,14 +276,14 @@ static void
move_object(int x, int y)
{
int dx,dy;
- void (*save_canvas_locmove_proc) ();
- void (*save_canvas_ref_proc) ();
+ void (*save_canvas_locmove_proc) (int x, int y);
+ void (*save_canvas_ref_proc) (int x, int y);
save_canvas_locmove_proc = canvas_locmove_proc;
save_canvas_ref_proc = canvas_ref_proc;
/* so we don't recurse infinitely */
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
put_draw(ERASE);
if (!draw_box) {
dx=x-cur_x;
@@ -323,8 +323,8 @@ cancel_place_lib_obj(int x, int y, unsigned int shift)
canvas_leftbut_proc = null_proc_button;
canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = null_proc_button;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
canvas_kbd_proc = null_proc_kbd;
clear_mousefun();
set_mousefun("","","", "", "", "");
--- a/src/e_rotate.c
+++ b/src/e_rotate.c
@@ -110,8 +110,8 @@ rotate_selected(void)
set_mousefun("rotate object", "copy & rotate", "set center",
LOC_OBJ, LOC_OBJ, "set center");
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_left(init_rotate);
init_searchproc_middle(init_copynrotate);
canvas_leftbut_proc = object_search_left;
--- a/src/e_scale.c
+++ b/src/e_scale.c
@@ -106,8 +106,8 @@ scale_selected(void)
set_mousefun("scale box", "scale about center", "",
LOC_OBJ, LOC_OBJ, LOC_OBJ);
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_left(init_box_scale);
init_searchproc_middle(init_center_scale);
canvas_leftbut_proc = object_search_left;
@@ -255,11 +255,11 @@ init_boxscale_ellipse(int x, int y)
if ((cur_e->type == T_CIRCLE_BY_DIA) ||
(cur_e->type == T_CIRCLE_BY_RAD)) {
canvas_locmove_proc = constrained_resizing_cbd;
- canvas_ref_proc = elastic_cbd;
+ canvas_ref_proc = elastic_cbd_cb;
elastic_cbd();
} else {
canvas_locmove_proc = constrained_resizing_ebd;
- canvas_ref_proc = elastic_ebd;
+ canvas_ref_proc = elastic_ebd_cb;
elastic_ebd();
}
canvas_leftbut_proc = fix_boxscale_ellipse;
@@ -274,7 +274,7 @@ cancel_boxscale_ellipse(int x, int y, unsigned int shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
if ((cur_e->type == T_CIRCLE_BY_DIA) ||
(cur_e->type == T_CIRCLE_BY_RAD))
elastic_cbd();
@@ -385,7 +385,7 @@ cancel_scale_ellipse(int x, int y, unsigned int shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_scaleellipse(cur_e);
toggle_ellipsemarker(cur_e);
wrapup_scale();
@@ -463,7 +463,7 @@ cancel_scale_arc(int x, int y, unsigned int shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_scalearc(cur_a);
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -584,7 +584,7 @@ cancel_scale_spline(int x, int y, unsigned int shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_scalepts(cur_s->points);
toggle_splinemarker(cur_s);
wrapup_scale();
@@ -596,7 +596,7 @@ fix_scale_spline(int x, int y, unsigned int shift)
(void)shift;
elastic_scalepts(cur_s->points);
- canvas_ref_proc = null_proc;
+ canvas_ref_proc = null_proc_move;
adjust_box_pos(x, y, from_x, from_y, &x, &y);
/* make a copy of the original and save as unchanged object */
old_s = copy_spline(cur_s);
@@ -696,7 +696,7 @@ init_boxscale_compound(int x, int y)
boxsize_scale_msg(1);
elastic_box(fix_x, fix_y, cur_x, cur_y);
canvas_locmove_proc = constrained_resizing_scale_box;
- canvas_ref_proc = elastic_fixedbox;
+ canvas_ref_proc = elastic_fixedbox_cb;
canvas_leftbut_proc = fix_boxscale_compound;
canvas_rightbut_proc = cancel_boxscale_compound;
return True;
@@ -709,7 +709,7 @@ cancel_boxscale_compound(int x, int y, unsigned int shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_box(fix_x, fix_y, cur_x, cur_y);
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -762,7 +762,7 @@ cancel_scale_compound(int x, int y, unsigned int shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_scalecompound(cur_c);
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -1324,7 +1324,7 @@ init_boxscale_line(int x, int y)
boxsize_msg(1);
elastic_box(fix_x, fix_y, cur_x, cur_y);
canvas_locmove_proc = constrained_resizing_box;
- canvas_ref_proc = elastic_fixedbox;
+ canvas_ref_proc = elastic_fixedbox_cb;
canvas_leftbut_proc = fix_boxscale_line;
canvas_rightbut_proc = cancel_boxscale_line;
return True;
@@ -1337,7 +1337,7 @@ cancel_boxscale_line(int x, int y, unsigned int shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_box(fix_x, fix_y, cur_x, cur_y);
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -1441,7 +1441,7 @@ cancel_scale_line(int x, int y, unsigned shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_scalepts(cur_l->points);
/* erase last lengths if appres.showlengths is true */
erase_lengths();
--- a/src/e_tangent.c
+++ b/src/e_tangent.c
@@ -50,8 +50,8 @@ tangent_selected(void)
{
set_mousefun("add tangent", "add normal", "", LOC_OBJ, LOC_OBJ, LOC_OBJ);
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = smart_null_proc;
- canvas_ref_proc = smart_null_proc;
+ canvas_locmove_proc = smart_null_proc_move;
+ canvas_ref_proc = smart_null_proc_move;
init_smart_searchproc_left(init_tangent_adding);
init_smart_searchproc_middle(init_normal_adding);
canvas_leftbut_proc = smart_object_search_left;
--- a/src/e_update.c
+++ b/src/e_update.c
@@ -94,8 +94,8 @@ update_selected(void)
set_mousefun("update object", "update settings", "",
LOC_OBJ, LOC_OBJ, LOC_OBJ);
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
init_searchproc_left(init_update_object);
init_searchproc_middle(init_update_settings);
canvas_leftbut_proc = object_search_left;
--- a/src/u_drag.c
+++ b/src/u_drag.c
@@ -60,7 +60,7 @@ init_ellipsedragging(F_ellipse *e, int x, int y)
y1off = (e->center.y - e->radiuses.y) - cur_y;
y2off = (e->center.y + e->radiuses.y) - cur_y;
canvas_locmove_proc = moving_ellipse;
- canvas_ref_proc = elastic_moveellipse;
+ canvas_ref_proc = elastic_moveellipse_cb;
canvas_leftbut_proc = place_ellipse;
canvas_middlebut_proc = array_place_ellipse;
canvas_rightbut_proc = cancel_ellipse;
@@ -75,7 +75,7 @@ cancel_ellipse(int x, int y, unsigned int shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_moveellipse();
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -163,8 +163,8 @@ place_ellipse_x(int x, int y)
canvas_leftbut_proc = null_proc_button;
canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = null_proc_button;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
adjust_pos(x, y, fix_x, fix_y, &x, &y);
translate_ellipse(new_e, x - fix_x, y - fix_y);
if (return_proc == copy_selected) {
@@ -209,7 +209,7 @@ cancel_drag_arc(int x, int y, unsigned int shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_movearc(new_a);
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -296,8 +296,8 @@ place_arc_x(int x, int y)
canvas_leftbut_proc = null_proc_button;
canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = null_proc_button;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
adjust_pos(x, y, fix_x, fix_y, &x, &y);
translate_arc(new_a, x - fix_x, y - fix_y);
if (return_proc == copy_selected) {
@@ -348,7 +348,7 @@ cancel_line(int x, int y, unsigned int shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_moveline(new_l->points);
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -435,8 +435,8 @@ place_line_x(int x, int y)
canvas_leftbut_proc = null_proc_button;
canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = null_proc_button;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
adjust_pos(x, y, fix_x, fix_y, &x, &y);
dx = x - fix_x;
dy = y - fix_y;
@@ -488,7 +488,7 @@ init_textdragging(F_text *t, int x, int y)
text_origin(&x1off, &y1off, x1off, y1off, t->type, t->offset);
canvas_locmove_proc = moving_text;
- canvas_ref_proc = elastic_movetext;
+ canvas_ref_proc = elastic_movetext_cb;
canvas_leftbut_proc = place_text;
canvas_middlebut_proc = array_place_text;
canvas_rightbut_proc = cancel_text;
@@ -557,7 +557,7 @@ cancel_text(int x, int y, unsigned int shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
/* move the text back to the original position,
to clear the text at the last position it was dragged to */
moving_text(new_t->base_x + x1off, new_t->base_y + y1off);
@@ -592,8 +592,8 @@ place_text_x(int x, int y)
canvas_leftbut_proc = null_proc_button;
canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = null_proc_button;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
adjust_pos(x, y, fix_x, fix_y, &x, &y);
translate_text(new_t, x - fix_x, y - fix_y);
if (return_proc == copy_selected) {
@@ -638,7 +638,7 @@ cancel_spline(int x, int y, unsigned int shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_moveline(new_s->points);
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -725,8 +725,8 @@ place_spline_x(int x, int y)
canvas_leftbut_proc = null_proc_button;
canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = null_proc_button;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
adjust_pos(x, y, fix_x, fix_y, &x, &y);
translate_spline(new_s, x - fix_x, y - fix_y);
if (return_proc == copy_selected) {
@@ -760,7 +760,7 @@ init_compounddragging(F_compound *c, int x, int y)
y1off = c->nwcorner.y - y;
y2off = c->secorner.y - y;
canvas_locmove_proc = moving_box;
- canvas_ref_proc = elastic_movebox;
+ canvas_ref_proc = elastic_movebox_cb;
canvas_leftbut_proc = place_compound;
canvas_middlebut_proc = array_place_compound;
canvas_rightbut_proc = cancel_drag_compound;
@@ -776,7 +776,7 @@ cancel_drag_compound(int x, int y, unsigned int shift)
(void)y;
(void)shift;
- canvas_ref_proc = canvas_locmove_proc = null_proc;
+ canvas_ref_proc = canvas_locmove_proc = null_proc_move;
elastic_movebox();
/* erase last lengths if appres.showlengths is true */
erase_lengths();
@@ -866,8 +866,8 @@ place_compound_x(int x, int y)
canvas_leftbut_proc = null_proc_button;
canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = null_proc_button;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
adjust_pos(x, y, fix_x, fix_y, &x, &y);
dx = x - fix_x;
dy = y - fix_y;
--- a/src/u_elastic.c
+++ b/src/u_elastic.c
@@ -82,6 +82,15 @@ elastic_fixedbox(void)
elastic_box(fix_x, fix_y, cur_x, cur_y);
}
+void
+elastic_fixedbox_cb(int x, int y)
+{
+ (void)x;
+ (void)y;
+
+ elastic_fixedbox();
+}
+
void
elastic_movebox(void)
{
@@ -95,6 +104,15 @@ elastic_movebox(void)
elastic_links(cur_x - fix_x, cur_y - fix_y, 1.0, 1.0);
}
+void
+elastic_movebox_cb(int x, int y)
+{
+ (void)x;
+ (void)y;
+
+ elastic_movebox();
+}
+
void
moving_box(int x, int y)
{
@@ -141,8 +159,11 @@ scaling_compound(int x, int y)
}
void
-elastic_scale_curcompound(void)
+elastic_scale_curcompound(int x, int y)
{
+ (void)x;
+ (void)y;
+
elastic_scalecompound(cur_c);
}
@@ -182,6 +203,15 @@ elastic_line(void)
INV_PAINT, 1, RUBBER_LINE, 0.0, DEFAULT);
}
+void
+elastic_line_cb(int x, int y)
+{
+ (void)x;
+ (void)y;
+
+ elastic_line();
+}
+
/* this is only called by get_intermediatepoint() for drawing lines and by
the canvas_locmove_proc for drawing arcs */
@@ -331,6 +361,15 @@ elastic_linelink(void)
}
}
+void
+elastic_linelink_cb(int x, int y)
+{
+ (void)x;
+ (void)y;
+
+ elastic_linelink();
+}
+
void
moving_line(int x, int y)
{
@@ -341,8 +380,11 @@ moving_line(int x, int y)
}
void
-elastic_movenewline(void)
+elastic_movenewline(int x, int y)
{
+ (void)x;
+ (void)y;
+
elastic_moveline(new_l->points);
}
@@ -446,8 +488,11 @@ scaling_spline(int x, int y)
}
void
-elastic_scale_curspline(void)
+elastic_scale_curspline(int x, int y)
{
+ (void)x;
+ (void)y;
+
elastic_scalepts(cur_s->points);
}
@@ -545,6 +590,15 @@ elastic_ebr(void)
}
}
+void
+elastic_ebr_cb(int x, int y)
+{
+ (void)x;
+ (void)y;
+
+ elastic_ebr();
+}
+
void
resizing_ebr(int x, int y)
{
@@ -583,6 +637,15 @@ elastic_ebd(void)
}
}
+void
+elastic_ebd_cb(int x, int y)
+{
+ (void)x;
+ (void)y;
+
+ elastic_ebd();
+}
+
void
resizing_ebd(int x, int y)
{
@@ -619,6 +682,15 @@ elastic_cbr(void)
RUBBER_LINE, 0.0, UNFILLED, DEFAULT, DEFAULT, CAP_BUTT);
}
+void
+elastic_cbr_cb(int x, int y)
+{
+ (void)x;
+ (void)y;
+
+ elastic_cbr();
+}
+
void
resizing_cbr(int x, int y)
{
@@ -647,6 +719,15 @@ elastic_cbd(void)
RUBBER_LINE, 0.0, UNFILLED, DEFAULT, DEFAULT, CAP_BUTT);
}
+void
+elastic_cbd_cb(int x, int y)
+{
+ (void)x;
+ (void)y;
+
+ elastic_cbd();
+}
+
void
resizing_cbd(int x, int y)
{
@@ -685,6 +766,15 @@ elastic_moveellipse(void)
}
}
+void
+elastic_moveellipse_cb(int x, int y)
+{
+ (void)x;
+ (void)y;
+
+ elastic_moveellipse();
+}
+
void
moving_ellipse(int x, int y)
{
@@ -743,8 +833,11 @@ scaling_ellipse(int x, int y)
}
void
-elastic_scale_curellipse(void)
+elastic_scale_curellipse(int x, int y)
{
+ (void)x;
+ (void)y;
+
elastic_scaleellipse(cur_e);
}
@@ -809,6 +902,15 @@ elastic_arclink(void)
}
}
+void
+elastic_arclink_cb(int x, int y)
+{
+ (void)x;
+ (void)y;
+
+ elastic_arclink();
+}
+
void
moving_arc(int x, int y)
{
@@ -819,8 +921,11 @@ moving_arc(int x, int y)
}
void
-elastic_movenewarc(void)
+elastic_movenewarc(int x, int y)
{
+ (void)x;
+ (void)y;
+
elastic_movearc(new_a);
}
@@ -859,8 +964,11 @@ scaling_arc(int x, int y)
}
void
-elastic_scale_curarc(void)
+elastic_scale_curarc(int x, int y)
{
+ (void)x;
+ (void)y;
+
elastic_scalearc(cur_a);
}
@@ -931,6 +1039,15 @@ elastic_movetext(void)
new_t->cstring, new_t->color);
}
+void
+elastic_movetext_cb(int x, int y)
+{
+ (void)x;
+ (void)y;
+
+ elastic_movetext();
+}
+
/*************************** SPLINES *************************/
@@ -944,8 +1061,11 @@ moving_spline(int x, int y)
}
void
-elastic_movenewspline(void)
+elastic_movenewspline(int x, int y)
{
+ (void)x;
+ (void)y;
+
elastic_moveline(new_s->points);
}
--- a/src/u_elastic.h
+++ b/src/u_elastic.h
@@ -51,7 +51,9 @@ extern F_point *left_point, *right_point;
extern void elastic_box(int x1, int y1, int x2, int y2);
extern void elastic_fixedbox(void);
+extern void elastic_fixedbox_cb(int x, int y);
extern void elastic_movebox(void);
+extern void elastic_movebox_cb(int x, int y);
extern void resizing_box(int x, int y);
extern void constrained_resizing_box(int x, int y);
extern void constrained_resizing_scale_box(int x, int y);
@@ -61,27 +63,32 @@ extern void elastic_poly(int x1, int y1, int x2, int y2, int numsides);
extern void resizing_poly(int x, int y);
extern void scaling_compound(int x, int y);
extern void elastic_scalecompound(F_compound *c);
-extern void elastic_scale_curcompound(void);
+extern void elastic_scale_curcompound(int x, int y);
-extern void resizing_cbr(int x, int y), elastic_cbr(void), resizing_cbd(int x, int y), elastic_cbd(void);
-extern void resizing_ebr(int x, int y), elastic_ebr(void), resizing_ebd(int x, int y), elastic_ebd(void);
+extern void resizing_cbr(int x, int y), elastic_cbr(void), elastic_cbr_cb(int x, int y);
+extern void resizing_cbd(int x, int y), elastic_cbd(void), elastic_cbd_cb(int x, int y);
+extern void resizing_ebr(int x, int y), elastic_ebr(void), elastic_ebr_cb(int x, int y);
+extern void resizing_ebd(int x, int y), elastic_ebd(void), elastic_ebd_cb(int x, int y);
extern void constrained_resizing_ebr(int x, int y), constrained_resizing_ebd(int x, int y);
extern void constrained_resizing_cbd(int x, int y);
extern void elastic_moveellipse(void);
+extern void elastic_moveellipse_cb(int x, int y);
extern void moving_ellipse(int x, int y);
extern void elastic_scaleellipse(F_ellipse *e);
extern void scaling_ellipse(int x, int y);
-extern void elastic_scale_curellipse(void);
+extern void elastic_scale_curellipse(int x, int y);
extern void unconstrained_line(int x, int y);
extern void latex_line(int x, int y);
extern void constrainedangle_line(int x, int y);
extern void elastic_moveline(F_point *pts);
-extern void elastic_movenewline(void);
+extern void elastic_movenewline(int x, int y);
extern void elastic_line(void);
+extern void elastic_line_cb(int x, int y);
extern void moving_line(int x, int y);
extern void reshaping_line(int x, int y);
extern void elastic_linelink(void);
+extern void elastic_linelink_cb(int x, int y);
extern void elastic_scalepts(F_point *pts);
extern void scaling_line(int x, int y);
extern void elastic_scale_curline(int x, int y);
@@ -89,20 +96,22 @@ extern void elastic_scale_curline(int x, int y);
extern void arc_point(int x, int y, int numpoint);
extern void moving_arc(int x, int y);
extern void elastic_movearc(F_arc *a);
-extern void elastic_movenewarc(void);
+extern void elastic_movenewarc(int x, int y);
extern void reshaping_arc(int x, int y);
extern void elastic_arclink(void);
+extern void elastic_arclink_cb(int x, int y);
extern void scaling_arc(int x, int y);
extern void elastic_scalearc(F_arc *a);
-extern void elastic_scale_curarc(void);
+extern void elastic_scale_curarc(int x, int y);
extern void moving_text(int x, int y);
extern void elastic_movetext(void);
+extern void elastic_movetext_cb(int x, int y);
extern void moving_spline(int x, int y);
-extern void elastic_movenewspline(void);
+extern void elastic_movenewspline(int x, int y);
extern void scaling_spline(int x, int y);
-extern void elastic_scale_curspline(void);
+extern void elastic_scale_curspline(int x, int y);
extern void adjust_box_pos(int curs_x, int curs_y, int orig_x, int orig_y, int *ret_x, int *ret_y);
extern void adjust_pos(int curs_x, int curs_y, int orig_x, int orig_y, int *ret_x, int *ret_y);
--- a/src/u_smartsearch.c
+++ b/src/u_smartsearch.c
@@ -506,6 +506,15 @@ smart_null_proc(void)
smart_erase_objecthighlight();
}
+void
+smart_null_proc_move(int x, int y)
+{
+ (void)x;
+ (void)y;
+
+ smart_null_proc();
+}
+
void
smart_null_proc_button(int x, int y, unsigned int shift)
{
--- a/src/u_smartsearch.h
+++ b/src/u_smartsearch.h
@@ -31,6 +31,7 @@ void smart_object_search_left(int x, int y, unsigned int shift);
void smart_object_search_middle(int x, int y, unsigned int shift);
void smart_object_search_right(int x, int y, unsigned int shift);
void smart_null_proc(void);
+void smart_null_proc_move(int x, int y);
void smart_null_proc_button(int x, int y, unsigned int shift);
extern F_point smart_point1, smart_point2;
--- a/src/w_canvas.c
+++ b/src/w_canvas.c
@@ -70,8 +70,8 @@
/*********************** EXPORTS ************************/
void (*canvas_kbd_proc) (char *c, int clen, KeySym keysym);
-void (*canvas_locmove_proc) ();
-void (*canvas_ref_proc) ();
+void (*canvas_locmove_proc) (int x, int y);
+void (*canvas_ref_proc) (int x, int y);
void (*canvas_leftbut_proc) (int x, int y, unsigned int shift);
void (*canvas_middlebut_proc) (int x, int y, unsigned int shift);
void (*canvas_middlebut_save) (int x, int y, unsigned int shift);
@@ -107,7 +107,7 @@ static void popup_mode_panel(Widget widget, XButtonEvent *event,
static void popdown_mode_panel(void);
-void
+static void
null_proc(void)
{
/* almost does nothing */
@@ -115,6 +115,15 @@ null_proc(void)
erase_objecthighlight();
}
+void
+null_proc_move(int x, int y)
+{
+ (void)x;
+ (void)y;
+
+ null_proc();
+}
+
void
null_proc_button(int x, int y, unsigned int shift)
{
@@ -223,7 +232,7 @@ init_canvas(Widget tool)
canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = null_proc_button;
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
XtAugmentTranslations(canvas_sw,
XtParseTranslationTable(canvas_translations));
readComposeKey();
--- a/src/w_canvas.h
+++ b/src/w_canvas.h
@@ -25,14 +25,14 @@
extern void init_canvas(Widget tool);
extern void add_canvas_actions(void);
extern void (*canvas_kbd_proc) (char *c, int clen, KeySym keysym);
-extern void (*canvas_locmove_proc) ();
-extern void (*canvas_ref_proc) ();
+extern void (*canvas_locmove_proc) (int x, int y);
+extern void (*canvas_ref_proc) (int x, int y);
extern void (*canvas_leftbut_proc) (int x, int y, unsigned int shift);
extern void (*canvas_middlebut_proc) (int x, int y, unsigned int shift);
extern void (*canvas_middlebut_save) (int x, int y, unsigned int shift);
extern void (*canvas_rightbut_proc) (int x, int y, unsigned int shift);
extern void (*return_proc) (void);
-extern void null_proc(void);
+extern void null_proc_move(int x, int y);
extern void null_proc_button(int x, int y, unsigned int shift);
extern void null_proc_kbd(char *c, int clen, KeySym keysym);
extern void toggle_show_balloons(void);
--- a/src/w_cmdpanel.c
+++ b/src/w_cmdpanel.c
@@ -642,7 +642,7 @@ paste(Widget w, XtPointer closure, XtPointer call_data)
return;
}
/* redraw all of the pictures already on the canvas */
- canvas_ref_proc = null_proc;
+ canvas_ref_proc = null_proc_move;
redraw_images(&objects);
put_msg("Reading objects from \"%s\" ...Done", cut_buf_name);
@@ -683,8 +683,8 @@ cancel_paste(int x, int y, unsigned int shift)
canvas_leftbut_proc = null_proc_button;
canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = null_proc_button;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
clear_mousefun();
set_mousefun("","","", "", "", "");
turn_off_current();
@@ -708,14 +708,14 @@ static void
move_paste_object(int x, int y)
{
int dx,dy;
- void (*save_canvas_locmove_proc) ();
- void (*save_canvas_ref_proc) ();
+ void (*save_canvas_locmove_proc) (int x, int y);
+ void (*save_canvas_ref_proc) (int x, int y);
save_canvas_locmove_proc = canvas_locmove_proc;
save_canvas_ref_proc = canvas_ref_proc;
/* so we don't recurse infinitely */
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
paste_draw(ERASE);
dx=x-cur_x;
dy=y-cur_y;
@@ -762,7 +762,7 @@ place_object_orig_posn(int x, int y, unsigned int shift)
(void)shift;
int dx,dy;
- canvas_ref_proc = null_proc;
+ canvas_ref_proc = null_proc_move;
paste_draw(ERASE);
clean_up();
/* move back to original position */
--- a/src/w_library.c
+++ b/src/w_library.c
@@ -284,8 +284,8 @@ library_cancel(Widget w, XButtonEvent *ev)
/* otherwise, cancel all library operations */
reset_action_on();
canvas_kbd_proc = null_proc_kbd;
- canvas_locmove_proc = null_proc;
- canvas_ref_proc = null_proc;
+ canvas_locmove_proc = null_proc_move;
+ canvas_ref_proc = null_proc_move;
canvas_leftbut_proc = null_proc_button;
canvas_middlebut_proc = null_proc_button;
canvas_rightbut_proc = null_proc_button;
--- a/src/w_zoom.c
+++ b/src/w_zoom.c
@@ -43,8 +43,8 @@ static void do_zoom(int x, int y, unsigned int shift);
static void init_zoombox_drawing(int x, int y);
static void (*save_kbd_proc) (char *c, int clen, KeySym keysym);
-static void (*save_locmove_proc) ();
-static void (*save_ref_proc) ();
+static void (*save_locmove_proc) (int x, int y);
+static void (*save_ref_proc) (int x, int y);
static void (*save_leftbut_proc) (int x, int y, unsigned int shift);
static void (*save_middlebut_proc) (int x, int y, unsigned int shift);
static void (*save_rightbut_proc) (int x, int y, unsigned int shift);
@@ -114,8 +114,11 @@ my_box(int x, int y)
}
static void
-elastic_mybox(void)
+elastic_mybox(int x, int y)
{
+ (void)x;
+ (void)y;
+
elastic_box(my_fix_x, my_fix_y, my_cur_x, my_cur_y);
}
--
2.45.3
From 4c32a8db6429054b9d781281ac1d4b356a7a2205 Mon Sep 17 00:00:00 2001
From: Mario Haustein <
[email protected]>
Date: Sun, 2 Feb 2025 17:37:11 +0100
Subject: [PATCH 6/8] Fix prototypes for manipulation callbacks
--- a/src/e_addpt.c
+++ b/src/e_addpt.c
@@ -17,6 +17,7 @@
#include "e_addpt.h"
+#include <stdarg.h>
#include <stddef.h>
#include "resources.h"
@@ -38,7 +39,7 @@
#include "w_modepanel.h"
-static void init_point_adding(F_line *p, int type, int x, int y, int px, int py);
+static void init_point_adding(void *obj, int type, int x, int y, ...);
static void fix_linepoint_adding(int x, int y, unsigned int shift);
static void fix_splinepoint_adding(int x, int y, unsigned int shift);
static void init_linepointadding(int px, int py);
@@ -65,23 +66,32 @@ point_adding_selected(void)
}
static void
-init_point_adding(F_line *p, int type, int x, int y, int px, int py)
+init_point_adding(void *obj, int type, int x, int y, ...)
{
+ va_list args;
+ int px;
+ int py;
+
(void)x;
(void)y;
+ va_start(args, y);
+ px = va_arg(args, int);
+ py = va_arg(args, int);
+ va_end(args);
+
set_action_on();
set_mousefun("place new point", "", "cancel", LOC_OBJ, LOC_OBJ, LOC_OBJ);
draw_mousefun_canvas();
set_cursor(null_cursor);
switch (type) {
case O_POLYLINE:
- cur_l = (F_line *) p;
+ cur_l = (F_line *) obj;
/* the search routine will ensure that we don't have a box */
init_linepointadding(px, py);
break;
case O_SPLINE:
- cur_s = (F_spline *) p;
+ cur_s = (F_spline *) obj;
init_splinepointadding(px, py);
break;
default:
--- a/src/e_align.c
+++ b/src/e_align.c
@@ -51,7 +51,7 @@ static Boolean pos_spline(F_spline *s, int *min, int *size, int dir);
static Boolean pos_text(F_text *t, int *min, int *size, int dir);
static Boolean pos_compound(F_compound *c, int *min, int *size, int dir);
-static void init_align(F_line *p, int type, int x, int y, int px, int py);
+static void init_align(void *obj, int type, int x, int y, ...);
static void init_align_canvas(int x, int y, unsigned int shift);
static void align_arc(void);
static void align_ellipse(void);
@@ -139,16 +139,14 @@ init_align_canvas(int x, int y, unsigned int shift)
}
static void
-init_align(F_line *p, int type, int x, int y, int px, int py)
+init_align(void *obj, int type, int x, int y, ...)
{
(void)x;
(void)y;
- (void)px;
- (void)py;
if (type != O_COMPOUND)
return;
- cur_c = (F_compound *) p;
+ cur_c = (F_compound *) obj;
toggle_compoundmarker(cur_c);
draw_compoundelements(cur_c, ERASE);
old_c = copy_compound(cur_c);
--- a/src/e_arrow.c
+++ b/src/e_arrow.c
@@ -18,6 +18,7 @@
#include "e_arrow.h"
+#include <stdarg.h>
#include <stdlib.h>
#include "resources.h"
@@ -34,10 +35,8 @@
#include "w_mousefun.h"
-static void add_arrow_head(F_line *obj, int type, int x, int y,
- F_point *p, F_point *q, int pnum);
-static void delete_arrow_head(F_line *obj, int type, int x, int y,
- F_point *p, F_point *q, int pnum);
+static void add_arrow_head(void *obj, int type, int x, int y, ...);
+static void delete_arrow_head(void *obj, int type, int x, int y, ...);
static void add_linearrow(F_line *line, F_point *prev_point,
F_point *selected_point);
static void add_arcarrow(F_arc *arc, int point_num);
@@ -63,12 +62,22 @@ arrow_head_selected(void)
}
static void
-add_arrow_head(F_line *obj, int type, int x, int y, F_point *p, F_point *q,
- int pnum)
+add_arrow_head(void *obj, int type, int x, int y, ...)
{
(void)x;
(void)y;
+ va_list args;
+ F_point *p;
+ F_point *q;
+ int pnum;
+
+ va_start(args, y);
+ p = va_arg(args, F_point*);
+ q = va_arg(args, F_point*);
+ pnum = va_arg(args, int);
+ va_end(args);
+
switch (type) {
case O_POLYLINE:
cur_l = (F_line *) obj;
@@ -86,12 +95,22 @@ add_arrow_head(F_line *obj, int type, int x, int y, F_point *p, F_point *q,
}
static void
-delete_arrow_head(F_line *obj, int type, int x, int y, F_point *p, F_point *q,
- int pnum)
+delete_arrow_head(void *obj, int type, int x, int y, ...)
{
(void)x;
(void)y;
+ F_point *p;
+ F_point *q;
+ int pnum;
+
+ va_list args;
+ va_start(args, y);
+ p = va_arg(args, F_point*);
+ q = va_arg(args, F_point*);
+ pnum = va_arg(args, int);
+ va_end(args);
+
switch (type) {
case O_POLYLINE:
cur_l = (F_line *) obj;
--- a/src/e_break.c
+++ b/src/e_break.c
@@ -30,12 +30,9 @@
#include "w_mousefun.h"
-static void init_break(F_line *p, int type, int x, int y, int px, int py,
- int loc_tag);
-static void init_break_only(F_line *p, int type, int x, int y, int px,
- int py);
-static void init_break_tag(F_line *p, int type, int x, int y, int px,
- int py);
+static void init_break(void *obj, int type, int loc_tag);
+static void init_break_only(void *obj, int type, int x, int y, ...);
+static void init_break_tag(void *obj, int type, int x, int y, ...);
@@ -56,29 +53,28 @@ break_selected(void)
}
static void
-init_break_only(F_line *p, int type, int x, int y, int px, int py)
+init_break_only(void *obj, int type, int x, int y, ...)
{
- init_break(p, type, x, y, px, py, 0);
+ (void)x;
+ (void)y;
+ init_break(obj, type, 0);
}
static void
-init_break_tag(F_line *p, int type, int x, int y, int px, int py)
+init_break_tag(void *obj, int type, int x, int y, ...)
{
- init_break(p, type, x, y, px, py, 1);
+ (void)x;
+ (void)y;
+ init_break(obj, type, 1);
}
static void
-init_break(F_line *p, int type, int x, int y, int px, int py, int loc_tag)
+init_break(void *obj, int type, int loc_tag)
{
- (void)x;
- (void)y;
- (void)px;
- (void)py;
-
if (type != O_COMPOUND)
return;
- cur_c = (F_compound *) p;
+ cur_c = (F_compound *)obj;
mask_toggle_compoundmarker(cur_c);
clean_up();
list_delete_compound(&objects.compounds, cur_c);
--- a/src/e_chop.c
+++ b/src/e_chop.c
@@ -44,8 +44,8 @@
#include "w_snap.h"
#include "xfig_math.h"
-static void select_axe_object();
-static void select_log_object();
+static void select_axe_object(void *obj, int type, int x, int y, ...);
+static void select_log_object(void *obj, int type, int x, int y, ...);
static void clear_axe_objects(int x, int y, unsigned shift);
typedef struct {
@@ -107,9 +107,9 @@ chop_selected(void)
}
static void
-select_axe_object(void *obj, int type, int x, int y, F_point *p, F_point * q)
+select_axe_object(void *obj, int type, int x, int y, ...)
{
- (void)x; (void)y; (void)p; (void)q;
+ (void)x; (void)y;
int i;
@@ -847,10 +847,8 @@ chop_ellipse(F_ellipse * e, int x, int y)
}
static void
-select_log_object(void *obj, int type, int x, int y, F_point *p, F_point *q)
+select_log_object(void *obj, int type, int x, int y, ...)
{
- (void)p;
- (void)q;
Boolean rc;
switch(type) {
--- a/src/e_compound.c
+++ b/src/e_compound.c
@@ -66,31 +66,25 @@ static void popup_close_compound (void);
static void
-init_open_compound(F_compound *c, int type, int x, int y, int px, int py)
+init_open_compound(void *obj, int type, int x, int y, ...)
{
(void)x;
(void)y;
- (void)px;
- (void)py;
if (type != O_COMPOUND)
return;
- open_this_compound(c, False);
+ open_this_compound((F_compound*)obj, False);
}
static void
-init_open_compound_vis(F_compound *c, int type, int x, int y, int px, int py,
- int loc_tag)
+init_open_compound_vis(void *obj, int type, int x, int y, ...)
{
(void)x;
(void)y;
- (void)px;
- (void)py;
- (void)loc_tag;
if (type != O_COMPOUND)
return;
- open_this_compound(c, True);
+ open_this_compound((F_compound*)obj, True);
}
void
--- a/src/e_convert.c
+++ b/src/e_convert.c
@@ -19,6 +19,7 @@
#include "e_convert.h"
+#include <stdarg.h>
#include <stdlib.h>
#include "resources.h"
@@ -41,10 +42,8 @@
#include "w_msgpanel.h"
-static void init_convert_line_spline(F_line *p, int type, int x, int y,
- int px, int py);
-static void init_convert_open_closed(F_line *obj, int type, int x, int y,
- F_point *p, F_point *q);
+static void init_convert_line_spline(void *obj, int type, int x, int y, ...);
+static void init_convert_open_closed(void *obj, int type, int x, int y, ...);
@@ -65,12 +64,20 @@ convert_selected(void)
}
static void
-init_convert_open_closed(F_line *obj, int type, int x, int y, F_point *p,
- F_point *q)
+init_convert_open_closed(void *obj, int type, int x, int y, ...)
{
(void)x;
(void)y;
+ va_list args;
+ F_point *p;
+ F_point *q;
+
+ va_start(args, y);
+ p = va_arg(args, F_point*);
+ q = va_arg(args, F_point*);
+ va_end(args);
+
switch (type) {
case O_POLYLINE:
cur_l = (F_line *) obj;
@@ -86,15 +93,15 @@ init_convert_open_closed(F_line *obj, int type, int x, int y, F_point *p,
}
static void
-init_convert_line_spline(F_line *p, int type, int x, int y, int px, int py)
+init_convert_line_spline(void *obj, int type, int x, int y, ...)
{
- (void)x; (void)y; (void)px; (void)py;
+ (void)x; (void)y;
static int flag = 0;
switch (type) {
case O_POLYLINE:
- cur_l = (F_line *) p;
+ cur_l = (F_line *) obj;
/* the search routine will ensure that we don't have a box */
if (cur_l->type == T_POLYLINE || cur_l->type == T_POLYGON) {
line_spline(cur_l, cur_l->type == T_POLYGON ?
@@ -105,7 +112,7 @@ init_convert_line_spline(F_line *p, int type, int x, int y, int px, int py)
}
break;
case O_SPLINE:
- cur_s = (F_spline *) p;
+ cur_s = (F_spline *) obj;
flag = (cur_s->type==T_OPEN_INTERP) || (cur_s->type==T_CLOSED_INTERP);
spline_line(cur_s);
break;
--- a/src/e_copy.c
+++ b/src/e_copy.c
@@ -39,12 +39,10 @@
#include "w_msgpanel.h"
/* local routine declarations */
-static void init_copy(F_line *p, int type, int x, int y, int px, int py);
-static void init_arb_copy(F_line *p, int type, int x, int y, int px,int py);
-static void init_constrained_copy(F_line *p, int type, int x, int y, int px,
- int py);
-static void init_copy_to_scrap(F_line *p, int type, int x, int y, int px,
- int py);
+static void init_copy(void *obj, int type, int x, int y, int px, int py);
+static void init_arb_copy(void *obj, int type, int x, int y, ...);
+static void init_constrained_copy(void *obj, int type, int x, int y, ...);
+static void init_copy_to_scrap(void *obj, int type, int x, int y, ...);
@@ -68,64 +66,82 @@ copy_selected(void)
}
static void
-init_arb_copy(F_line *p, int type, int x, int y, int px, int py)
+init_arb_copy(void *obj, int type, int x, int y, ...)
{
+ va_list args;
+ int px;
+ int py;
+
+ va_start(args, y);
+ px = va_arg(args, int);
+ py = va_arg(args, int);
+ va_end(args);
+
constrained = MOVE_ARB;
- init_copy(p, type, x, y, px, py);
+ init_copy(obj, type, x, y, px, py);
set_mousefun("place object", "array placement", "cancel",
LOC_OBJ, LOC_OBJ, LOC_OBJ);
draw_mousefun_canvas();
}
static void
-init_constrained_copy(F_line *p, int type, int x, int y, int px, int py)
+init_constrained_copy(void *obj, int type, int x, int y, ...)
{
+ va_list args;
+ int px;
+ int py;
+
+ va_start(args, y);
+ px = va_arg(args, int);
+ py = va_arg(args, int);
+ va_end(args);
+
constrained = MOVE_HORIZ_VERT;
- init_copy(p, type, x, y, px, py);
+ init_copy(obj, type, x, y, px, py);
set_mousefun("place object", "array placement", "cancel",
LOC_OBJ, LOC_OBJ, LOC_OBJ);
draw_mousefun_canvas();
}
static void
-init_copy(F_line *p, int type, int x, int y, int px, int py)
+init_copy(void *obj, int type, int x, int y, int px, int py)
{
/* turn off all markers */
update_markers(0);
switch (type) {
case O_COMPOUND:
set_cursor(null_cursor);
- cur_c = (F_compound *) p;
+ cur_c = (F_compound *) obj;
new_c = copy_compound(cur_c);
init_compounddragging(new_c, px, py);
break;
case O_POLYLINE:
set_cursor(null_cursor);
- cur_l = (F_line *) p;
+ cur_l = (F_line *) obj;
new_l = copy_line(cur_l);
init_linedragging(new_l, px, py);
break;
case O_TXT:
set_cursor(null_cursor);
- cur_t = (F_text *) p;
+ cur_t = (F_text *) obj;
new_t = copy_text(cur_t);
init_textdragging(new_t, x, y);
break;
case O_ELLIPSE:
set_cursor(null_cursor);
- cur_e = (F_ellipse *) p;
+ cur_e = (F_ellipse *) obj;
new_e = copy_ellipse(cur_e);
init_ellipsedragging(new_e, px, py);
break;
case O_ARC:
set_cursor(null_cursor);
- cur_a = (F_arc *) p;
+ cur_a = (F_arc *) obj;
new_a = copy_arc(cur_a);
init_arcdragging(new_a, px, py);
break;
case O_SPLINE:
set_cursor(null_cursor);
- cur_s = (F_spline *) p;
+ cur_s = (F_spline *) obj;
new_s = copy_spline(cur_s);
init_splinedragging(new_s, px, py);
break;
@@ -135,9 +151,9 @@ init_copy(F_line *p, int type, int x, int y, int px, int py)
}
static void
-init_copy_to_scrap(F_line *p, int type, int x, int y, int px, int py)
+init_copy_to_scrap(void *obj, int type, int x, int y, ...)
{
- (void)x; (void)y; (void)px; (void)py;
+ (void)x; (void)y;
FILE *fp;
FILE *open_cut_file(void);
@@ -149,27 +165,27 @@ init_copy_to_scrap(F_line *p, int type, int x, int y, int px, int py)
switch (type) {
case O_COMPOUND:
- cur_c = (F_compound *) p;
+ cur_c = (F_compound *) obj;
write_compound(fp, cur_c);
break;
case O_ARC:
- cur_a = (F_arc *) p;
+ cur_a = (F_arc *) obj;
write_arc(fp, cur_a);
break;
case O_ELLIPSE:
- cur_e = (F_ellipse *) p;
+ cur_e = (F_ellipse *) obj;
write_ellipse(fp, cur_e);
break;
case O_POLYLINE:
- cur_l = (F_line *) p;
+ cur_l = (F_line *) obj;
write_line(fp, cur_l);
break;
case O_TXT:
- cur_t = (F_text *) p;
+ cur_t = (F_text *) obj;
write_text(fp, cur_t);
break;
case O_SPLINE:
- cur_s = (F_spline *) p;
+ cur_s = (F_spline *) obj;
write_spline(fp, cur_s);
break;
default:
--- a/src/e_delete.c
+++ b/src/e_delete.c
@@ -52,11 +52,11 @@
#include "xfig_math.h"
-static void init_delete(F_line *p, int type, int x, int y, int px, int py);
+static void init_delete(void *obj, int type, int x, int y, ...);
static void init_delete_region(int x, int y, unsigned int shift);
static void delete_region(int x, int y, unsigned int shift);
static void cancel_delete_region(int x, int y, unsigned int shift);
-static void init_delete_to_scrap(F_line *p, int type, int x, int y, int px, int py);
+static void init_delete_to_scrap(void *obj, int type, int x, int y, ...);
@@ -78,38 +78,38 @@ delete_selected(void)
}
static void
-init_delete(F_line *p, int type, int x, int y, int px, int py)
+init_delete(void *obj, int type, int x, int y, ...)
{
- (void)x; (void)y; (void)px; (void)py;
+ (void)x; (void)y;
switch (type) {
case O_COMPOUND:
- cur_c = (F_compound *) p;
+ cur_c = (F_compound *) obj;
delete_compound(cur_c);
redisplay_compound(cur_c);
break;
case O_POLYLINE:
- cur_l = (F_line *) p;
+ cur_l = (F_line *) obj;
delete_line(cur_l);
redisplay_line(cur_l);
break;
case O_TXT:
- cur_t = (F_text *) p;
+ cur_t = (F_text *) obj;
delete_text(cur_t);
redisplay_text(cur_t);
break;
case O_ELLIPSE:
- cur_e = (F_ellipse *) p;
+ cur_e = (F_ellipse *) obj;
delete_ellipse(cur_e);
redisplay_ellipse(cur_e);
break;
case O_ARC:
- cur_a = (F_arc *) p;
+ cur_a = (F_arc *) obj;
delete_arc(cur_a);
redisplay_arc(cur_a);
break;
case O_SPLINE:
- cur_s = (F_spline *) p;
+ cur_s = (F_spline *) obj;
delete_spline(cur_s);
redisplay_spline(cur_s);
break;
@@ -184,9 +184,9 @@ delete_region(int x, int y, unsigned int shift)
}
static void
-init_delete_to_scrap(F_line *p, int type, int x, int y, int px, int py)
+init_delete_to_scrap(void *obj, int type, int x, int y, ...)
{
- (void)x; (void)y; (void)px; (void)py;
+ (void)x; (void)y;
FILE *fp;
FILE *open_cut_file(void);
@@ -198,37 +198,37 @@ init_delete_to_scrap(F_line *p, int type, int x, int y, int px, int py)
switch (type) {
case O_COMPOUND:
- cur_c = (F_compound *) p;
+ cur_c = (F_compound *) obj;
write_compound(fp, cur_c);
delete_compound(cur_c);
redisplay_compound(cur_c);
break;
case O_POLYLINE:
- cur_l = (F_line *) p;
+ cur_l = (F_line *) obj;
write_line(fp, cur_l);
delete_line(cur_l);
redisplay_line(cur_l);
break;
case O_TXT:
- cur_t = (F_text *) p;
+ cur_t = (F_text *) obj;
write_text(fp, cur_t);
delete_text(cur_t);
redisplay_text(cur_t);
break;
case O_ELLIPSE:
- cur_e = (F_ellipse *) p;
+ cur_e = (F_ellipse *) obj;
write_ellipse(fp, cur_e);
delete_ellipse(cur_e);
redisplay_ellipse(cur_e);
break;
case O_ARC:
- cur_a = (F_arc *) p;
+ cur_a = (F_arc *) obj;
write_arc(fp, cur_a);
delete_arc(cur_a);
redisplay_arc(cur_a);
break;
case O_SPLINE:
- cur_s = (F_spline *) p;
+ cur_s = (F_spline *) obj;
write_spline(fp, cur_s);
delete_spline(cur_s);
redisplay_spline(cur_s);
--- a/src/e_deletept.c
+++ b/src/e_deletept.c
@@ -18,6 +18,7 @@
#include "e_deletept.h"
+#include <stdarg.h>
#include <stddef.h>
#include "resources.h"
@@ -37,8 +38,7 @@
#include "w_msgpanel.h"
-static void init_delete_point(F_line *obj, int type, int x, int y,
- F_point *p, F_point *q);
+static void init_delete_point(void *obj, int type, int x, int y, ...);
void
@@ -57,12 +57,21 @@ delete_point_selected(void)
}
static void
-init_delete_point(F_line *obj, int type, int x, int y, F_point *p, F_point *q)
+init_delete_point(void *obj, int type, int x, int y, ...)
{
(void)x;
(void)y;
+
+ va_list args;
+ F_point *p;
+ F_point *q;
int n;
+ va_start(args, y);
+ p = va_arg(args, F_point*);
+ q = va_arg(args, F_point*);
+ va_end(args);
+
switch (type) {
case O_POLYLINE:
cur_l = (F_line *) obj;
--- a/src/e_edit.c
+++ b/src/e_edit.c
@@ -27,6 +27,7 @@
#include <errno.h>
#include <math.h>
+#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -679,8 +680,7 @@ void get_generic_arrows(F_line *x)
}
}
-static void edit_spline_point(F_spline *spline, int type, int x, int y,
- F_point *previous_point, F_point *the_point);
+static void edit_spline_point(void *obj, int type, int x, int y, ...);
static void edit_figure_comments(int x, int y, unsigned int shift);
void edit_item_selected(void)
@@ -704,7 +704,7 @@ void edit_item_selected(void)
editing of the whole figure comments (shift=0)
*/
-static void popup_show_comments(F_line *p, int type, int x, int y);
+static void popup_show_comments(void *obj, int type, int x, int y, ...);
static void /* Shift Key Status from XEvent */
edit_figure_comments(int x, int y, unsigned int shift)
@@ -722,7 +722,7 @@ edit_figure_comments(int x, int y, unsigned int shift)
}
static void
-popup_show_comments(F_line *p, int type, int x, int y)
+popup_show_comments(void *obj, int type, int x, int y, ...)
{
Widget form;
static Boolean actions_added = False;
@@ -736,27 +736,27 @@ popup_show_comments(F_line *p, int type, int x, int y)
switch (type) {
case O_ARC:
- a = (F_arc *)p;
+ a = (F_arc *)obj;
comments = a->comments;
break;
case O_COMPOUND:
- c = (F_compound *)p;
+ c = (F_compound *)obj;
comments = c->comments;
break;
case O_ELLIPSE:
- e = (F_ellipse *)p;
+ e = (F_ellipse *)obj;
comments = e->comments;
break;
case O_POLYLINE:
- l = (F_line *)p;
+ l = (F_line *)obj;
comments = l->comments;
break;
case O_SPLINE:
- s = (F_spline *)p;
+ s = (F_spline *)obj;
comments = s->comments;
break;
case O_TXT:
- t = (F_text *)p;
+ t = (F_text *)obj;
comments = t->comments;
break;
} /* switch */
@@ -819,7 +819,7 @@ popdown_comments(void)
}
void
-edit_item(void *p, int type, int x, int y)
+edit_item(void *obj, int type, int x, int y, ...)
{
XtWidgetGeometry xtgeom,comp;
int llx, lly, urx, ury;
@@ -856,37 +856,37 @@ edit_item(void *p, int type, int x, int y)
/* get the bounds of the object to position the popup away from it */
switch (type) {
case O_POLYLINE:
- line_bound((F_line *)p, &llx, &lly, &urx, &ury);
- make_window_line((F_line *)p);
+ line_bound((F_line *)obj, &llx, &lly, &urx, &ury);
+ make_window_line((F_line *)obj);
break;
case O_TXT:
- text_bound((F_text *)p, &llx, &lly, &urx, &ury);
- make_window_text((F_text *)p);
+ text_bound((F_text *)obj, &llx, &lly, &urx, &ury);
+ make_window_text((F_text *)obj);
break;
case O_ELLIPSE:
- ellipse_bound((F_ellipse *)p, &llx, &lly, &urx, &ury);
- make_window_ellipse((F_ellipse *)p);
+ ellipse_bound((F_ellipse *)obj, &llx, &lly, &urx, &ury);
+ make_window_ellipse((F_ellipse *)obj);
break;
case O_ARC:
- arc_bound((F_arc *)p, &llx, &lly, &urx, &ury);
- make_window_arc((F_arc *)p);
+ arc_bound((F_arc *)obj, &llx, &lly, &urx, &ury);
+ make_window_arc((F_arc *)obj);
break;
case O_SPLINE:
- spline_bound((F_spline *)p, &llx, &lly, &urx, &ury);
- make_window_spline((F_spline *)p);
+ spline_bound((F_spline *)obj, &llx, &lly, &urx, &ury);
+ make_window_spline((F_spline *)obj);
break;
case O_COMPOUND:
/* make compound_bound() get boundaries in the current point
positioning mode, do not create a tight bounding box */
anypointposn = 0;
- compound_bound((F_compound *) p, &llx, &lly, &urx, &ury);
+ compound_bound((F_compound *) obj, &llx, &lly, &urx, &ury);
/* turn on the point positioning indicator since it is used
for editing compound */
update_indpanel(I_MIN2);
- make_window_compound((F_compound *)p);
+ make_window_compound((F_compound *)obj);
break;
case O_FIGURE:
- compound_bound((F_compound *)p, &llx, &lly, &urx, &ury);
+ compound_bound((F_compound *)obj, &llx, &lly, &urx, &ury);
make_window_figure();
break;
}
@@ -969,12 +969,21 @@ reread_picfile(Widget panel_local, XtPointer closure, XtPointer call_data)
static void
-edit_spline_point(F_spline *spline, int type, int x, int y,
- F_point *previous_point, F_point *the_point)
+edit_spline_point(void *obj, int type, int x, int y, ...)
{
(void)x;
(void)y;
+ va_list args;
+ F_point *previous_point;
+ F_point *the_point;
+ F_spline *spline = obj;
+
+ va_start(args, y);
+ previous_point = va_arg(args, F_point*);
+ the_point = va_arg(args, F_point*);
+ va_end(args);
+
if (type!=O_SPLINE) {
put_msg("Only spline points can be edited");
return;
--- a/src/e_edit.h
+++ b/src/e_edit.h
@@ -34,7 +34,7 @@ extern Widget color_selection_panel(char *label, char *wname, char *name,
Widget *button, Widget *popup,
int color, XtCallbackProc callback);
extern void color_select(Widget w, Color color);
-extern void edit_item (void *p, int type, int x, int y);
+extern void edit_item (void *p, int type, int x, int y, ...);
extern void edit_item_selected (void);
extern void push_apply_button (void);
--- a/src/e_flip.c
+++ b/src/e_flip.c
@@ -19,6 +19,7 @@
#include "e_flip.h"
#include <math.h>
+#include <stdarg.h>
#include <stddef.h>
#include "resources.h"
@@ -49,8 +50,8 @@ int setanchor_y;
static int flip_axis;
static int copy;
-static void init_flip(F_line *p, int type, int x, int y, int px, int py);
-static void init_copynflip(F_line *p, int type, int x,int y, int px,int py);
+static void init_flip(void *p, int type, int x, int y, ...);
+static void init_copynflip(void *p, int type, int x, int y, ...);
static void set_unset_anchor(int x, int y, unsigned int shift);
static void init_fliparc(F_arc *old_a, int px, int py);
static void init_flipcompound(F_compound *old_c, int px, int py);
@@ -58,7 +59,7 @@ static void init_flipellipse(F_ellipse *old_e, int px, int py);
static void init_flipline(F_line *old_l, int px, int py);
static void init_flipspline(F_spline *old_s, int px, int py);
static void flip_selected(void);
-static void flip_search(F_line *p, int type, int x, int y, int px, int py);
+static void flip_search(void *obj, int type, int x, int y, int px, int py);
static void flip_arc (F_arc *a, int x, int y, int flip_axis);
static void flip_ellipse (F_ellipse *e, int x, int y, int flip_axis);
static void flip_line (F_line *l, int x, int y, int flip_axis);
@@ -139,52 +140,70 @@ set_unset_anchor(int x, int y, unsigned int shift)
}
static void
-init_flip(F_line *p, int type, int x, int y, int px, int py)
+init_flip(void *obj, int type, int x, int y, ...)
{
+ va_list args;
+ int px;
+ int py;
+
+ va_start(args, y);
+ px = va_arg(args, int);
+ py = va_arg(args, int);
+ va_end(args);
+
copy = 0;
if (setanchor)
- flip_search(p, type, x, y,setanchor_x,setanchor_y );
+ flip_search(obj, type, x, y,setanchor_x,setanchor_y );
/* remember rotation center, e.g for multiple rotation*/
else
- flip_search(p, type, x, y, px, py);
+ flip_search(obj, type, x, y, px, py);
}
static void
-init_copynflip(F_line *p, int type, int x, int y, int px, int py)
+init_copynflip(void *obj, int type, int x, int y, ...)
{
+ va_list args;
+ int px;
+ int py;
+
+ va_start(args, y);
+ px = va_arg(args, int);
+ py = va_arg(args, int);
+ va_end(args);
+
copy = 1;
if (setanchor)
- flip_search(p, type, x, y,setanchor_x,setanchor_y );
+ flip_search(obj, type, x, y,setanchor_x,setanchor_y );
/* remember rotation center, e.g for multiple rotation*/
else
- flip_search(p, type, x, y, px, py);
+ flip_search(obj, type, x, y, px, py);
}
static void
-flip_search(F_line *p, int type, int x, int y, int px, int py)
+flip_search(void *obj, int type, int x, int y, int px, int py)
{
(void)x;
(void)y;
switch (type) {
case O_POLYLINE:
- cur_l = (F_line *) p;
+ cur_l = (F_line *) obj;
init_flipline(cur_l, px, py);
break;
case O_ARC:
- cur_a = (F_arc *) p;
+ cur_a = (F_arc *) obj;
init_fliparc(cur_a, px, py);
break;
case O_ELLIPSE:
- cur_e = (F_ellipse *) p;
+ cur_e = (F_ellipse *) obj;
init_flipellipse(cur_e, px, py);
break;
case O_SPLINE:
- cur_s = (F_spline *) p;
+ cur_s = (F_spline *) obj;
init_flipspline(cur_s, px, py);
break;
case O_COMPOUND:
- cur_c = (F_compound *) p;
+ cur_c = (F_compound *) obj;
init_flipcompound(cur_c, px, py);
break;
default:
--- a/src/e_glue.c
+++ b/src/e_glue.c
@@ -45,7 +45,7 @@ static void create_compoundobject(int x, int y, unsigned int shift);
static void cancel_tag_region(int x, int y, unsigned int shift);
static void init_tag_region(int x, int y, unsigned int shift);
static void tag_region(int x, int y, unsigned int shift);
-static void tag_object(F_line *p, int type, int x, int y, int px, int py);
+static void tag_object(void *obj, int type, int x, int y, ...);
static void get_arc(F_arc **list);
static void sel_arc(int xmin, int ymin, int xmax, int ymax);
static void get_compound(F_compound **list);
@@ -77,38 +77,38 @@ compound_selected(void)
}
static void
-tag_object(F_line *p, int type, int x, int y, int px, int py)
+tag_object(void *obj, int type, int x, int y, ...)
{
- (void)x; (void)y; (void)px; (void)py;
+ (void)x; (void)y;
switch (type) {
case O_COMPOUND:
- cur_c = (F_compound *) p;
+ cur_c = (F_compound *) obj;
toggle_compoundhighlight(cur_c);
cur_c->tagged = 1 - cur_c->tagged;
break;
case O_POLYLINE:
- cur_l = (F_line *) p;
+ cur_l = (F_line *) obj;
toggle_linehighlight(cur_l);
cur_l->tagged = 1 - cur_l->tagged;
break;
case O_TXT:
- cur_t = (F_text *) p;
+ cur_t = (F_text *) obj;
toggle_texthighlight(cur_t);
cur_t->tagged = 1 - cur_t->tagged;
break;
case O_ELLIPSE:
- cur_e = (F_ellipse *) p;
+ cur_e = (F_ellipse *) obj;
toggle_ellipsehighlight(cur_e);
cur_e->tagged = 1 - cur_e->tagged;
break;
case O_ARC:
- cur_a = (F_arc *) p;
+ cur_a = (F_arc *) obj;
toggle_archighlight(cur_a);
cur_a->tagged = 1 - cur_a->tagged;
break;
case O_SPLINE:
- cur_s = (F_spline *) p;
+ cur_s = (F_spline *) obj;
toggle_splinehighlight(cur_s);
cur_s->tagged = 1 - cur_s->tagged;
break;
--- a/src/e_joinsplit.c
+++ b/src/e_joinsplit.c
@@ -17,6 +17,7 @@
#include "e_joinsplit.h"
+#include <stdarg.h>
#include <stdlib.h>
#include <X11/Intrinsic.h> /* includes X11/Xlib.h */
@@ -41,9 +42,8 @@
#include "w_msgpanel.h"
-static void init_join(F_line *obj, int type, int x, int y, F_point *p,
- F_point *q);
-static void init_split(F_line *obj, int type, int x, int y, int px, int py);
+static void init_join(void *obj, int type, int x, int y, ...);
+static void init_split(void *obj, int type, int x, int y, ...);
static void join_lines(F_line *line, F_point *prev_point,
F_point *selected_point);
static void join_splines(F_spline *spline, F_point *prev_point,
@@ -51,10 +51,8 @@ static void join_splines(F_spline *spline, F_point *prev_point,
static void split_line(int px, int py);
static void split_spline(int px, int py);
static void cancel_join(int x, int y, unsigned int shift);
-static void join_line2(F_line *obj, int type, int x, int y, F_point *p,
- F_point *q);
-static void join_spline2(F_line *obj, int type, int x, int y, F_point *p,
- F_point *q);
+static void join_line2(void *obj, int type, int x, int y, ...);
+static void join_spline2(void *obj, int type, int x, int y, ...);
static Boolean connect_line_points(F_line *line1, Boolean first1,
F_line *line2, Boolean first2, F_line *new_line);
static Boolean connect_spline_points(F_spline *spline1, Boolean first1,
@@ -90,11 +88,20 @@ join_split_selected(void)
}
static void
-init_join(F_line *obj, int type, int x, int y, F_point *p, F_point *q)
+init_join(void *obj, int type, int x, int y, ...)
{
(void)x;
(void)y;
+ va_list args;
+ F_point *p;
+ F_point *q;
+
+ va_start(args, y);
+ p = va_arg(args, F_point*);
+ q = va_arg(args, F_point*);
+ va_end(args);
+
switch (type) {
case O_POLYLINE:
cur_l = (F_line *) obj;
@@ -110,11 +117,20 @@ init_join(F_line *obj, int type, int x, int y, F_point *p, F_point *q)
}
static void
-init_split(F_line *obj, int type, int x, int y, int px, int py)
+init_split(void *obj, int type, int x, int y, ...)
{
(void)x;
(void)y;
+ va_list args;
+ int px;
+ int py;
+
+ va_start(args, y);
+ px = va_arg(args, int);
+ py = va_arg(args, int);
+ va_end(args);
+
switch (type) {
case O_POLYLINE:
cur_l = (F_line *) obj;
@@ -227,13 +243,22 @@ cancel_join(int x, int y, unsigned int shift)
}
static void
-join_line2(F_line *obj, int type, int x, int y, F_point *p, F_point *q)
+join_line2(void *obj, int type, int x, int y, ...)
{
(void)x;
(void)y;
+
+ va_list args;
+ F_point *p;
+ F_point *q;
F_line *line;
F_point *lastp;
+ va_start(args, y);
+ p = va_arg(args, F_point*);
+ q = va_arg(args, F_point*);
+ va_end(args);
+
if (type != O_POLYLINE)
return;
/* only continue if the user has selected an end point */
@@ -276,19 +301,28 @@ join_line2(F_line *obj, int type, int x, int y, F_point *p, F_point *q)
}
static void
-join_spline2(F_line *obj, int type, int x, int y, F_point *p, F_point *q)
+join_spline2(void *obj, int type, int x, int y, ...)
{
(void)x;
(void)y;
+
+ va_list args;
+ F_point *p;
+ F_point *q;
F_spline *spline;
+ va_start(args, y);
+ p = va_arg(args, F_point*);
+ q = va_arg(args, F_point*);
+ va_end(args);
+
if (type != O_SPLINE)
return;
/* only continue if the user has selected an end point */
if (p != NULL && q->next != NULL)
return;
spline = (F_spline *) obj;
- first2 = (q == obj->points);
+ first2 = (q == spline->points);
new_s = copy_spline(spline1);
/* if user clicked on both endpoints of a spline, make it a closed SPLINE */
if (spline == spline1) {
--- a/src/e_measure.c
+++ b/src/e_measure.c
@@ -40,9 +40,9 @@
/* Measuring angles, lengths and areas */
-static void init_anglemeas_object(char *p, int type, int x, int y, F_point *pp, F_point *pq);
-static void init_anglemeas_object_m(char *p, int type, int x, int y, F_point *pp, F_point *pq);
-static void init_anglemeas_object_r(char *p, int type, int x, int y, F_point *pp, F_point *pq);
+static void init_anglemeas_object(void *p, int type, F_point *pq);
+static void init_anglemeas_object_m(void *p, int type, int x, int y, ...);
+static void init_anglemeas_object_r(void *p, int type, int x, int y, ...);
static void init_anglemeas_threepoints(int px, int py, unsigned int shift);
static void anglemeas_second(int x, int y, unsigned int shift);
@@ -55,14 +55,14 @@ static void anglemeas_arc(F_arc *a);
static void angle_msg(double value, char *msgtext);
static void angle_save(double value);
-static void init_lenmeas_object(char *p, int type, int x, int y, int px, int py);
-static void init_lenmeas_object_l(char *p, int type, int x, int y, int px, int py);
-static void init_lenmeas_object_m(char *p, int type, int x, int y, int px, int py);
+static void init_lenmeas_object(void *obj, int type);
+static void init_lenmeas_object_l(void *obj, int type, int x, int y, ...);
+static void init_lenmeas_object_m(void *obj, int type, int x, int y, ...);
static void clear_lenmeas_memory(int x, int y, unsigned int shift);
-static void init_areameas_object(char *p, int type, int x, int y, int px, int py);
-static void init_areameas_object_l(char *p, int type, int x, int y, int px, int py);
-static void init_areameas_object_m(char *p, int type, int x, int y, int px, int py);
+static void init_areameas_object(void *obj, int type);
+static void init_areameas_object_l(void *obj, int type, int x, int y, ...);
+static void init_areameas_object_m(void *obj, int type, int x, int y, ...);
static void clear_areameas_memory(int x, int y, unsigned int shift);
static void freehand_line_nomsg(int x, int y);
@@ -122,33 +122,53 @@ angle_save(double value)
/* OBJECT ANGLE MEASURING */
static void
-init_anglemeas_object_m(char *p, int type, int x, int y, F_point *pp, F_point *pq)
+init_anglemeas_object_m(void *obj, int type, int x, int y, ...)
{
+ (void)x;
+ (void)y;
+
+ va_list args;
+ F_point *pp;
+ F_point *pq;
+
+ va_start(args, y);
+ pp = va_arg(args, F_point*);
+ pq = va_arg(args, F_point*);
+ va_end(args);
+
save_rotnangle = 1;
- init_anglemeas_object(p, type, x, y, pp, pq);
+ init_anglemeas_object(obj, type, pq);
}
static void
-init_anglemeas_object_r(char *p, int type, int x, int y, F_point *pp, F_point *pq)
+init_anglemeas_object_r(void *obj, int type, int x, int y, ...)
{
+ (void)x;
+ (void)y;
+
+ va_list args;
+ F_point *pp;
+ F_point *pq;
+
+ va_start(args, y);
+ pp = va_arg(args, F_point*);
+ pq = va_arg(args, F_point*);
+ va_end(args);
+
save_rotnangle = 0;
- init_anglemeas_object(p, type, x, y, pp, pq);
+ init_anglemeas_object(obj, type, pq);
}
static void
-init_anglemeas_object(char *p, int type, int x, int y, F_point *pp, F_point *pq)
+init_anglemeas_object(void *obj, int type, F_point *pq)
{
- (void)x;
- (void)y;
- (void)pp;
-
switch(type) {
case O_POLYLINE:
- cur_l = (F_line*)p;
+ cur_l = (F_line*)obj;
anglemeas_line(cur_l, pq); /* do_point_search returns `near' point in *q */
break;
case O_ARC:
- cur_a = (F_arc*)p;
+ cur_a = (F_arc*)obj;
anglemeas_arc(cur_a); /* point doesn't matter */
break;
default:
@@ -328,9 +348,8 @@ void lenmeas_selected(void)
}
static void
-init_lenmeas_object(char *p, int type, int x, int y, int px, int py)
+init_lenmeas_object(void *obj, int type)
{
- (void)x; (void)y; (void)px; (void)py;
float len;
double a,b,z;
int ok;
@@ -340,7 +359,7 @@ init_lenmeas_object(char *p, int type, int x, int y, int px, int py)
switch (type) {
case O_POLYLINE:
- cur_l = (F_line*) p;
+ cur_l = (F_line*) obj;
(void) compute_poly_length(cur_l, &len);
if (cur_l->type == T_BOX || cur_l->type == T_PICTURE)
msgtext = "box";
@@ -356,7 +375,7 @@ init_lenmeas_object(char *p, int type, int x, int y, int px, int py)
break;
case O_ARC:
- cur_a = (F_arc*) p;
+ cur_a = (F_arc*) obj;
if (compute_arc_length(cur_a, &len)) {
msgtext = "arc";
ok = 1;
@@ -364,7 +383,7 @@ init_lenmeas_object(char *p, int type, int x, int y, int px, int py)
break;
case O_ELLIPSE:
- cur_e = (F_ellipse*) p;
+ cur_e = (F_ellipse*) obj;
/* ellipse or circle? */
if (cur_e->radiuses.x == cur_e->radiuses.y) {
msgtext = "circle";
@@ -395,17 +414,23 @@ init_lenmeas_object(char *p, int type, int x, int y, int px, int py)
}
static void
-init_lenmeas_object_l(char *p, int type, int x, int y, int px, int py)
+init_lenmeas_object_l(void *obj, int type, int x, int y, ...)
{
+ (void)x;
+ (void)y;
+
save_len = 0;
- init_lenmeas_object(p, type, x, y, px, py);
+ init_lenmeas_object(obj, type);
}
static void
-init_lenmeas_object_m(char *p, int type, int x, int y, int px, int py)
+init_lenmeas_object_m(void *obj, int type, int x, int y, ...)
{
+ (void)x;
+ (void)y;
+
save_len = 1;
- init_lenmeas_object(p, type, x, y, px, py);
+ init_lenmeas_object(obj, type);
}
static void
@@ -441,9 +466,8 @@ void areameas_selected(void)
static void
-init_areameas_object(char *p, int type, int x, int y, int px, int py)
+init_areameas_object(void *obj, int type)
{
- (void)x; (void)y; (void)px; (void)py;
float area;
int ok;
char *msgtext;
@@ -452,7 +476,7 @@ init_areameas_object(char *p, int type, int x, int y, int px, int py)
switch (type) {
case O_POLYLINE:
- cur_l = (F_line*) p;
+ cur_l = (F_line*) obj;
if (1) {
compute_poly_area(cur_l, &area);
if (cur_l->type == T_BOX)
@@ -469,7 +493,7 @@ init_areameas_object(char *p, int type, int x, int y, int px, int py)
break;
case O_ARC:
- cur_a = (F_arc*) p;
+ cur_a = (F_arc*) obj;
if (compute_arc_area(cur_a, &area)) {
if (cur_a->type == T_OPEN_ARC)
msgtext = "open arc";
@@ -480,7 +504,7 @@ init_areameas_object(char *p, int type, int x, int y, int px, int py)
break;
case O_ELLIPSE:
- cur_e = (F_ellipse*) p;
+ cur_e = (F_ellipse*) obj;
if (compute_ellipse_area(cur_e, &area)) {
msgtext = "ellipse";
ok = 1;
@@ -503,17 +527,23 @@ init_areameas_object(char *p, int type, int x, int y, int px, int py)
}
static void
-init_areameas_object_l(char *p, int type, int x, int y, int px, int py)
+init_areameas_object_l(void *obj, int type, int x, int y, ...)
{
+ (void)x;
+ (void)y;
+
save_area = 0;
- init_areameas_object(p, type, x, y, px, py);
+ init_areameas_object(obj, type);
}
static void
-init_areameas_object_m(char *p, int type, int x, int y, int px, int py)
+init_areameas_object_m(void *obj, int type, int x, int y, ...)
{
+ (void)x;
+ (void)y;
+
save_area = 1;
- init_areameas_object(p, type, x, y, px, py);
+ init_areameas_object(obj, type);
}
static void
--- a/src/e_move.c
+++ b/src/e_move.c
@@ -16,6 +16,8 @@
*
*/
+#include <stdarg.h>
+
#include "e_move.h"
#include "resources.h"
@@ -32,10 +34,9 @@
#include "w_mousefun.h"
-static void init_move(F_line *p, int type, int x, int y, int px, int py);
-static void init_arb_move(F_line *p, int type, int x, int y, int px,int py);
-static void init_constrained_move(F_line *p, int type, int x, int y, int px,
- int py);
+static void init_move(void *obj, int type, int x, int y, int px, int py);
+static void init_arb_move(void *obj, int type, int x, int y, ...);
+static void init_constrained_move(void *obj, int type, int x, int y, ...);
void
@@ -55,20 +56,38 @@ move_selected(void)
}
static void
-init_arb_move(F_line *p, int type, int x, int y, int px, int py)
+init_arb_move(void *obj, int type, int x, int y, ...)
{
+ va_list args;
+ int px;
+ int py;
+
+ va_start(args, y);
+ px = va_arg(args, int);
+ py = va_arg(args, int);
+ va_end(args);
+
constrained = MOVE_ARB;
- init_move(p, type, x, y, px, py);
+ init_move(obj, type, x, y, px, py);
canvas_middlebut_proc = null_proc_button;
set_mousefun("place object", "", "cancel", LOC_OBJ, LOC_OBJ, LOC_OBJ);
draw_mousefun_canvas();
}
static void
-init_constrained_move(F_line *p, int type, int x, int y, int px, int py)
+init_constrained_move(void *obj, int type, int x, int y, ...)
{
+ va_list args;
+ int px;
+ int py;
+
+ va_start(args, y);
+ px = va_arg(args, int);
+ py = va_arg(args, int);
+ va_end(args);
+
constrained = MOVE_HORIZ_VERT;
- init_move(p, type, x, y, px, py);
+ init_move(obj, type, x, y, px, py);
canvas_middlebut_proc = canvas_leftbut_proc;
canvas_leftbut_proc = null_proc_button;
set_mousefun("", "place object", "cancel", LOC_OBJ, LOC_OBJ, LOC_OBJ);
@@ -76,14 +95,14 @@ init_constrained_move(F_line *p, int type, int x, int y, int px, int py)
}
static void
-init_move(F_line *p, int type, int x, int y, int px, int py)
+init_move(void *obj, int type, int x, int y, int px, int py)
{
/* turn off all markers */
update_markers(0);
switch (type) {
case O_COMPOUND:
set_cursor(wait_cursor);
- cur_c = (F_compound *) p;
+ cur_c = (F_compound *) obj;
list_delete_compound(&objects.compounds, cur_c);
redisplay_compound(cur_c);
set_cursor(null_cursor);
@@ -91,7 +110,7 @@ init_move(F_line *p, int type, int x, int y, int px, int py)
break;
case O_POLYLINE:
set_cursor(wait_cursor);
- cur_l = (F_line *) p;
+ cur_l = (F_line *) obj;
list_delete_line(&objects.lines, cur_l);
redisplay_line(cur_l);
set_cursor(null_cursor);
@@ -99,7 +118,7 @@ init_move(F_line *p, int type, int x, int y, int px, int py)
break;
case O_TXT:
set_cursor(wait_cursor);
- cur_t = (F_text *) p;
+ cur_t = (F_text *) obj;
list_delete_text(&objects.texts, cur_t);
redisplay_text(cur_t);
set_cursor(null_cursor);
@@ -107,7 +126,7 @@ init_move(F_line *p, int type, int x, int y, int px, int py)
break;
case O_ELLIPSE:
set_cursor(wait_cursor);
- cur_e = (F_ellipse *) p;
+ cur_e = (F_ellipse *) obj;
list_delete_ellipse(&objects.ellipses, cur_e);
redisplay_ellipse(cur_e);
set_cursor(null_cursor);
@@ -115,7 +134,7 @@ init_move(F_line *p, int type, int x, int y, int px, int py)
break;
case O_ARC:
set_cursor(wait_cursor);
- cur_a = (F_arc *) p;
+ cur_a = (F_arc *) obj;
list_delete_arc(&objects.arcs, cur_a);
redisplay_arc(cur_a);
set_cursor(null_cursor);
@@ -123,7 +142,7 @@ init_move(F_line *p, int type, int x, int y, int px, int py)
break;
case O_SPLINE:
set_cursor(wait_cursor);
- cur_s = (F_spline *) p;
+ cur_s = (F_spline *) obj;
list_delete_spline(&objects.splines, cur_s);
redisplay_spline(cur_s);
set_cursor(null_cursor);
--- a/src/e_movept.c
+++ b/src/e_movept.c
@@ -60,9 +60,9 @@ static void relocate_ellipsepoint(F_ellipse *ellipse, int x, int y, int point_nu
static void relocate_linepoint(F_line *line, int x, int y, F_point *moved_point, F_point *left_point);
static void relocate_splinepoint(F_spline *s, int x, int y, F_point *moved_point);
-static Boolean init_move_point(F_line *obj, int type, int x, int y, F_point *p, F_point *q, int pnum);
-static void init_arb_move_point(F_line *obj, int type, int x, int y, F_point *p, F_point *q, int pnum);
-static void init_stretch_move_point(F_line *obj, int type, int x, int y, F_point *p, F_point *q, int pnum);
+static Boolean init_move_point(F_line *obj, int type, F_point *p, F_point *q, int pnum);
+static void init_arb_move_point(void *obj, int type, int x, int y, ...);
+static void init_stretch_move_point(void *obj, int type, int x, int y, ...);
static void fix_movedarcpoint(int x, int y, unsigned int shift);
static void fix_movedellipsepoint(int x, int y, unsigned int shift);
@@ -94,10 +94,24 @@ void move_point_selected(void)
}
static void
-init_arb_move_point(F_line *obj, int type, int x, int y, F_point *p, F_point *q, int pnum)
+init_arb_move_point(void *obj, int type, int x, int y, ...)
{
+ (void)x;
+ (void)y;
+
+ va_list args;
+ F_point *p;
+ F_point *q;
+ int pnum;
+
+ va_start(args, y);
+ p = va_arg(args, F_point*);
+ q = va_arg(args, F_point*);
+ pnum = va_arg(args, int);
+ va_end(args);
+
constrained = MOVE_ARB;
- if (!init_move_point(obj, type, x, y, p, q, pnum))
+ if (!init_move_point(obj, type, p, q, pnum))
return;
set_mousefun("new posn", "", "cancel", LOC_OBJ, LOC_OBJ, LOC_OBJ);
draw_mousefun_canvas();
@@ -105,10 +119,24 @@ init_arb_move_point(F_line *obj, int type, int x, int y, F_point *p, F_point *q,
}
static void
-init_stretch_move_point(F_line *obj, int type, int x, int y, F_point *p, F_point *q, int pnum)
+init_stretch_move_point(void *obj, int type, int x, int y, ...)
{
+ (void)x;
+ (void)y;
+
+ va_list args;
+ F_point *p;
+ F_point *q;
+ int pnum;
+
+ va_start(args, y);
+ p = va_arg(args, F_point*);
+ q = va_arg(args, F_point*);
+ pnum = va_arg(args, int);
+ va_end(args);
+
constrained = MOVE_HORIZ_VERT;
- if (!init_move_point(obj, type, x, y, p, q, pnum))
+ if (!init_move_point(obj, type, p, q, pnum))
return;
set_mousefun("", "new posn", "cancel", LOC_OBJ, LOC_OBJ, LOC_OBJ);
draw_mousefun_canvas();
@@ -117,12 +145,8 @@ init_stretch_move_point(F_line *obj, int type, int x, int y, F_point *p, F_point
}
static Boolean
-init_move_point(F_line *obj, int type, int x, int y, F_point *p, F_point *q,
- int pnum)
+init_move_point(F_line *obj, int type, F_point *p, F_point *q, int pnum)
{
- (void)x;
- (void)y;
-
left_point = p;
moved_point = q;
switch (type) {
--- a/src/e_rotate.c
+++ b/src/e_rotate.c
@@ -18,6 +18,7 @@
#include "e_rotate.h"
+#include <stdarg.h>
#include <stddef.h>
#include <math.h>
@@ -54,11 +55,11 @@ float act_rotnangle;
static int copy;
-static void init_rotate(F_line *p, int type, int x, int y, int px, int py);
+static void init_rotate(void *obj, int type, int x, int y, ...);
static void set_unset_center(int x, int y, unsigned int shift);
-static void init_copynrotate(F_line *p, int type, int x,int y,int px,int py);
+static void init_copynrotate(void *obj, int type, int x, int y, ...);
static void rotate_selected(void);
-static void rotate_search(F_line *p, int type, int x, int y, int px, int py);
+static void rotate_search(F_line *p, int type, int px, int py);
static void init_rotateline(F_line *l, int px, int py);
static void init_rotatetext(F_text *t, int px, int py);
static void init_rotatearc (F_arc *a, int px, int py);
@@ -147,39 +148,59 @@ set_unset_center(int x, int y, unsigned int shift)
}
static void
-init_rotate(F_line *p, int type, int x, int y, int px, int py)
+init_rotate(void *obj, int type, int x, int y, ...)
{
+ (void)x;
+ (void)y;
+
+ va_list args;
+ int px;
+ int py;
+
+ va_start(args, y);
+ px = va_arg(args, int);
+ py = va_arg(args, int);
+ va_end(args);
+
copy = 0;
act_rotnangle = cur_rotnangle;
if (setcenter)
- rotate_search(p, type, x, y,setcenter_x,setcenter_y );
+ rotate_search(obj, type, setcenter_x,setcenter_y );
/* remember rotation center, e.g for multiple rotation*/
else
- rotate_search(p, type, x, y, px, py);
+ rotate_search(obj, type, px, py);
}
static void
-init_copynrotate(F_line *p, int type, int x, int y, int px, int py)
+init_copynrotate(void *obj, int type, int x, int y, ...)
{
+ (void)x;
+ (void)y;
+
+ va_list args;
+ int px;
+ int py;
int i;
+ va_start(args, y);
+ px = va_arg(args, int);
+ py = va_arg(args, int);
+ va_end(args);
+
copy = 1;
act_rotnangle = cur_rotnangle;
for ( i = 1; i <= cur_numcopies; act_rotnangle += cur_rotnangle, i++) {
if (setcenter)
- rotate_search(p, type, x, y,setcenter_x,setcenter_y );
+ rotate_search(obj, type, setcenter_x,setcenter_y );
/* remember rotation center */
else
- rotate_search(p, type, x, y, px, py);
+ rotate_search(obj, type, px, py);
}
}
static void
-rotate_search(F_line *p, int type, int x, int y, int px, int py)
+rotate_search(F_line *p, int type, int px, int py)
{
- (void)x;
- (void)y;
-
switch (type) {
case O_POLYLINE:
cur_l = (F_line *) p;
--- a/src/e_scale.c
+++ b/src/e_scale.c
@@ -22,6 +22,7 @@
#include "e_scale.h"
#include <math.h>
+#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -71,10 +72,9 @@ static void scale_text(F_text *t, float sx, float sy, int refx, int refy);
static void scale_arrows(F_line *obj, float sx, float sy);
static void scale_arrow(F_arrow *arrow, float sx, float sy);
-static void init_box_scale(F_line *obj, int type, int x,int y,int px,int py);
+static void init_box_scale(void *obj, int type, int x, int y, ...);
static void boxrelocate_ellipsepoint(F_ellipse *ellipse, int x, int y);
-static void init_center_scale(F_line *obj, int type, int x, int y,
- int px, int py);
+static void init_center_scale(void *obj, int type, int x, int y, ...);
static void init_scale_compound(void);
static void rescale_points(F_line *obj, int x, int y);
static void relocate_ellipsepoint(F_ellipse *ellipse, int x, int y);
@@ -121,11 +121,20 @@ char *BOX_SCL_MSG = "Can't use box scale on selected object";
char *BOX_SCL2_MSG = "Can't use box scale on selected object; try putting it into a compound";
static void
-init_box_scale(F_line *obj, int type, int x, int y, int px, int py)
+init_box_scale(void *obj, int type, int x, int y, ...)
{
(void)x;
(void)y;
+ va_list args;
+ int px;
+ int py;
+
+ va_start(args, y);
+ px = va_arg(args, int);
+ py = va_arg(args, int);
+ va_end(args);
+
switch (type) {
case O_POLYLINE:
cur_l = (F_line *) obj;
@@ -153,12 +162,21 @@ init_box_scale(F_line *obj, int type, int x, int y, int px, int py)
}
static void
-init_center_scale(F_line *obj, int type, int x, int y, int px, int py)
+init_center_scale(void *obj, int type, int x, int y, ...)
{
(void)x;
(void)y;
+
+ va_list args;
+ int px;
+ int py;
double dx, dy, l;
+ va_start(args, y);
+ px = va_arg(args, int);
+ py = va_arg(args, int);
+ va_end(args);
+
cur_x = from_x = px;
cur_y = from_y = py;
constrained = BOX_SCALE;
--- a/src/e_tangent.c
+++ b/src/e_tangent.c
@@ -16,6 +16,7 @@
#include "e_tangent.h"
#include <math.h>
+#include <stdarg.h>
#include <stddef.h>
#include "resources.h"
@@ -37,10 +38,8 @@
#define ZERO_TOLERANCE 2.0
-static void init_tangent_adding(char *p, int type, int x, int y,
- int px, int py);
-static void init_normal_adding(char *p, int type, int x, int y,
- int px, int py);
+static void init_tangent_adding(void *obj, int type, int x, int y, ...);
+static void init_normal_adding(void *obj, int type, int x, int y, ...);
static void tangent_or_normal(int x, int y, int flag);
static void tangent_normal_line(int x, int y, float vx, float vy);
@@ -65,17 +64,35 @@ tangent_selected(void)
/* smart_point1, smart_point2 are two points of the tangent */
static void
-init_tangent_adding(char *p, int type, int x, int y, int px, int py)
+init_tangent_adding(void *obj, int type, int x, int y, ...)
{
- (void)p; (void)type; (void)x; (void)y;
+ (void)obj; (void)type; (void)x; (void)y;
+
+ va_list args;
+ int px;
+ int py;
+
+ va_start(args, y);
+ px = va_arg(args, int);
+ py = va_arg(args, int);
+ va_end(args);
tangent_or_normal(px, py, 0);
}
static void
-init_normal_adding(char *p, int type, int x, int y, int px, int py)
+init_normal_adding(void *obj, int type, int x, int y, ...)
{
- (void)p; (void)type; (void)x; (void)y;
+ (void)obj; (void)type; (void)x; (void)y;
+
+ va_list args;
+ int px;
+ int py;
+
+ va_start(args, y);
+ px = va_arg(args, int);
+ py = va_arg(args, int);
+ va_end(args);
tangent_or_normal(px, py, 1);
}
--- a/src/e_update.c
+++ b/src/e_update.c
@@ -55,10 +55,8 @@
static Boolean keep_depth = False;
static int delta_depth;
-static void init_update_object(F_line *p, int type, int x, int y,
- int px, int py);
-static void init_update_settings(F_line *p, int type, int x, int y,
- int px, int py);
+static void init_update_object(void *obj, int type, int x, int y, ...);
+static void init_update_settings(void *obj, int type, int x, int y, ...);
#define min(a,b) ((a)<(b)) ? (a) : (b)
@@ -140,16 +138,16 @@ get_arrow_type(F_line *object)
/* update the indicator buttons FROM the selected object */
static void
-init_update_settings(F_line *p, int type, int x, int y, int px, int py)
+init_update_settings(void *obj, int type, int x, int y, ...)
{
- (void)x; (void)y; (void)px; (void)py;
+ (void)x; (void)y;
int old_psfont_flag, new_psfont_flag;
F_line *dline, *dtick1, *dtick2, *dbox;
F_text *dtext;
switch (type) {
case O_COMPOUND:
- cur_c = (F_compound *) p;
+ cur_c = (F_compound *) obj;
/* if this is a dimension line, update the dimline settings from it */
if (dimline_components(cur_c, &dline, &dtick1, &dtick2, &dbox)) {
@@ -199,7 +197,7 @@ init_update_settings(F_line *p, int type, int x, int y, int px, int py)
}
break;
case O_POLYLINE:
- cur_l = (F_line *) p;
+ cur_l = (F_line *) obj;
if (cur_l->type != T_PICTURE) {
up_part(cur_linewidth, cur_l->thickness, I_LINEWIDTH);
up_part(cur_fillstyle, cur_l->fill_style, I_FILLSTYLE);
@@ -226,7 +224,7 @@ init_update_settings(F_line *p, int type, int x, int y, int px, int py)
up_part(cur_boxradius, cur_l->radius, I_BOXRADIUS);
break;
case O_TXT:
- cur_t = (F_text *) p;
+ cur_t = (F_text *) obj;
up_part(cur_textjust, cur_t->type, I_TEXTJUST);
up_part(cur_pencolor, cur_t->color, I_PEN_COLOR);
up_depth_part(cur_depth, cur_t->depth);
@@ -248,7 +246,7 @@ init_update_settings(F_line *p, int type, int x, int y, int px, int py)
up_part(cur_fontsize, cur_t->size, I_FONTSIZE);
break;
case O_ELLIPSE:
- cur_e = (F_ellipse *) p;
+ cur_e = (F_ellipse *) obj;
up_part(cur_linewidth, cur_e->thickness, I_LINEWIDTH);
up_part(cur_elltextangle, cur_e->angle/M_PI*180.0, I_ELLTEXTANGLE);
up_part(cur_fillstyle, cur_e->fill_style, I_FILLSTYLE);
@@ -261,7 +259,7 @@ init_update_settings(F_line *p, int type, int x, int y, int px, int py)
up_depth_part(cur_depth, cur_e->depth);
break;
case O_ARC:
- cur_a = (F_arc *) p;
+ cur_a = (F_arc *) obj;
up_part(cur_linewidth, cur_a->thickness, I_LINEWIDTH);
up_part(cur_fillstyle, cur_a->fill_style, I_FILLSTYLE);
up_part(cur_pencolor, cur_a->pen_color, I_PEN_COLOR);
@@ -281,7 +279,7 @@ init_update_settings(F_line *p, int type, int x, int y, int px, int py)
up_from_arrow(cur_a->for_arrow,cur_a->thickness);
break;
case O_SPLINE:
- cur_s = (F_spline *) p;
+ cur_s = (F_spline *) obj;
up_part(cur_linewidth, cur_s->thickness, I_LINEWIDTH);
up_part(cur_fillstyle, cur_s->fill_style, I_FILLSTYLE);
up_part(cur_pencolor, cur_s->pen_color, I_PEN_COLOR);
@@ -331,9 +329,9 @@ void up_from_arrow(F_arrow *arrow, int thick)
/* update the selected object FROM the indicator buttons */
static void
-init_update_object(F_line *p, int type, int x, int y, int px, int py)
+init_update_object(void *obj, int type, int x, int y, ...)
{
- (void)x; (void)y; (void)px; (void)py;
+ (void)x; (void)y;
int largest;
Boolean dontupdate;
@@ -342,7 +340,7 @@ init_update_object(F_line *p, int type, int x, int y, int px, int py)
switch (type) {
case O_COMPOUND:
set_temp_cursor(wait_cursor);
- cur_c = (F_compound *) p;
+ cur_c = (F_compound *) obj;
new_c = copy_compound(cur_c);
/* keep the depths of the objects inside the compound the same
@@ -371,7 +369,7 @@ init_update_object(F_line *p, int type, int x, int y, int px, int py)
break;
case O_POLYLINE:
set_temp_cursor(wait_cursor);
- cur_l = (F_line *) p;
+ cur_l = (F_line *) obj;
new_l = copy_line(cur_l);
update_line(new_l);
change_line(cur_l, new_l);
@@ -382,7 +380,7 @@ init_update_object(F_line *p, int type, int x, int y, int px, int py)
break;
case O_TXT:
set_temp_cursor(wait_cursor);
- cur_t = (F_text *) p;
+ cur_t = (F_text *) obj;
new_t = copy_text(cur_t);
update_text(new_t);
change_text(cur_t, new_t);
@@ -391,7 +389,7 @@ init_update_object(F_line *p, int type, int x, int y, int px, int py)
break;
case O_ELLIPSE:
set_temp_cursor(wait_cursor);
- cur_e = (F_ellipse *) p;
+ cur_e = (F_ellipse *) obj;
new_e = copy_ellipse(cur_e);
update_ellipse(new_e);
change_ellipse(cur_e, new_e);
@@ -402,7 +400,7 @@ init_update_object(F_line *p, int type, int x, int y, int px, int py)
break;
case O_ARC:
set_temp_cursor(wait_cursor);
- cur_a = (F_arc *) p;
+ cur_a = (F_arc *) obj;
new_a = copy_arc(cur_a);
update_arc(new_a);
change_arc(cur_a, new_a);
@@ -413,7 +411,7 @@ init_update_object(F_line *p, int type, int x, int y, int px, int py)
break;
case O_SPLINE:
set_temp_cursor(wait_cursor);
- cur_s = (F_spline *) p;
+ cur_s = (F_spline *) obj;
new_s = copy_spline(cur_s);
update_spline(new_s);
change_spline(cur_s, new_s);
--- a/src/u_search.c
+++ b/src/u_search.c
@@ -43,10 +43,10 @@
#define TOLERANCE ((int)((display_zoomscale < 20.0? 10: 14) * \
PIX_PER_INCH/DISPLAY_PIX_PER_INCH/display_zoomscale))
-static void (*manipulate) ();
-static void (*handlerproc_left) ();
-static void (*handlerproc_middle) ();
-static void (*handlerproc_right) ();
+static void (*manipulate) (void *obj, int type, int x, int y, ...);
+static void (*handlerproc_left) (void *obj, int type, int x, int y, ...);
+static void (*handlerproc_middle) (void *obj, int type, int x, int y, ...);
+static void (*handlerproc_right) (void *obj, int type, int x, int y, ...);
static int type;
static long objectcount;
static long n;
@@ -824,19 +824,19 @@ next_compound_point_found(int x, int y, int tol, int *p, int *q, unsigned int sh
}
void
-init_searchproc_left(void (*handlerproc) (/* ??? */))
+init_searchproc_left(void (*handlerproc) (void *obj, int type, int x, int y, ...))
{
handlerproc_left = handlerproc;
}
void
-init_searchproc_middle(void (*handlerproc) (/* ??? */))
+init_searchproc_middle(void (*handlerproc) (void *obj, int type, int x, int y, ...))
{
handlerproc_middle = handlerproc;
}
void
-init_searchproc_right(void (*handlerproc) (/* ??? */))
+init_searchproc_right(void (*handlerproc) (void *obj, int type, int x, int y, ...))
{
handlerproc_right = handlerproc;
}
--- a/src/u_search.h
+++ b/src/u_search.h
@@ -24,9 +24,9 @@
Boolean in_text_bound(F_text *t, int x, int y);
-void init_searchproc_left(void (*handlerproc) (/* ??? */));
-void init_searchproc_middle(void (*handlerproc) (/* ??? */));
-void init_searchproc_right(void (*handlerproc) (/* ??? */));
+void init_searchproc_left(void (*handlerproc) (void *obj, int type, int x, int y, ...));
+void init_searchproc_middle(void (*handlerproc) (void *obj, int type, int x, int y, ...));
+void init_searchproc_right(void (*handlerproc) (void *obj, int type, int x, int y, ...));
void point_search_left(int x, int y, unsigned int shift);
void point_search_middle(int x, int y, unsigned int shift);
--- a/src/u_smartsearch.c
+++ b/src/u_smartsearch.c
@@ -59,10 +59,10 @@ void smart_toggle_objecthighlight(void);
F_point smart_point1, smart_point2;
/* locals: */
-static void (*manipulate) ();
-static void (*handlerproc_left) ();
-static void (*handlerproc_middle) ();
-static void (*handlerproc_right) ();
+static void (*manipulate) (void *, int type, int x, int y, ...);
+static void (*handlerproc_left) (void *, int type, int x, int y, ...);
+static void (*handlerproc_middle) (void *, int type, int x, int y, ...);
+static void (*handlerproc_right) (void *, int type, int x, int y, ...);
static int type;
static long objectcount;
static long n;
@@ -82,19 +82,19 @@ static F_compound *c;
void
-init_smart_searchproc_left(void (*handlerproc) (/* ??? */))
+init_smart_searchproc_left(void (*handlerproc) (void *, int type, int x, int y, ...))
{
handlerproc_left = handlerproc;
}
void
-init_smart_searchproc_middle(void (*handlerproc) (/* ??? */))
+init_smart_searchproc_middle(void (*handlerproc) (void *, int type, int x, int y, ...))
{
handlerproc_middle = handlerproc;
}
void
-init_smart_searchproc_right(void (*handlerproc) (/* ??? */))
+init_smart_searchproc_right(void (*handlerproc) (void *, int type, int x, int y, ...))
{
handlerproc_right = handlerproc;
}
--- a/src/u_smartsearch.h
+++ b/src/u_smartsearch.h
@@ -23,9 +23,9 @@
#include "object.h"
-void init_smart_searchproc_left(void (*handlerproc) (/* ??? */));
-void init_smart_searchproc_middle(void (*handlerproc) (/* ??? */));
-void init_smart_searchproc_right(void (*handlerproc) (/* ??? */));
+void init_smart_searchproc_left(void (*handlerproc) (void *obj, int type, int x, int y, ...));
+void init_smart_searchproc_middle(void (*handlerproc) (void *obj, int type, int x, int y, ...));
+void init_smart_searchproc_right(void (*handlerproc) (void *obj, int type, int x, int y, ...));
void smart_object_search_left(int x, int y, unsigned int shift);
void smart_object_search_middle(int x, int y, unsigned int shift);
--- a/src/w_snap.c
+++ b/src/w_snap.c
@@ -1036,16 +1036,15 @@ snap_ellipse_handler(F_ellipse *e, int x, int y)
}
static void
-snap_handler(void *p, int type, int x, int y, int px, int py)
+snap_handler(void *obj, int type, int x, int y, ...)
{
- (void)px; (void)py;
static void * intersect_object_1;
static int intersect_type_1;
if (snap_mode == SNAP_MODE_INTERSECT) {
switch(intersect_state) {
case INTERSECT_INITIAL:
- intersect_object_1 = p;
+ intersect_object_1 = obj;
intersect_type_1 = type;
intersect_state = INTERSECT_FIRST_FOUND;
XtVaSetValues(snap_indicator_label, XtNlabel, "I'sect 2 " , NULL);
@@ -1053,7 +1052,7 @@ snap_handler(void *p, int type, int x, int y, int px, int py)
snap_msg_set = True;
break;
case INTERSECT_FIRST_FOUND:
- snap_intersect_handler(intersect_object_1, intersect_type_1, p, type, x, y);
+ snap_intersect_handler(intersect_object_1, intersect_type_1, obj, type, x, y);
intersect_state = INTERSECT_INITIAL;
XtVaSetValues(snap_indicator_label, XtNlabel, "Intersect" , NULL);
break;
@@ -1062,19 +1061,19 @@ snap_handler(void *p, int type, int x, int y, int px, int py)
else {
switch (type) {
case O_ELLIPSE:
- snap_ellipse_handler(p, x, y);
+ snap_ellipse_handler(obj, x, y);
break;
case O_POLYLINE:
- snap_polyline_handler(p, x, y);
+ snap_polyline_handler(obj, x, y);
break;
case O_SPLINE:
- snap_spline_handler(p, x, y);
+ snap_spline_handler(obj, x, y);
break;
case O_TXT:
- snap_text_handler(p, x, y);
+ snap_text_handler(obj, x, y);
break;
case O_ARC:
- snap_arc_handler(p, x, y);
+ snap_arc_handler(obj, x, y);
break;
}
}
--
2.45.3
From 4239b93217dd95ff50caeb49737f9d6da16a77e2 Mon Sep 17 00:00:00 2001
From: Mario Haustein <
[email protected]>
Date: Sun, 2 Feb 2025 22:14:10 +0100
Subject: [PATCH 7/8] Fix X callback prototypes
--- a/src/w_cmdpanel.c
+++ b/src/w_cmdpanel.c
@@ -128,7 +128,6 @@ Widget global_panel;
static void enter_cmd_but(Widget widget, XtPointer closure, XEvent *event,
Boolean *continue_to_dispatch);
-void delete_all_cmd(Widget w, int closure, int call_data);
static void init_move_paste_object(int x, int y);
static void move_paste_object(int x, int y);
static void place_object(int x, int y, unsigned int shift);
@@ -142,7 +141,7 @@ static void popup_menu(Widget w, XEvent *event, String *params,
static void load_recent_file(Widget w, XtPointer client_data,
XtPointer call_data);
-static void popup_global_panel(Widget w);
+static void popup_global_panel(void);
static void global_panel_done(Widget w, XButtonEvent *ev);
static void global_panel_cancel(Widget w, XButtonEvent *ev);
static void character_panel_close(void);
@@ -185,15 +184,15 @@ static XtActionsRec menu_actions[] = {
menu_def file_menu_items[] = {
{"New (Meta-N)", 0, new, False},
- {"Open... (Meta-O)", 0, popup_open_panel, False},
- {"Merge... (Meta-M)", 0, popup_merge_panel, False},
+ {"Open... (Meta-O)", 0, (XtCallbackProc)popup_open_panel, False},
+ {"Merge... (Meta-M)", 0, (XtCallbackProc)popup_merge_panel, False},
#ifdef DIGITIZE
- {"Digitize... (Meta-Z)", 0, popup_digitize_panel, False},
+ {"Digitize... (Meta-Z)", 0, (XtCallbackProc)popup_digitize_panel, False},
#endif /* DIGITIZE */
- {"Save (Meta-S)", 0, do_save, False},
- {"Save As... (Meta-A)", 5, popup_saveas_panel, False},
- {"Export... (Meta-X) (Quick = Shift-Meta-X)", 0, popup_export_panel, False},
- {"Print... (Meta-P) (Quick = Shift-Meta-P)", 0, popup_print_panel, False},
+ {"Save (Meta-S)", 0, (XtCallbackProc)do_save, False},
+ {"Save As... (Meta-A)", 5, (XtCallbackProc)popup_saveas_panel, False},
+ {"Export... (Meta-X) (Quick = Shift-Meta-X)", 0, (XtCallbackProc)popup_export_panel, False},
+ {"Print... (Meta-P) (Quick = Shift-Meta-P)", 0, (XtCallbackProc)popup_print_panel, False},
{"Exit (Meta-Q)", 1, quit, False},
/* makes a line separator followed by recently loaded files */
{(char *) -1, 0, NULL, False},
@@ -201,15 +200,15 @@ menu_def file_menu_items[] = {
};
menu_def edit_menu_items[] = {
- {"Undo (Meta-U) ", 0, undo, False},
+ {"Undo (Meta-U) ", 0, (XtCallbackProc)undo, False},
{"Paste Objects (Meta-T) ", 0, paste, False},
- {"Paste Text (F18/F20)", 6, paste_primary_selection, False},
- {"Search/Replace... (Meta-I) ", -1, popup_search_panel, False},
- {"Spell Check... (Meta-K) ", 0, spell_check, False},
+ {"Paste Text (F18/F20)", 6, (XtCallbackProc)paste_primary_selection, False},
+ {"Search/Replace... (Meta-I) ", -1, (XtCallbackProc)popup_search_panel, False},
+ {"Spell Check... (Meta-K) ", 0, (XtCallbackProc)spell_check, False},
{"Delete All (Meta-D) ", 0, delete_all_cmd, False},
{"-", 0, NULL, False}, /* divider line */
- {"Global settings... (Meta-G) ", 0, show_global_settings, False},
- {"Set units... (Shift-U)", 5, popup_unit_panel, False},
+ {"Global settings... (Meta-G) ", 0, (XtCallbackProc)show_global_settings, False},
+ {"Set units... (Shift-U)", 5, (XtCallbackProc)popup_unit_panel, False},
{NULL, 0, NULL, False},
};
@@ -221,23 +220,23 @@ menu_def edit_menu_items[] = {
#define AUTO_RFS_MSG "Autorefresh mode "
menu_def view_menu_items[] = {
- {"Manage Styles... (Ctrl-Y)", 7, popup_manage_style_panel, False},
- {"Redraw (Ctrl-L)", 0, redisplay_canvas, False},
- {"Portrait/Landscape (Meta-C)", 3, change_orient, False},
- {"Zoom In (Shift-Z)", 5, inc_zoom_centered, False},
- {"Zoom Out (z)", 5, dec_zoom_centered, False},
- {"Zoom to Fit canvas (Ctrl-Z)", 8, fit_zoom, False},
- {"Unzoom", 0, unzoom, False},
- {"Pan to origin", 0, pan_origin, False},
- {"Character map", 0, popup_character_map, False},
+ {"Manage Styles... (Ctrl-Y)", 7, (XtCallbackProc)popup_manage_style_panel, False},
+ {"Redraw (Ctrl-L)", 0, (XtCallbackProc)redisplay_canvas, False},
+ {"Portrait/Landscape (Meta-C)", 3, (XtCallbackProc)change_orient, False},
+ {"Zoom In (Shift-Z)", 5, (XtCallbackProc)inc_zoom_centered, False},
+ {"Zoom Out (z)", 5, (XtCallbackProc)dec_zoom_centered, False},
+ {"Zoom to Fit canvas (Ctrl-Z)", 8, (XtCallbackProc)fit_zoom, False},
+ {"Unzoom", 0, (XtCallbackProc)unzoom, False},
+ {"Pan to origin", 0, (XtCallbackProc)pan_origin, False},
+ {"Character map", 0, (XtCallbackProc)popup_character_map, False},
{"-", 0, NULL, False}, /* divider line */
/* the following menu labels will be refreshed in refresh_view_menu() */
- {PAGE_BRD_MSG, 10, toggle_show_borders, True},
- {DPTH_MGR_MSG, 5, toggle_show_depths, True},
- {INFO_BAL_MSG, 6, toggle_show_balloons, True},
- {LINE_LEN_MSG, 10, toggle_show_lengths, True},
- {VRTX_NUM_MSG, 5, toggle_show_vertexnums, True},
- {AUTO_RFS_MSG, 0, toggle_refresh_mode, True},
+ {PAGE_BRD_MSG, 10, (XtCallbackProc)toggle_show_borders, True},
+ {DPTH_MGR_MSG, 5, (XtCallbackProc)toggle_show_depths, True},
+ {INFO_BAL_MSG, 6, (XtCallbackProc)toggle_show_balloons, True},
+ {LINE_LEN_MSG, 10, (XtCallbackProc)toggle_show_lengths, True},
+ {VRTX_NUM_MSG, 5, (XtCallbackProc)toggle_show_vertexnums, True},
+ {AUTO_RFS_MSG, 0, (XtCallbackProc)toggle_refresh_mode, True},
{NULL, 0, NULL, False},
};
@@ -298,7 +297,7 @@ main_menu_info main_menus[] = {
/* needed by setup_sizes() */
-static void create_global_panel (Widget w);
+static void create_global_panel (void);
static size_t locate_menu (String *params, Cardinal *nparams);
@@ -805,7 +804,7 @@ new(Widget w, XtPointer closure, XtPointer call_data)
}
void
-delete_all_cmd(Widget w, int closure, int call_data)
+delete_all_cmd(Widget w, XtPointer closure, XtPointer call_data)
{
(void)w;
(void)closure;
@@ -925,7 +924,7 @@ typedef struct _global {
globalStruct global;
void
-show_global_settings(Widget w)
+show_global_settings(void)
{
/* turn off Compose key LED */
setCompLED(0);
@@ -940,18 +939,18 @@ show_global_settings(Widget w)
global.allownegcoords = appres.allownegcoords;
global.showaxislines = appres.showaxislines;
- popup_global_panel(w);
+ popup_global_panel();
}
static Widget show_bal, delay_label;
static void
-popup_global_panel(Widget w)
+popup_global_panel(void)
{
Dimension ht;
if (global_popup == 0) {
- create_global_panel(w);
+ create_global_panel();
XtPopup(global_popup, XtGrabNonexclusive);
(void)XSetWMProtocols(tool_d, XtWindow(global_popup),
&wm_delete_window, 1);
@@ -969,9 +968,8 @@ popup_global_panel(Widget w)
}
static void
-create_global_panel(Widget w)
+create_global_panel(void)
{
- (void)w;
DeclareArgs(11);
Widget beside, below, freehand, recent;
Widget delay_form, delay_spinner;
--- a/src/w_cmdpanel.h
+++ b/src/w_cmdpanel.h
@@ -31,7 +31,7 @@
typedef struct {
char *name; /* name e.g. 'Save' */
int u_line; /* which character to underline (-1 means none) */
- void (*func)(); /* function that is called for menu choice */
+ XtCallbackProc func; /* function that is called for menu choice */
Boolean checkmark; /* whether a checkmark is put in the left bitmap space */
} menu_def ;
@@ -55,11 +55,11 @@ extern void add_cmd_actions(void);
extern void quit(Widget w, XtPointer closure, XtPointer call_data);
extern void new(Widget w, XtPointer closure, XtPointer call_data);
extern void paste(Widget w, XtPointer closure, XtPointer call_data);
-extern void delete_all_cmd(Widget w, int closure, int call_data);
+extern void delete_all_cmd(Widget w, XtPointer closure, XtPointer call_data);
extern void setup_cmd_panel(void);
extern void change_orient(void);
extern void setup_cmd_panel(void);
-extern void show_global_settings(Widget w);
+extern void show_global_settings(void);
extern void acc_load_recent_file(Widget w, XEvent *event, String *params, Cardinal *nparams);
extern int num_main_menus(void);
extern Widget create_menu_item(main_menu_info *menup);
--- a/src/w_digitize.c
+++ b/src/w_digitize.c
@@ -73,9 +73,8 @@ static char *example_save = (char *) NULL;
static Boolean digitize_append_save;
void
-popup_digitize_panel(Widget w)
+popup_digitize_panel(void)
{
- (void)w;
DeclareArgs(2);
char *tmpstr;
--- a/src/w_digitize.h
+++ b/src/w_digitize.h
@@ -19,8 +19,6 @@
#ifndef W_DIGITIZE_H
#define W_DIGITIZE_H
-#include <X11/Intrinsic.h>
-
-extern void popup_digitize_panel(Widget w);
+extern void popup_digitize_panel(void);
#endif
--- a/src/w_dir.c
+++ b/src/w_dir.c
@@ -832,6 +832,7 @@ DoChangeDir(char *dir)
void
Rescan(Widget w, XEvent *ev, String *params, Cardinal *num_params)
{
+ (void)w; (void)ev; (void)params; (void)num_params;
char *dir;
char **filelist, **dirlist;
--- a/src/w_export.c
+++ b/src/w_export.c
@@ -82,7 +82,6 @@ Widget export_grid_major_menu_button, export_grid_major_menu;
Widget export_grid_unit_label;
void export_update_figure_size(void);
-void do_export(Widget w);
/* LOCAL */
@@ -180,7 +179,7 @@ static void get_magnif(void);
static void get_quality(void);
static void update_figure_size(void);
static void fit_page(void);
-static void create_export_panel(Widget w);
+static void create_export_panel(void);
static void manage_optional(void);
static void set_export_mask(int lang);
@@ -238,7 +237,7 @@ static char exp_msg[] =
"The current figure is modified.\nDo you want to save it before exporting?";
void
-do_export(Widget w)
+do_export(void)
{
char *fval;
int xoff, yoff;
@@ -274,7 +273,7 @@ do_export(Widget w)
return; /* cancel, do not export */
if (!export_popup)
- create_export_panel(w);
+ create_export_panel();
/* if there is no default export name (e.g. if user has done "New" and
not entered a name) then make one up */
@@ -982,7 +981,7 @@ get_quality(void)
/* create (if necessary) and popup the export panel */
void
-popup_export_panel(Widget w)
+popup_export_panel(void)
{
char buf[60];
@@ -1030,7 +1029,7 @@ popup_export_panel(Widget w)
compound_bound(&objects, &lx, &ly, &ux, &uy);
export_update_figure_size();
} else {
- create_export_panel(w);
+ create_export_panel();
}
/* set the directory widget to the current export directory */
@@ -1148,9 +1147,8 @@ toggle_pdf_pagemode(Widget w, XtPointer closure, XtPointer call_data)
return;
}
-void create_export_panel(Widget w)
+void create_export_panel(void)
{
- (void)w;
Widget beside, below;
Widget entry, papersize_menu;
XFontStruct *temp_font;
--- a/src/w_export.h
+++ b/src/w_export.h
@@ -50,8 +50,8 @@ extern Widget export_grid_unit_label;
extern void export_grid_minor_select(Widget w, XtPointer new_grid_choice, XtPointer call_data);
extern void export_grid_major_select(Widget w, XtPointer new_grid_choice, XtPointer call_data);
-extern void popup_export_panel(Widget w);
-extern void do_export(Widget w);
+extern void popup_export_panel(void);
+extern void do_export(void);
extern void update_def_filename (void);
#endif
--- a/src/w_file.c
+++ b/src/w_file.c
@@ -92,7 +92,7 @@ Widget preview_stop, preview_label, dummy_label;
Widget comments_widget;
Boolean cancel_preview = False;
Boolean preview_in_progress = False;
-void load_request(Widget w, XButtonEvent *ev); /* needed by main() */
+void load_request(void); /* needed by main() */
/* LOCALS */
@@ -133,9 +133,12 @@ static int save_avail_image_cols;
static Boolean image_colors_are_saved = False;
static void popup_file_panel(int mode);
-static void file_panel_cancel(Widget w, XButtonEvent *ev);
-static void do_load(Widget w, XButtonEvent *ev), do_merge(Widget w, XButtonEvent *ev);
-static void merge_request(Widget w, XButtonEvent *ev), cancel_request(Widget w, XButtonEvent *ev), save_request(Widget w, XButtonEvent *ev);
+static void file_panel_cancel(void);
+static void do_load(void);
+static void do_merge(void);
+static void merge_request(void);
+static void cancel_request(void);
+static void save_request(void);
static void clear_preview(void);
DeclareStaticArgs(15);
@@ -243,7 +246,7 @@ void file_getxyoff(int *ixoff, int *iyoff)
}
static void
-merge_request(Widget w, XButtonEvent *ev)
+merge_request(void)
{
if (preview_in_progress) {
file_merge_request = True;
@@ -252,15 +255,13 @@ merge_request(Widget w, XButtonEvent *ev)
} else {
/* make sure this is false from any previous previewing */
cancel_preview = False;
- do_merge(w, ev);
+ do_merge();
}
}
static void
-do_merge(Widget w, XButtonEvent *ev)
+do_merge(void)
{
- (void)w;
- (void)ev;
char path[PATH_MAX], fname[PATH_MAX];
char *fval, *dval;
int xoff, yoff;
@@ -314,7 +315,7 @@ do_merge(Widget w, XButtonEvent *ev)
*/
void
-load_request(Widget w, XButtonEvent *ev)
+load_request(void)
{
if (preview_in_progress) {
file_load_request = True;
@@ -323,15 +324,13 @@ load_request(Widget w, XButtonEvent *ev)
} else {
/* make sure this is false from any previous previewing */
cancel_preview = False;
- do_load(w, ev);
+ do_load();
}
}
static void
-do_load(Widget w, XButtonEvent *ev)
+do_load(void)
{
- (void)w;
- (void)ev;
char fname[PATH_MAX];
char *fval, *dval;
int xoff, yoff;
@@ -451,7 +450,7 @@ new_xfig_request(Widget w, XButtonEvent *ev)
/* set a request to save. See notes above for load_request() */
void
-save_request(Widget w, XButtonEvent *ev)
+save_request(void)
{
/* turn off Compose key LED */
setCompLED(0);
@@ -463,7 +462,7 @@ save_request(Widget w, XButtonEvent *ev)
} else {
/* make sure this is false from any previous previewing */
cancel_preview = False;
- do_save(w, ev);
+ do_save();
}
}
@@ -522,10 +521,8 @@ warning:
}
void
-do_save(Widget w, XButtonEvent *ev)
+do_save(void)
{
- (void)w;
- (void)ev;
char *fval, *dval, fname[PATH_MAX];
int qresult;
@@ -679,7 +676,7 @@ query_save(char *msg)
if ((qresult = popup_query(QUERY_YESNOCAN, msg)) == RESULT_CANCEL)
return False;
else if (qresult == RESULT_YES) {
- save_request((Widget) 0, (XButtonEvent *) 0);
+ save_request();
/*
* if saving was not successful, figure_modified is still true:
* do not quit!
@@ -693,7 +690,7 @@ query_save(char *msg)
}
static void
-cancel_request(Widget w, XButtonEvent *ev)
+cancel_request(void)
{
if (preview_in_progress) {
file_cancel_request = True;
@@ -702,15 +699,13 @@ cancel_request(Widget w, XButtonEvent *ev)
} else {
/* make sure this is false from any previous previewing */
cancel_preview = False;
- file_panel_cancel(w, ev);
+ file_panel_cancel();
}
}
static void
-file_panel_cancel(Widget w, XButtonEvent *ev)
+file_panel_cancel(void)
{
- (void)w;
- (void)ev;
if (user_colors_saved) {
restore_user_colors();
restore_nuser_colors();
@@ -1648,22 +1643,22 @@ void preview_figure(char *filename, Widget parent, Widget canvas, Widget size_wi
if (file_cancel_request) {
cancel_preview = False;
- file_panel_cancel((Widget) 0, (XButtonEvent *) 0);
+ file_panel_cancel();
}
if (file_load_request) {
cancel_preview = False;
- do_load((Widget) 0, (XButtonEvent *) 0);
+ do_load();
/* if redisplay_region was called don't bother because
we're loading a file over it */
request_redraw = False;
}
if (file_merge_request) {
cancel_preview = False;
- do_merge((Widget) 0, (XButtonEvent *) 0);
+ do_merge();
}
if (file_save_request) {
cancel_preview = False;
- do_save((Widget) 0, (XButtonEvent *) 0);
+ do_save();
}
/* if user requested a canvas redraw while preview was being generated
do that now for full canvas */
--- a/src/w_file.h
+++ b/src/w_file.h
@@ -22,8 +22,8 @@
#include <X11/Intrinsic.h> /* includes X11/Xlib.h */
extern Boolean colors_are_swapped;
-extern void load_request(Widget w, XButtonEvent *ev);
-extern void do_save(Widget w, XButtonEvent *ev);
+extern void load_request(void);
+extern void do_save(void);
extern void popup_open_panel(void);
extern void popup_merge_panel(void);
extern void popup_saveas_panel(void);
--- a/src/w_fontpanel.c
+++ b/src/w_fontpanel.c
@@ -50,7 +50,7 @@ static int *font_ps_sel; /* ptr to store selected ps font in */
static int *font_latex_sel; /* ptr to store selected latex font */
static int *flag_sel; /* pointer to store ps/latex flag */
static Widget font_widget; /* widget adr to store font image in */
-static void (*font_setimage) ();
+static void (*font_setimage) (Widget font_widget);
static MenuItemRec ps_fontmenu_items[NUM_FONTS + 1];
static MenuItemRec latex_fontmenu_items[NUM_LATEX_FONTS];
@@ -340,7 +340,7 @@ setup_fontmenu(void)
}
void
-fontpane_popup(int *psfont_adr, int *latexfont_adr, int *psflag_adr, void (*showfont_fn) (/* ??? */), Widget show_widget)
+fontpane_popup(int *psfont_adr, int *latexfont_adr, int *psflag_adr, void (*showfont_fn) (Widget font_widget), Widget show_widget)
{
DeclareArgs(2);
Position xposn, yposn;
--- a/src/w_help.c
+++ b/src/w_help.c
@@ -19,7 +19,6 @@
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
-#include "w_help.h"
#include <errno.h>
#include <stdio.h>
@@ -36,6 +35,7 @@
#include "mode.h"
#include "f_util.h"
#include "w_canvas.h"
+#include "w_help.h"
#include "w_msgpanel.h"
#include "w_util.h"
--- a/src/w_help.h
+++ b/src/w_help.h
@@ -16,7 +16,9 @@
*
*/
-extern void launch_refman(), launch_refpdf_en(), launch_refpdf_jp();
-extern void launch_man();
-extern void launch_howto();
-extern void launch_about();
+extern void launch_refman(Widget w, XtPointer closure, XtPointer call_data);
+extern void launch_refpdf_en(Widget w, XtPointer closure, XtPointer call_data);
+extern void launch_refpdf_jp(Widget w, XtPointer closure, XtPointer call_data);
+extern void launch_man(Widget w, XtPointer closure, XtPointer call_data);
+extern void launch_howto(Widget w, XtPointer closure, XtPointer call_data);
+extern void launch_about(Widget w, XtPointer closure, XtPointer call_data);
--- a/src/w_indpanel.c
+++ b/src/w_indpanel.c
@@ -74,13 +74,11 @@ Boolean update_buts_managed;
Widget choice_popup;
void show_depth(ind_sw_info *sw), show_zoom(ind_sw_info *sw);
void show_fillstyle(ind_sw_info *sw);
-void fontpane_popup(int *psfont_adr, int *latexfont_adr, int *psflag_adr, void (*showfont_fn) (/* ??? */), Widget show_widget);
+void fontpane_popup(int *psfont_adr, int *latexfont_adr, int *psflag_adr, void (*showfont_fn) (Widget w), Widget show_widget);
void make_pulldown_menu_images(choice_info *entries, Cardinal nent, Pixmap *images, char **texts, Widget parent, XtCallbackProc callback);
void tog_selective_update(long unsigned int mask);
unsigned long cur_indmask; /* mask showing which indicator buttons are mapped */
-void inc_zoom_centered(ind_sw_info *sw);
-void dec_zoom_centered(ind_sw_info *sw);
-void fit_zoom(ind_sw_info *sw);
+void fit_zoom(void);
ind_sw_info ind_switches[];
ind_sw_info *fill_style_sw;
ind_sw_info *pen_color_button, *fill_color_button, *depth_button;
@@ -396,7 +394,7 @@ ind_sw_info *fill_style_sw;
ind_sw_info ind_switches[] = {
{I_FVAL, 0, "Zoom", "", NARROW_IND_SW_WD, /* always show zoom button */
- NULL, &display_zoomscale, inc_zoom_centered, dec_zoom_centered,
+ NULL, &display_zoomscale, (void (*)(ind_sw_info *sw))inc_zoom_centered, (void (*)(ind_sw_info *sw))dec_zoom_centered,
show_zoom, 0 /* MIN_ZOOM */, MAX_ZOOM, 1.0, NULL, 0, 0, False, NULL, NULL, NULL, 0, NULL},
{I_CHOICE, 0, "Grid", "Mode", DEF_IND_SW_WD, /* and grid button */
&cur_gridmode, NULL, inc_choice, dec_choice, show_gridmode, 0, 0, 0.0,
@@ -432,10 +430,10 @@ ind_sw_info ind_switches[] = {
anglegeom_choices, NUM_ANGLEGEOM_CHOICES, NUM_ANGLEGEOM_CHOICES, False,
NULL, NULL, NULL, 0, NULL},
{I_CHOICE, I_PEN_COLOR, "PenColor", "", XWIDE_IND_SW_WD,
- (int *) &cur_pencolor, NULL, next_pencolor, prev_pencolor, show_pencolor, 0, 0, 0.0,
+ (int *) &cur_pencolor, NULL, next_pencolor, prev_pencolor, (void (*)(ind_sw_info *sw))show_pencolor, 0, 0, 0.0,
color_choices, NUM_STD_COLS + 1, 7, False, NULL, NULL, NULL, 0, NULL},
{I_CHOICE, I_FILL_COLOR, "FillColor", "", XWIDE_IND_SW_WD,
- (int *) &cur_fillcolor, NULL, next_fillcolor, prev_fillcolor, show_fillcolor,0, 0, 0.0,
+ (int *) &cur_fillcolor, NULL, next_fillcolor, prev_fillcolor, (void (*)(ind_sw_info *sw))show_fillcolor,0, 0, 0.0,
color_choices, NUM_STD_COLS + 1, 7, False, NULL, NULL, NULL, 0, NULL},
{I_CHOICE, I_FILLSTYLE, "Fill", "Style", DEF_IND_SW_WD,
&cur_fillstyle, NULL, darken_fill, lighten_fill, show_fillstyle,0, 0, 0.0,
@@ -4543,16 +4541,14 @@ zoom_focus(int x, int y, void(* zoom)())
}
void
-inc_zoom_centered(ind_sw_info *sw)
+inc_zoom_centered(void)
{
- (void)sw;
zoom_focus(CANVAS_WD/2, CANVAS_HT/2, inc_zoom);
}
void
-dec_zoom_centered(ind_sw_info *sw)
+dec_zoom_centered(void)
{
- (void)sw;
zoom_focus(CANVAS_WD/2, CANVAS_HT/2, dec_zoom);
}
@@ -4602,9 +4598,8 @@ wheel_dec_zoom(void)
/* zoom figure to fully fit in canvas */
void
-fit_zoom(ind_sw_info *sw)
+fit_zoom(void)
{
- (void)sw;
int width, height;
float zoomx, zoomy;
@@ -4807,7 +4802,7 @@ zoom_to_fit(Widget w, XtPointer closure, XtPointer call_data)
(void)call_data;
ind_sw_info *sw = (ind_sw_info *) closure;
- fit_zoom(sw);
+ fit_zoom();
nval_panel_dismiss();
}
--- a/src/w_indpanel.h
+++ b/src/w_indpanel.h
@@ -139,9 +139,9 @@ typedef struct ind_sw_struct {
int sw_width;
int *i_varadr;
float *f_varadr;
- void (*inc_func) ();
- void (*dec_func) ();
- void (*show_func) ();
+ void (*inc_func) (struct ind_sw_struct *isw);
+ void (*dec_func) (struct ind_sw_struct *isw);
+ void (*show_func) (struct ind_sw_struct *isw);
int min, max; /* min, max values allowable */
float inc; /* increment for spinner */
choice_info *choices; /* specific to I_CHOICE */
@@ -169,14 +169,14 @@ extern Boolean update_buts_managed;
extern Widget choice_popup;
extern void show_depth(ind_sw_info *sw), show_zoom(ind_sw_info *sw);
extern void show_fillstyle(ind_sw_info *sw);
-extern void fontpane_popup(int *psfont_adr, int *latexfont_adr, int *psflag_adr, void (*showfont_fn) (/* ??? */), Widget show_widget);
+extern void fontpane_popup(int *psfont_adr, int *latexfont_adr, int *psflag_adr, void (*showfont_fn) (Widget w), Widget show_widget);
extern void make_pulldown_menu_images(choice_info *entries, Cardinal nent, Pixmap *images, char **texts, Widget parent, XtCallbackProc callback);
extern void tog_selective_update(long unsigned int mask);
extern unsigned long cur_indmask; /* mask showing which indicator buttons are mapped */
-extern void inc_zoom_centered(ind_sw_info *sw);
-extern void dec_zoom_centered(ind_sw_info *sw);
-extern void fit_zoom(ind_sw_info *sw);
-extern void wheel_inc_zoom(), wheel_dec_zoom();
+extern void inc_zoom_centered(void);
+extern void dec_zoom_centered(void);
+extern void fit_zoom(void);
+extern void wheel_inc_zoom(void), wheel_dec_zoom(void);
extern void update_current_settings(void);
extern void setup_ind_panel(void);
extern void manage_update_buts (void);
--- a/src/w_print.c
+++ b/src/w_print.c
@@ -69,7 +69,7 @@ Widget print_grid_major_menu_button, print_grid_major_menu;
Widget print_grid_unit_label;
void print_update_figure_size(void);
-void do_print(Widget w), do_print_batch(Widget w);
+void do_print(void), do_print_batch(void);
/* LOCAL */
@@ -114,7 +114,7 @@ static void update_figure_size(void);
static void fit_page(void);
static Position xposn, yposn;
-static void print_panel_dismiss(Widget w, XButtonEvent *ev), do_clear_batch(Widget w);
+static void print_panel_dismiss(void), do_clear_batch(void);
static void get_magnif(void);
static void update_mag(Widget widget, XtPointer item, XtPointer event);
@@ -145,14 +145,13 @@ static const char *print_command_items[] = {
" lp", /* print_command == 0 */
"lpr" /* print_command == 1 */
};
-static void create_print_panel(Widget w);
+static void create_print_panel(void);
static void update_batch_count(void);
static void
-print_panel_dismiss(Widget w, XButtonEvent *ev)
+print_panel_dismiss(void)
{
- (void)w; (void)ev;
/* first get magnification in case it changed */
/* the other things like paper size, justification, etc. are already
updated because they are from menus */
@@ -161,7 +160,7 @@ print_panel_dismiss(Widget w, XButtonEvent *ev)
}
void
-do_print(Widget w)
+do_print(void)
{
char *printer_val;
char *param_val;
@@ -179,7 +178,7 @@ do_print(Widget w)
/* create popup panel if not already there so we have all the
resources necessary (e.g. printer name etc.) */
if (!print_popup)
- create_print_panel(w);
+ create_print_panel();
/* get the magnification into appres.magnification */
get_magnif();
@@ -199,7 +198,7 @@ do_print(Widget w)
file_msg("Error during PRINT");
put_msg("Printed batch file %s", batch_file);
/* clear the batch file and the count */
- do_clear_batch(w);
+ do_clear_batch();
app_flush();
} else {
strcpy(cmd, param_val);
@@ -312,7 +311,7 @@ update_figure_size(void)
}
void
-do_print_batch(Widget w)
+do_print_batch(void)
{
char backgrnd[10], grid[80];
@@ -345,7 +344,7 @@ do_print_batch(Widget w)
batch_exists = True;
}
if (!print_popup)
- create_print_panel(w);
+ create_print_panel();
/* get magnification into appres.magnification */
get_magnif();
@@ -378,10 +377,8 @@ do_print_batch(Widget w)
}
static void
-do_clear_batch(Widget w)
+do_clear_batch(void)
{
- (void)w;
-
if (close(fdbatch))
file_msg("Error closing batch file %s: %s", batch_file,
strerror(errno));
@@ -634,7 +631,7 @@ print_update_figure_size(void)
}
void
-popup_print_panel(Widget w)
+popup_print_panel(void)
{
char buf[30];
@@ -658,7 +655,7 @@ popup_print_panel(Widget w)
"Background Color", background_select,
NO_TRANSP, INCL_BACKG);
} else {
- create_print_panel(w);
+ create_print_panel();
}
XtPopup(print_popup, XtGrabNone);
/* now that the popup is realized, put in the name of the first printer */
@@ -675,9 +672,8 @@ popup_print_panel(Widget w)
/* make the popup print panel */
-void create_print_panel(Widget w)
+void create_print_panel(void)
{
- (void)w;
Widget image;
Widget entry,mag_spinner, below, fitpage;
Pixmap p;
--- a/src/w_print.h
+++ b/src/w_print.h
@@ -34,9 +34,9 @@ extern Widget make_layer_choice(char *label_all, char *label_active,
Widget parent, Widget below, Widget beside, int hdist, int vdist);
extern void print_update_figure_size(void);
-extern void popup_print_panel(Widget w);
-extern void do_print(Widget w);
-extern void do_print_batch(Widget w);
+extern void popup_print_panel(void);
+extern void do_print(void);
+extern void do_print_batch(void);
extern Widget print_grid_minor_text, print_grid_major_text;
extern Widget print_grid_minor_menu_button, print_grid_minor_menu;
--- a/src/w_util.c
+++ b/src/w_util.c
@@ -1483,7 +1483,9 @@ Widget
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) (/* ??? */))
+ Widget *grid_unit_label,
+ void (*grid_major_select) (Widget w, XtPointer new_grid_choice, XtPointer call_data),
+ void (*grid_minor_select) (Widget w, XtPointer new_grid_choice, XtPointer call_data))
{
Widget below, beside;
--- a/src/w_util.h
+++ b/src/w_util.h
@@ -77,7 +77,7 @@ extern char *grid_cm_choices[];
extern int num_grid_inch_choices, num_grid_tenth_inch_choices, num_grid_cm_choices;
extern char **grid_choices;
extern int n_grid_choices, grid_minor, grid_major;
-extern Widget 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) (/* ??? */));
+extern Widget 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) (Widget w, XtPointer new_grid_choice, XtPointer garbage), void (*grid_minor_select) (Widget w, XtPointer new_grid_choice, XtPointer call_data));
extern void reset_grid_menus(Boolean inches);
extern Boolean check_action_on(void);
--
2.45.3
From 6228b74a901bb7d83935868e73ce922b7bb53c3f Mon Sep 17 00:00:00 2001
From: Mario Haustein <
[email protected]>
Date: Sun, 2 Feb 2025 22:29:33 +0100
Subject: [PATCH 8/8] Fix miscellaneous prototypes
--- a/src/d_text.c
+++ b/src/d_text.c
@@ -143,7 +143,7 @@ Boolean xim_active = False;
static int save_base_x, save_base_y;
-static void xim_set_spot();
+static void xim_set_spot(int x, int y);
static pid_t preedit_pid = -1;
static char preedit_filename[PATH_MAX] = "";
--- a/src/e_edit.c
+++ b/src/e_edit.c
@@ -108,7 +108,7 @@ static void new_generic_values(void);
static void new_arrow_values(void);
static void get_new_line_values(void);
static void generic_window(char *object_type, char *sub_type,
- icon_struct *icon, void (*d_proc)(/* ??? */),
+ icon_struct *icon, void (*d_proc)(void),
Boolean generics, Boolean arrows, char *comments);
static void spline_point_window(int x, int y);
static void font_image_panel(Pixmap pixmap, char *label, Widget *pi_x);
@@ -3389,7 +3389,7 @@ reset_edit_cursor(void)
static void
generic_window(char *object_type, char *sub_type, icon_struct *icon,
- void (*d_proc) (/* ??? */), Boolean generics, Boolean arrows,
+ void (*d_proc) (void), Boolean generics, Boolean arrows,
char *comments)
{
Dimension label_height, image_height;
--- a/src/f_picobj.c
+++ b/src/f_picobj.c
@@ -71,7 +71,7 @@ extern int read_xpm(F_pic *pic, struct xfig_stream *restrict pic_stream);
static struct _haeders {
char *type;
char *bytes;
- int (*readfunc)();
+ int (*readfunc)(F_pic *pic, struct xfig_stream *restrict pic_stream);
} headers[] = {
{"GIF", "GIF", read_gif},
{"PCX", "\012\005\001", read_pcx},
--- a/src/w_indpanel.c
+++ b/src/w_indpanel.c
@@ -4517,7 +4517,7 @@ dec_zoom(void)
/* zoom in or out, keeping location x,y fixed */
void
-zoom_focus(int x, int y, void(* zoom)())
+zoom_focus(int x, int y, void(* zoom)(void))
{
double stretch;
--- a/src/w_library.c
+++ b/src/w_library.c
@@ -187,19 +187,19 @@ static Widget make_library_menu(Widget parent, char *name,
static int
-SPComp(char **s1, char **s2)
+SPComp(const void *s1, const void *s2)
{
- return (strcasecmp(*s1, *s2));
+ return (strcasecmp(*(char**)s1, *(char**)s2));
}
/* comparison function for librec sorting using qsort() */
static int
-LRComp(struct lib_rec **r1, struct lib_rec **r2)
+LRComp(const void *r1, const void *r2)
{
struct lib_rec *name1, *name2;
- name1 = *r1;
- name2 = *r2;
+ name1 = *(struct lib_rec **)r1;
+ name2 = *(struct lib_rec **)r2;
return (strcasecmp(name1->name, name2->name));
}
@@ -1345,7 +1345,7 @@ ScanLibraryDirectory(Boolean at_top, struct lib_rec **librec, char *path,
closedir(dirp);
if (recnum > 0) {
/* sort them since the order of files in directories is not necessarily alphabetical */
- qsort(&librec[0], recnum, sizeof(struct lib_rec *), (int (*)())*LRComp);
+ qsort(&librec[0], recnum, sizeof(struct lib_rec *), LRComp);
}
/* all OK */
*nentries = recnum;
@@ -1600,7 +1600,7 @@ MakeLibraryFileList(char *dir_name, char **obj_list)
num_list_items = numobj;
/* signals up/down arrows to start at 0 if user doesn't press mouse in list first */
which_num = -1;
- qsort(obj_list,numobj,sizeof(char*),(int (*)())*SPComp);
+ qsort(obj_list,numobj,sizeof(char*),SPComp);
closedir(dirp);
return True;
}
--- a/src/w_modepanel.h
+++ b/src/w_modepanel.h
@@ -34,7 +34,7 @@ extern void init_mode_panel(Widget tool);
typedef struct mode_switch_struct {
icon_struct *icon; /* icon (xxx_ic struct) */
int mode; /* mode (e.g. F_CIRCLE_BY_RAD) */
- void (*setmode_func) (); /* function called when button is released */
+ void (*setmode_func) (void); /* function called when button is released */
int objmask; /* mask of objects that may be affected by this */
unsigned long indmask; /* mask to display indicators for this func */
char modemsg[MAX_MODEMSG_LEN]; /* message for function */
--- a/src/w_srchrepl.c
+++ b/src/w_srchrepl.c
@@ -99,7 +99,7 @@ String search_results_translations =
static void search_panel_dismiss(Widget widget, XtPointer closure, XtPointer call_data);
static void search_and_replace_text(Widget widget, XtPointer closure, XtPointer call_data);
-static Boolean search_text_in_compound(F_compound *com, char *pattern, void (*proc) (/* ??? */));
+static Boolean search_text_in_compound(F_compound *com, char *pattern, void (*proc) (F_text *t));
static Boolean replace_text_in_compound(F_compound *com, char *pattern, char *dst);
static void found_text_panel_dismiss(void);
static void do_replace(Widget widget, XtPointer closure, XtPointer call_data);
@@ -376,7 +376,7 @@ search_and_replace_text(Widget widget, XtPointer closure, XtPointer call_data)
}
static Boolean
-search_text_in_compound(F_compound *com, char *pattern, void (*proc) (/* ??? */))
+search_text_in_compound(F_compound *com, char *pattern, void (*proc) (F_text *t))
{
F_compound *c;
F_text *t;
--
2.45.3
--- a/src/d_arc.c
+++ b/src/d_arc.c
@@ -78,7 +78,7 @@
canvas_locmove_proc = null_proc_move;
canvas_leftbut_proc = init_arc_drawing;
canvas_middlebut_proc = init_arc_c_drawing;
- canvas_rightbut_proc = null_proc;
+ canvas_rightbut_proc = null_proc_button;
set_cursor(crosshair_cursor);
reset_action_on();
}
@@ -182,8 +182,10 @@
}
static void
-get_arcpoint(int x, int y)
+get_arcpoint(int x, int y, unsigned int shift)
{
+ (void)shift;
+
if (x == fix_x && y == fix_y)
return;
@@ -209,8 +211,10 @@
}
static void
-create_arcobject(int lx, int ly)
+create_arcobject(int lx, int ly, unsigned int shift)
{
+ (void)shift;
+
F_arc *arc;
int x, y;
float xx, yy;