summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Fl_Dial.cxx14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/Fl_Dial.cxx b/src/Fl_Dial.cxx
index a5a1060d2..1bb47fe90 100644
--- a/src/Fl_Dial.cxx
+++ b/src/Fl_Dial.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Dial.cxx,v 1.5 1999/01/07 19:17:19 mike Exp $"
+// "$Id: Fl_Dial.cxx,v 1.6 1999/02/16 17:23:55 mike Exp $"
//
// Circular dial widget for the Fast Light Tool Kit (FLTK).
//
@@ -101,15 +101,7 @@ int Fl_Dial::handle(int event, int x, int y, int w, int h) {
int mx = Fl::event_x()-x-w/2;
int my = Fl::event_y()-y-h/2;
if (!mx && !my) return 1;
- if (abs(mx) > abs(my)) {
- angle = atan(-(double)my/mx);
- if (mx>0) angle = 1.25*M_PI - angle;
- else angle = 0.25*M_PI - angle;
- } else {
- angle = atan(-(double)mx/my);
- if (my<0) angle = 0.75*M_PI + angle;
- else angle = -0.25*M_PI + angle;
- }
+ angle = atan2(-my, -mx) + 0.25 * M_PI;
if (angle<(-0.25*M_PI)) angle += 2.0*M_PI;
val = minimum() + (maximum()-minimum())*angle/(1.5*M_PI);
if (fabs(val-value()) < (maximum()-minimum())/2.0)
@@ -134,5 +126,5 @@ Fl_Dial::Fl_Dial(int x, int y, int w, int h, const char* l)
}
//
-// End of "$Id: Fl_Dial.cxx,v 1.5 1999/01/07 19:17:19 mike Exp $".
+// End of "$Id: Fl_Dial.cxx,v 1.6 1999/02/16 17:23:55 mike Exp $".
//