[dia] istar: fix warnings



commit af8fb349d57d12db0504ddf52c8531b69f5e3c50
Author: Zander Brown <zbrown gnome org>
Date:   Fri Mar 27 19:13:12 2020 +0000

    istar: fix warnings

 objects/Istar/actor.c | 166 +++++++++++++++++++++++------------
 objects/Istar/goal.c  | 237 ++++++++++++++++++++++++++++++--------------------
 objects/Istar/other.c | 237 +++++++++++++++++++++++++++++++-------------------
 3 files changed, 402 insertions(+), 238 deletions(-)
---
diff --git a/objects/Istar/actor.c b/objects/Istar/actor.c
index ab201781..b3ca944c 100644
--- a/objects/Istar/actor.c
+++ b/objects/Istar/actor.c
@@ -193,62 +193,97 @@ actor_distance_from(Actor *actor, Point *point)
                                 ACTOR_BORDER_WIDTH, point);
 }
 
+
 static void
-actor_select(Actor *actor, Point *clicked_point,
-          DiaRenderer *interactive_renderer)
+actor_select (Actor       *actor,
+              Point       *clicked_point,
+              DiaRenderer *interactive_renderer)
 {
-  text_set_cursor(actor->text, clicked_point, interactive_renderer);
-  text_grab_focus(actor->text, &actor->element.object);
+  text_set_cursor (actor->text, clicked_point, interactive_renderer);
+  text_grab_focus (actor->text, &actor->element.object);
 
-  element_update_handles(&actor->element);
+  element_update_handles (&actor->element);
 }
 
+
 static ObjectChange*
-actor_move_handle(Actor *actor, Handle *handle,
-               Point *to, ConnectionPoint *cp,
-               HandleMoveReason reason, ModifierKeys modifiers)
+actor_move_handle (Actor            *actor,
+                   Handle           *handle,
+                   Point            *to,
+                   ConnectionPoint  *cp,
+                   HandleMoveReason  reason,
+                   ModifierKeys      modifiers)
 {
   AnchorShape horiz = ANCHOR_MIDDLE, vert = ANCHOR_MIDDLE;
 
-  assert(actor!=NULL);
-  assert(handle!=NULL);
-  assert(to!=NULL);
+  g_return_val_if_fail (actor != NULL, NULL);
+  g_return_val_if_fail (handle != NULL, NULL);
+  g_return_val_if_fail (to != NULL, NULL);
 
-  element_move_handle(&actor->element, handle->id, to, cp, reason, modifiers);
+  element_move_handle (&actor->element,
+                       handle->id, to, cp, reason, modifiers);
 
   switch (handle->id) {
-  case HANDLE_RESIZE_NW:
-    horiz = ANCHOR_END; vert = ANCHOR_END; break;
-  case HANDLE_RESIZE_N:
-    vert = ANCHOR_END; break;
-  case HANDLE_RESIZE_NE:
-    horiz = ANCHOR_START; vert = ANCHOR_END; break;
-  case HANDLE_RESIZE_E:
-    horiz = ANCHOR_START; break;
-  case HANDLE_RESIZE_SE:
-    horiz = ANCHOR_START; vert = ANCHOR_START; break;
-  case HANDLE_RESIZE_S:
-    vert = ANCHOR_START; break;
-  case HANDLE_RESIZE_SW:
-    horiz = ANCHOR_END; vert = ANCHOR_START; break;
-  case HANDLE_RESIZE_W:
-    horiz = ANCHOR_END; break;
-  default:
-    break;
+    case HANDLE_RESIZE_NW:
+      horiz = ANCHOR_END;
+      vert = ANCHOR_END;
+      break;
+    case HANDLE_RESIZE_N:
+      vert = ANCHOR_END;
+      break;
+    case HANDLE_RESIZE_NE:
+      horiz = ANCHOR_START;
+      vert = ANCHOR_END;
+      break;
+    case HANDLE_RESIZE_E:
+      horiz = ANCHOR_START;
+      break;
+    case HANDLE_RESIZE_SE:
+      horiz = ANCHOR_START;
+      vert = ANCHOR_START;
+      break;
+    case HANDLE_RESIZE_S:
+      vert = ANCHOR_START;
+      break;
+    case HANDLE_RESIZE_SW:
+      horiz = ANCHOR_END;
+      vert = ANCHOR_START;
+      break;
+    case HANDLE_RESIZE_W:
+      horiz = ANCHOR_END;
+      break;
+    case HANDLE_MOVE_STARTPOINT:
+    case HANDLE_MOVE_ENDPOINT:
+    case HANDLE_CUSTOM1:
+    case HANDLE_CUSTOM2:
+    case HANDLE_CUSTOM3:
+    case HANDLE_CUSTOM4:
+    case HANDLE_CUSTOM5:
+    case HANDLE_CUSTOM6:
+    case HANDLE_CUSTOM7:
+    case HANDLE_CUSTOM8:
+    case HANDLE_CUSTOM9:
+    default:
+      break;
   }
-  actor_update_data(actor, horiz, vert);
+
+  actor_update_data (actor, horiz, vert);
+
   return NULL;
 }
 
