FLTK
Fl_Counter.H
1 //
2 // Counter header file for the Fast Light Tool Kit (FLTK).
3 //
4 // Copyright 1998-2010 by Bill Spitzak and others.
5 //
6 // This library is free software. Distribution and use rights are outlined in
7 // the file "COPYING" which should have been included with this file. If this
8 // file is missing or damaged, see the license at:
9 //
10 // https://www.fltk.org/COPYING.php
11 //
12 // Please see the following page on how to report bugs and issues:
13 //
14 // https://www.fltk.org/bugs.php
15 //
16 
17 /* \file
18  Fl_Counter widget . */
19 
20 // A numerical value with up/down step buttons. From Forms.
21 
22 #ifndef Fl_Counter_H
23 #define Fl_Counter_H
24 
25 #ifndef Fl_Valuator_H
26 #include "Fl_Valuator.H"
27 #endif
28 
29 // values for type():
30 #define FL_NORMAL_COUNTER 0
31 #define FL_SIMPLE_COUNTER 1
46 class FL_EXPORT Fl_Counter : public Fl_Valuator {
47 
48  Fl_Font textfont_;
49  Fl_Fontsize textsize_;
50  Fl_Color textcolor_;
51  double lstep_;
52  uchar mouseobj;
53  static void repeat_callback(void *);
54  int calc_mouseobj();
55  void increment_cb();
56 
57 protected:
58 
59  void draw();
60 
61 public:
62 
63  int handle(int);
64 
65  Fl_Counter(int X, int Y, int W, int H, const char* L = 0);
66  ~Fl_Counter();
67 
73  void lstep(double a) {lstep_ = a;}
74 
79  void step(double a,double b) {Fl_Valuator::step(a); lstep_ = b;}
80 
85  void step(double a) {Fl_Valuator::step(a);}
86 
90  double step() const {return Fl_Valuator::step();}
91 
93  Fl_Font textfont() const {return textfont_;}
95  void textfont(Fl_Font s) {textfont_ = s;}
96 
98  Fl_Fontsize textsize() const {return textsize_;}
100  void textsize(Fl_Fontsize s) {textsize_ = s;}
101 
103  Fl_Color textcolor() const {return textcolor_;}
105  void textcolor(Fl_Color s) {textcolor_ = s;}
106 
107 };
108 
109 #endif
Controls a single floating point value with button (or keyboard) arrows.
Definition: Fl_Counter.H:46
void step(double a)
Sets the increment for the normal step buttons.
Definition: Fl_Counter.H:85
Fl_Fontsize textsize() const
Gets the font size.
Definition: Fl_Counter.H:98
void step(double a, double b)
Sets the increments for the normal and large step buttons.
Definition: Fl_Counter.H:79
double step() const
Returns the increment for normal step buttons.
Definition: Fl_Counter.H:90
Fl_Color textcolor() const
Gets the font color.
Definition: Fl_Counter.H:103
void textsize(Fl_Fontsize s)
Sets the font size to s.
Definition: Fl_Counter.H:100
void textcolor(Fl_Color s)
Sets the font color to s.
Definition: Fl_Counter.H:105
void draw(Fl_Widget *widget, int delta_x=0, int delta_y=0)
Draws the widget on the drawing surface.
Definition: Fl_Widget_Surface.cxx:43
void lstep(double a)
Sets the increment for the large step buttons.
Definition: Fl_Counter.H:73
int Fl_Fontsize
Size of a font in pixels.
Definition: Enumerations.H:1014
Fl_Font textfont() const
Gets the text font.
Definition: Fl_Counter.H:93
unsigned int Fl_Color
An FLTK color value; see also Colors.
Definition: Enumerations.H:1042
int Fl_Font
A font number is an index into the internal font table.
Definition: Enumerations.H:985
void textfont(Fl_Font s)
Sets the text font to s.
Definition: Fl_Counter.H:95
double step() const
Gets or sets the step value.
Definition: Fl_Valuator.H:119
unsigned char uchar
unsigned char
Definition: fl_types.h:28