aboutsummaryrefslogtreecommitdiff
path: root/dw/fltkviewbase.cc
diff options
context:
space:
mode:
authorcorvid <corvid@lavabit.com>2011-01-22 16:20:53 +0000
committercorvid <corvid@lavabit.com>2011-01-22 16:20:53 +0000
commitf742776ac7393cc98fa2e81c554620e595305774 (patch)
tree96af9d287d81bdd4420d58237457c87393fcd988 /dw/fltkviewbase.cc
parentbe11b1f245a443a7fee191c63338a590d2940e89 (diff)
convex polygons for border drawing
Diffstat (limited to 'dw/fltkviewbase.cc')
-rw-r--r--dw/fltkviewbase.cc21
1 files changed, 14 insertions, 7 deletions
diff --git a/dw/fltkviewbase.cc b/dw/fltkviewbase.cc
index 1fa93e5a..f29c9a12 100644
--- a/dw/fltkviewbase.cc
+++ b/dw/fltkviewbase.cc
@@ -476,23 +476,30 @@ void FltkViewBase::drawArc (core::style::Color *color,
void FltkViewBase::drawPolygon (core::style::Color *color,
core::style::Color::Shading shading,
- bool filled, int points[][2], int npoints)
+ bool filled, bool convex, int points[][2],
+ int npoints)
{
if (npoints > 0) {
fl_color(((FltkColor*)color)->colors[shading]);
- if (filled)
- fl_begin_complex_polygon();
- else
+ if (filled) {
+ if (convex)
+ fl_begin_polygon();
+ else
+ fl_begin_complex_polygon();
+ } else
fl_begin_loop();
for (int i = 0; i < npoints; i++) {
fl_vertex(translateCanvasXToViewX(points[i][0]),
translateCanvasYToViewY(points[i][1]));
}
- if (filled)
- fl_end_complex_polygon();
- else
+ if (filled) {
+ if (convex)
+ fl_end_polygon();
+ else
+ fl_end_complex_polygon();
+ } else
fl_end_loop();
}
}