diff options
author | lecoanet | 2001-03-15 09:05:10 +0000 |
---|---|---|
committer | lecoanet | 2001-03-15 09:05:10 +0000 |
commit | 93d20b815cc0f3c73c19dc1a0f026aa9d80c616d (patch) | |
tree | 0cd3d5be357ddbe66dd38458b1ab48ecba2206fe /generic | |
parent | e8a4bffc251514297253871d8c61c09b36b1e0bf (diff) | |
download | tkzinc-93d20b815cc0f3c73c19dc1a0f026aa9d80c616d.zip tkzinc-93d20b815cc0f3c73c19dc1a0f026aa9d80c616d.tar.gz tkzinc-93d20b815cc0f3c73c19dc1a0f026aa9d80c616d.tar.bz2 tkzinc-93d20b815cc0f3c73c19dc1a0f026aa9d80c616d.tar.xz |
Correction des instabilit�s de position entre les diff�rents composants
de la pise et l'�tiquette (arrondis syst�matiques).
Correction d'un bug sur le pattern de remplissage. On ne repositionnait
pas le pattern ce qui entrainait des marqueurs hachur�s.
Diffstat (limited to 'generic')
-rw-r--r-- | generic/Track.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/generic/Track.c b/generic/Track.c index d85f71c..fb6a587 100644 --- a/generic/Track.c +++ b/generic/Track.c @@ -484,7 +484,7 @@ Destroy(Item item) { TrackItem track = (TrackItem) item; WidgetInfo *wi = item->wi; - + if (track->leader_points) { ZnListFree(track->leader_points); } @@ -661,7 +661,6 @@ Query(Item item, * ********************************************************************************** */ - static void ComputeCoordinates(Item item, ZnBool force) @@ -695,6 +694,8 @@ ComputeCoordinates(Item item, old_pos = track->dev; ZnTransformPoint(wi->current_transfo, &track->pos, &track->dev); + track->dev.x = REAL_TO_INT(track->dev.x); + track->dev.y = REAL_TO_INT(track->dev.y); /*printf("track pos %g %g --> %g %g\n", track->pos.x, track->pos.y, track->dev.x, track->dev.y);*/ if (track->symbol != ZnUnspecifiedPattern) { Tk_SizeOfBitmap(wi->dpy, track->symbol, &w, &h); @@ -736,7 +737,9 @@ ComputeCoordinates(Item item, if (item->class == ZnTrack) { p.x = track->pos.x + track->speed_vector.x * wi->speed_vector_length; p.y = track->pos.y + track->speed_vector.y * wi->speed_vector_length; - ZnTransformPoint(wi->current_transfo, &p, &track->speed_vector_dev); + ZnTransformPoint(wi->current_transfo, &p, &track->speed_vector_dev); + track->speed_vector_dev.x = REAL_TO_INT(track->speed_vector_dev.x); + track->speed_vector_dev.y = REAL_TO_INT(track->speed_vector_dev.y); AddPointToBBox(&item->item_bounding_box, track->speed_vector_dev.x, track->speed_vector_dev.y); } @@ -762,6 +765,7 @@ ComputeCoordinates(Item item, xp.x = xp.x - track->dev.x; xp.y = xp.y - track->dev.y; track->marker_size_dev = sqrt(xp.x*xp.x + xp.y*xp.y); + track->marker_size_dev = REAL_TO_INT(track->marker_size_dev); if (track->marker_size_dev > PRECISION_LIMIT) { AddPointToBBox(&item->item_bounding_box, track->dev.x - (ZnPos) track->marker_size_dev, @@ -809,7 +813,9 @@ ComputeCoordinates(Item item, field_set->label_pos.y = track->dev.y - track->label_dy; Anchor2Origin(&field_set->label_pos, bb_width, bb_height, track->label_anchor, &field_set->label_pos); - + field_set->label_pos.x = REAL_TO_INT(field_set->label_pos.x); + field_set->label_pos.y = REAL_TO_INT(field_set->label_pos.y); + AddPointToBBox(&item->item_bounding_box, field_set->label_pos.x, field_set->label_pos.y); AddPointToBBox(&item->item_bounding_box, @@ -1036,7 +1042,6 @@ Draw(Item item) int h_side_size, side_size, width=0, height=0; int i, nb_hist, num_acc_pos; - /* Draw the marker */ if (track->marker_size_dev != 0) { SetLineStyle(wi->dpy, wi->gc, track->marker_style); @@ -1062,7 +1067,8 @@ Draw(Item item) 0, 360 * 64); } else { - XChangeGC(wi->dpy, wi->gc, GCLineWidth | GCForeground, &values); + values.fill_style = FillSolid; + XChangeGC(wi->dpy, wi->gc, GCFillStyle | GCLineWidth | GCForeground, &values); XDrawArc(wi->dpy, wi->draw_buffer, wi->gc, track->dev.x - (ZnPos) track->marker_size_dev, track->dev.y - (ZnPos) track->marker_size_dev, |