+
 static ObjectChange*
-actor_move(Actor *actor, Point *to)
+actor_move (Actor *actor, Point *to)
 {
   actor->element.corner = *to;
 
-  actor_update_data(actor, ANCHOR_MIDDLE, ANCHOR_MIDDLE);
+  actor_update_data (actor, ANCHOR_MIDDLE, ANCHOR_MIDDLE);
+
   return NULL;
 }
 
+
 /* drawing stuff */
 static void
 actor_draw (Actor *actor, DiaRenderer *renderer)
@@ -298,6 +333,7 @@ actor_draw (Actor *actor, DiaRenderer *renderer)
   pi2.y=pi1.y;
 
   dia_renderer_set_linewidth (renderer, ACTOR_BORDER_WIDTH);
+
   switch (actor->type) {
     case ACTOR_AGENT:
       dia_renderer_draw_line (renderer, &ps1, &ps2, &ACTOR_FG_COLOR);
@@ -311,12 +347,14 @@ actor_draw (Actor *actor, DiaRenderer *renderer)
       break;
     case ACTOR_UNSPECIFIED:
       break;
+    default:
+      g_return_if_reached ();
   }
 }
 
 
 static void
-actor_update_data(Actor *actor, AnchorShape horiz, AnchorShape vert)
+actor_update_data (Actor *actor, AnchorShape horiz, AnchorShape vert)
 {
   Element *elem = &actor->element;
   DiaObject *obj = &elem->object;
@@ -333,37 +371,53 @@ actor_update_data(Actor *actor, AnchorShape horiz, AnchorShape vert)
   center.y += elem->height/2;
   bottom_right.y += elem->height;
 
-  text_calc_boundingbox(actor->text, NULL);
+  text_calc_boundingbox (actor->text, NULL);
   width = actor->text->max_width+0.5;
   height = actor->text->height * (actor->text->numlines + 3); /* added 3 blank lines for top */
 
   /* minimal radius */
-  mradius=width;
-  if (mradius<height) mradius=height;
-  if (mradius<ACTOR_RADIUS) mradius=ACTOR_RADIUS;
+  mradius = width;
+  if (mradius < height) {
+    mradius = height;
+  }
+
+  if (mradius < ACTOR_RADIUS) {
+    mradius = ACTOR_RADIUS;
+  }
 
   /* radius */
-  radius=elem->width;
-  if (radius<elem->height) radius=elem->height;
+  radius = elem->width;
+  if (radius < elem->height) {
+    radius = elem->height;
+  }
 
   /* enforce (minimal or resized) radius */
-  if (radius<mradius) radius=mradius;
+  if (radius < mradius) {
+    radius = mradius;
+  }
   elem->width=elem->height=radius;
 
   /* move shape if necessary ... (untouched) */
   switch (horiz) {
     case ANCHOR_MIDDLE:
-      elem->corner.x = center.x - elem->width/2; break;
+      elem->corner.x = center.x - elem->width/2;
+      break;
     case ANCHOR_END:
-      elem->corner.x = bottom_right.x - elem->width; break;
+      elem->corner.x = bottom_right.x - elem->width;
+      break;
+    case ANCHOR_START:
     default:
       break;
   }
+
   switch (vert) {
     case ANCHOR_MIDDLE:
-      elem->corner.y = center.y - elem->height/2; break;
+      elem->corner.y = center.y - elem->height/2;
+      break;
     case ANCHOR_END:
-      elem->corner.y = bottom_right.y - elem->height; break;
+      elem->corner.y = bottom_right.y - elem->height;
+      break;
+    case ANCHOR_START:
     default:
       break;
   }
@@ -372,32 +426,32 @@ actor_update_data(Actor *actor, AnchorShape horiz, AnchorShape vert)
   p.x += elem->width / 2.0;
   p.y += elem->height / 2.0 - actor->text->height*actor->text->numlines/2 +
     actor->text->ascent;
-  text_set_position(actor->text, &p);
+  text_set_position (actor->text, &p);
 
   /* compute connection positions */
   c.x = elem->corner.x + elem->width / 2;
   c.y = elem->corner.y + elem->height / 2;
   dw = elem->width  / 2.0;
   dh = elem->height / 2.0;
-  for (i = 0; i < NUM_CONNECTIONS-1; i++) {
+  for (i = 0; i < NUM_CONNECTIONS - 1; i++) {
     real theta = M_PI / 8.0 * i;
-    real costheta = cos(theta);
-    real sintheta = sin(theta);
-    connpoint_update(&actor->connections[i],
-                     c.x + dw * costheta,
-                     c.y - dh * sintheta,
-                     (costheta > .5?DIR_EAST:(costheta < -.5?DIR_WEST:0))|
-                     (sintheta > .5?DIR_NORTH:(sintheta < -.5?DIR_SOUTH:0)));
+    real costheta = cos (theta);
+    real sintheta = sin (theta);
+    connpoint_update (&actor->connections[i],
+                      c.x + dw * costheta,
+                      c.y - dh * sintheta,
+                      (costheta > .5?DIR_EAST:(costheta < -.5?DIR_WEST:0))|
+                      (sintheta > .5?DIR_NORTH:(sintheta < -.5?DIR_SOUTH:0)));
   }
   actor->connections[16].pos.x = c.x;
   actor->connections[16].pos.y = c.y;
 
   extra->border_trans = ACTOR_BORDER_WIDTH / 2.0;
-  element_update_boundingbox(elem);
+  element_update_boundingbox (elem);
 
   obj->position = elem->corner;
 
-  element_update_handles(elem);
+  element_update_handles (elem);
 }
 
 /* creation stuff */
diff --git a/objects/Istar/goal.c b/objects/Istar/goal.c
index eaa319f3..21530c03 100644
--- a/objects/Istar/goal.c
+++ b/objects/Istar/goal.c
@@ -211,99 +211,134 @@ goal_select(Goal *goal, Point *clicked_point,
   element_update_handles(&goal->element);
 }
 
+
 static ObjectChange*
-goal_move_handle(Goal *goal, Handle *handle,
-               Point *to, ConnectionPoint *cp,
-               HandleMoveReason reason, ModifierKeys modifiers)
+goal_move_handle (Goal             *goal,
+                  Handle           *handle,
+                  Point            *to,
+                  ConnectionPoint  *cp,
+                  HandleMoveReason  reason,
+                  ModifierKeys      modifiers)
 {
   AnchorShape horiz = ANCHOR_MIDDLE, vert = ANCHOR_MIDDLE;
 
-  assert(goal!=NULL);
-  assert(handle!=NULL);
-  assert(to!=NULL);
+  g_return_val_if_fail (goal != NULL, NULL);
+  g_return_val_if_fail (handle != NULL, NULL);
+  g_return_val_if_fail (to != NULL, NULL);
 
-  element_move_handle(&goal->element, handle->id, to, cp, reason, modifiers);
+  element_move_handle (&goal->element, handle->id, to, cp, reason, modifiers);
 
   switch (handle->id) {
-  case HANDLE_RESIZE_NW:
-    horiz = ANCHOR_END; vert = ANCHOR_END; break;
-  case HANDLE_RESIZE_N:
-    vert = ANCHOR_END; break;
-  case HANDLE_RESIZE_NE:
-    horiz = ANCHOR_START; vert = ANCHOR_END; break;
-  case HANDLE_RESIZE_E:
-    horiz = ANCHOR_START; break;
-  case HANDLE_RESIZE_SE:
-    horiz = ANCHOR_START; vert = ANCHOR_START; break;
-  case HANDLE_RESIZE_S:
-    vert = ANCHOR_START; break;
-  case HANDLE_RESIZE_SW:
-    horiz = ANCHOR_END; vert = ANCHOR_START; break;
-  case HANDLE_RESIZE_W:
-    horiz = ANCHOR_END; break;
-  default:
-    break;
+    case HANDLE_RESIZE_NW:
+      horiz = ANCHOR_END;
+      vert = ANCHOR_END;
+      break;
+    case HANDLE_RESIZE_N:
+      vert = ANCHOR_END;
+      break;
+    case HANDLE_RESIZE_NE:
+      horiz = ANCHOR_START;
+      vert = ANCHOR_END;
+      break;
+    case HANDLE_RESIZE_E:
+      horiz = ANCHOR_START;
+      break;
+    case HANDLE_RESIZE_SE:
+      horiz = ANCHOR_START;
+      vert = ANCHOR_START;
+      break;
+    case HANDLE_RESIZE_S:
+      vert = ANCHOR_START;
+      break;
+    case HANDLE_RESIZE_SW:
+      horiz = ANCHOR_END;
+      vert = ANCHOR_START;
+      break;
+    case HANDLE_RESIZE_W:
+      horiz = ANCHOR_END;
+      break;
+    case HANDLE_MOVE_STARTPOINT:
+    case HANDLE_MOVE_ENDPOINT:
+    case HANDLE_CUSTOM1:
+    case HANDLE_CUSTOM2:
+    case HANDLE_CUSTOM3:
+    case HANDLE_CUSTOM4:
+    case HANDLE_CUSTOM5:
+    case HANDLE_CUSTOM6:
+    case HANDLE_CUSTOM7:
+    case HANDLE_CUSTOM8:
+    case HANDLE_CUSTOM9:
+    default:
+      break;
   }
-  goal_update_data(goal, horiz, vert);
+
+  goal_update_data (goal, horiz, vert);
+
   return NULL;
 }
 
+
 static ObjectChange*
-goal_move(Goal *goal, Point *to)
+goal_move (Goal *goal, Point *to)
 {
   goal->element.corner = *to;
 
-  goal_update_data(goal, ANCHOR_MIDDLE, ANCHOR_MIDDLE);
+  goal_update_data (goal, ANCHOR_MIDDLE, ANCHOR_MIDDLE);
+
   return NULL;
 }
 
-static void compute_cloud(Goal *goal, BezPoint* bpl) {
-     Point p;
-     double w,h;
-     Element *elem;
-
-     elem=&goal->element;
-     p=elem->corner;
-     w=elem->width;
-     h=elem->height;
-
-     bpl[0].type=BEZ_MOVE_TO;
-     bpl[0].p1.x=p.x+w*0.19;
-     bpl[0].p1.y=p.y;
-
-     bpl[1].type=BEZ_CURVE_TO;
-     bpl[1].p3.x=p.x+w*0.81;
-     bpl[1].p3.y=p.y;
-     bpl[1].p1.x=bpl[0].p1.x+w/4;
-     bpl[1].p1.y=bpl[0].p1.y+h/10;
-     bpl[1].p2.x=bpl[1].p3.x-w/4;
-     bpl[1].p2.y=bpl[1].p3.y+h/10;
-
-     bpl[2].type=BEZ_CURVE_TO;
-     bpl[2].p3.x=p.x+w*0.81;
-     bpl[2].p3.y=p.y+h;
-     bpl[2].p1.x=bpl[1].p3.x+w/4;
-     bpl[2].p1.y=bpl[1].p3.y-h/10;
-     bpl[2].p2.x=bpl[2].p3.x+w/4;
-     bpl[2].p2.y=bpl[2].p3.y+h/10;
-
-     bpl[3].type=BEZ_CURVE_TO;
-     bpl[3].p3.x=p.x+w*0.19;
-     bpl[3].p3.y=p.y+h;
-     bpl[3].p1.x=bpl[2].p3.x-w/4;
-     bpl[3].p1.y=bpl[2].p3.y-h/10;
-     bpl[3].p2.x=bpl[3].p3.x+w/4;
-     bpl[3].p2.y=bpl[3].p3.y-h/10;
-
-     bpl[4].type=BEZ_CURVE_TO;
-     bpl[4].p3.x=p.x+w*0.19;
-     bpl[4].p3.y=p.y;
-     bpl[4].p1.x=bpl[3].p3.x-w/4;
-     bpl[4].p1.y=bpl[3].p3.y+h/10;
-     bpl[4].p2.x=bpl[4].p3.x-w/4;
-     bpl[4].p2.y=bpl[4].p3.y-h/10;
+
+static void
+compute_cloud(Goal *goal, BezPoint* bpl)
+{
+  Point p;
+  double w,h;
+  Element *elem;
+
+  elem=&goal->element;
+  p=elem->corner;
+  w=elem->width;
+  h=elem->height;
+
+  bpl[0].type=BEZ_MOVE_TO;
+  bpl[0].p1.x=p.x+w*0.19;
+  bpl[0].p1.y=p.y;
+
+  bpl[1].type=BEZ_CURVE_TO;
+  bpl[1].p3.x=p.x+w*0.81;
+  bpl[1].p3.y=p.y;
+  bpl[1].p1.x=bpl[0].p1.x+w/4;
+  bpl[1].p1.y=bpl[0].p1.y+h/10;
+  bpl[1].p2.x=bpl[1].p3.x-w/4;
+  bpl[1].p2.y=bpl[1].p3.y+h/10;
+
+  bpl[2].type=BEZ_CURVE_TO;
+  bpl[2].p3.x=p.x+w*0.81;
+  bpl[2].p3.y=p.y+h;
+  bpl[2].p1.x=bpl[1].p3.x+w/4;
+  bpl[2].p1.y=bpl[1].p3.y-h/10;
+  bpl[2].p2.x=bpl[2].p3.x+w/4;
+  bpl[2].p2.y=bpl[2].p3.y+h/10;
+
+  bpl[3].type=BEZ_CURVE_TO;
+  bpl[3].p3.x=p.x+w*0.19;
+  bpl[3].p3.y=p.y+h;
+  bpl[3].p1.x=bpl[2].p3.x-w/4;
+  bpl[3].p1.y=bpl[2].p3.y-h/10;
+  bpl[3].p2.x=bpl[3].p3.x+w/4;
+  bpl[3].p2.y=bpl[3].p3.y-h/10;
+
+  bpl[4].type=BEZ_CURVE_TO;
+  bpl[4].p3.x=p.x+w*0.19;
+  bpl[4].p3.y=p.y;
+  bpl[4].p1.x=bpl[3].p3.x-w/4;
+  bpl[4].p1.y=bpl[3].p3.y+h/10;
+  bpl[4].p2.x=bpl[4].p3.x-w/4;
+  bpl[4].p2.y=bpl[4].p3.y-h/10;
 }
 
+
 /* drawing stuff */
 static void
 goal_draw (Goal *goal, DiaRenderer *renderer)
@@ -343,8 +378,9 @@ goal_draw (Goal *goal, DiaRenderer *renderer)
   text_draw (goal->text, renderer);
 }
 
+
 static void
-goal_update_data(Goal *goal, AnchorShape horiz, AnchorShape vert)
+goal_update_data (Goal *goal, AnchorShape horiz, AnchorShape vert)
 {
   Element *elem = &goal->element;
   ElementBBExtras *extra = &elem->extra_spacing;
@@ -361,45 +397,58 @@ goal_update_data(Goal *goal, AnchorShape horiz, AnchorShape vert)
   center.y += elem->height/2;
   bottom_right.y += elem->height;
 
-  text_calc_boundingbox(goal->text, NULL);
+  text_calc_boundingbox (goal->text, NULL);
   w = goal->text->max_width + goal->padding*2;
   h = goal->text->height * goal->text->numlines + goal->padding*2;
 
   /* autoscale here */
-  if (w > elem->width) elem->width = w;
-  if (h > elem->height) elem->height = h;
-  if (elem->width<elem->height) elem->width=elem->height;
+  if (w > elem->width) {
+    elem->width = w;
+  }
+
+  if (h > elem->height) {
+    elem->height = h;
+  }
+
+  if (elem->width < elem->height) {
+    elem->width = elem->height;
+  }
 
   /* move shape if necessary ... */
   switch (horiz) {
-  case ANCHOR_MIDDLE:
-    elem->corner.x = center.x - elem->width/2; break;
-  case ANCHOR_END:
-    elem->corner.x = bottom_right.x - elem->width; break;
-  default:
-    break;
+    case ANCHOR_MIDDLE:
+      elem->corner.x = center.x - elem->width/2;
+      break;
+    case ANCHOR_END:
+      elem->corner.x = bottom_right.x - elem->width;
+      break;
+    case ANCHOR_START:
+    default:
+      break;
   }
+
   switch (vert) {
-  case ANCHOR_MIDDLE:
-    elem->corner.y = center.y - elem->height/2; break;
-  case ANCHOR_END:
-    elem->corner.y = bottom_right.y - elem->height; break;
-  default:
-    break;
+    case ANCHOR_MIDDLE:
+      elem->corner.y = center.y - elem->height/2; break;
+    case ANCHOR_END:
+      elem->corner.y = bottom_right.y - elem->height; break;
+    case ANCHOR_START:
+    default:
+      break;
   }
 
   p = elem->corner;
   p.x += elem->width / 2.0;
   p.y += elem->height / 2.0 - goal->text->height * goal->text->numlines / 2 +
     goal->text->ascent;
-  text_set_position(goal->text, &p);
+  text_set_position (goal->text, &p);
 
   extra->border_trans = GOAL_LINE_WIDTH;
-  element_update_boundingbox(elem);
+  element_update_boundingbox (elem);
 
   obj->position = elem->corner;
 
-  element_update_handles(elem);
+  element_update_handles (elem);
 
   /* Update connections: */
   p = elem->corner;
@@ -409,6 +458,8 @@ goal_update_data(Goal *goal, AnchorShape horiz, AnchorShape vert)
   switch (goal->type) {
     case SOFTGOAL: update_softgoal_connectors(c,p,w,h); break;
     case GOAL:     update_goal_connectors(c,p,w,h); break;
+    default:
+      g_return_if_reached ();
   }
 }
 
diff --git a/objects/Istar/other.c b/objects/Istar/other.c
index 6ddd9929..29ce602a 100644
--- a/objects/Istar/other.c
+++ b/objects/Istar/other.c
@@ -204,86 +204,123 @@ other_distance_from(Other *other, Point *point)
   return distance_rectangle_point(&rect, point);
 }
 
