[dia] bezier: fix warnings



commit 8687f692a17f3df6714eff3f327443506e34e2b7
Author: Zander Brown <zbrown gnome org>
Date:   Fri Mar 27 19:32:49 2020 +0000

    bezier: fix warnings

 lib/bezier_conn.c | 601 +++++++++++++++++++++++++++++++-----------------------
 lib/beziershape.c | 447 +++++++++++++++++++++++-----------------
 2 files changed, 598 insertions(+), 450 deletions(-)
---
diff --git a/lib/bezier_conn.c b/lib/bezier_conn.c
index 54b45087..e66637ba 100644
--- a/lib/bezier_conn.c
+++ b/lib/bezier_conn.c
@@ -44,7 +44,7 @@ struct PointChange {
 
   enum change_type type;
   int applied;
-  
+
   BezPoint point;
   BezCornerType corner_type;
   int pos;
@@ -122,186 +122,220 @@ get_handle_nr (BezierConn *bezier, Handle *handle)
 #define get_comp_nr(hnum) (((int)(hnum)+2)/3)
 #define get_major_nr(hnum) (((int)(hnum)+1)/3)
 
-void new_handles(BezierConn *bezier, int num_points);
+void new_handles (BezierConn *bezier, int num_points);
 
-/*!
- * \brief Move one of the handles associated with the
- * @param bezier The object whose handle is being moved.
- * @param handle The handle being moved.
- * @param to The position it has been moved to (corrected for
+
+/**
+ * bezierconn_move_handle:
+ * @bezier: The object whose handle is being moved.
+ * @handle: The handle being moved.
+ * @to: The position it has been moved to (corrected for
  *   vertical/horizontal only movement).
- * @param cp If non-NULL, the connectionpoint found at this position.
- *   If @a cp is NULL, there may or may not be a connectionpoint.
- * @param reason ignored
- * @param modifiers ignored
- * @return NULL
- * \memberof BezierConn
+ * @cp: If non-%NULL, the connectionpoint found at this position.
+ *   If @a cp is %NULL, there may or may not be a connectionpoint.
+ * @reason: ignored
+ * @modifiers: ignored
+ *
+ * Move one of the handles associated with the BezierConn
+ *
+ * Returns: %NULL
  */
 ObjectChange*
-bezierconn_move_handle (BezierConn *bezier,
-                       Handle *handle,
-                       Point *to,
-                       ConnectionPoint *cp,
-                       HandleMoveReason reason,
-                       ModifierKeys modifiers)
+bezierconn_move_handle (BezierConn       *bezier,
+                        Handle           *handle,
+                        Point            *to,
+                        ConnectionPoint  *cp,
+                        HandleMoveReason  reason,
+                        ModifierKeys      modifiers)
 {
   int handle_nr, comp_nr;
   Point delta, pt;
-  
+
   delta = *to;
-  point_sub(&delta, &handle->pos);
-
-  handle_nr = get_handle_nr(bezier, handle);
-  comp_nr = get_comp_nr(handle_nr);
-  switch(handle->id) {
-  case HANDLE_MOVE_STARTPOINT:
-    bezier->bezier.points[0].p1 = *to;
-    /* shift adjacent point */
-    point_add(&bezier->bezier.points[1].p1, &delta);
-    break;
-  case HANDLE_MOVE_ENDPOINT:
-    bezier->bezier.points[bezier->bezier.num_points-1].p3 = *to;
-    /* shift adjacent point */
-    point_add(&bezier->bezier.points[bezier->bezier.num_points-1].p2, &delta);
-    break;
-  case HANDLE_BEZMAJOR:
-    bezier->bezier.points[comp_nr].p3 = *to;
-    /* shift adjacent point */
-    point_add(&bezier->bezier.points[comp_nr].p2, &delta);
-    point_add(&bezier->bezier.points[comp_nr+1].p1, &delta);
-    break;
-  case HANDLE_LEFTCTRL:
-    bezier->bezier.points[comp_nr].p2 = *to;
-    if (comp_nr < bezier->bezier.num_points - 1) {
-      switch (bezier->bezier.corner_types[comp_nr]) {
-      case BEZ_CORNER_SYMMETRIC:
-       pt = bezier->bezier.points[comp_nr].p3;
-       point_sub(&pt, &bezier->bezier.points[comp_nr].p2);
-       point_add(&pt, &bezier->bezier.points[comp_nr].p3);
-       bezier->bezier.points[comp_nr+1].p1 = pt;
-       break;
-      case BEZ_CORNER_SMOOTH: {
-       real len;
-       pt = bezier->bezier.points[comp_nr+1].p1;
-       point_sub(&pt, &bezier->bezier.points[comp_nr].p3);
-       len = point_len(&pt);
-       pt = bezier->bezier.points[comp_nr].p2;
-       point_sub(&pt, &bezier->bezier.points[comp_nr].p3);
-       if (point_len(&pt) > 0)
-         point_normalize(&pt);
-       else { pt.x = 1.0; pt.y = 0.0; }
-       point_scale(&pt, -len);
-       point_add(&pt, &bezier->bezier.points[comp_nr].p3);
-       bezier->bezier.points[comp_nr+1].p1 = pt;
-       break;
-      }        
-      case BEZ_CORNER_CUSP:
-       /* Do nothing to the other guy */
-       break;
+  point_sub (&delta, &handle->pos);
+
+  handle_nr = get_handle_nr (bezier, handle);
+  comp_nr = get_comp_nr (handle_nr);
+
+  switch (handle->id) {
+    case HANDLE_MOVE_STARTPOINT:
+      bezier->bezier.points[0].p1 = *to;
+      /* shift adjacent point */
+      point_add (&bezier->bezier.points[1].p1, &delta);
+      break;
+    case HANDLE_MOVE_ENDPOINT:
+      bezier->bezier.points[bezier->bezier.num_points-1].p3 = *to;
+      /* shift adjacent point */
+      point_add (&bezier->bezier.points[bezier->bezier.num_points-1].p2,
+                 &delta);
+      break;
+    case HANDLE_BEZMAJOR:
+      bezier->bezier.points[comp_nr].p3 = *to;
+      /* shift adjacent point */
+      point_add (&bezier->bezier.points[comp_nr].p2, &delta);
+      point_add (&bezier->bezier.points[comp_nr+1].p1, &delta);
+      break;
+    case HANDLE_LEFTCTRL:
+      bezier->bezier.points[comp_nr].p2 = *to;
+      if (comp_nr < bezier->bezier.num_points - 1) {
+        switch (bezier->bezier.corner_types[comp_nr]) {
+          case BEZ_CORNER_SYMMETRIC:
+            pt = bezier->bezier.points[comp_nr].p3;
+            point_sub (&pt, &bezier->bezier.points[comp_nr].p2);
+            point_add (&pt, &bezier->bezier.points[comp_nr].p3);
+            bezier->bezier.points[comp_nr+1].p1 = pt;
+            break;
+          case BEZ_CORNER_SMOOTH: {
+              real len;
+              pt = bezier->bezier.points[comp_nr+1].p1;
+              point_sub (&pt, &bezier->bezier.points[comp_nr].p3);
+              len = point_len (&pt);
+              pt = bezier->bezier.points[comp_nr].p2;
+              point_sub (&pt, &bezier->bezier.points[comp_nr].p3);
+              if (point_len (&pt) > 0) {
+                point_normalize (&pt);
+              } else {
+                pt.x = 1.0;
+                pt.y = 0.0;
+              }
+              point_scale (&pt, -len);
+              point_add (&pt, &bezier->bezier.points[comp_nr].p3);
+              bezier->bezier.points[comp_nr+1].p1 = pt;
+              break;
+            }
+          case BEZ_CORNER_CUSP:
+          default:
+            /* Do nothing to the other guy */
+            break;
+        }
       }
-    }
-    break;
-  case HANDLE_RIGHTCTRL:
-    bezier->bezier.points[comp_nr].p1 = *to;
-    if (comp_nr > 1) {
-      switch (bezier->bezier.corner_types[comp_nr-1]) {
-      case BEZ_CORNER_SYMMETRIC:
-       pt = bezier->bezier.points[comp_nr - 1].p3;
-       point_sub(&pt, &bezier->bezier.points[comp_nr].p1);
-       point_add(&pt, &bezier->bezier.points[comp_nr - 1].p3);
-       bezier->bezier.points[comp_nr-1].p2 = pt;
-       break;
-      case BEZ_CORNER_SMOOTH: {
-       real len;
-       pt = bezier->bezier.points[comp_nr-1].p2;
-       point_sub(&pt, &bezier->bezier.points[comp_nr-1].p3);
-       len = point_len(&pt);
-       pt = bezier->bezier.points[comp_nr].p1;
-       point_sub(&pt, &bezier->bezier.points[comp_nr-1].p3);
-       if (point_len(&pt) > 0)
-         point_normalize(&pt);
-       else { pt.x = 1.0; pt.y = 0.0; }
-       point_scale(&pt, -len);
-       point_add(&pt, &bezier->bezier.points[comp_nr-1].p3);
-       bezier->bezier.points[comp_nr-1].p2 = pt;
-       break;
-      }        
-      case BEZ_CORNER_CUSP:
-       /* Do nothing to the other guy */
-       break;
+      break;
+    case HANDLE_RIGHTCTRL:
+      bezier->bezier.points[comp_nr].p1 = *to;
+      if (comp_nr > 1) {
+        switch (bezier->bezier.corner_types[comp_nr-1]) {
+          case BEZ_CORNER_SYMMETRIC:
+            pt = bezier->bezier.points[comp_nr - 1].p3;
+            point_sub (&pt, &bezier->bezier.points[comp_nr].p1);
+            point_add (&pt, &bezier->bezier.points[comp_nr - 1].p3);
+            bezier->bezier.points[comp_nr-1].p2 = pt;
+            break;
+          case BEZ_CORNER_SMOOTH: {
+            real len;
+            pt = bezier->bezier.points[comp_nr-1].p2;
+            point_sub (&pt, &bezier->bezier.points[comp_nr-1].p3);
+            len = point_len (&pt);
+            pt = bezier->bezier.points[comp_nr].p1;
+            point_sub (&pt, &bezier->bezier.points[comp_nr-1].p3);
+            if (point_len (&pt) > 0) {
+              point_normalize (&pt);
+            } else {
+              pt.x = 1.0;
+              pt.y = 0.0;
+            }
+            point_scale (&pt, -len);
+            point_add (&pt, &bezier->bezier.points[comp_nr-1].p3);
+            bezier->bezier.points[comp_nr-1].p2 = pt;
+            break;
+          }
+          case BEZ_CORNER_CUSP:
+            /* Do nothing to the other guy */
+            break;
+          default:
+            g_return_val_if_reached (NULL);
+        }
       }
-    }
-    break;
-  default:
-    g_warning("Internal error in bezierconn_move_handle.\n");
-    break;
+      break;
+    case HANDLE_RESIZE_N:
+    case HANDLE_RESIZE_NE:
+    case HANDLE_RESIZE_E:
+    case HANDLE_RESIZE_SE:
+    case HANDLE_RESIZE_S:
+    case HANDLE_RESIZE_SW:
+    case HANDLE_RESIZE_W:
+    case HANDLE_RESIZE_NW:
+    case HANDLE_CUSTOM4:
+    case HANDLE_CUSTOM5:
+    case HANDLE_CUSTOM6:
+    case HANDLE_CUSTOM7:
+    case HANDLE_CUSTOM8:
+    case HANDLE_CUSTOM9:
+    default:
+      g_warning ("Internal error in bezierconn_move_handle.\n");
+      break;
   }
+
   return NULL;
 }
 
-/*!
- * \brief Move the entire object.
+
+/**
+ * bezierconn_move:
  * @param bezier The object being moved.
  * @param to Where the object is being moved to.  This is the first point
  * of the points array.
- * @return NULL
- * \memberof _BezierConn
+ *
+ * Move the entire object.
+ *
+ * Returns: %NULL
  */
 ObjectChange*
 bezierconn_move (BezierConn *bezier, Point *to)
 {
   Point p;
   int i;
-  
+
   p = *to;
-  point_sub(&p, &bezier->bezier.points[0].p1);
+  point_sub (&p, &bezier->bezier.points[0].p1);
 
   bezier->bezier.points[0].p1 = *to;
   for (i = 1; i < bezier->bezier.num_points; i++) {
-    point_add(&bezier->bezier.points[i].p1, &p);
-    point_add(&bezier->bezier.points[i].p2, &p);
-    point_add(&bezier->bezier.points[i].p3, &p);
+    point_add (&bezier->bezier.points[i].p1, &p);
+    point_add (&bezier->bezier.points[i].p2, &p);
+    point_add (&bezier->bezier.points[i].p3, &p);
   }
 
   return NULL;
 }
 
-/*!
- * \brief Return the handle closest to a given point.
- * @param bezier A bezier object
- * @param point A point to find distances from
- * @return The handle on `bezier' closest to `point'.
+
+/**
+ * bezierconn_closest_handle:
+ * @bezier: A bezier object
+ * @point: A point to find distances from
  *
- * \memberof _BezierConn
+ * Return the handle closest to a given point.
+ *
+ * Returns: The handle on `bezier' closest to `point'.
  */
 Handle *
 bezierconn_closest_handle (BezierConn *bezier,
-                          Point *point)
+                           Point      *point)
 {
   int i, hn;
   real dist;
   Handle *closest;
-  
+
   closest = bezier->object.handles[0];
-  dist = distance_point_point( point, &closest->pos);
+  dist = distance_point_point (point, &closest->pos);
   for (i = 1, hn = 1; i < bezier->bezier.num_points; i++, hn++) {
     real new_dist;
 
-    new_dist = distance_point_point(point, &bezier->bezier.points[i].p1);
+    new_dist = distance_point_point (point, &bezier->bezier.points[i].p1);
     if (new_dist < dist) {
       dist = new_dist;
       closest = bezier->object.handles[hn];
     }
     hn++;
 
-    new_dist = distance_point_point(point, &bezier->bezier.points[i].p2);
+    new_dist = distance_point_point (point, &bezier->bezier.points[i].p2);
     if (new_dist < dist) {
       dist = new_dist;
       closest = bezier->object.handles[hn];
     }
     hn++;
 
-    new_dist = distance_point_point(point, &bezier->bezier.points[i].p3);
+    new_dist = distance_point_point (point, &bezier->bezier.points[i].p3);
     if (new_dist < dist) {
       dist = new_dist;
       closest = bezier->object.handles[hn];
@@ -310,24 +344,30 @@ bezierconn_closest_handle (BezierConn *bezier,
   return closest;
 }
 
-/*!
- * \brief Return the major handle for the control point with the handle closest to
+
+/**
+ * bezierconn_closest_major_handle:
+ * @bezier: A bezier connection
+ * @point: A point
+ *
+ * Return the major handle for the control point with the handle closest to
  * a given point.
- * @param bezier A bezier connection
- * @param point A point
- * @return The major (middle) handle of the bezier control that has the
- * handle closest to point.
+ *
  * @bug Don't we really want the major handle that's actually closest to
  * the point?  This is used in connection with object menus and could cause
  * some unexpected selection of handles if a different segment has a control
  * point close to the major handle.
+ *
+ * Returns: The major (middle) handle of the bezier control that has the
+ *          handle closest to point.
  */
 Handle *
 bezierconn_closest_major_handle (BezierConn *bezier, Point *point)
 {
-  Handle *closest = bezierconn_closest_handle(bezier, point);
+  Handle *closest = bezierconn_closest_handle (bezier, point);
 
-  return bezier->object.handles[3*get_major_nr(get_handle_nr(bezier, closest))];
+  return bezier->object.handles[3 * get_major_nr (get_handle_nr (bezier,
+                                                                 closest))];
 }
 
 /*!
@@ -524,7 +564,7 @@ bezierconn_remove_segment (BezierConn *bezier, int pos)
   cpt1 = old_handle1->connected_to;
   cpt2 = old_handle2->connected_to;
   cpt3 = old_handle3->connected_to;
-  
+
   object_unconnect((DiaObject *)bezier, old_handle1);
   object_unconnect((DiaObject *)bezier, old_handle2);
   object_unconnect((DiaObject *)bezier, old_handle3);
@@ -532,7 +572,7 @@ bezierconn_remove_segment (BezierConn *bezier, int pos)
   remove_handles(bezier, pos);
 
   bezierconn_update_data(bezier);
-  
+
   return bezierconn_create_point_change(bezier, TYPE_REMOVE_POINT,
                                        &old_point, old_ctype, pos,
                                        old_handle1, cpt1,
@@ -540,110 +580,136 @@ bezierconn_remove_segment (BezierConn *bezier, int pos)
                                        old_handle3, cpt3);
 }
 
-/*!
- * \brief Limit movability of control handles
+
+/**
+ * bezierconn_straighten_corner:
+ * @bezier: A bezierconn to straighten a corner of
+ * @comp_nr: The index into the corner_types array of the corner to
+ *           straighten.
+ *
+ * Limit movability of control handles
  *
  * Update a corner to have less freedom in its control handles, arranging
  * the control points at some reasonable places.
- * @param bezier A bezierconn to straighten a corner of
- * @param comp_nr The index into the corner_types array of the corner to
- *                straighten.
- * \memberof _BezierConn
  */
 static void
 bezierconn_straighten_corner (BezierConn *bezier, int comp_nr)
 {
   int next_nr = comp_nr+1;
+
   /* Neat thing would be to have the kind of straigthening depend on
      which handle was chosen:  Mid-handle does average, other leaves that
      handle where it is. */
   switch (bezier->bezier.corner_types[comp_nr]) {
-  case BEZ_CORNER_SYMMETRIC: {
-    Point pt1, pt2;
-
-    pt1 = bezier->bezier.points[comp_nr].p3;
-    point_sub(&pt1, &bezier->bezier.points[comp_nr].p2);
-    pt2 = bezier->bezier.points[comp_nr].p3;
-    point_sub(&pt2, &bezier->bezier.points[next_nr].p1);
-    point_scale(&pt2, -1.0);
-    point_add(&pt1, &pt2);
-    point_scale(&pt1, 0.5);
-    pt2 = pt1;
-    point_scale(&pt1, -1.0);
-    point_add(&pt1, &bezier->bezier.points[comp_nr].p3);
-    point_add(&pt2, &bezier->bezier.points[comp_nr].p3);
-    bezier->bezier.points[comp_nr].p2 = pt1;
-    bezier->bezier.points[next_nr].p1 = pt2;
-    bezierconn_update_data(bezier);
-  }
-  break;
-  case BEZ_CORNER_SMOOTH: {
-    Point pt1, pt2;
-    real len1, len2;
-    pt1 = bezier->bezier.points[comp_nr].p3;
-    point_sub(&pt1, &bezier->bezier.points[comp_nr].p2);
-    pt2 = bezier->bezier.points[comp_nr].p3;
-    point_sub(&pt2, &bezier->bezier.points[next_nr].p1);
-    len1 = point_len(&pt1);
-    len2 = point_len(&pt2);
-    point_scale(&pt2, -1.0);
-    if (len1 > 0)
-      point_normalize(&pt1);
-    if (len2 > 0)
-      point_normalize(&pt2);
-    point_add(&pt1, &pt2);
-    point_scale(&pt1, 0.5);
-    pt2 = pt1;
-    point_scale(&pt1, -len1);
-    point_add(&pt1, &bezier->bezier.points[comp_nr].p3);
-    point_scale(&pt2, len2);
-    point_add(&pt2, &bezier->bezier.points[comp_nr].p3);
-    bezier->bezier.points[comp_nr].p2 = pt1;
-    bezier->bezier.points[next_nr].p1 = pt2;
-    bezierconn_update_data(bezier);
-  }
-    break;
-  case BEZ_CORNER_CUSP:
-    break;
+    case BEZ_CORNER_SYMMETRIC: {
+        Point pt1, pt2;
+
+        pt1 = bezier->bezier.points[comp_nr].p3;
+        point_sub (&pt1, &bezier->bezier.points[comp_nr].p2);
+        pt2 = bezier->bezier.points[comp_nr].p3;
+        point_sub (&pt2, &bezier->bezier.points[next_nr].p1);
+        point_scale (&pt2, -1.0);
+        point_add (&pt1, &pt2);
+        point_scale (&pt1, 0.5);
+        pt2 = pt1;
+        point_scale (&pt1, -1.0);
+        point_add (&pt1, &bezier->bezier.points[comp_nr].p3);
+        point_add (&pt2, &bezier->bezier.points[comp_nr].p3);
+        bezier->bezier.points[comp_nr].p2 = pt1;
+        bezier->bezier.points[next_nr].p1 = pt2;
+        bezierconn_update_data (bezier);
+      }
+      break;
+    case BEZ_CORNER_SMOOTH: {
+        Point pt1, pt2;
+        real len1, len2;
+        pt1 = bezier->bezier.points[comp_nr].p3;
+        point_sub (&pt1, &bezier->bezier.points[comp_nr].p2);
+        pt2 = bezier->bezier.points[comp_nr].p3;
+        point_sub (&pt2, &bezier->bezier.points[next_nr].p1);
+        len1 = point_len (&pt1);
+        len2 = point_len (&pt2);
+        point_scale (&pt2, -1.0);
+        if (len1 > 0)
+          point_normalize (&pt1);
+        if (len2 > 0)
+          point_normalize (&pt2);
+        point_add (&pt1, &pt2);
+        point_scale (&pt1, 0.5);
+        pt2 = pt1;
+        point_scale (&pt1, -len1);
+        point_add (&pt1, &bezier->bezier.points[comp_nr].p3);
+        point_scale (&pt2, len2);
+        point_add (&pt2, &bezier->bezier.points[comp_nr].p3);
+        bezier->bezier.points[comp_nr].p2 = pt1;
+        bezier->bezier.points[next_nr].p1 = pt2;
+        bezierconn_update_data (bezier);
+      }
+      break;
+    case BEZ_CORNER_CUSP:
+      break;
+    default:
+      g_return_if_reached ();
   }
 }
 
-/** Change the corner type of a bezier line.
- * @param bezier The bezierconn that has the corner
- * @param handle The handle whose corner should be set.
- * @param corner_type What type of corner the handle should have.
- * @returns Undo information about the corner change.
+
+/**
+ * bezierconn_set_corner_type:
+ * @bezier: The bezierconn that has the corner
+ * @handle: The handle whose corner should be set.
+ * @corner_type: What type of corner the handle should have.
+ *
+ * Change the corner type of a bezier line.
+ *
+ * Returns: Undo information about the corner change.
  */
 ObjectChange *
-bezierconn_set_corner_type (BezierConn *bezier,
-                           Handle *handle,
-                           BezCornerType corner_type)
+bezierconn_set_corner_type (BezierConn    *bezier,
+                            Handle        *handle,
+                            BezCornerType  corner_type)
 {
   Handle *mid_handle;
   Point old_left, old_right;
   int old_type;
   int handle_nr, comp_nr;
 
-  handle_nr = get_handle_nr(bezier, handle);
+  handle_nr = get_handle_nr (bezier, handle);
 
   switch (handle->id) {
-  case HANDLE_BEZMAJOR:
-    mid_handle = handle;
-    break;
-  case HANDLE_LEFTCTRL:
-    handle_nr++;
-    mid_handle = bezier->object.handles[handle_nr];
-    break;
-  case HANDLE_RIGHTCTRL:
-    handle_nr--;
-    mid_handle = bezier->object.handles[handle_nr];
-    break;
-  default:
-    g_warning("Internal error: Setting corner type of endpoint of bezier");
-    return NULL;
+    case HANDLE_BEZMAJOR:
+      mid_handle = handle;
+      break;
+    case HANDLE_LEFTCTRL:
+      handle_nr++;
+      mid_handle = bezier->object.handles[handle_nr];
+      break;
+    case HANDLE_RIGHTCTRL:
+      handle_nr--;
+      mid_handle = bezier->object.handles[handle_nr];
+      break;
+    case HANDLE_MOVE_STARTPOINT:
+    case HANDLE_MOVE_ENDPOINT:
+    case HANDLE_RESIZE_N:
+    case HANDLE_RESIZE_NE:
+    case HANDLE_RESIZE_E:
+    case HANDLE_RESIZE_SE:
+    case HANDLE_RESIZE_S:
+    case HANDLE_RESIZE_SW:
+    case HANDLE_RESIZE_W:
+    case HANDLE_RESIZE_NW:
+    case HANDLE_CUSTOM4:
+    case HANDLE_CUSTOM5:
+    case HANDLE_CUSTOM6:
+    case HANDLE_CUSTOM7:
+    case HANDLE_CUSTOM8:
+    case HANDLE_CUSTOM9:
+    default:
+      g_warning ("Internal error: Setting corner type of endpoint of bezier");
+      return NULL;
   }
 
-  comp_nr = get_major_nr(handle_nr);
+  comp_nr = get_major_nr (handle_nr);
 
   old_type = bezier->bezier.corner_types[comp_nr];
   old_left = bezier->bezier.points[comp_nr].p2;
@@ -651,10 +717,11 @@ bezierconn_set_corner_type (BezierConn *bezier,
 
   bezier->bezier.corner_types[comp_nr] = corner_type;
 
-  bezierconn_straighten_corner(bezier, comp_nr);
+  bezierconn_straighten_corner (bezier, comp_nr);
 
-  return bezierconn_create_corner_change(bezier, mid_handle, &old_left, &old_right,
-                                        old_type, corner_type);
+  return bezierconn_create_corner_change (bezier, mid_handle,
+                                          &old_left, &old_right,
+                                          old_type, corner_type);
 }
 
 /** Update handle array and handle positions after changes.
@@ -665,7 +732,7 @@ bezierconn_update_data (BezierConn *bezier)
 {
   int i;
   DiaObject *obj = &bezier->object;
-  
+
   /* handle the case of whole points array update (via set_prop) */
   if (3*bezier->bezier.num_points-2 != obj->num_handles) {
     /* also maintain potential connections */
@@ -685,7 +752,7 @@ bezierconn_update_data (BezierConn *bezier)
     g_free(obj->handles);
 
     obj->num_handles = 3*bezier->bezier.num_points-2;
-    obj->handles = g_new(Handle*, obj->num_handles); 
+    obj->handles = g_new(Handle*, obj->num_handles);
 
     new_handles(bezier, bezier->bezier.num_points);
     /* we may assign NULL once more here */
@@ -741,10 +808,10 @@ new_handles (BezierConn *bezier, int num_points)
     obj->handles[3*i-2] = g_new0(Handle,1);
     obj->handles[3*i-1] = g_new0(Handle,1);
     obj->handles[3*i] = g_new0(Handle,1);
-  
+
     setup_handle(obj->handles[3*i-2], HANDLE_RIGHTCTRL);
     setup_handle(obj->handles[3*i-1], HANDLE_LEFTCTRL);
-  
+
     obj->handles[3*i]->connect_type = HANDLE_CONNECTABLE;
     obj->handles[3*i]->connected_to = NULL;
     obj->handles[3*i]->type = HANDLE_MAJOR_CONTROL;
@@ -753,7 +820,7 @@ new_handles (BezierConn *bezier, int num_points)
 }
 
 /** Initialize a bezier object with the given amount of points.
- * The points array of the bezier object might not be previously 
+ * The points array of the bezier object might not be previously
  * initialized with appropriate positions.
  * This will set up handles and make all corners symmetric.
  * @param bezier A newly allocated bezierconn object.
@@ -768,7 +835,7 @@ bezierconn_init (BezierConn *bezier, int num_points)
   obj = &bezier->object;
 
   object_init(obj, 3*num_points-2, 0);
-  
+
   bezier->bezier.num_points = num_points;
 
   bezier->bezier.points = g_new(BezPoint, num_points);
@@ -840,7 +907,7 @@ bezierconn_destroy (BezierConn *bezier)
   for (i = 0; i < nh; i++)
     g_free(temp_handles[i]);
   g_free(temp_handles);
-  
+
   g_free(bezier->bezier.points);
   g_free(bezier->bezier.corner_types);
 }
@@ -891,7 +958,7 @@ bezierconn_load (BezierConn *bezier,
   int i;
   AttributeNode attr;
   DataNode data;
-  
+
   DiaObject *obj = &bezier->object;
 
   object_load(obj, obj_node, ctx);
@@ -942,7 +1009,7 @@ bezierconn_load (BezierConn *bezier,
   obj->handles[0]->connected_to = NULL;
   obj->handles[0]->type = HANDLE_MAJOR_CONTROL;
   obj->handles[0]->id = HANDLE_MOVE_STARTPOINT;
-  
+
   for (i = 1; i < bezier->bezier.num_points; i++) {
     obj->handles[3*i-2] = g_new0(Handle,1);
     setup_handle(obj->handles[3*i-2], HANDLE_RIGHTCTRL);
@@ -979,57 +1046,75 @@ bezierconn_point_change_free (struct PointChange *change)
   }
 }
 
-/** Apply a point addition/removal.
- * @param change The change to apply.
- * @param obj The object (must be a BezierConn) to apply the change to.
+
+/**
+ * bezierconn_point_change_apply:
+ * @change: The change to apply.
+ * @obj: The object (must be a BezierConn) to apply the change to.
+ *
+ * Apply a point addition/removal.
  */
 static void
 bezierconn_point_change_apply (struct PointChange *change, DiaObject *obj)
 {
   change->applied = 1;
   switch (change->type) {
-  case TYPE_ADD_POINT:
-    add_handles((BezierConn *)obj, change->pos, &change->point,
-               change->corner_type,
-               change->handle1, change->handle2, change->handle3);
-    break;
-  case TYPE_REMOVE_POINT:
-    object_unconnect(obj, change->handle1);
-    object_unconnect(obj, change->handle2);
-    object_unconnect(obj, change->handle3);
-    remove_handles((BezierConn *)obj, change->pos);
-    break;
+    case TYPE_ADD_POINT:
+      add_handles ((BezierConn *) obj, change->pos, &change->point,
+                   change->corner_type,
+                   change->handle1, change->handle2, change->handle3);
+      break;
+    case TYPE_REMOVE_POINT:
+      object_unconnect (obj, change->handle1);
+      object_unconnect (obj, change->handle2);
+      object_unconnect (obj, change->handle3);
+      remove_handles ((BezierConn *) obj, change->pos);
+      break;
+    default:
+      g_return_if_reached ();
   }
 }
 
-/** Revert (unapply) a point addition/removal.
- * @param change The change to revert.
- * @param obj The object (must be a BezierConn) to revert the change of.
+
+/**
+ * bezierconn_point_change_revert:
+ * @change: The change to revert.
+ * @obj: The object (must be a BezierConn) to revert the change of.
+ *
+ * Revert (unapply) a point addition/removal.
  */
 static void
 bezierconn_point_change_revert (struct PointChange *change, DiaObject *obj)
 {
   switch (change->type) {
-  case TYPE_ADD_POINT:
-    remove_handles((BezierConn *)obj, change->pos);
-    break;
-  case TYPE_REMOVE_POINT:
-    add_handles((BezierConn *)obj, change->pos, &change->point,
-               change->corner_type,
-               change->handle1, change->handle2, change->handle3);
-
-    if (change->connected_to1)
-      object_connect(obj, change->handle1, change->connected_to1);
-    if (change->connected_to2)
-      object_connect(obj, change->handle2, change->connected_to2);
-    if (change->connected_to3)
-      object_connect(obj, change->handle3, change->connected_to3);
-      
-    break;
+    case TYPE_ADD_POINT:
+      remove_handles ((BezierConn *) obj, change->pos);
+      break;
+    case TYPE_REMOVE_POINT:
+      add_handles ((BezierConn *) obj, change->pos, &change->point,
+                   change->corner_type,
+                   change->handle1, change->handle2, change->handle3);
+
+      if (change->connected_to1) {
+        object_connect (obj, change->handle1, change->connected_to1);
+      }
+
+      if (change->connected_to2) {
+        object_connect (obj, change->handle2, change->connected_to2);
+      }
+
+      if (change->connected_to3) {
+        object_connect (obj, change->handle3, change->connected_to3);
+      }
+
+      break;
+    default:
+      g_return_if_reached ();
   }
   change->applied = 0;
 }
 
+
 /** Create undo information about a point being added or removed.
  * @param bezier The object that the change applies to (ignored)
  * @param type The type of change (either TYPE_ADD_POINT or TYPE_REMOVE_POINT)
@@ -1112,7 +1197,7 @@ bezierconn_corner_change_revert(struct CornerChange *change,
 
   bezier->bezier.points[comp_nr].p2 = change->point_left;
   bezier->bezier.points[comp_nr+1].p1 = change->point_right;
-  bezier->bezier.corner_types[comp_nr] = change->old_type;  
+  bezier->bezier.corner_types[comp_nr] = change->old_type;
 
   change->applied = 0;
 }
diff --git a/lib/beziershape.c b/lib/beziershape.c
index e80c5776..b0859ed6 100644
--- a/lib/beziershape.c
+++ b/lib/beziershape.c
@@ -127,36 +127,39 @@ get_handle_nr (BezierShape *bezier, Handle *handle)
 #define get_comp_nr(hnum) ((int)(hnum)/3+1)
 #define get_major_nr(hnum) (((int)(hnum)+2)/3)
 
-/*!
- * \brief Move one of the handles associated with the
- * @param bezier The object whose handle is being moved.
- * @param handle The handle being moved.
- * @param to The position it has been moved to (corrected for
- *   vertical/horizontal only movement).
- * @param cp If non-NULL, the connectionpoint found at this position.
- *   If @a cp is NULL, there may or may not be a connectionpoint.
- * @param reason ignored
- * @param modifiers ignored
- * @return NULL
- * \memberof BezierShape
+
+/**
+ * beziershape_move_handle:
+ * @bezier: The object whose handle is being moved.
+ * @handle: The handle being moved.
+ * @to: The position it has been moved to (corrected for
+ *      vertical/horizontal only movement).
+ * @cp: If non-%NULL, the connectionpoint found at this position.
+ *      If @cp is %NULL, there may or may not be a connectionpoint.
+ * @reason: ignored
+ * @modifiers: ignored
+ *
+ * Move one of the handles associated with the
+ *
+ * Returns: %NULL
  */
 ObjectChange *
-beziershape_move_handle (BezierShape *bezier,
-                        Handle *handle,
-                        Point *to,
-                        ConnectionPoint *cp,
-                        HandleMoveReason reason,
-                        ModifierKeys modifiers)
+beziershape_move_handle (BezierShape      *bezier,
+                         Handle           *handle,
+                         Point            *to,
+                         ConnectionPoint  *cp,
+                         HandleMoveReason  reason,
+                         ModifierKeys      modifiers)
 {
   int handle_nr, comp_nr;
   int next_nr, prev_nr;
   Point delta, pt;
 
   delta = *to;
-  point_sub(&delta, &handle->pos);
+  point_sub (&delta, &handle->pos);
 
-  handle_nr = get_handle_nr(bezier, handle);
-  comp_nr = get_comp_nr(handle_nr);
+  handle_nr = get_handle_nr (bezier, handle);
+  comp_nr = get_comp_nr (handle_nr);
   next_nr = comp_nr + 1;
   prev_nr = comp_nr - 1;
   if (comp_nr == bezier->bezier.num_points - 1)
@@ -164,88 +167,109 @@ beziershape_move_handle (BezierShape *bezier,
   if (comp_nr == 1)
     prev_nr = bezier->bezier.num_points - 1;
 
-  switch(handle->id) {
-  case HANDLE_BEZMAJOR:
-    if (comp_nr == bezier->bezier.num_points - 1) {
-      bezier->bezier.points[comp_nr].p3 = *to;
-      bezier->bezier.points[0].p1 = bezier->bezier.points[0].p3 = *to;
-      point_add(&bezier->bezier.points[comp_nr].p2, &delta);
-      point_add(&bezier->bezier.points[1].p1, &delta);
-    } else {
-      bezier->bezier.points[comp_nr].p3 = *to;
-      point_add(&bezier->bezier.points[comp_nr].p2, &delta);
-      point_add(&bezier->bezier.points[comp_nr+1].p1, &delta);
-    }
-    break;
-  case HANDLE_LEFTCTRL:
-    bezier->bezier.points[comp_nr].p2 = *to;
-    switch (bezier->bezier.corner_types[comp_nr]) {
-    case BEZ_CORNER_SYMMETRIC:
-      pt = bezier->bezier.points[comp_nr].p3;
-      point_sub(&pt, &bezier->bezier.points[comp_nr].p2);
-      point_add(&pt, &bezier->bezier.points[comp_nr].p3);
-      bezier->bezier.points[next_nr].p1 = pt;
-      break;
-    case BEZ_CORNER_SMOOTH: {
-      real len;
-
-      pt = bezier->bezier.points[next_nr].p1;
-      point_sub(&pt, &bezier->bezier.points[comp_nr].p3);
-      len = point_len(&pt);
-
-      pt = bezier->bezier.points[comp_nr].p3;
-      point_sub(&pt, &bezier->bezier.points[comp_nr].p2);
-      if (point_len(&pt) > 0)
-       point_normalize(&pt);
-      else {
-       pt.x = 1.0; pt.y = 0.0;
+  switch (handle->id) {
+    case HANDLE_BEZMAJOR:
+      if (comp_nr == bezier->bezier.num_points - 1) {
+        bezier->bezier.points[comp_nr].p3 = *to;
+        bezier->bezier.points[0].p1 = bezier->bezier.points[0].p3 = *to;
+        point_add(&bezier->bezier.points[comp_nr].p2, &delta);
+        point_add(&bezier->bezier.points[1].p1, &delta);
+      } else {
+        bezier->bezier.points[comp_nr].p3 = *to;
+        point_add(&bezier->bezier.points[comp_nr].p2, &delta);
+        point_add(&bezier->bezier.points[comp_nr+1].p1, &delta);
       }
-      point_scale(&pt, len);
-      point_add(&pt, &bezier->bezier.points[comp_nr].p3);
-      bezier->bezier.points[next_nr].p1 = pt;
       break;
-    }
-    case BEZ_CORNER_CUSP:
-      /* no mirror point movement required */
-      break;
-    }
-    break;
-  case HANDLE_RIGHTCTRL:
-    bezier->bezier.points[comp_nr].p1 = *to;
-    switch (bezier->bezier.corner_types[prev_nr]) {
-    case BEZ_CORNER_SYMMETRIC:
-      pt = bezier->bezier.points[prev_nr].p3;
-      point_sub(&pt, &bezier->bezier.points[comp_nr].p1);
-      point_add(&pt, &bezier->bezier.points[prev_nr].p3);
-      bezier->bezier.points[prev_nr].p2 = pt;
+    case HANDLE_LEFTCTRL:
+      bezier->bezier.points[comp_nr].p2 = *to;
+      switch (bezier->bezier.corner_types[comp_nr]) {
+        case BEZ_CORNER_SYMMETRIC:
+          pt = bezier->bezier.points[comp_nr].p3;
+          point_sub (&pt, &bezier->bezier.points[comp_nr].p2);
+          point_add (&pt, &bezier->bezier.points[comp_nr].p3);
+          bezier->bezier.points[next_nr].p1 = pt;
+          break;
+        case BEZ_CORNER_SMOOTH: {
+            real len;
+
+            pt = bezier->bezier.points[next_nr].p1;
+            point_sub (&pt, &bezier->bezier.points[comp_nr].p3);
+            len = point_len (&pt);
+
+            pt = bezier->bezier.points[comp_nr].p3;
+            point_sub (&pt, &bezier->bezier.points[comp_nr].p2);
+            if (point_len (&pt) > 0) {
+              point_normalize (&pt);
+            } else {
+              pt.x = 1.0; pt.y = 0.0;
+            }
+            point_scale (&pt, len);
+            point_add (&pt, &bezier->bezier.points[comp_nr].p3);
+            bezier->bezier.points[next_nr].p1 = pt;
+            break;
+          }
+        case BEZ_CORNER_CUSP:
+          /* no mirror point movement required */
+          break;
+        default:
+          g_return_val_if_reached (NULL);
+      }
       break;
-    case BEZ_CORNER_SMOOTH: {
-      real len;
-
-      pt = bezier->bezier.points[prev_nr].p2;
-      point_sub(&pt, &bezier->bezier.points[prev_nr].p3);
-      len = point_len(&pt);
-
-      pt = bezier->bezier.points[prev_nr].p3;
-      point_sub(&pt, &bezier->bezier.points[comp_nr].p1);
-      if (point_len(&pt) > 0)
-       point_normalize(&pt);
-      else {
-       pt.x = 1.0; pt.y = 0.0;
+    case HANDLE_RIGHTCTRL:
+      bezier->bezier.points[comp_nr].p1 = *to;
+      switch (bezier->bezier.corner_types[prev_nr]) {
+        case BEZ_CORNER_SYMMETRIC:
+          pt = bezier->bezier.points[prev_nr].p3;
+          point_sub (&pt, &bezier->bezier.points[comp_nr].p1);
+          point_add (&pt, &bezier->bezier.points[prev_nr].p3);
+          bezier->bezier.points[prev_nr].p2 = pt;
+          break;
+        case BEZ_CORNER_SMOOTH: {
+            real len;
+
+            pt = bezier->bezier.points[prev_nr].p2;
+            point_sub (&pt, &bezier->bezier.points[prev_nr].p3);
+            len = point_len (&pt);
+
+            pt = bezier->bezier.points[prev_nr].p3;
+            point_sub (&pt, &bezier->bezier.points[comp_nr].p1);
+            if (point_len (&pt) > 0) {
+              point_normalize(&pt);
+            } else {
+              pt.x = 1.0;
+              pt.y = 0.0;
+            }
+            point_scale (&pt, len);
+            point_add (&pt, &bezier->bezier.points[prev_nr].p3);
+            bezier->bezier.points[prev_nr].p2 = pt;
+            break;
+          }
+        case BEZ_CORNER_CUSP:
+          /* no mirror point movement required */
+          break;
+        default:
+          g_return_val_if_reached (NULL);
       }
-      point_scale(&pt, len);
-      point_add(&pt, &bezier->bezier.points[prev_nr].p3);
-      bezier->bezier.points[prev_nr].p2 = pt;
       break;
-    }
-    case BEZ_CORNER_CUSP:
-      /* no mirror point movement required */
+    case HANDLE_RESIZE_N:
+    case HANDLE_RESIZE_NE:
+    case HANDLE_RESIZE_E:
+    case HANDLE_RESIZE_SE:
+    case HANDLE_RESIZE_S:
+    case HANDLE_RESIZE_SW:
+    case HANDLE_RESIZE_W:
+    case HANDLE_RESIZE_NW:
+    case HANDLE_MOVE_STARTPOINT:
+    case HANDLE_MOVE_ENDPOINT:
+    case HANDLE_CUSTOM4:
+    case HANDLE_CUSTOM5:
+    case HANDLE_CUSTOM6:
+    case HANDLE_CUSTOM7:
+    case HANDLE_CUSTOM8:
+    case HANDLE_CUSTOM9:
+    default:
+      g_warning ("Internal error in beziershape_move_handle.");
       break;
-    }
-    break;
-  default:
-    g_warning("Internal error in beziershape_move_handle.");
-    break;
   }
   return NULL;
 }
@@ -565,87 +589,110 @@ beziershape_straighten_corner (BezierShape *bezier, int comp_nr)
      which handle was chosen:  Mid-handle does average, other leaves that
      handle where it is. */
   bezier->bezier.points[0].p3 = bezier->bezier.points[0].p1;
+
   switch (bezier->bezier.corner_types[comp_nr]) {
-  case BEZ_CORNER_SYMMETRIC: {
-    Point pt1, pt2;
-
-    pt1 = bezier->bezier.points[comp_nr].p3;
-    point_sub(&pt1, &bezier->bezier.points[comp_nr].p2);
-    pt2 = bezier->bezier.points[comp_nr].p3;
-    point_sub(&pt2, &bezier->bezier.points[next_nr].p1);
-    point_scale(&pt2, -1.0);
-    point_add(&pt1, &pt2);
-    point_scale(&pt1, 0.5);
-    pt2 = pt1;
-    point_scale(&pt1, -1.0);
-    point_add(&pt1, &bezier->bezier.points[comp_nr].p3);
-    point_add(&pt2, &bezier->bezier.points[comp_nr].p3);
-    bezier->bezier.points[comp_nr].p2 = pt1;
-    bezier->bezier.points[next_nr].p1 = pt2;
-    beziershape_update_data(bezier);
-  }
-  break;
-  case BEZ_CORNER_SMOOTH: {
-    Point pt1, pt2;
-    real len1, len2;
-    pt1 = bezier->bezier.points[comp_nr].p3;
-    point_sub(&pt1, &bezier->bezier.points[comp_nr].p2);
-    pt2 = bezier->bezier.points[comp_nr].p3;
-    point_sub(&pt2, &bezier->bezier.points[next_nr].p1);
-    len1 = point_len(&pt1);
-    len2 = point_len(&pt2);
-    point_scale(&pt2, -1.0);
-    if (len1 > 0)
-      point_normalize(&pt1);
-    if (len2 > 0)
-      point_normalize(&pt2);
-    point_add(&pt1, &pt2);
-    point_scale(&pt1, 0.5);
-    pt2 = pt1;
-    point_scale(&pt1, -len1);
-    point_add(&pt1, &bezier->bezier.points[comp_nr].p3);
-    point_scale(&pt2, len2);
-    point_add(&pt2, &bezier->bezier.points[comp_nr].p3);
-    bezier->bezier.points[comp_nr].p2 = pt1;
-    bezier->bezier.points[next_nr].p1 = pt2;
-    beziershape_update_data(bezier);
-  }
-    break;
-  case BEZ_CORNER_CUSP:
-    break;
+    case BEZ_CORNER_SYMMETRIC: {
+        Point pt1, pt2;
+
+        pt1 = bezier->bezier.points[comp_nr].p3;
+        point_sub (&pt1, &bezier->bezier.points[comp_nr].p2);
+        pt2 = bezier->bezier.points[comp_nr].p3;
+        point_sub (&pt2, &bezier->bezier.points[next_nr].p1);
+        point_scale (&pt2, -1.0);
+        point_add (&pt1, &pt2);
+        point_scale (&pt1, 0.5);
+        pt2 = pt1;
+        point_scale (&pt1, -1.0);
+        point_add (&pt1, &bezier->bezier.points[comp_nr].p3);
+        point_add (&pt2, &bezier->bezier.points[comp_nr].p3);
+        bezier->bezier.points[comp_nr].p2 = pt1;
+        bezier->bezier.points[next_nr].p1 = pt2;
+        beziershape_update_data (bezier);
+      }
+      break;
+    case BEZ_CORNER_SMOOTH: {
+        Point pt1, pt2;
+        real len1, len2;
+        pt1 = bezier->bezier.points[comp_nr].p3;
+        point_sub (&pt1, &bezier->bezier.points[comp_nr].p2);
+        pt2 = bezier->bezier.points[comp_nr].p3;
+        point_sub (&pt2, &bezier->bezier.points[next_nr].p1);
+        len1 = point_len (&pt1);
+        len2 = point_len (&pt2);
+        point_scale (&pt2, -1.0);
+        if (len1 > 0) {
+          point_normalize (&pt1);
+        }
+        if (len2 > 0) {
+          point_normalize (&pt2);
+        }
+        point_add (&pt1, &pt2);
+        point_scale (&pt1, 0.5);
+        pt2 = pt1;
+        point_scale (&pt1, -len1);
+        point_add (&pt1, &bezier->bezier.points[comp_nr].p3);
+        point_scale (&pt2, len2);
+        point_add (&pt2, &bezier->bezier.points[comp_nr].p3);
+        bezier->bezier.points[comp_nr].p2 = pt1;
+        bezier->bezier.points[next_nr].p1 = pt2;
+        beziershape_update_data (bezier);
+      }
+      break;
+    case BEZ_CORNER_CUSP:
+      break;
+    default:
+      g_return_if_reached ();
   }
+
   bezier->bezier.points[0].p1 = bezier->bezier.points[0].p3;
 }
 
+
 ObjectChange *
-beziershape_set_corner_type (BezierShape *bezier,
-                            Handle *handle,
-                            BezCornerType corner_type)
+beziershape_set_corner_type (BezierShape   *bezier,
+                             Handle        *handle,
+                             BezCornerType  corner_type)
 {
   Handle *mid_handle = NULL;
   Point old_left, old_right;
   int old_type;
   int handle_nr, comp_nr;
 
-  handle_nr = get_handle_nr(bezier, handle);
+  handle_nr = get_handle_nr (bezier, handle);
 
   switch (handle->id) {
-  case HANDLE_BEZMAJOR:
-    mid_handle = handle;
-    break;
-  case HANDLE_LEFTCTRL:
-    handle_nr++;
-    if (handle_nr == bezier->object.num_handles) handle_nr = 0;
-    mid_handle = bezier->object.handles[handle_nr];
-    break;
-  case HANDLE_RIGHTCTRL:
-    handle_nr--;
-    if (handle_nr < 0) handle_nr = bezier->object.num_handles - 1;
-    mid_handle = bezier->object.handles[handle_nr];
-    break;
-  default:
-    g_assert_not_reached();
-    break;
+    case HANDLE_BEZMAJOR:
+      mid_handle = handle;
+      break;
+    case HANDLE_LEFTCTRL:
+      handle_nr++;
+      if (handle_nr == bezier->object.num_handles) handle_nr = 0;
+      mid_handle = bezier->object.handles[handle_nr];
+      break;
+    case HANDLE_RIGHTCTRL:
+      handle_nr--;
+      if (handle_nr < 0) handle_nr = bezier->object.num_handles - 1;
+      mid_handle = bezier->object.handles[handle_nr];
+      break;
+    case HANDLE_MOVE_STARTPOINT:
+    case HANDLE_MOVE_ENDPOINT:
+    case HANDLE_RESIZE_N:
+    case HANDLE_RESIZE_NE:
+    case HANDLE_RESIZE_E:
+    case HANDLE_RESIZE_SE:
+    case HANDLE_RESIZE_S:
+    case HANDLE_RESIZE_SW:
+    case HANDLE_RESIZE_W:
+    case HANDLE_RESIZE_NW:
+    case HANDLE_CUSTOM4:
+    case HANDLE_CUSTOM5:
+    case HANDLE_CUSTOM6:
+    case HANDLE_CUSTOM7:
+    case HANDLE_CUSTOM8:
+    case HANDLE_CUSTOM9:
+    default:
+      g_assert_not_reached();
+      break;
   }
 
   comp_nr = get_major_nr(handle_nr);
@@ -1066,51 +1113,67 @@ beziershape_point_change_free (struct BezPointChange *change)
   }
 }
 
-/** Apply a point addition/removal.
- * @param change The change to apply.
- * @param obj The object (must be a BezierShape) to apply the change to.
+
+/**
+ * beziershape_point_change_apply:
+ * @change: The change to apply.
+ * @obj: The object (must be a BezierShape) to apply the change to.
+ *
+ * Apply a point addition/removal.
  */
 static void
 beziershape_point_change_apply (struct BezPointChange *change, DiaObject *obj)
 {
   change->applied = 1;
+
   switch (change->type) {
-  case TYPE_ADD_POINT:
-    add_handles((BezierShape *)obj, change->pos, &change->point,
-               change->corner_type,
-               change->handle1, change->handle2, change->handle3,
-               change->cp1, change->cp2);
-    break;
-  case TYPE_REMOVE_POINT:
-    object_unconnect(obj, change->handle1);
-    object_unconnect(obj, change->handle2);
-    object_unconnect(obj, change->handle3);
-    remove_handles((BezierShape *)obj, change->pos);
-    break;
+    case TYPE_ADD_POINT:
+      add_handles ((BezierShape *) obj, change->pos, &change->point,
+      change->corner_type,
+      change->handle1, change->handle2, change->handle3,
+      change->cp1, change->cp2);
+      break;
+    case TYPE_REMOVE_POINT:
+      object_unconnect (obj, change->handle1);
+      object_unconnect (obj, change->handle2);
+      object_unconnect (obj, change->handle3);
+      remove_handles ((BezierShape *) obj, change->pos);
+      break;
+    default:
+      g_return_if_reached ();
   }
 }
 
-/** Revert (unapply) a point addition/removal.
- * @param change The change to revert.
- * @param obj The object (must be a BezierShape) to revert the change of.
+
+/**
+ * beziershape_point_change_revert:
+ * @change: The change to revert.
+ * @obj: The object (must be a BezierShape) to revert the change of.
+ *
+ * Revert (unapply) a point addition/removal.
  */
 static void
-beziershape_point_change_revert (struct BezPointChange *change, DiaObject *obj)
+beziershape_point_change_revert (struct BezPointChange *change,
+                                 DiaObject             *obj)
 {
   switch (change->type) {
-  case TYPE_ADD_POINT:
-    remove_handles((BezierShape *)obj, change->pos);
-    break;
-  case TYPE_REMOVE_POINT:
-    add_handles((BezierShape *)obj, change->pos, &change->point,
-               change->corner_type,
-               change->handle1, change->handle2, change->handle3,
-               change->cp1, change->cp2);
-    break;
+    case TYPE_ADD_POINT:
+      remove_handles ((BezierShape *) obj, change->pos);
+      break;
+    case TYPE_REMOVE_POINT:
+      add_handles ((BezierShape *) obj, change->pos, &change->point,
+      change->corner_type,
+      change->handle1, change->handle2, change->handle3,
+      change->cp1, change->cp2);
+      break;
+    default:
+      g_return_if_reached ();
   }
+
   change->applied = 0;
 }
 
+
 static ObjectChange *
 beziershape_create_point_change (BezierShape *bezier,
                                 enum change_type type,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]