diff options
Diffstat (limited to 'packages/gtk2/src/gtk+/gtk/gtkruler.inc')
-rw-r--r-- | packages/gtk2/src/gtk+/gtk/gtkruler.inc | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/packages/gtk2/src/gtk+/gtk/gtkruler.inc b/packages/gtk2/src/gtk+/gtk/gtkruler.inc new file mode 100644 index 0000000000..ec9d4c1870 --- /dev/null +++ b/packages/gtk2/src/gtk+/gtk/gtkruler.inc @@ -0,0 +1,124 @@ +// included by gtk2.pas + + +{ + NOTE this widget is considered too specialized/little-used for + GTK+, and will in the future be moved to some other package. If + your application needs this widget, feel free to use it, as the + widget does work and is useful in some applications; it's just not + of general interest. However, we are not accepting new features for + the widget, and it will eventually move out of the GTK+ + distribution. + } + +{$IFDEF read_forward_definitions} +{$ENDIF read_forward_definitions} + +//------------------------------------------------------------------------------ + +{$IFDEF read_interface_types} + PGtkRulerMetric = ^TGtkRulerMetric; + +{ All distances below are in 1/72nd's of an inch. (According to + Adobe that's a point, but points are really 1/72.27 in.) + } +{ The upper limit of the ruler (in points) } +{ The lower limit of the ruler } +{ The position of the mark on the ruler } +{ The maximum size of the ruler } + PGtkRuler = ^TGtkRuler; + TGtkRuler = record + widget : TGtkWidget; + backing_store : PGdkPixmap; + non_gr_exp_gc : PGdkGC; + metric : PGtkRulerMetric; + xsrc : gint; + ysrc : gint; + slider_size : gint; + lower : gdouble; + upper : gdouble; + position : gdouble; + max_size : gdouble; + end; + +{ Padding for future expansion } + PGtkRulerClass = ^TGtkRulerClass; + TGtkRulerClass = record + parent_class : TGtkWidgetClass; + draw_ticks : procedure (ruler:PGtkRuler); cdecl; + draw_pos : procedure (ruler:PGtkRuler); cdecl; + _gtk_reserved1 : procedure ; cdecl; + _gtk_reserved2 : procedure ; cdecl; + _gtk_reserved3 : procedure ; cdecl; + _gtk_reserved4 : procedure ; cdecl; + end; + +{ This should be points_per_unit. This is the size of the unit + in 1/72nd's of an inch and has nothing to do with screen pixels } +{ five possible modes of subdivision } + TGtkRulerMetric = record + metric_name : Pgchar; + abbrev : Pgchar; + pixels_per_unit : gdouble; + ruler_scale : array[0..9] of gdouble; + subdivide : array[0..4] of gint; + end; + +{$ENDIF read_interface_types} + +//------------------------------------------------------------------------------ + +{$IFDEF read_interface_rest} +function GTK_TYPE_RULER : GType; +function GTK_RULER(obj: pointer) : PGtkRuler; +function GTK_RULER_CLASS(klass: pointer) : PGtkRulerClass; +function GTK_IS_RULER(obj: pointer) : boolean; +function GTK_IS_RULER_CLASS(klass: pointer) : boolean; +function GTK_RULER_GET_CLASS(obj: pointer) : PGtkRulerClass; + + +function gtk_ruler_get_type:TGtkType; cdecl; external gtklib; +procedure gtk_ruler_set_metric(ruler:PGtkRuler; metric:TGtkMetricType); cdecl; external gtklib; +procedure gtk_ruler_set_range(ruler:PGtkRuler; lower:gdouble; upper:gdouble; position:gdouble; max_size:gdouble); cdecl; external gtklib; +procedure gtk_ruler_draw_ticks(ruler:PGtkRuler); cdecl; external gtklib; +procedure gtk_ruler_draw_pos(ruler:PGtkRuler); cdecl; external gtklib; +function gtk_ruler_get_metric(ruler:PGtkRuler):TGtkMetricType; cdecl; external gtklib; +procedure gtk_ruler_get_range(ruler:PGtkRuler; lower:Pgdouble; upper:Pgdouble; position:Pgdouble; max_size:Pgdouble); cdecl; external gtklib; +{$ENDIF read_interface_rest} + +//------------------------------------------------------------------------------ + +{$IFDEF read_implementation} +function GTK_TYPE_RULER : GType; +begin + GTK_TYPE_RULER:=gtk_ruler_get_type; +end; + +function GTK_RULER(obj: pointer) : PGtkRuler; +begin + GTK_RULER:=PGtkRuler(GTK_CHECK_CAST(obj,GTK_TYPE_RULER)); +end; + +function GTK_RULER_CLASS(klass: pointer) : PGtkRulerClass; +begin + GTK_RULER_CLASS:=PGtkRulerClass(GTK_CHECK_CLASS_CAST(klass,GTK_TYPE_RULER)); +end; + +function GTK_IS_RULER(obj: pointer) : boolean; +begin + GTK_IS_RULER:=GTK_CHECK_TYPE(obj,GTK_TYPE_RULER); +end; + +function GTK_IS_RULER_CLASS(klass: pointer) : boolean; +begin + GTK_IS_RULER_CLASS:=GTK_CHECK_CLASS_TYPE(klass,GTK_TYPE_RULER); +end; + +function GTK_RULER_GET_CLASS(obj: pointer) : PGtkRulerClass; +begin + GTK_RULER_GET_CLASS:=PGtkRulerClass(GTK_CHECK_GET_CLASS(obj,GTK_TYPE_RULER)); +end; + +{$ENDIF read_implementation} +// included by gtk2.pas + |