Commit 723662a4 authored by Michael Natterer's avatar Michael Natterer 😴 Committed by Michael Natterer
Browse files

Makefile.am a proper naming scheme for all cursor files. Added zoom_in and

2000-03-01  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* cursors/*: a proper naming scheme for all cursor files. Added
	zoom_in and zoom_out cursors.

	* app/bezier_select.c
	* app/by_color_select.c
	* app/cursorutil.[ch]
	* app/rect_select.c
	* app/scale.[ch]: changed according to the new cursor names. Some
	minor fixes.

	* app/magnify.[ch]: made the zoom_in/zoom_out toggle a proper
	tool_toggle and show cursors for the two modes.

	* plug-ins/print/print-util.c: patch from Robert Kravitz which
	fixes printing layers with alpha.
parent 39e29d70
Wed Mar 1 00:46:09 CET 2000 Sven Neumann <sven@gimp.org
2000-03-01 Michael Natterer <mitch@gimp.org>
* Makefile.am
* cursors/*: a proper naming scheme for all cursor files. Added
zoom_in and zoom_out cursors.
* app/bezier_select.c
* app/by_color_select.c
* app/cursorutil.[ch]
* app/rect_select.c
* app/scale.[ch]: changed according to the new cursor names. Some
minor fixes.
* app/magnify.[ch]: made the zoom_in/zoom_out toggle a proper
tool_toggle and show cursors for the two modes.
* plug-ins/print/print-util.c: patch from Robert Kravitz which
fixes printing layers with alpha.
Wed Mar 1 00:46:09 CET 2000 Sven Neumann <sven@gimp.org>
 
* app/layers_dialog.c
* app/menus.c: remove ellipses from menu entries
......
......@@ -22,32 +22,36 @@ bin_SCRIPTS = gimptool @GIMPINSTALL@
EXTRA_SCRIPTS = gimpinstall
EXTRA_DIST = \
cursors/bad \
cursors/badmsk \
cursors/dropper \
cursors/droppermsk \
cursors/mouse1 \
cursors/mouse1msk \
cursors/mouse1_ap \
cursors/mouse1_apmsk \
cursors/mouse1_cp \
cursors/mouse1_cpmsk \
cursors/mouse1_m \
cursors/mouse1_mmsk \
cursors/mouse1_mm \
cursors/mouse1_mmmsk \
cursors/mouse1_p \
cursors/mouse1_pmsk \
cursors/mouse1_sel \
cursors/mouse1_selmsk \
cursors/mouse1_selm \
cursors/mouse1_selmmsk \
cursors/mouse1_selp \
cursors/mouse1_selpmsk \
cursors/mouse1_selu \
cursors/mouse1_selumsk \
cursors/mouse1_u \
cursors/mouse1_umsk \
cursors/mouse.xbm \
cursors/mouse_mask.xbm \
cursors/mouse_add.xbm \
cursors/mouse_add_mask.xbm \
cursors/mouse_subtract.xbm \
cursors/mouse_subtract_mask.xbm \
cursors/mouse_intersect.xbm \
cursors/mouse_intersect_mask.xbm \
cursors/mouse_point.xbm \
cursors/mouse_point_mask.xbm \
cursors/mouse_rectangle.xbm \
cursors/mouse_rectangle_mask.xbm \
cursors/mouse_move.xbm \
cursors/mouse_move_mask.xbm \
cursors/selection.xbm \
cursors/selection_mask.xbm \
cursors/selection_add.xbm \
cursors/selection_add_mask.xbm \
cursors/selection_subtract.xbm \
cursors/selection_subtract_mask.xbm \
cursors/selection_intersect.xbm \
cursors/selection_intersect_mask.xbm \
cursors/bad.xbm \
cursors/bad_mask.xbm \
cursors/dropper.xbm \
cursors/dropper_mask.xbm \
cursors/zoom_in.xbm \
cursors/zoom_in_mask.xbm \
cursors/zoom_out.xbm \
cursors/zoom_out_mask.xbm \
pixmaps/anchor.xpm \
pixmaps/chain.xpm \
pixmaps/channel.xbm \
......
......@@ -1443,12 +1443,12 @@ points_in_box(BezierPoint *points,
return c;
}
static int
bezier_point_on_curve(GDisplay *gdisp,
BezierSelect *bezier_sel,
gint x,
gint y,
gint halfwidth)
static gint
bezier_point_on_curve (GDisplay *gdisp,
BezierSelect *bezier_sel,
gint x,
gint y,
gint halfwidth)
{
BezierCheckPnts chkpnts;
BezierPoint * points;
......@@ -1462,41 +1462,45 @@ bezier_point_on_curve(GDisplay *gdisp,
chkpnts.halfwidth = halfwidth;
chkpnts.found = FALSE;
if(cnt)
if (cnt)
cnt->count = 0;
points = bezier_sel->points;
start_pt = bezier_sel->points;
if(bezier_sel->num_points >= 4)
if (bezier_sel->num_points >= 4)
{
do {
point_counts = count_points_on_curve(points);
if(point_counts >= 4)
{
do {
if(points_in_box(points,x,y))
do
{
point_counts = count_points_on_curve(points);
if (point_counts >= 4)
{
do
{
bezier_draw_segment (bezier_sel, points,
SUBDIVIDE, IMAGE_COORDS,
bezier_check_points,
&chkpnts);
if (points_in_box (points, x, y))
{
bezier_draw_segment (bezier_sel, points,
SUBDIVIDE, IMAGE_COORDS,
bezier_check_points,
&chkpnts);
}
points = next_anchor (points, &next_curve);
/* g_print ("next_anchor = %p\n",points); */
}
points = next_anchor(points,&next_curve);
/* g_print ("next_anchor = %p\n",points); */
} while (points != start_pt && points);
if(cnt)
cnt->count++;
start_pt = next_curve;
points = next_curve;
}
else
break; /* must be last curve since only this one is allowed < 4
* points.
*/
} while(next_curve);
while (points != start_pt && points);
if (cnt)
cnt->count++;
start_pt = next_curve;
points = next_curve;
}
else
break; /* must be last curve since only this one is allowed < 4
* points.
*/
}
while (next_curve);
}
return (chkpnts.found);
return chkpnts.found;
}
static void
......@@ -1512,120 +1516,132 @@ bezier_select_cursor_update (Tool *tool,
gint halfwidth,dummy;
gint x,y;
gdisp = (GDisplay *)gdisp_ptr;
gdisp = (GDisplay *) gdisp_ptr;
bezier_sel = tool->private;
if(gdisp != tool->gdisp_ptr || bezier_sel->core->draw_state == INVISIBLE)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE1_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR);
return;
}
gdisplay_untransform_coords (gdisp, mevent->x, mevent->y, &x, &y, TRUE, 0);
/* get halfwidth in image coord */
gdisplay_untransform_coords (gdisp, mevent->x + BEZIER_HALFWIDTH, 0, &halfwidth, &dummy, TRUE, 0);
gdisplay_untransform_coords (gdisp, mevent->x + BEZIER_HALFWIDTH, 0,
&halfwidth, &dummy, TRUE, 0);
halfwidth -= x;
on_control_pnt = bezier_on_control_point(gdisp,bezier_sel,x,y,halfwidth);
on_control_pnt = bezier_on_control_point (gdisp, bezier_sel, x, y, halfwidth);
on_curve = bezier_point_on_curve(gdisp,bezier_sel,x,y,halfwidth);
on_curve = bezier_point_on_curve (gdisp, bezier_sel, x, y, halfwidth);
if(bezier_sel->mask && bezier_sel->closed &&
channel_value(bezier_sel->mask, x, y) &&
!on_control_pnt &&
(!on_curve || ModeEdit != EXTEND_ADD))
if (bezier_sel->mask && bezier_sel->closed &&
channel_value(bezier_sel->mask, x, y) &&
!on_control_pnt &&
(!on_curve || ModeEdit != EXTEND_ADD))
{
in_selection_area = TRUE;
if ((mevent->state & GDK_SHIFT_MASK) && !(mevent->state & GDK_CONTROL_MASK))
gdisplay_install_tool_cursor (gdisp,GIMP_MOUSE1SELP_CURSOR );
else if ((mevent->state & GDK_CONTROL_MASK) && !(mevent->state & GDK_SHIFT_MASK))
gdisplay_install_tool_cursor (gdisp,GIMP_MOUSE1SELM_CURSOR );
else if ((mevent->state & GDK_CONTROL_MASK) && (mevent->state & GDK_SHIFT_MASK))
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE1SELU_CURSOR);
if ((mevent->state & GDK_SHIFT_MASK) &&
!(mevent->state & GDK_CONTROL_MASK))
{
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_ADD_CURSOR);
}
else if ((mevent->state & GDK_CONTROL_MASK) &&
!(mevent->state & GDK_SHIFT_MASK))
{
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_SUBTRACT_CURSOR);
}
else if ((mevent->state & GDK_CONTROL_MASK) &&
(mevent->state & GDK_SHIFT_MASK))
{
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_INTERSECT_CURSOR);
}
else
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE1SEL_CURSOR);
{
gdisplay_install_tool_cursor (gdisp, GIMP_SELECTION_CURSOR);
}
return;
}
if(mevent->state & GDK_MOD1_MASK)
if (mevent->state & GDK_MOD1_MASK)
{
/* Moving curve */
if(mevent->state & GDK_SHIFT_MASK)
if (mevent->state & GDK_SHIFT_MASK)
{
/* moving on 1 curve */
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE1MM_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_MOVE_CURSOR);
}
else
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE1MM_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_MOVE_CURSOR);
}
}
else
{
switch(ModeEdit)
switch (ModeEdit)
{
case EXTEND_NEW:
if(on_control_pnt && bezier_sel->closed)
if (on_control_pnt && bezier_sel->closed)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE1CP_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_RECTANGLE_CURSOR);
/* g_print ("add to curve cursor\n"); */
}
else if(on_curve)
else if (on_curve)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE1AP_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_POINT_CURSOR);
/* g_print ("edit control point cursor\n"); */
}
else
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE1AP_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_POINT_CURSOR);
}
break;
case EXTEND_ADD:
if(on_curve)
if (on_curve)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE1P_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_ADD_CURSOR);
/* g_print ("add to curve cursor\n"); */
}
else
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE1_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR);
/* g_print ("default no action cursor\n"); */
}
break;
case EXTEND_EDIT:
if(on_control_pnt)
if (on_control_pnt)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE1CP_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_RECTANGLE_CURSOR);
/* g_print ("edit control point cursor\n"); */
}
else
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE1_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR);
/* g_print ("default no action cursor\n"); */
}
break;
case EXTEND_REMOVE:
if(on_control_pnt && mevent->state & GDK_SHIFT_MASK)
if (on_control_pnt && mevent->state & GDK_SHIFT_MASK)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE1M_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_SUBTRACT_CURSOR);
g_print ("delete whole curve cursor\n");
}
else if(on_control_pnt)
else if (on_control_pnt)
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE1M_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_SUBTRACT_CURSOR);
/* g_print ("remove point cursor\n"); */
}
else
{
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE1_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR);
/* g_print ("default no action cursor\n"); */
}
break;
default:
g_print ("In default\n");
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE1_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_CURSOR);
break;
}
}
......
......@@ -454,13 +454,13 @@ by_color_select_cursor_update (Tool *tool,
switch (by_col_sel->operation)
{
case SELECTION_ADD:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE1P_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_ADD_CURSOR);
break;
case SELECTION_SUB:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE1M_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_SUBTRACT_CURSOR);
break;
case SELECTION_INTERSECT:
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE1U_CURSOR);
gdisplay_install_tool_cursor (gdisp, GIMP_MOUSE_INTERSECT_CURSOR);
break;
case SELECTION_REPLACE:
gdisplay_install_tool_cursor (gdisp, GDK_TCROSS);
......
......@@ -19,77 +19,130 @@
#include "cursorutil.h"
#include "dialog_handler.h"
#include "gdisplay.h" /* for gdisplay_*_override_cursor() */
#include "../cursors/mouse1"
#include "../cursors/mouse1msk"
#include "../cursors/mouse1_p"
#include "../cursors/mouse1_pmsk"
#include "../cursors/mouse1_m"
#include "../cursors/mouse1_mmsk"
#include "../cursors/mouse1_u"
#include "../cursors/mouse1_umsk"
#include "../cursors/dropper"
#include "../cursors/droppermsk"
#include "../cursors/mouse1_ap"
#include "../cursors/mouse1_apmsk"
#include "../cursors/mouse1_cp"
#include "../cursors/mouse1_cpmsk"
#include "../cursors/mouse1_mm"
#include "../cursors/mouse1_mmmsk"
#include "../cursors/mouse1_selm"
#include "../cursors/mouse1_selmmsk"
#include "../cursors/mouse1_selp"
#include "../cursors/mouse1_selpmsk"
#include "../cursors/mouse1_selu"
#include "../cursors/mouse1_selumsk"
#include "../cursors/mouse1_sel"
#include "../cursors/mouse1_selmsk"
#include "../cursors/bad"
#include "../cursors/badmsk"
#include "cursors/mouse.xbm"
#include "cursors/mouse_mask.xbm"
#include "cursors/mouse_add.xbm"
#include "cursors/mouse_add_mask.xbm"
#include "cursors/mouse_subtract.xbm"
#include "cursors/mouse_subtract_mask.xbm"
#include "cursors/mouse_intersect.xbm"
#include "cursors/mouse_intersect_mask.xbm"
#include "cursors/mouse_point.xbm"
#include "cursors/mouse_point_mask.xbm"
#include "cursors/mouse_rectangle.xbm"
#include "cursors/mouse_rectangle_mask.xbm"
#include "cursors/mouse_move.xbm"
#include "cursors/mouse_move_mask.xbm"
#include "cursors/selection.xbm"
#include "cursors/selection_mask.xbm"
#include "cursors/selection_add.xbm"
#include "cursors/selection_add_mask.xbm"
#include "cursors/selection_subtract.xbm"
#include "cursors/selection_subtract_mask.xbm"
#include "cursors/selection_intersect.xbm"
#include "cursors/selection_intersect_mask.xbm"
#include "cursors/bad.xbm"
#include "cursors/bad_mask.xbm"
#include "cursors/dropper.xbm"
#include "cursors/dropper_mask.xbm"
#include "cursors/zoom_in.xbm"
#include "cursors/zoom_in_mask.xbm"
#include "cursors/zoom_out.xbm"
#include "cursors/zoom_out_mask.xbm"
typedef struct
{
unsigned char *bits;
unsigned char *mask_bits;
int width, height;
int x_hot, y_hot;
guchar *bits;
guchar *mask_bits;
gint width, height;
gint x_hot, y_hot;
GdkCursor *cursor;
} BM_Cursor;
static BM_Cursor gimp_cursors[] =
/* these have to match up with the enum in cursorutil.h */
{
{ mouse1_bits, mouse1msk_bits, mouse1_width, mouse1_height,
mouse1_x_hot, mouse1_y_hot, NULL},
{ mouse1_p_bits, mouse1_pmsk_bits, mouse1_p_width, mouse1_p_height,
mouse1_p_x_hot, mouse1_p_y_hot, NULL},
{ mouse1_m_bits, mouse1_mmsk_bits, mouse1_m_width, mouse1_m_height,
mouse1_m_x_hot, mouse1_m_y_hot, NULL},
{ mouse1_u_bits, mouse1_umsk_bits, mouse1_u_width, mouse1_u_height,
mouse1_u_x_hot, mouse1_u_y_hot, NULL},
{ dropper_bits, droppermsk_bits, dropper_width, dropper_height,
dropper_x_hot, dropper_y_hot, NULL},
{ mouse1_ap_bits, mouse1_apmsk_bits, mouse1_ap_width, mouse1_ap_height,
mouse1_ap_x_hot, mouse1_ap_y_hot, NULL},
{ mouse1_cp_bits, mouse1_cpmsk_bits, mouse1_cp_width, mouse1_cp_height,
mouse1_cp_x_hot, mouse1_cp_y_hot, NULL},
{ mouse1_mm_bits, mouse1_mmmsk_bits, mouse1_mm_width, mouse1_mm_height,
mouse1_mm_x_hot, mouse1_mm_y_hot, NULL},
{ mouse1_selp_bits, mouse1_selpmsk_bits, mouse1_selp_width, mouse1_selp_height,
mouse1_selp_x_hot, mouse1_selp_y_hot, NULL},
{ mouse1_selm_bits, mouse1_selmmsk_bits, mouse1_selm_width, mouse1_selm_height,
mouse1_selm_x_hot, mouse1_selm_y_hot, NULL},
{ mouse1_selu_bits, mouse1_selumsk_bits, mouse1_selu_width, mouse1_selu_height,
mouse1_selu_x_hot, mouse1_selu_y_hot, NULL},
{ mouse1_sel_bits, mouse1_selmsk_bits, mouse1_sel_width, mouse1_sel_height,
mouse1_sel_x_hot, mouse1_sel_y_hot, NULL},
{ bad_bits, badmsk_bits, bad_width, bad_height,
bad_x_hot, bad_y_hot, NULL},
{
mouse_bits, mouse_mask_bits,
mouse_width, mouse_height,
mouse_x_hot, mouse_y_hot, NULL
},
{
mouse_add_bits, mouse_add_mask_bits,
mouse_add_width, mouse_add_height,
mouse_add_x_hot, mouse_add_y_hot, NULL
},
{
mouse_subtract_bits, mouse_subtract_mask_bits,
mouse_subtract_width, mouse_subtract_height,
mouse_subtract_x_hot, mouse_subtract_y_hot, NULL
},
{
mouse_intersect_bits, mouse_intersect_mask_bits,
mouse_intersect_width, mouse_intersect_height,
mouse_intersect_x_hot, mouse_intersect_y_hot, NULL
},
{
mouse_point_bits, mouse_point_mask_bits,
mouse_point_width, mouse_point_height,
mouse_point_x_hot, mouse_point_y_hot, NULL
},
{
mouse_rectangle_bits, mouse_rectangle_mask_bits,
mouse_rectangle_width, mouse_rectangle_height,
mouse_rectangle_x_hot, mouse_rectangle_y_hot, NULL
},
{
mouse_move_bits, mouse_move_mask_bits,
mouse_move_width, mouse_move_height,
mouse_move_x_hot, mouse_move_y_hot, NULL
},
{
selection_bits, selection_mask_bits,
selection_width, selection_height,
selection_x_hot, selection_y_hot, NULL
},
{
selection_add_bits, selection_add_mask_bits,
selection_add_width, selection_add_height,
selection_add_x_hot, selection_add_y_hot, NULL
},
{
selection_subtract_bits, selection_subtract_mask_bits,
selection_subtract_width, selection_subtract_height,
selection_subtract_x_hot, selection_subtract_y_hot, NULL
},
{
selection_intersect_bits, selection_intersect_mask_bits,
selection_intersect_width, selection_intersect_height,
selection_intersect_x_hot, selection_intersect_y_hot, NULL
},
{
bad_bits, bad_mask_bits,
bad_width, bad_height,
bad_x_hot, bad_y_hot, NULL
},
{
dropper_bits, dropper_mask_bits,
dropper_width, dropper_height,
dropper_x_hot, dropper_y_hot, NULL
},
{
zoom_in_bits, zoom_in_mask_bits,
zoom_in_width, zoom_in_height,
zoom_in_x_hot, zoom_in_y_hot, NULL
},
{
zoom_out_bits, zoom_out_mask_bits,
zoom_out_width, zoom_out_height,
zoom_out_x_hot, zoom_out_y_hot, NULL
}
};
extern GSList* display_list; /* It's in gdisplay.c, FYI */
static gboolean pending_removebusy = FALSE;
extern GSList *display_list; /* It's in gdisplay.c, FYI */
static gboolean pending_removebusy = FALSE;
static void
......@@ -100,8 +153,8 @@ create_cursor (BM_Cursor *bmcursor)
GdkColor fg, bg;
/* should have a way to configure the mouse colors */
gdk_color_parse("#FFFFFF", &bg);
gdk_color_parse("#000000", &fg);
gdk_color_parse ("#FFFFFF", &bg);
gdk_color_parse ("#000000", &fg);
pixmap = gdk_bitmap_create_from_data (NULL, bmcursor->bits,
bmcursor->width, bmcursor->height);
......@@ -111,7 +164,7 @@ create_cursor (BM_Cursor *bmcursor)
bmcursor->width,
bmcursor->height);
g_return_if_fail (pixmapmsk != NULL);
bmcursor->cursor = gdk_cursor_new_from_pixmap (pixmap, pixmapmsk, &fg, &bg,
bmcursor->x_hot,
bmcursor->y_hot);
......@@ -119,39 +172,37 @@ create_cursor (BM_Cursor *bmcursor)
}
static void
gimp_change_win_cursor (GdkWindow *win, GimpCursorType curtype)
gimp_change_win_cursor (GdkWindow *win,
GimpCursorType curtype)
{
GdkCursor *cursor;
g_return_if_fail (curtype < GIMP_LAST_CURSOR_ENTRY);
curtype -= GIMP_MOUSE1_CURSOR;
curtype -= GIMP_MOUSE_CURSOR;
if (!gimp_cursors[(int)curtype].cursor)
create_cursor (&gimp_cursors[(int)curtype]);
cursor = gimp_cursors[(int)curtype].cursor;
gdk_window_set_cursor (win, cursor);
}
void
change_win_cursor (win, cursortype)
GdkWindow *win;
GdkCursorType cursortype;
change_win_cursor (GdkWindow *win,
GdkCursorType cursortype)
{
GdkCursor *cursor;
if (cursortype > GDK_LAST_CURSOR)
{
gimp_change_win_cursor(win, (GimpCursorType)cursortype);
return;
}
{
gimp_change_win_cursor (win, (GimpCursorType)cursortype);
return;
}
cursor = gdk_cursor_new (cursortype);
gdk_window_set_cursor (win, cursor);
gdk_cursor_destroy (cursor);
}
void
unset_win_cursor (win)