blob: 0306673c965c5e00e37a2023646527d551c6395f (
plain)
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
|
// included by gtk2.pas
{$IFDEF read_forward_definitions}
{$ENDIF read_forward_definitions}
//------------------------------------------------------------------------------
{$IFDEF read_interface_types}
// internal type
PGtkRangeLayout = pointer;
// internal type
PGtkRangeStepTimer = pointer;
{ These two are private/opaque types, ignore }
{< protected > }
{ Steppers are: < > ---- < >
a b c d }
{ Area of entire stepper + trough assembly in widget->window coords }
{ Slider range along the long dimension, in widget->window coords }
{ Round off value to this many digits, -1 for no rounding }
{< private > }
{ trough click was on the forward side of slider }
{ need to emit value_changed }
PGtkRange = ^TGtkRange;
TGtkRange = record
widget : TGtkWidget;
adjustment : PGtkAdjustment;
update_policy : TGtkUpdateType;
flag0 : word;
min_slider_size : gint;
orientation : TGtkOrientation;
range_rect : TGdkRectangle;
slider_start : gint;
slider_end : gint;
round_digits : gint;
flag1 : word;
layout : PGtkRangeLayout;
timer : PGtkRangeStepTimer;
slide_initial_slider_position : gint;
slide_initial_coordinate : gint;
update_timeout_id : guint;
event_window : PGdkWindow;
end;
{ what detail to pass to GTK drawing functions }
{ action signals for keybindings }
{ Virtual functions }
{ Padding for future expansion }
PGtkRangeClass = ^TGtkRangeClass;
TGtkRangeClass = record
parent_class : TGtkWidgetClass;
slider_detail : Pgchar;
stepper_detail : Pgchar;
value_changed : procedure (range:PGtkRange); cdecl;
adjust_bounds : procedure (range:PGtkRange; new_value:gdouble); cdecl;
move_slider : procedure (range:PGtkRange; scroll:TGtkScrollType); cdecl;
get_range_border : procedure (range:PGtkRange; border:PGtkBorder); cdecl;
_gtk_reserved1 : procedure ; cdecl;
_gtk_reserved2 : procedure ; cdecl;
_gtk_reserved3 : procedure ; cdecl;
_gtk_reserved4 : procedure ; cdecl;
end;
{$ENDIF read_interface_types}
//------------------------------------------------------------------------------
{$IFDEF read_interface_rest}
const
bm_TGtkRange_inverted = $1;
bp_TGtkRange_inverted = 0;
bm_TGtkRange_flippable = $2;
bp_TGtkRange_flippable = 1;
bm_TGtkRange_has_stepper_a = $4;
bp_TGtkRange_has_stepper_a = 2;
bm_TGtkRange_has_stepper_b = $8;
bp_TGtkRange_has_stepper_b = 3;
bm_TGtkRange_has_stepper_c = $10;
bp_TGtkRange_has_stepper_c = 4;
bm_TGtkRange_has_stepper_d = $20;
bp_TGtkRange_has_stepper_d = 5;
bm_TGtkRange_need_recalc = $40;
bp_TGtkRange_need_recalc = 6;
bm_TGtkRange_slider_size_fixed = $80;
bp_TGtkRange_slider_size_fixed = 7;
bm_TGtkRange_trough_click_forward = $1;
bp_TGtkRange_trough_click_forward = 0;
bm_TGtkRange_update_pending = $2;
bp_TGtkRange_update_pending = 1;
function GTK_TYPE_RANGE : GType;
function GTK_RANGE(obj: pointer) : PGtkRange;
function GTK_RANGE_CLASS(klass: pointer) : PGtkRangeClass;
function GTK_IS_RANGE(obj: pointer) : boolean;
function GTK_IS_RANGE_CLASS(klass: pointer) : boolean;
function GTK_RANGE_GET_CLASS(obj: pointer) : PGtkRangeClass;
function inverted(var a : TGtkRange) : guint;
procedure set_inverted(var a : TGtkRange; __inverted : guint);
function flippable(var a : TGtkRange) : guint;
procedure set_flippable(var a : TGtkRange; __flippable : guint);
function has_stepper_a(var a : TGtkRange) : guint;
procedure set_has_stepper_a(var a : TGtkRange; __has_stepper_a : guint);
function has_stepper_b(var a : TGtkRange) : guint;
procedure set_has_stepper_b(var a : TGtkRange; __has_stepper_b : guint);
function has_stepper_c(var a : TGtkRange) : guint;
procedure set_has_stepper_c(var a : TGtkRange; __has_stepper_c : guint);
function has_stepper_d(var a : TGtkRange) : guint;
procedure set_has_stepper_d(var a : TGtkRange; __has_stepper_d : guint);
function need_recalc(var a : TGtkRange) : guint;
procedure set_need_recalc(var a : TGtkRange; __need_recalc : guint);
function slider_size_fixed(var a : TGtkRange) : guint;
procedure set_slider_size_fixed(var a : TGtkRange; __slider_size_fixed : guint);
function trough_click_forward(var a : TGtkRange) : guint;
procedure set_trough_click_forward(var a : TGtkRange; __trough_click_forward : guint);
function update_pending(var a : TGtkRange) : guint;
procedure set_update_pending(var a : TGtkRange; __update_pending : guint);
function gtk_range_get_type:TGtkType; cdecl; external gtklib;
procedure gtk_range_set_update_policy(range:PGtkRange; policy:TGtkUpdateType); cdecl; external gtklib;
function gtk_range_get_update_policy(range:PGtkRange):TGtkUpdateType; cdecl; external gtklib;
procedure gtk_range_set_adjustment(range:PGtkRange; adjustment:PGtkAdjustment); cdecl; external gtklib;
function gtk_range_get_adjustment(range:PGtkRange):PGtkAdjustment; cdecl; external gtklib;
procedure gtk_range_set_inverted(range:PGtkRange; setting:gboolean); cdecl; external gtklib;
function gtk_range_get_inverted(range:PGtkRange):gboolean; cdecl; external gtklib;
procedure gtk_range_set_increments(range:PGtkRange; step:gdouble; page:gdouble); cdecl; external gtklib;
procedure gtk_range_set_range(range:PGtkRange; min:gdouble; max:gdouble); cdecl; external gtklib;
procedure gtk_range_set_value(range:PGtkRange; value:gdouble); cdecl; external gtklib;
function gtk_range_get_value(range:PGtkRange):gdouble; cdecl; external gtklib;
{$ENDIF read_interface_rest}
//------------------------------------------------------------------------------
{$IFDEF read_implementation}
function GTK_TYPE_RANGE : GType;
begin
GTK_TYPE_RANGE:=gtk_range_get_type;
end;
function GTK_RANGE(obj: pointer) : PGtkRange;
begin
GTK_RANGE:=PGtkRange(GTK_CHECK_CAST(obj,GTK_TYPE_RANGE));
end;
function GTK_RANGE_CLASS(klass: pointer) : PGtkRangeClass;
begin
GTK_RANGE_CLASS:=PGtkRangeClass(GTK_CHECK_CLASS_CAST(klass,GTK_TYPE_RANGE));
end;
function GTK_IS_RANGE(obj: pointer) : boolean;
begin
GTK_IS_RANGE:=GTK_CHECK_TYPE(obj,GTK_TYPE_RANGE);
end;
function GTK_IS_RANGE_CLASS(klass: pointer) : boolean;
begin
GTK_IS_RANGE_CLASS:=GTK_CHECK_CLASS_TYPE(klass,GTK_TYPE_RANGE);
end;
function GTK_RANGE_GET_CLASS(obj: pointer) : PGtkRangeClass;
begin
GTK_RANGE_GET_CLASS:=PGtkRangeClass(GTK_CHECK_GET_CLASS(obj,GTK_TYPE_RANGE));
end;
function inverted(var a : TGtkRange) : guint;
begin
inverted:=(a.flag0 and bm_TGtkRange_inverted) shr bp_TGtkRange_inverted;
end;
procedure set_inverted(var a : TGtkRange; __inverted : guint);
begin
a.flag0:=a.flag0 or ((__inverted shl bp_TGtkRange_inverted) and bm_TGtkRange_inverted);
end;
function flippable(var a : TGtkRange) : guint;
begin
flippable:=(a.flag0 and bm_TGtkRange_flippable) shr bp_TGtkRange_flippable;
end;
procedure set_flippable(var a : TGtkRange; __flippable : guint);
begin
a.flag0:=a.flag0 or ((__flippable shl bp_TGtkRange_flippable) and bm_TGtkRange_flippable);
end;
function has_stepper_a(var a : TGtkRange) : guint;
begin
has_stepper_a:=(a.flag0 and bm_TGtkRange_has_stepper_a) shr bp_TGtkRange_has_stepper_a;
end;
procedure set_has_stepper_a(var a : TGtkRange; __has_stepper_a : guint);
begin
a.flag0:=a.flag0 or ((__has_stepper_a shl bp_TGtkRange_has_stepper_a) and bm_TGtkRange_has_stepper_a);
end;
function has_stepper_b(var a : TGtkRange) : guint;
begin
has_stepper_b:=(a.flag0 and bm_TGtkRange_has_stepper_b) shr bp_TGtkRange_has_stepper_b;
end;
procedure set_has_stepper_b(var a : TGtkRange; __has_stepper_b : guint);
begin
a.flag0:=a.flag0 or ((__has_stepper_b shl bp_TGtkRange_has_stepper_b) and bm_TGtkRange_has_stepper_b);
end;
function has_stepper_c(var a : TGtkRange) : guint;
begin
has_stepper_c:=(a.flag0 and bm_TGtkRange_has_stepper_c) shr bp_TGtkRange_has_stepper_c;
end;
procedure set_has_stepper_c(var a : TGtkRange; __has_stepper_c : guint);
begin
a.flag0:=a.flag0 or ((__has_stepper_c shl bp_TGtkRange_has_stepper_c) and bm_TGtkRange_has_stepper_c);
end;
function has_stepper_d(var a : TGtkRange) : guint;
begin
has_stepper_d:=(a.flag0 and bm_TGtkRange_has_stepper_d) shr bp_TGtkRange_has_stepper_d;
end;
procedure set_has_stepper_d(var a : TGtkRange; __has_stepper_d : guint);
begin
a.flag0:=a.flag0 or ((__has_stepper_d shl bp_TGtkRange_has_stepper_d) and bm_TGtkRange_has_stepper_d);
end;
function need_recalc(var a : TGtkRange) : guint;
begin
need_recalc:=(a.flag0 and bm_TGtkRange_need_recalc) shr bp_TGtkRange_need_recalc;
end;
procedure set_need_recalc(var a : TGtkRange; __need_recalc : guint);
begin
a.flag0:=a.flag0 or ((__need_recalc shl bp_TGtkRange_need_recalc) and bm_TGtkRange_need_recalc);
end;
function slider_size_fixed(var a : TGtkRange) : guint;
begin
slider_size_fixed:=(a.flag0 and bm_TGtkRange_slider_size_fixed) shr bp_TGtkRange_slider_size_fixed;
end;
procedure set_slider_size_fixed(var a : TGtkRange; __slider_size_fixed : guint);
begin
a.flag0:=a.flag0 or ((__slider_size_fixed shl bp_TGtkRange_slider_size_fixed) and bm_TGtkRange_slider_size_fixed);
end;
function trough_click_forward(var a : TGtkRange) : guint;
begin
trough_click_forward:=(a.flag1 and bm_TGtkRange_trough_click_forward) shr bp_TGtkRange_trough_click_forward;
end;
procedure set_trough_click_forward(var a : TGtkRange; __trough_click_forward : guint);
begin
a.flag1:=a.flag1 or ((__trough_click_forward shl bp_TGtkRange_trough_click_forward) and bm_TGtkRange_trough_click_forward);
end;
function update_pending(var a : TGtkRange) : guint;
begin
update_pending:=(a.flag1 and bm_TGtkRange_update_pending) shr bp_TGtkRange_update_pending;
end;
procedure set_update_pending(var a : TGtkRange; __update_pending : guint);
begin
a.flag1:=a.flag1 or ((__update_pending shl bp_TGtkRange_update_pending) and bm_TGtkRange_update_pending);
end;
{$ENDIF read_implementation}
// included by gtk2.pas
|