+
 static void
-other_select(Other *other, Point *clicked_point,
-          DiaRenderer *interactive_renderer)
+other_select (Other       *other,
+              Point       *clicked_point,
+              DiaRenderer *interactive_renderer)
 {
-  text_set_cursor(other->text, clicked_point, interactive_renderer);
-  text_grab_focus(other->text, &other->element.object);
-  element_update_handles(&other->element);
+  text_set_cursor (other->text, clicked_point, interactive_renderer);
+  text_grab_focus (other->text, &other->element.object);
+  element_update_handles (&other->element);
 }
 
+
 static ObjectChange*
-other_move_handle(Other *other, Handle *handle,
-               Point *to, ConnectionPoint *cp,
-               HandleMoveReason reason, ModifierKeys modifiers)
+other_move_handle (Other            *other,
+                   Handle           *handle,
+                   Point            *to,
+                   ConnectionPoint  *cp,
+                   HandleMoveReason  reason,
+                   ModifierKeys      modifiers)
 {
   AnchorShape horiz = ANCHOR_MIDDLE, vert = ANCHOR_MIDDLE;
 
-  assert(other!=NULL);
-  assert(handle!=NULL);
-  assert(to!=NULL);
+  g_return_val_if_fail (other != NULL, NULL);
+  g_return_val_if_fail (handle != NULL, NULL);
+  g_return_val_if_fail (to != NULL, NULL);
 
-  element_move_handle(&other->element, handle->id, to, cp, reason, modifiers);
+  element_move_handle (&other->element,
+                       handle->id, to, cp, reason, modifiers);
 
   switch (handle->id) {
-  case HANDLE_RESIZE_NW:
-    horiz = ANCHOR_END; vert = ANCHOR_END; break;
-  case HANDLE_RESIZE_N:
-    vert = ANCHOR_END; break;
-  case HANDLE_RESIZE_NE:
-    horiz = ANCHOR_START; vert = ANCHOR_END; break;
-  case HANDLE_RESIZE_E:
-    horiz = ANCHOR_START; break;
-  case HANDLE_RESIZE_SE:
-    horiz = ANCHOR_START; vert = ANCHOR_START; break;
-  case HANDLE_RESIZE_S:
-    vert = ANCHOR_START; break;
-  case HANDLE_RESIZE_SW:
-    horiz = ANCHOR_END; vert = ANCHOR_START; break;
-  case HANDLE_RESIZE_W:
-    horiz = ANCHOR_END; break;
-  default:
-    break;
+    case HANDLE_RESIZE_NW:
+      horiz = ANCHOR_END;
+      vert = ANCHOR_END;
+      break;
+    case HANDLE_RESIZE_N:
+      vert = ANCHOR_END;
+      break;
+    case HANDLE_RESIZE_NE:
+      horiz = ANCHOR_START;
+      vert = ANCHOR_END;
+      break;
+    case HANDLE_RESIZE_E:
+      horiz = ANCHOR_START;
+      break;
+    case HANDLE_RESIZE_SE:
+      horiz = ANCHOR_START;
+      vert = ANCHOR_START;
+      break;
+    case HANDLE_RESIZE_S:
+      vert = ANCHOR_START;
+      break;
+    case HANDLE_RESIZE_SW:
+      horiz = ANCHOR_END;
+      vert = ANCHOR_START;
+      break;
+    case HANDLE_RESIZE_W:
+      horiz = ANCHOR_END;
+      break;
+    case HANDLE_MOVE_STARTPOINT:
+    case HANDLE_MOVE_ENDPOINT:
+    case HANDLE_CUSTOM1:
+    case HANDLE_CUSTOM2:
+    case HANDLE_CUSTOM3:
+    case HANDLE_CUSTOM4:
+    case HANDLE_CUSTOM5:
+    case HANDLE_CUSTOM6:
+    case HANDLE_CUSTOM7:
+    case HANDLE_CUSTOM8:
+    case HANDLE_CUSTOM9:
+    default:
+      break;
   }
-  other_update_data(other, horiz, vert);
+
+  other_update_data (other, horiz, vert);
+
   return NULL;
 }
 
