1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
-- Programmed by Jedidiah Barber
-- Released into the public domain
limited with
FLTK.Widgets.Groups;
package FLTK.Widgets.Valuators.Dials is
type Dial is new Valuator with private;
type Dial_Reference (Data : not null access Dial'Class) is limited null record
with Implicit_Dereference => Data;
type Dial_Kind is (Normal_Kind, Line_Kind, Fill_Kind);
package Forge is
function Create
(X, Y, W, H : in Integer;
Text : in String := "")
return Dial;
function Create
(Parent : in out FLTK.Widgets.Groups.Group'Class;
X, Y, W, H : in Integer;
Text : in String := "")
return Dial;
end Forge;
function Get_First_Angle
(This : in Dial)
return Short_Integer;
procedure Set_First_Angle
(This : in out Dial;
To : in Short_Integer);
function Get_Second_Angle
(This : in Dial)
return Short_Integer;
procedure Set_Second_Angle
(This : in out Dial;
To : in Short_Integer);
procedure Set_Angles
(This : in out Dial;
One, Two : in Short_Integer);
procedure Draw
(This : in out Dial);
procedure Draw
(This : in out Dial;
X, Y, W, H : in Integer);
function Handle
(This : in out Dial;
Event : in Event_Kind)
return Event_Outcome;
function Handle
(This : in out Dial;
Event : in Event_Kind;
X, Y, W, H : in Integer)
return Event_Outcome;
function Get_Dial_Type
(This : in Dial)
return Dial_Kind;
package Extra is
procedure Set_Dial_Type
(This : in out Dial;
To : in Dial_Kind);
end Extra;
private
type Dial is new Valuator with null record;
overriding procedure Initialize
(This : in out Dial);
overriding procedure Finalize
(This : in out Dial);
procedure Extra_Init
(This : in out Dial;
X, Y, W, H : in Integer;
Text : in String)
with Inline;
procedure Extra_Final
(This : in out Dial)
with Inline;
pragma Inline (Get_First_Angle);
pragma Inline (Set_First_Angle);
pragma Inline (Get_Second_Angle);
pragma Inline (Set_Second_Angle);
pragma Inline (Set_Angles);
pragma Inline (Draw);
pragma Inline (Handle);
pragma Inline (Get_Dial_Type);
end FLTK.Widgets.Valuators.Dials;
|