gtkcurve.inc 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. // included by gtk2.pas
  2. {
  3. NOTE this widget is considered too specialized/little-used for
  4. GTK+, and will in the future be moved to some other package. If
  5. your application needs this widget, feel free to use it, as the
  6. widget does work and is useful in some applications; it's just not
  7. of general interest. However, we are not accepting new features for
  8. the widget, and it will eventually move out of the GTK+
  9. distribution.
  10. }
  11. {$IFDEF read_forward_definitions}
  12. {$ENDIF read_forward_definitions}
  13. //------------------------------------------------------------------------------
  14. {$IFDEF read_interface_types}
  15. { (cached) graph height in pixels }
  16. { point currently grabbed }
  17. { (cached) curve points: }
  18. { control points: }
  19. { number of control points }
  20. { array of control points }
  21. Tctlpoint = array[0..1] of gfloat;
  22. Pctlpoint = ^Tctlpoint;
  23. PGtkCurve = ^TGtkCurve;
  24. TGtkCurve = record
  25. graph : TGtkDrawingArea;
  26. cursor_type : gint;
  27. min_x : gfloat;
  28. max_x : gfloat;
  29. min_y : gfloat;
  30. max_y : gfloat;
  31. pixmap : PGdkPixmap;
  32. curve_type : TGtkCurveType;
  33. height : gint;
  34. grab_point : gint;
  35. last : gint;
  36. num_points : gint;
  37. point : PGdkPoint;
  38. num_ctlpoints : gint;
  39. ctlpoint : Pctlpoint;
  40. end;
  41. { Padding for future expansion }
  42. PGtkCurveClass = ^TGtkCurveClass;
  43. TGtkCurveClass = record
  44. parent_class : TGtkDrawingAreaClass;
  45. curve_type_changed : procedure (curve:PGtkCurve); cdecl;
  46. _gtk_reserved1 : procedure ; cdecl;
  47. _gtk_reserved2 : procedure ; cdecl;
  48. _gtk_reserved3 : procedure ; cdecl;
  49. _gtk_reserved4 : procedure ; cdecl;
  50. end;
  51. {$ENDIF read_interface_types}
  52. //------------------------------------------------------------------------------
  53. {$IFDEF read_interface_rest}
  54. function GTK_TYPE_CURVE : GType;
  55. function GTK_CURVE(obj: pointer) : PGtkCurve;
  56. function GTK_CURVE_CLASS(klass: pointer) : PGtkCurveClass;
  57. function GTK_IS_CURVE(obj: pointer) : boolean;
  58. function GTK_IS_CURVE_CLASS(klass: pointer) : boolean;
  59. function GTK_CURVE_GET_CLASS(obj: pointer) : PGtkCurveClass;
  60. function gtk_curve_get_type:TGtkType; cdecl; external gtklib;
  61. function gtk_curve_new:PGtkWidget; cdecl; external gtklib;
  62. procedure gtk_curve_reset(curve:PGtkCurve); cdecl; external gtklib;
  63. procedure gtk_curve_set_gamma(curve:PGtkCurve; gamma:gfloat); cdecl; external gtklib;
  64. procedure gtk_curve_set_range(curve:PGtkCurve; min_x:gfloat; max_x:gfloat; min_y:gfloat; max_y:gfloat); cdecl; external gtklib;
  65. {$IFNDEF KYLIX}
  66. procedure gtk_curve_get_vector(curve:PGtkCurve; veclen:longint; vector:array of gfloat); cdecl; external gtklib;
  67. procedure gtk_curve_set_vector(curve:PGtkCurve; veclen:longint; vector:array of gfloat); cdecl; external gtklib;
  68. {$ELSE}
  69. procedure gtk_curve_get_vector(curve:PGtkCurve; veclen:longint); varargs; cdecl; external gtklib;
  70. procedure gtk_curve_set_vector(curve:PGtkCurve; veclen:longint); varargs; cdecl; external gtklib;
  71. {$ENDIF}
  72. procedure gtk_curve_set_curve_type(curve:PGtkCurve; _type:TGtkCurveType); cdecl; external gtklib;
  73. {$ENDIF read_interface_rest}
  74. //------------------------------------------------------------------------------
  75. {$IFDEF read_implementation}
  76. function GTK_TYPE_CURVE : GType;
  77. begin
  78. GTK_TYPE_CURVE:=gtk_curve_get_type;
  79. end;
  80. function GTK_CURVE(obj: pointer) : PGtkCurve;
  81. begin
  82. GTK_CURVE:=PGtkCurve(GTK_CHECK_CAST(obj,GTK_TYPE_CURVE));
  83. end;
  84. function GTK_CURVE_CLASS(klass: pointer) : PGtkCurveClass;
  85. begin
  86. GTK_CURVE_CLASS:=PGtkCurveClass(GTK_CHECK_CLASS_CAST(klass,GTK_TYPE_CURVE));
  87. end;
  88. function GTK_IS_CURVE(obj: pointer) : boolean;
  89. begin
  90. GTK_IS_CURVE:=GTK_CHECK_TYPE(obj,GTK_TYPE_CURVE);
  91. end;
  92. function GTK_IS_CURVE_CLASS(klass: pointer) : boolean;
  93. begin
  94. GTK_IS_CURVE_CLASS:=GTK_CHECK_CLASS_TYPE(klass,GTK_TYPE_CURVE);
  95. end;
  96. function GTK_CURVE_GET_CLASS(obj: pointer) : PGtkCurveClass;
  97. begin
  98. GTK_CURVE_GET_CLASS:=PGtkCurveClass(GTK_CHECK_GET_CLASS(obj,GTK_TYPE_CURVE));
  99. end;
  100. {$ENDIF read_implementation}
  101. // included by gtk2.pas