summaryrefslogtreecommitdiff
path: root/FL/Fl_Positioner.H
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>1998-10-06 18:21:25 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>1998-10-06 18:21:25 +0000
commitf9039b2ae21988783feae9b362818e7923e82d14 (patch)
tree6d6fe3679d73448758f9794e7d4d4f6b22a4adad /FL/Fl_Positioner.H
parent67e89232f9ba067825a158734a09e0fa21aacbe3 (diff)
Initial revision
git-svn-id: file:///fltk/svn/fltk/trunk@2 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'FL/Fl_Positioner.H')
-rw-r--r--FL/Fl_Positioner.H51
1 files changed, 51 insertions, 0 deletions
diff --git a/FL/Fl_Positioner.H b/FL/Fl_Positioner.H
new file mode 100644
index 000000000..6b8d4f346
--- /dev/null
+++ b/FL/Fl_Positioner.H
@@ -0,0 +1,51 @@
+// Fl_Positioner.H
+
+// The positioner widget from Forms, gives 2D input
+
+#ifndef Fl_Positioner_H
+#define Fl_Positioner_H
+
+#ifndef Fl_Widget_H
+#include "Fl_Widget.H"
+#endif
+
+class Fl_Positioner : public Fl_Widget {
+
+ double xmin, ymin;
+ double xmax, ymax;
+ double xvalue_, yvalue_;
+ double xstep_, ystep_;
+
+protected:
+
+ // these allow subclasses to put the dial in a smaller area:
+ void draw(int, int, int, int);
+ int handle(int, int, int, int, int);
+ void draw();
+
+public:
+
+ int handle(int);
+ Fl_Positioner(int x,int y,int w,int h, const char *l=0);
+ double xvalue() const {return xvalue_;}
+ double yvalue() const {return yvalue_;}
+ int xvalue(double);
+ int yvalue(double);
+ int value(double,double);
+ void xbounds(double, double);
+ double xminimum() const {return xmin;}
+ void xminimum(double a) {xbounds(a,xmax);}
+ double xmaximum() const {return xmax;}
+ void xmaximum(double a) {xbounds(xmin,a);}
+ void ybounds(double, double);
+ double yminimum() const {return ymin;}
+ void yminimum(double a) {ybounds(a,ymax);}
+ double ymaximum() const {return ymax;}
+ void ymaximum(double a) {ybounds(ymin,a);}
+ void xstep(double a) {xstep_ = a;}
+ void ystep(double a) {ystep_ = a;}
+
+};
+
+#endif
+