1
// included by gtk2.pas
5
NOTE this widget is considered too specialized/little-used for
6
GTK+, and will in the future be moved to some other package. If
7
your application needs this widget, feel free to use it, as the
8
widget does work and is useful in some applications; it's just not
9
of general interest. However, we are not accepting new features for
10
the widget, and it will eventually move out of the GTK+
14
{$IFDEF read_forward_definitions}
15
{$ENDIF read_forward_definitions}
17
//------------------------------------------------------------------------------
19
{$IFDEF read_interface_types}
20
PGtkRulerMetric = ^TGtkRulerMetric;
22
{ All distances below are in 1/72nd's of an inch. (According to
23
Adobe that's a point, but points are really 1/72.27 in.)
25
{ The upper limit of the ruler (in points) }
26
{ The lower limit of the ruler }
27
{ The position of the mark on the ruler }
28
{ The maximum size of the ruler }
29
PGtkRuler = ^TGtkRuler;
32
backing_store : PGdkPixmap;
33
non_gr_exp_gc : PGdkGC;
34
metric : PGtkRulerMetric;
44
{ Padding for future expansion }
45
PGtkRulerClass = ^TGtkRulerClass;
46
TGtkRulerClass = record
47
parent_class : TGtkWidgetClass;
48
draw_ticks : procedure (ruler:PGtkRuler); cdecl;
49
draw_pos : procedure (ruler:PGtkRuler); cdecl;
50
_gtk_reserved1 : procedure ; cdecl;
51
_gtk_reserved2 : procedure ; cdecl;
52
_gtk_reserved3 : procedure ; cdecl;
53
_gtk_reserved4 : procedure ; cdecl;
56
{ This should be points_per_unit. This is the size of the unit
57
in 1/72nd's of an inch and has nothing to do with screen pixels }
58
{ five possible modes of subdivision }
59
TGtkRulerMetric = record
62
pixels_per_unit : gdouble;
63
ruler_scale : array[0..9] of gdouble;
64
subdivide : array[0..4] of gint;
67
{$ENDIF read_interface_types}
69
//------------------------------------------------------------------------------
71
{$IFDEF read_interface_rest}
72
function GTK_TYPE_RULER : GType;
73
function GTK_RULER(obj: pointer) : PGtkRuler;
74
function GTK_RULER_CLASS(klass: pointer) : PGtkRulerClass;
75
function GTK_IS_RULER(obj: pointer) : boolean;
76
function GTK_IS_RULER_CLASS(klass: pointer) : boolean;
77
function GTK_RULER_GET_CLASS(obj: pointer) : PGtkRulerClass;
80
function gtk_ruler_get_type:TGtkType; cdecl; external gtklib;
81
procedure gtk_ruler_set_metric(ruler:PGtkRuler; metric:TGtkMetricType); cdecl; external gtklib;
82
procedure gtk_ruler_set_range(ruler:PGtkRuler; lower:gdouble; upper:gdouble; position:gdouble; max_size:gdouble); cdecl; external gtklib;
83
procedure gtk_ruler_draw_ticks(ruler:PGtkRuler); cdecl; external gtklib;
84
procedure gtk_ruler_draw_pos(ruler:PGtkRuler); cdecl; external gtklib;
85
function gtk_ruler_get_metric(ruler:PGtkRuler):TGtkMetricType; cdecl; external gtklib;
86
procedure gtk_ruler_get_range(ruler:PGtkRuler; lower:Pgdouble; upper:Pgdouble; position:Pgdouble; max_size:Pgdouble); cdecl; external gtklib;
87
{$ENDIF read_interface_rest}
89
//------------------------------------------------------------------------------
91
{$IFDEF read_implementation}
92
function GTK_TYPE_RULER : GType;
94
GTK_TYPE_RULER:=gtk_ruler_get_type;
97
function GTK_RULER(obj: pointer) : PGtkRuler;
99
GTK_RULER:=PGtkRuler(GTK_CHECK_CAST(obj,GTK_TYPE_RULER));
102
function GTK_RULER_CLASS(klass: pointer) : PGtkRulerClass;
104
GTK_RULER_CLASS:=PGtkRulerClass(GTK_CHECK_CLASS_CAST(klass,GTK_TYPE_RULER));
107
function GTK_IS_RULER(obj: pointer) : boolean;
109
GTK_IS_RULER:=GTK_CHECK_TYPE(obj,GTK_TYPE_RULER);
112
function GTK_IS_RULER_CLASS(klass: pointer) : boolean;
114
GTK_IS_RULER_CLASS:=GTK_CHECK_CLASS_TYPE(klass,GTK_TYPE_RULER);
117
function GTK_RULER_GET_CLASS(obj: pointer) : PGtkRulerClass;
119
GTK_RULER_GET_CLASS:=PGtkRulerClass(GTK_CHECK_GET_CLASS(obj,GTK_TYPE_RULER));
122
{$ENDIF read_implementation}
123
// included by gtk2.pas