From a002805fcc94f180c428d37ee486dcb64fa2bc9a Mon Sep 17 00:00:00 2001 From: Jonathan Moore Liles Date: Thu, 13 Mar 2008 23:57:14 -0500 Subject: [PATCH] Improve edge behavior. --- Fl_Arc_Dial.H | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Fl_Arc_Dial.H b/Fl_Arc_Dial.H index 2dc3d90..ca5d04d 100644 --- a/Fl_Arc_Dial.H +++ b/Fl_Arc_Dial.H @@ -23,6 +23,8 @@ #include +#include + class Fl_Arc_Dial : public Fl_Dial { @@ -73,8 +75,16 @@ protected: if ( type() == FL_FILL_DIAL ) fl_arc( X, Y, W, H, 270 - angle1(), 270 - angle ); else - fl_arc( X, Y, W, H, 270 - angle - 3, 270 - angle + 3 ); + { + const int d = 6; - fl_line_style( FL_SOLID, 0 ); + /* account for edge conditions */ + angle = angle < angle1() + d ? angle1() + d : angle; + angle = angle > angle2() - d ? angle2() - d : angle; + + fl_arc( X, Y, W, H, 270 - (angle - d), 270 - (angle + d) ); + + fl_line_style( FL_SOLID, 0 ); + } } };