gimp r25063 - in trunk: . app/tools
- From: martinn svn gnome org
- To: svn-commits-list gnome org
- Subject: gimp r25063 - in trunk: . app/tools
- Date: Sat, 8 Mar 2008 13:54:09 +0000 (GMT)
Author: martinn
Date: Sat Mar 8 13:54:09 2008
New Revision: 25063
URL: http://svn.gnome.org/viewvc/gimp?rev=25063&view=rev
Log:
2008-03-08 Martin Nordholts <martinn svn gnome org>
* app/tools/gimppolygonselecttool.c: Don't draw the handle for a
vertex while it is being moved.
Modified:
trunk/ChangeLog
trunk/app/tools/gimppolygonselecttool.c
Modified: trunk/app/tools/gimppolygonselecttool.c
==============================================================================
--- trunk/app/tools/gimppolygonselecttool.c (original)
+++ trunk/app/tools/gimppolygonselecttool.c Sat Mar 8 13:54:09 2008
@@ -60,6 +60,8 @@
/* Point which is part of he polygon already. */
GimpVector2 *grabbed_point;
+ gboolean button1_down;
+
/* Save the grabbed point state so we can cancel a movement
* operation.
*/
@@ -129,6 +131,9 @@
static GimpVector2 *gimp_polygon_select_tool_add_point (GimpPolygonSelectTool *poly_sel_tool,
gdouble x,
gdouble y);
+static void gimp_polygon_select_tool_update_button_state
+ (GimpPolygonSelectTool *poly_sel_tool,
+ GdkModifierType state);
static void gimp_polygon_select_tool_remove_last (GimpPolygonSelectTool *poly_sel_tool);
static void gimp_polygon_select_tool_select_closest_point
(GimpPolygonSelectTool *poly_sel_tool,
@@ -308,8 +313,13 @@
GdkModifierType state,
GimpDisplay *display)
{
+ GimpDrawTool *draw_tool = GIMP_DRAW_TOOL (tool);
GimpPolygonSelectTool *poly_sel_tool = GIMP_POLYGON_SELECT_TOOL (tool);
+ gimp_draw_tool_pause (draw_tool);
+
+ gimp_polygon_select_tool_update_button_state (poly_sel_tool, state);
+
if (display != tool->display)
{
gimp_polygon_select_tool_start (poly_sel_tool, display);
@@ -322,6 +332,8 @@
{
poly_sel_tool->saved_grabbed_point = *poly_sel_tool->grabbed_point;
}
+
+ gimp_draw_tool_resume (draw_tool);
}
static void
@@ -373,6 +385,8 @@
gimp_draw_tool_pause (GIMP_DRAW_TOOL (poly_sel_tool));
+ gimp_polygon_select_tool_update_button_state (poly_sel_tool, state);
+
switch (release_type)
{
case GIMP_BUTTON_RELEASE_CLICK:
@@ -469,6 +483,7 @@
poly_sel_tool->n_points = 0;
poly_sel_tool->grabbed_point = NULL;
+ poly_sel_tool->button1_down = FALSE;
poly_sel_tool->show_pending_point = FALSE;
gimp_draw_tool_start (draw_tool, display);
@@ -516,7 +531,8 @@
poly_sel_tool->points, poly_sel_tool->n_points,
FALSE, FALSE);
- if (poly_sel_tool->grabbed_point)
+ if (poly_sel_tool->grabbed_point &&
+ ! poly_sel_tool->button1_down)
{
gimp_draw_tool_draw_handle (draw_tool, GIMP_HANDLE_CIRCLE,
poly_sel_tool->grabbed_point->x,
@@ -587,6 +603,13 @@
}
static void
+gimp_polygon_select_tool_update_button_state (GimpPolygonSelectTool *poly_sel_tool,
+ GdkModifierType state)
+{
+ poly_sel_tool->button1_down = state & GDK_BUTTON1_MASK ? TRUE : FALSE;
+}
+
+static void
gimp_polygon_select_tool_remove_last (GimpPolygonSelectTool *poly_sel_tool)
{
GimpDrawTool *draw_tool = GIMP_DRAW_TOOL (poly_sel_tool);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]