summaryrefslogtreecommitdiff
path: root/src/Fl_Chart.cxx
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>2002-01-01 13:11:29 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>2002-01-01 13:11:29 +0000
commitf9770db21fabc7785627092c52afb0d88f43089f (patch)
tree7b48f59252190d4c24b8b67cee8ccac66ca4f987 /src/Fl_Chart.cxx
parent988bc9d95f1a4f5b06262fe9b4de9466ab2950f5 (diff)
Use rint() for some more rounding of vertices.
Add fl_parse_color() to X11 version, too, and use it instead of XParseColor in the image handling code. Move the default color stuff in the plastic scheme to the MacOS get_system_colors(), and apply the background color to the tile image. More fixes for test makefile. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1901 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl_Chart.cxx')
-rw-r--r--src/Fl_Chart.cxx36
1 files changed, 18 insertions, 18 deletions
diff --git a/src/Fl_Chart.cxx b/src/Fl_Chart.cxx
index 7b50ecd12..5ca226418 100644
--- a/src/Fl_Chart.cxx
+++ b/src/Fl_Chart.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Chart.cxx,v 1.5.2.6.2.3 2001/12/11 16:03:12 easysw Exp $"
+// "$Id: Fl_Chart.cxx,v 1.5.2.6.2.4 2002/01/01 13:11:29 easysw Exp $"
//
// Forms-compatible chart widget for the Fast Light Tool Kit (FLTK).
//
@@ -53,9 +53,9 @@ static void draw_barchart(int x,int y,int w,int h,
incr = (h - lh + min*incr)/(max-min);
zeroh = int(y+h-lh);
} else {
- zeroh = int(y+h+min * incr + .5);
+ zeroh = (int)rint(y+h+min * incr);
}
- int bwidth = int(w/double(autosize?numb:maxnumb)+.5);
+ int bwidth = (int)rint(w/double(autosize?numb:maxnumb));
/* Draw base line */
fl_color(textcolor);
fl_line(x, zeroh, x+w, zeroh);
@@ -63,7 +63,7 @@ static void draw_barchart(int x,int y,int w,int h,
int i;
/* Draw the bars */
for (i=0; i<numb; i++) {
- int h = int(entries[i].val*incr+.5);
+ int h = (int)rint(entries[i].val*incr);
if (h < 0)
fl_rectbound(x+i*bwidth,zeroh,bwidth+1,-h+1, (Fl_Color)entries[i].col);
else if (h > 0)
@@ -98,18 +98,18 @@ static void draw_horbarchart(int x,int y,int w,int h,
else incr = w/(max-min);
if ( (-min*incr) < lw) {
incr = (w - lw + min*incr)/(max-min);
- zeroh = x+int(lw+.5);
+ zeroh = x+(int)rint(lw);
} else {
- zeroh = int(x-min * incr + .5);
+ zeroh = (int)rint(x-min * incr);
}
- int bwidth = int(h/double(autosize?numb:maxnumb)+.5);
+ int bwidth = (int)rint(h/double(autosize?numb:maxnumb));
/* Draw base line */
fl_color(textcolor);
fl_line(zeroh, y, zeroh, y+h);
if (min == 0.0 && max == 0.0) return; /* Nothing else to draw */
/* Draw the bars */
for (i=0; i<numb; i++) {
- int w = int(entries[i].val*incr+.5);
+ int w = (int)rint(entries[i].val*incr);
if (w > 0)
fl_rectbound(zeroh,y+i*bwidth,w+1,bwidth+1, (Fl_Color)entries[i].col);
else if (w < 0)
@@ -135,14 +135,14 @@ static void draw_linechart(int type, int x,int y,int w,int h,
double incr;
if (max == min) incr = h-2.0*lh;
else incr = (h-2.0*lh)/ (max-min);
- int zeroh = int(y+h-lh+min * incr + .5);
+ int zeroh = (int)rint(y+h-lh+min * incr);
double bwidth = w/double(autosize?numb:maxnumb);
/* Draw the values */
for (i=0; i<numb; i++) {
- int x0 = x + int((i-.5)*bwidth+.5);
- int x1 = x + int((i+.5)*bwidth+.5);
- int y0 = i ? zeroh - int(entries[i-1].val*incr+.5) : 0;
- int y1 = zeroh - int(entries[i].val*incr+.5);
+ int x0 = x + (int)rint((i-.5)*bwidth);
+ int x1 = x + (int)rint((i+.5)*bwidth);
+ int y0 = i ? zeroh - (int)rint(entries[i-1].val*incr) : 0;
+ int y1 = zeroh - (int)rint(entries[i].val*incr);
if (type == FL_SPIKE_CHART) {
fl_color((Fl_Color)entries[i].col);
fl_line(x1, zeroh, x1, y1);
@@ -153,7 +153,7 @@ static void draw_linechart(int type, int x,int y,int w,int h,
fl_color((Fl_Color)entries[i-1].col);
if ((entries[i-1].val>0.0)!=(entries[i].val>0.0)) {
double ttt = entries[i-1].val/(entries[i-1].val-entries[i].val);
- int xt = x + int((i-.5+ttt)*bwidth+.5);
+ int xt = x + (int)rint((i-.5+ttt)*bwidth);
fl_polygon(x0,zeroh, x0,y0, xt,zeroh);
fl_polygon(xt,zeroh, x1,y1, x1,zeroh);
} else {
@@ -169,7 +169,7 @@ static void draw_linechart(int type, int x,int y,int w,int h,
/* Draw the labels */
for (i=0; i<numb; i++)
fl_draw(entries[i].str,
- x+int((i+.5)*bwidth+.5), zeroh - int(entries[i].val*incr+.5),0,0,
+ x+(int)rint((i+.5)*bwidth), zeroh - (int)rint(entries[i].val*incr),0,0,
entries[i].val>=0 ? FL_ALIGN_BOTTOM : FL_ALIGN_TOP);
}
@@ -220,8 +220,8 @@ static void draw_piechart(int x,int y,int w,int h,
/* draw the label */
double xl = txc + 1.1*rad*cos(ARCINC*curang);
fl_draw(entries[i].str,
- int(xl+.5),
- int(tyc - 1.1*rad*sin(ARCINC*curang)+.5),
+ (int)rint(xl),
+ (int)rint(tyc - 1.1*rad*sin(ARCINC*curang)),
0, 0,
xl<txc ? FL_ALIGN_RIGHT : FL_ALIGN_LEFT);
curang += 0.5 * incr * entries[i].val;
@@ -378,5 +378,5 @@ void Fl_Chart::maxsize(int m) {
}
//
-// End of "$Id: Fl_Chart.cxx,v 1.5.2.6.2.3 2001/12/11 16:03:12 easysw Exp $".
+// End of "$Id: Fl_Chart.cxx,v 1.5.2.6.2.4 2002/01/01 13:11:29 easysw Exp $".
//