/packages/gtk1/src/gtk/gtkruler.pp

https://github.com/slibre/freepascal · Puppet · 78 lines · 60 code · 18 blank · 0 comment · 0 complexity · 608428c49e390d2e940ae722a0ac60a1 MD5 · raw file

  1. {
  2. }
  3. {****************************************************************************
  4. Interface
  5. ****************************************************************************}
  6. {$ifdef read_interface}
  7. type
  8. PGtkRulerMetric = ^TGtkRulerMetric;
  9. PGtkRuler = ^TGtkRuler;
  10. TGtkRuler = record
  11. widget : TGtkWidget;
  12. backing_store : PGdkPixmap;
  13. non_gr_exp_gc : PGdkGC;
  14. metric : PGtkRulerMetric;
  15. xsrc : gint;
  16. ysrc : gint;
  17. slider_size : gint;
  18. lower : gfloat;
  19. upper : gfloat;
  20. position : gfloat;
  21. max_size : gfloat;
  22. end;
  23. PGtkRulerClass = ^TGtkRulerClass;
  24. TGtkRulerClass = record
  25. parent_class : TGtkWidgetClass;
  26. draw_ticks : procedure (ruler:PGtkRuler); cdecl;
  27. draw_pos : procedure (ruler:PGtkRuler); cdecl;
  28. end;
  29. TGtkRulerMetric = record
  30. metric_name : Pgchar;
  31. abbrev : Pgchar;
  32. pixels_per_unit : gfloat;
  33. ruler_scale : array[0..9] of gfloat;
  34. subdivide : array[0..4] of gint;
  35. end;
  36. Type
  37. GTK_RULER=PGtkRuler;
  38. GTK_RULER_CLASS=PGtkRulerClass;
  39. function GTK_RULER_TYPE:TGtkType;cdecl;external gtkdll name 'gtk_ruler_get_type';
  40. function GTK_IS_RULER(obj:pointer):boolean;
  41. function GTK_IS_RULER_CLASS(klass:pointer):boolean;
  42. function gtk_ruler_get_type:TGtkType;cdecl;external gtkdll name 'gtk_ruler_get_type';
  43. procedure gtk_ruler_set_metric(ruler:PGtkRuler; metric:TGtkMetricType);cdecl;external gtkdll name 'gtk_ruler_set_metric';
  44. procedure gtk_ruler_set_range(ruler:PGtkRuler; lower:gfloat; upper:gfloat; position:gfloat; max_size:gfloat);cdecl;external gtkdll name 'gtk_ruler_set_range';
  45. procedure gtk_ruler_draw_ticks(ruler:PGtkRuler);cdecl;external gtkdll name 'gtk_ruler_draw_ticks';
  46. procedure gtk_ruler_draw_pos(ruler:PGtkRuler);cdecl;external gtkdll name 'gtk_ruler_draw_pos';
  47. {$endif read_interface}
  48. {****************************************************************************
  49. Implementation
  50. ****************************************************************************}
  51. {$ifdef read_implementation}
  52. function GTK_IS_RULER(obj:pointer):boolean;
  53. begin
  54. GTK_IS_RULER:=(obj<>nil) and GTK_IS_RULER_CLASS(PGtkTypeObject(obj)^.klass);
  55. end;
  56. function GTK_IS_RULER_CLASS(klass:pointer):boolean;
  57. begin
  58. GTK_IS_RULER_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GTK_RULER_TYPE);
  59. end;
  60. {$endif read_implementation}