gtkrange.inc 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268
  1. // included by gtk2.pas
  2. {$IFDEF read_forward_definitions}
  3. {$ENDIF read_forward_definitions}
  4. //------------------------------------------------------------------------------
  5. {$IFDEF read_interface_types}
  6. // internal type
  7. PGtkRangeLayout = pointer;
  8. // internal type
  9. PGtkRangeStepTimer = pointer;
  10. { These two are private/opaque types, ignore }
  11. {< protected > }
  12. { Steppers are: < > ---- < >
  13. a b c d }
  14. { Area of entire stepper + trough assembly in widget->window coords }
  15. { Slider range along the long dimension, in widget->window coords }
  16. { Round off value to this many digits, -1 for no rounding }
  17. {< private > }
  18. { trough click was on the forward side of slider }
  19. { need to emit value_changed }
  20. PGtkRange = ^TGtkRange;
  21. TGtkRange = record
  22. widget : TGtkWidget;
  23. adjustment : PGtkAdjustment;
  24. update_policy : TGtkUpdateType;
  25. flag0 : word;
  26. min_slider_size : gint;
  27. orientation : TGtkOrientation;
  28. range_rect : TGdkRectangle;
  29. slider_start : gint;
  30. slider_end : gint;
  31. round_digits : gint;
  32. flag1 : word;
  33. layout : PGtkRangeLayout;
  34. timer : PGtkRangeStepTimer;
  35. slide_initial_slider_position : gint;
  36. slide_initial_coordinate : gint;
  37. update_timeout_id : guint;
  38. event_window : PGdkWindow;
  39. end;
  40. { what detail to pass to GTK drawing functions }
  41. { action signals for keybindings }
  42. { Virtual functions }
  43. { Padding for future expansion }
  44. PGtkRangeClass = ^TGtkRangeClass;
  45. TGtkRangeClass = record
  46. parent_class : TGtkWidgetClass;
  47. slider_detail : Pgchar;
  48. stepper_detail : Pgchar;
  49. value_changed : procedure (range:PGtkRange); cdecl;
  50. adjust_bounds : procedure (range:PGtkRange; new_value:gdouble); cdecl;
  51. move_slider : procedure (range:PGtkRange; scroll:TGtkScrollType); cdecl;
  52. get_range_border : procedure (range:PGtkRange; border:PGtkBorder); cdecl;
  53. _gtk_reserved1 : procedure ; cdecl;
  54. _gtk_reserved2 : procedure ; cdecl;
  55. _gtk_reserved3 : procedure ; cdecl;
  56. _gtk_reserved4 : procedure ; cdecl;
  57. end;
  58. {$ENDIF read_interface_types}
  59. //------------------------------------------------------------------------------
  60. {$IFDEF read_interface_rest}
  61. const
  62. bm_TGtkRange_inverted = $1;
  63. bp_TGtkRange_inverted = 0;
  64. bm_TGtkRange_flippable = $2;
  65. bp_TGtkRange_flippable = 1;
  66. bm_TGtkRange_has_stepper_a = $4;
  67. bp_TGtkRange_has_stepper_a = 2;
  68. bm_TGtkRange_has_stepper_b = $8;
  69. bp_TGtkRange_has_stepper_b = 3;
  70. bm_TGtkRange_has_stepper_c = $10;
  71. bp_TGtkRange_has_stepper_c = 4;
  72. bm_TGtkRange_has_stepper_d = $20;
  73. bp_TGtkRange_has_stepper_d = 5;
  74. bm_TGtkRange_need_recalc = $40;
  75. bp_TGtkRange_need_recalc = 6;
  76. bm_TGtkRange_slider_size_fixed = $80;
  77. bp_TGtkRange_slider_size_fixed = 7;
  78. bm_TGtkRange_trough_click_forward = $1;
  79. bp_TGtkRange_trough_click_forward = 0;
  80. bm_TGtkRange_update_pending = $2;
  81. bp_TGtkRange_update_pending = 1;
  82. function GTK_TYPE_RANGE : GType;
  83. function GTK_RANGE(obj: pointer) : PGtkRange;
  84. function GTK_RANGE_CLASS(klass: pointer) : PGtkRangeClass;
  85. function GTK_IS_RANGE(obj: pointer) : boolean;
  86. function GTK_IS_RANGE_CLASS(klass: pointer) : boolean;
  87. function GTK_RANGE_GET_CLASS(obj: pointer) : PGtkRangeClass;
  88. function inverted(var a : TGtkRange) : guint;
  89. procedure set_inverted(var a : TGtkRange; __inverted : guint);
  90. function flippable(var a : TGtkRange) : guint;
  91. procedure set_flippable(var a : TGtkRange; __flippable : guint);
  92. function has_stepper_a(var a : TGtkRange) : guint;
  93. procedure set_has_stepper_a(var a : TGtkRange; __has_stepper_a : guint);
  94. function has_stepper_b(var a : TGtkRange) : guint;
  95. procedure set_has_stepper_b(var a : TGtkRange; __has_stepper_b : guint);
  96. function has_stepper_c(var a : TGtkRange) : guint;
  97. procedure set_has_stepper_c(var a : TGtkRange; __has_stepper_c : guint);
  98. function has_stepper_d(var a : TGtkRange) : guint;
  99. procedure set_has_stepper_d(var a : TGtkRange; __has_stepper_d : guint);
  100. function need_recalc(var a : TGtkRange) : guint;
  101. procedure set_need_recalc(var a : TGtkRange; __need_recalc : guint);
  102. function slider_size_fixed(var a : TGtkRange) : guint;
  103. procedure set_slider_size_fixed(var a : TGtkRange; __slider_size_fixed : guint);
  104. function trough_click_forward(var a : TGtkRange) : guint;
  105. procedure set_trough_click_forward(var a : TGtkRange; __trough_click_forward : guint);
  106. function update_pending(var a : TGtkRange) : guint;
  107. procedure set_update_pending(var a : TGtkRange; __update_pending : guint);
  108. function gtk_range_get_type:TGtkType; cdecl; external gtklib;
  109. procedure gtk_range_set_update_policy(range:PGtkRange; policy:TGtkUpdateType); cdecl; external gtklib;
  110. function gtk_range_get_update_policy(range:PGtkRange):TGtkUpdateType; cdecl; external gtklib;
  111. procedure gtk_range_set_adjustment(range:PGtkRange; adjustment:PGtkAdjustment); cdecl; external gtklib;
  112. function gtk_range_get_adjustment(range:PGtkRange):PGtkAdjustment; cdecl; external gtklib;
  113. procedure gtk_range_set_inverted(range:PGtkRange; setting:gboolean); cdecl; external gtklib;
  114. function gtk_range_get_inverted(range:PGtkRange):gboolean; cdecl; external gtklib;
  115. procedure gtk_range_set_increments(range:PGtkRange; step:gdouble; page:gdouble); cdecl; external gtklib;
  116. procedure gtk_range_set_range(range:PGtkRange; min:gdouble; max:gdouble); cdecl; external gtklib;
  117. procedure gtk_range_set_value(range:PGtkRange; value:gdouble); cdecl; external gtklib;
  118. function gtk_range_get_value(range:PGtkRange):gdouble; cdecl; external gtklib;
  119. {$ENDIF read_interface_rest}
  120. //------------------------------------------------------------------------------
  121. {$IFDEF read_implementation}
  122. function GTK_TYPE_RANGE : GType;
  123. begin
  124. GTK_TYPE_RANGE:=gtk_range_get_type;
  125. end;
  126. function GTK_RANGE(obj: pointer) : PGtkRange;
  127. begin
  128. GTK_RANGE:=PGtkRange(GTK_CHECK_CAST(obj,GTK_TYPE_RANGE));
  129. end;
  130. function GTK_RANGE_CLASS(klass: pointer) : PGtkRangeClass;
  131. begin
  132. GTK_RANGE_CLASS:=PGtkRangeClass(GTK_CHECK_CLASS_CAST(klass,GTK_TYPE_RANGE));
  133. end;
  134. function GTK_IS_RANGE(obj: pointer) : boolean;
  135. begin
  136. GTK_IS_RANGE:=GTK_CHECK_TYPE(obj,GTK_TYPE_RANGE);
  137. end;
  138. function GTK_IS_RANGE_CLASS(klass: pointer) : boolean;
  139. begin
  140. GTK_IS_RANGE_CLASS:=GTK_CHECK_CLASS_TYPE(klass,GTK_TYPE_RANGE);
  141. end;
  142. function GTK_RANGE_GET_CLASS(obj: pointer) : PGtkRangeClass;
  143. begin
  144. GTK_RANGE_GET_CLASS:=PGtkRangeClass(GTK_CHECK_GET_CLASS(obj,GTK_TYPE_RANGE));
  145. end;
  146. function inverted(var a : TGtkRange) : guint;
  147. begin
  148. inverted:=(a.flag0 and bm_TGtkRange_inverted) shr bp_TGtkRange_inverted;
  149. end;
  150. procedure set_inverted(var a : TGtkRange; __inverted : guint);
  151. begin
  152. a.flag0:=a.flag0 or ((__inverted shl bp_TGtkRange_inverted) and bm_TGtkRange_inverted);
  153. end;
  154. function flippable(var a : TGtkRange) : guint;
  155. begin
  156. flippable:=(a.flag0 and bm_TGtkRange_flippable) shr bp_TGtkRange_flippable;
  157. end;
  158. procedure set_flippable(var a : TGtkRange; __flippable : guint);
  159. begin
  160. a.flag0:=a.flag0 or ((__flippable shl bp_TGtkRange_flippable) and bm_TGtkRange_flippable);
  161. end;
  162. function has_stepper_a(var a : TGtkRange) : guint;
  163. begin
  164. has_stepper_a:=(a.flag0 and bm_TGtkRange_has_stepper_a) shr bp_TGtkRange_has_stepper_a;
  165. end;
  166. procedure set_has_stepper_a(var a : TGtkRange; __has_stepper_a : guint);
  167. begin
  168. a.flag0:=a.flag0 or ((__has_stepper_a shl bp_TGtkRange_has_stepper_a) and bm_TGtkRange_has_stepper_a);
  169. end;
  170. function has_stepper_b(var a : TGtkRange) : guint;
  171. begin
  172. has_stepper_b:=(a.flag0 and bm_TGtkRange_has_stepper_b) shr bp_TGtkRange_has_stepper_b;
  173. end;
  174. procedure set_has_stepper_b(var a : TGtkRange; __has_stepper_b : guint);
  175. begin
  176. a.flag0:=a.flag0 or ((__has_stepper_b shl bp_TGtkRange_has_stepper_b) and bm_TGtkRange_has_stepper_b);
  177. end;
  178. function has_stepper_c(var a : TGtkRange) : guint;
  179. begin
  180. has_stepper_c:=(a.flag0 and bm_TGtkRange_has_stepper_c) shr bp_TGtkRange_has_stepper_c;
  181. end;
  182. procedure set_has_stepper_c(var a : TGtkRange; __has_stepper_c : guint);
  183. begin
  184. a.flag0:=a.flag0 or ((__has_stepper_c shl bp_TGtkRange_has_stepper_c) and bm_TGtkRange_has_stepper_c);
  185. end;
  186. function has_stepper_d(var a : TGtkRange) : guint;
  187. begin
  188. has_stepper_d:=(a.flag0 and bm_TGtkRange_has_stepper_d) shr bp_TGtkRange_has_stepper_d;
  189. end;
  190. procedure set_has_stepper_d(var a : TGtkRange; __has_stepper_d : guint);
  191. begin
  192. a.flag0:=a.flag0 or ((__has_stepper_d shl bp_TGtkRange_has_stepper_d) and bm_TGtkRange_has_stepper_d);
  193. end;
  194. function need_recalc(var a : TGtkRange) : guint;
  195. begin
  196. need_recalc:=(a.flag0 and bm_TGtkRange_need_recalc) shr bp_TGtkRange_need_recalc;
  197. end;
  198. procedure set_need_recalc(var a : TGtkRange; __need_recalc : guint);
  199. begin
  200. a.flag0:=a.flag0 or ((__need_recalc shl bp_TGtkRange_need_recalc) and bm_TGtkRange_need_recalc);
  201. end;
  202. function slider_size_fixed(var a : TGtkRange) : guint;
  203. begin
  204. slider_size_fixed:=(a.flag0 and bm_TGtkRange_slider_size_fixed) shr bp_TGtkRange_slider_size_fixed;
  205. end;
  206. procedure set_slider_size_fixed(var a : TGtkRange; __slider_size_fixed : guint);
  207. begin
  208. a.flag0:=a.flag0 or ((__slider_size_fixed shl bp_TGtkRange_slider_size_fixed) and bm_TGtkRange_slider_size_fixed);
  209. end;
  210. function trough_click_forward(var a : TGtkRange) : guint;
  211. begin
  212. trough_click_forward:=(a.flag1 and bm_TGtkRange_trough_click_forward) shr bp_TGtkRange_trough_click_forward;
  213. end;
  214. procedure set_trough_click_forward(var a : TGtkRange; __trough_click_forward : guint);
  215. begin
  216. a.flag1:=a.flag1 or ((__trough_click_forward shl bp_TGtkRange_trough_click_forward) and bm_TGtkRange_trough_click_forward);
  217. end;
  218. function update_pending(var a : TGtkRange) : guint;
  219. begin
  220. update_pending:=(a.flag1 and bm_TGtkRange_update_pending) shr bp_TGtkRange_update_pending;
  221. end;
  222. procedure set_update_pending(var a : TGtkRange; __update_pending : guint);
  223. begin
  224. a.flag1:=a.flag1 or ((__update_pending shl bp_TGtkRange_update_pending) and bm_TGtkRange_update_pending);
  225. end;
  226. {$ENDIF read_implementation}
  227. // included by gtk2.pas