FLTK 1.3.0
|
00001 // 00002 // "$Id$" 00003 // 00004 // Positioner header file for the Fast Light Tool Kit (FLTK). 00005 // 00006 // Copyright 1998-2010 by Bill Spitzak and others. 00007 // 00008 // This library is free software. Distribution and use rights are outlined in 00009 // the file "COPYING" which should have been included with this file. If this 00010 // file is missing or damaged, see the license at: 00011 // 00012 // http://www.fltk.org/COPYING.php 00013 // 00014 // Please report all bugs and problems on the following page: 00015 // 00016 // http://www.fltk.org/str.php 00017 // 00018 00019 /* \file 00020 Fl_Positioner widget . */ 00021 00022 #ifndef Fl_Positioner_H 00023 #define Fl_Positioner_H 00024 00025 #ifndef Fl_Widget_H 00026 #include "Fl_Widget.H" 00027 #endif 00028 00037 class FL_EXPORT Fl_Positioner : public Fl_Widget { 00038 00039 double xmin, ymin; 00040 double xmax, ymax; 00041 double xvalue_, yvalue_; 00042 double xstep_, ystep_; 00043 00044 protected: 00045 00046 // these allow subclasses to put the dial in a smaller area: 00047 void draw(int, int, int, int); 00048 int handle(int, int, int, int, int); 00049 void draw(); 00050 00051 public: 00052 00053 int handle(int); 00058 Fl_Positioner(int x,int y,int w,int h, const char *l=0); 00060 double xvalue() const {return xvalue_;} 00062 double yvalue() const {return yvalue_;} 00063 int xvalue(double); 00064 int yvalue(double); 00065 int value(double,double); 00066 void xbounds(double, double); 00068 double xminimum() const {return xmin;} 00070 void xminimum(double a) {xbounds(a,xmax);} 00072 double xmaximum() const {return xmax;} 00074 void xmaximum(double a) {xbounds(xmin,a);} 00075 void ybounds(double, double); 00077 double yminimum() const {return ymin;} 00079 void yminimum(double a) {ybounds(a, ymax);} 00081 double ymaximum() const {return ymax;} 00083 void ymaximum(double a) {ybounds(ymin, a);} 00085 void xstep(double a) {xstep_ = a;} 00087 void ystep(double a) {ystep_ = a;} 00088 }; 00089 00090 #endif 00091 00092 // 00093 // End of "$Id$". 00094 //