+
 static ObjectChange*
-other_move(Other *other, Point *to)
+other_move (Other *other, Point *to)
 {
   other->element.corner = *to;
 
-  other_update_data(other, ANCHOR_MIDDLE, ANCHOR_MIDDLE);
+  other_update_data (other, ANCHOR_MIDDLE, ANCHOR_MIDDLE);
   return NULL;
 }
 
-static void compute_task(Other *other, Point *pl) {
-     double rx,ry,w,h,h2;
-     Element *elem;
-
-     elem=&other->element;
-     w=elem->width;
-     h=elem->height;
-     rx=elem->corner.x;
-     ry=elem->corner.y;
-     h2=h/2;
-
-     pl[0].x=rx;
-     pl[0].y=ry+h2;
-     pl[1].x=rx+h2;
-     pl[1].y=ry;
-     pl[2].x=rx+w-h2;
-     pl[2].y=ry;
-     pl[3].x=rx+w;
-     pl[3].y=ry+h2;
-     pl[4].x=rx+w-h2;
-     pl[4].y=ry+h;
-     pl[5].x=rx+h2;
-     pl[5].y=ry+h;
+
+static void
+compute_task (Other *other, Point *pl)
+{
+  double rx,ry,w,h,h2;
+  Element *elem;
+
+  elem=&other->element;
+  w=elem->width;
+  h=elem->height;
+  rx=elem->corner.x;
+  ry=elem->corner.y;
+  h2=h/2;
+
+  pl[0].x=rx;
+  pl[0].y=ry+h2;
+  pl[1].x=rx+h2;
+  pl[1].y=ry;
+  pl[2].x=rx+w-h2;
+  pl[2].y=ry;
+  pl[3].x=rx+w;
+  pl[3].y=ry+h2;
+  pl[4].x=rx+w-h2;
+  pl[4].y=ry+h;
+  pl[5].x=rx+h2;
+  pl[5].y=ry+h;
 }
 
+
 /* drawing stuff */
 static void
 other_draw (Other *other, DiaRenderer *renderer)
@@ -292,8 +329,8 @@ other_draw (Other *other, DiaRenderer *renderer)
   Element *elem;
 
   /* some asserts */
-  assert(other != NULL);
-  assert(renderer != NULL);
+  g_return_if_fail (other != NULL);
+  g_return_if_fail (renderer != NULL);
 
   elem = &other->element;
 
@@ -307,13 +344,18 @@ other_draw (Other *other, DiaRenderer *renderer)
       p2.x=p1.x+elem->width;
       p2.y=p1.y+elem->height;
       dia_renderer_set_linewidth (renderer, OTHER_LINE_WIDTH);
-      dia_renderer_draw_rect (renderer,&p1,&p2, &OTHER_BG_COLOR, &OTHER_FG_COLOR);
+      dia_renderer_draw_rect (renderer, &p1, &p2,
+                              &OTHER_BG_COLOR, &OTHER_FG_COLOR);
       break;
     case TASK:
       compute_task (other, pl);
       dia_renderer_set_fillstyle (renderer, FILLSTYLE_SOLID);
       dia_renderer_set_linewidth (renderer, OTHER_LINE_WIDTH);
-      dia_renderer_draw_polygon (renderer, pl, 6, &OTHER_BG_COLOR, &OTHER_FG_COLOR);
+      dia_renderer_draw_polygon (renderer, pl, 6,
+                                 &OTHER_BG_COLOR, &OTHER_FG_COLOR);
+      break;
+    default:
+      g_return_if_reached ();
       break;
   }
 
