[dia] istar: fix warnings
- From: Zander <zbrown src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [dia] istar: fix warnings
- Date: Fri, 27 Mar 2020 19:51:23 +0000 (UTC)
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]