aboutsummaryrefslogtreecommitdiff
path: root/generic/Track.c
diff options
context:
space:
mode:
authorlecoanet2004-02-04 15:25:07 +0000
committerlecoanet2004-02-04 15:25:07 +0000
commit228fcd2b21d7354d65dd8ddc358d207b008f2074 (patch)
tree8dc696784495c6b85a3940ef7ae532ab01708d57 /generic/Track.c
parent252cf6290a67fa4e5006509471b367da80f83a56 (diff)
downloadtkzinc-228fcd2b21d7354d65dd8ddc358d207b008f2074.zip
tkzinc-228fcd2b21d7354d65dd8ddc358d207b008f2074.tar.gz
tkzinc-228fcd2b21d7354d65dd8ddc358d207b008f2074.tar.bz2
tkzinc-228fcd2b21d7354d65dd8ddc358d207b008f2074.tar.xz
* Fixed the clamping of visible_history_size so that
it doesn't fall irremediably to zero.
Diffstat (limited to 'generic/Track.c')
-rw-r--r--generic/Track.c30
1 files changed, 18 insertions, 12 deletions
diff --git a/generic/Track.c b/generic/Track.c
index 6a16e7f..18d8c7e 100644
--- a/generic/Track.c
+++ b/generic/Track.c
@@ -626,11 +626,6 @@ Configure(ZnItem item,
}
/*
- * Trunc the visible history to the managed size.
- */
- track->visible_history_size = MIN(track->visible_history_size,
- wi->track_managed_history_size);
- /*
* Adapt to the new label locating system.
*/
if (ISSET(*flags, ZN_POLAR_FLAG)) {
@@ -759,12 +754,17 @@ ComputeCoordinates(ZnItem item,
information from the symbol font.
*/
if ((item->class == ZnTrack) && track->history) {
+ /*
+ * Trunc the visible history to the managed size.
+ */
+ unsigned int visible_history_size = MIN(track->visible_history_size,
+ wi->track_managed_history_size);
ZnResetBBox(&bbox);
num_acc_pos = ZnListSize(track->history);
hist = ZnListArray(track->history);
for (i = 0; i < num_acc_pos; i++) {
ZnTransformPoint(wi->current_transfo, &hist[i].world, &hist[i].dev);
- if ((i < track->visible_history_size) && (hist[i].visible)) {
+ if ((i < visible_history_size) && (hist[i].visible)) {
bbox.orig.x = hist[i].dev.x - w2;
bbox.orig.y = hist[i].dev.y - h2;
bbox.corner.x = bbox.orig.x + w;
@@ -1212,6 +1212,9 @@ Draw(ZnItem item)
* Draw the history, current pos excepted.
*/
if ((item->class == ZnTrack) && track->history) {
+ unsigned int visible_history_size = MIN(track->visible_history_size,
+ wi->track_managed_history_size);
+
values.foreground = ZnGetGradientPixel(track->history_color, 0.0);
values.fill_style = FillSolid;
XChangeGC(wi->dpy, wi->gc, GCForeground|GCFillStyle, &values);
@@ -1220,13 +1223,13 @@ Draw(ZnItem item)
values.line_style = LineSolid;
XChangeGC(wi->dpy, wi->gc, GCLineWidth | GCLineStyle, &values);
}
- num_acc_pos = MIN(track->visible_history_size, ZnListSize(track->history));
+ num_acc_pos = MIN(visible_history_size, ZnListSize(track->history));
hist = ZnListArray(track->history);
side_size = MAX(width, height);
for (i = 0, nb_hist = 0; i < num_acc_pos; i++) {
if (ISSET(track->flags, LAST_AS_FIRST_BIT) &&
- (i == track->visible_history_size-1)) {
+ (i == visible_history_size-1)) {
values.foreground = ZnGetGradientPixel(track->symbol_color, 0.0);
XChangeGC(wi->dpy, wi->gc, GCForeground, &values);
}
@@ -1480,13 +1483,16 @@ Render(ZnItem item)
* Draw the history, current pos excepted.
*/
if ((item->class == ZnTrack) && track->history) {
+ unsigned int visible_history_size = MIN(track->visible_history_size,
+ wi->track_managed_history_size);
+
points = ZnGetCirclePoints(3, ZN_CIRCLE_COARSE, 0.0, 2*M_PI, &num_points, NULL);
color = ZnGetGradientColor(track->history_color, 0.0, &alpha);
alpha = ZnComposeAlpha(alpha, wi->alpha);
glColor4us(color->red, color->green, color->blue, alpha);
glLineWidth(1.0);
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
- num_acc_pos = MIN(track->visible_history_size, ZnListSize(track->history));
+ num_acc_pos = MIN(visible_history_size, ZnListSize(track->history));
hist = ZnListArray(track->history);
side_size = MAX(width, height);
/*
@@ -1497,7 +1503,7 @@ Render(ZnItem item)
glDisable(GL_POINT_SMOOTH);
for (i = 0, nb_hist = 0; i < num_acc_pos; i++) {
if (ISSET(track->flags, LAST_AS_FIRST_BIT) &&
- (i == track->visible_history_size-1)) {
+ (i == visible_history_size-1)) {
color = ZnGetGradientColor(track->symbol_color, 0.0, &alpha);
alpha = ZnComposeAlpha(alpha, wi->alpha);
glColor4us(color->red, color->green, color->blue, alpha);
@@ -1763,8 +1769,8 @@ Pick(ZnItem item,
**********************************************************************************
*/
static void
-PostScript(ZnItem item __unused,
- ZnPostScriptInfo ps_info __unused)
+PostScript(ZnItem item __unused,
+ ZnBool prepass __unused)
{
}