FLTK 1.4.0
Fl_Counter.H
1 //
2 // Counter header file for the Fast Light Tool Kit (FLTK).
3 //
4 // Copyright 1998-2022 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  // compute widths of arrow boxes
61  void arrow_widths(int &w1, int &w2);
62 
63 public:
64 
65  int handle(int);
66 
67  Fl_Counter(int X, int Y, int W, int H, const char* L = 0);
68  ~Fl_Counter();
69 
75  void lstep(double a) {lstep_ = a;}
76 
81  void step(double a,double b) {Fl_Valuator::step(a); lstep_ = b;}
82 
87  void step(double a) {Fl_Valuator::step(a);}
88 
92  double step() const {return Fl_Valuator::step();}
93 
95  Fl_Font textfont() const {return textfont_;}
97  void textfont(Fl_Font s) {textfont_ = s;}
98 
100  Fl_Fontsize textsize() const {return textsize_;}
102  void textsize(Fl_Fontsize s) {textsize_ = s;}
103 
105  Fl_Color textcolor() const {return textcolor_;}
107  void textcolor(Fl_Color s) {textcolor_ = s;}
108 
109 };
110 
111 #endif
int Fl_Font
A font number is an index into the internal font table.
Definition: Enumerations.H:985
unsigned int Fl_Color
An FLTK color value; see also Colors
Definition: Enumerations.H:1042
int Fl_Fontsize
Size of a font in pixels.
Definition: Enumerations.H:1014
Controls a single floating point value with button (or keyboard) arrows.
Definition: Fl_Counter.H:46
void textfont(Fl_Font s)
Sets the text font to s.
Definition: Fl_Counter.H:97
void lstep(double a)
Sets the increment for the large step buttons.
Definition: Fl_Counter.H:75
void step(double a, double b)
Sets the increments for the normal and large step buttons.
Definition: Fl_Counter.H:81
void textsize(Fl_Fontsize s)
Sets the font size to s.
Definition: Fl_Counter.H:102
Fl_Fontsize textsize() const
Gets the font size.
Definition: Fl_Counter.H:100
double step() const
Returns the increment for normal step buttons.
Definition: Fl_Counter.H:92
Fl_Font textfont() const
Gets the text font.
Definition: Fl_Counter.H:95
void textcolor(Fl_Color s)
Sets the font color to s.
Definition: Fl_Counter.H:107
void step(double a)
Sets the increment for the normal step buttons.
Definition: Fl_Counter.H:87
Fl_Color textcolor() const
Gets the font color.
Definition: Fl_Counter.H:105
The Fl_Valuator class controls a single floating-point value and provides a consistent interface to s...
Definition: Fl_Valuator.H:47
double step() const
Gets or sets the step value.
Definition: Fl_Valuator.H:119
virtual void draw()=0
Draws the widget.
virtual int handle(int event)
Handles the specified event.
Definition: Fl_Widget.cxx:102
unsigned char uchar
unsigned char
Definition: fl_types.h:28