@@ -321,8 +363,9 @@ other_draw (Other *other, DiaRenderer *renderer)
   text_draw (other->text, renderer);
 }
 
+
 static void
-other_update_data(Other *other, AnchorShape horiz, AnchorShape vert)
+other_update_data (Other *other, AnchorShape horiz, AnchorShape vert)
 {
   Element *elem = &other->element;
   ElementBBExtras *extra = &elem->extra_spacing;
@@ -339,31 +382,46 @@ other_update_data(Other *other, AnchorShape horiz, AnchorShape vert)
   center.y += elem->height/2;
   bottom_right.y += elem->height;
 
-  text_calc_boundingbox(other->text, NULL);
+  text_calc_boundingbox (other->text, NULL);
   width = other->text->max_width + other->padding*2;
   height = other->text->height * other->text->numlines + other->padding*2;
 
   /* autoscale here */
-  if (width > elem->width) elem->width = width;
-  if (height > elem->height) elem->height = height;
-  if (elem->width<elem->height*1.5) elem->width=elem->height*1.5;
+  if (width > elem->width) {
+    elem->width = width;
+  }
+
+  if (height > elem->height) {
+    elem->height = height;
+  }
+
+  if (elem->width < elem->height * 1.5) {
+    elem->width = elem->height * 1.5;
+  }
 
   /* move shape if necessary ... */
   switch (horiz) {
-  case ANCHOR_MIDDLE:
-    elem->corner.x = center.x - elem->width/2; break;
-  case ANCHOR_END:
-    elem->corner.x = bottom_right.x - elem->width; break;
-  default:
-    break;
+    case ANCHOR_MIDDLE:
+      elem->corner.x = center.x - elem->width/2;
+      break;
+    case ANCHOR_END:
+      elem->corner.x = bottom_right.x - elem->width;
+      break;
+    case ANCHOR_START:
+    default:
+      break;
   }
+
   switch (vert) {
-  case ANCHOR_MIDDLE:
-    elem->corner.y = center.y - elem->height/2; break;
-  case ANCHOR_END:
-    elem->corner.y = bottom_right.y - elem->height; break;
-  default:
-    break;
+    case ANCHOR_MIDDLE:
+      elem->corner.y = center.y - elem->height/2;
+      break;
+    case ANCHOR_END:
+      elem->corner.y = bottom_right.y - elem->height;
+      break;
+    case ANCHOR_START:
+    default:
+      break;
   }
 
   p = elem->corner;
@@ -371,14 +429,14 @@ other_update_data(Other *other, AnchorShape horiz, AnchorShape vert)
 
   p.y += elem->height / 2.0 - other->text->height * other->text->numlines / 2 +
     other->text->ascent;
-  text_set_position(other->text, &p);
+  text_set_position (other->text, &p);
 
   extra->border_trans = OTHER_LINE_WIDTH / 2.0;
-  element_update_boundingbox(elem);
+  element_update_boundingbox (elem);
 
   obj->position = elem->corner;
 
-  element_update_handles(elem);
+  element_update_handles (elem);
 
   /* Update connections: */
   nw = elem->corner;
@@ -389,18 +447,19 @@ other_update_data(Other *other, AnchorShape horiz, AnchorShape vert)
   sw.y = se.y;
   sw.x = nw.x;
 
-  connpointline_update(other->north);
-  connpointline_putonaline(other->north,&ne,&nw,DIR_NORTH);
-  connpointline_update(other->west);
-  connpointline_putonaline(other->west,&nw,&sw,DIR_WEST);
-  connpointline_update(other->south);
-  connpointline_putonaline(other->south,&sw,&se,DIR_SOUTH);
-  connpointline_update(other->east);
-  connpointline_putonaline(other->east,&se,&ne,DIR_EAST);
+  connpointline_update (other->north);
+  connpointline_putonaline (other->north, &ne, &nw, DIR_NORTH);
+  connpointline_update (other->west);
+  connpointline_putonaline (other->west, &nw, &sw, DIR_WEST);
+  connpointline_update (other->south);
+  connpointline_putonaline (other->south, &sw, &se, DIR_SOUTH);
+  connpointline_update (other->east);
+  connpointline_putonaline (other->east, &se, &ne, DIR_EAST);
 }
 
+
 static ConnPointLine *
-other_get_clicked_border(Other *other, Point *clicked)
+other_get_clicked_border (Other *other, Point *clicked)
 {
   ConnPointLine *cpl;
   real dist,dist2;


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