gtkstyle.inc 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393
  1. // included by gtk2.pas
  2. {$IFDEF read_forward_definitions}
  3. PGtkStyle = ^TGtkStyle;
  4. {$ENDIF read_forward_definitions}
  5. //------------------------------------------------------------------------------
  6. {$IFDEF read_interface_types}
  7. // internal type
  8. PGtkIconSource = pointer;
  9. { Some forward declarations needed to rationalize the header
  10. files.
  11. }
  12. TGtkRcPropertyParser = function (pspec:PGParamSpec; rc_string:PGString; property_value:PGValue):gboolean; cdecl;
  13. { We make this forward declaration here, since we pass
  14. GtkWidget's to the draw functions.
  15. }
  16. {< public > }
  17. { Halfway between text/base }
  18. {< private > }
  19. { Font description for style->private_font or %NULL }
  20. { the RcStyle from which this style was created }
  21. { of type GtkStyle }
  22. { of type GtkIconFactory }
  23. TGtkStyle = record
  24. parent_instance : TGObject;
  25. fg : array[0..4] of TGdkColor;
  26. bg : array[0..4] of TGdkColor;
  27. light : array[0..4] of TGdkColor;
  28. dark : array[0..4] of TGdkColor;
  29. mid : array[0..4] of TGdkColor;
  30. text : array[0..4] of TGdkColor;
  31. base : array[0..4] of TGdkColor;
  32. text_aa : array[0..4] of TGdkColor;
  33. black : TGdkColor;
  34. white : TGdkColor;
  35. font_desc : PPangoFontDescription;
  36. xthickness : gint;
  37. ythickness : gint;
  38. fg_gc : array[0..4] of PGdkGC;
  39. bg_gc : array[0..4] of PGdkGC;
  40. light_gc : array[0..4] of PGdkGC;
  41. dark_gc : array[0..4] of PGdkGC;
  42. mid_gc : array[0..4] of PGdkGC;
  43. text_gc : array[0..4] of PGdkGC;
  44. base_gc : array[0..4] of PGdkGC;
  45. text_aa_gc : array[0..4] of PGdkGC;
  46. black_gc : PGdkGC;
  47. white_gc : PGdkGC;
  48. bg_pixmap : array[0..4] of PGdkPixmap;
  49. attach_count : gint;
  50. depth : gint;
  51. colormap : PGdkColormap;
  52. private_font : PGdkFont;
  53. private_font_desc : PPangoFontDescription;
  54. rc_style : PGtkRcStyle;
  55. styles : PGSList;
  56. property_cache : PGArray;
  57. icon_factories : PGSList;
  58. end;
  59. { Initialize for a particular colormap/depth
  60. combination. style->colormap/style->depth will have
  61. been set at this point. Will typically chain to parent.
  62. }
  63. { Clean up for a particular colormap/depth combination. Will
  64. typically chain to parent.
  65. }
  66. { Make style an exact duplicate of src.
  67. }
  68. { Create an empty style of the same type as this style.
  69. The default implementation, which does
  70. g_object_new (G_OBJECT_TYPE (style), NULL);
  71. should work in most cases.
  72. }
  73. { Initialize the GtkStyle with the values in the GtkRcStyle.
  74. should chain to the parent implementation.
  75. }
  76. { Drawing functions
  77. }
  78. { Padding for future expansion }
  79. PGtkStyleClass = ^TGtkStyleClass;
  80. TGtkStyleClass = record
  81. parent_class : TGObjectClass;
  82. realize : procedure (style:PGtkStyle); cdecl;
  83. unrealize : procedure (style:PGtkStyle); cdecl;
  84. copy : procedure (style:PGtkStyle; src:PGtkStyle); cdecl;
  85. clone : function (style:PGtkStyle):PGtkStyle; cdecl;
  86. init_from_rc : procedure (style:PGtkStyle; rc_style:PGtkRcStyle); cdecl;
  87. set_background : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType); cdecl;
  88. render_icon : function (style:PGtkStyle; source:PGtkIconSource; direction:TGtkTextDirection; state:TGtkStateType; size:TGtkIconSize;
  89. widget:PGtkWidget; detail:Pgchar):PGdkPixbuf; cdecl;
  90. draw_hline : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; area:PGdkRectangle; widget:PGtkWidget;
  91. detail:Pgchar; x1:gint; x2:gint; y:gint); cdecl;
  92. draw_vline : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; area:PGdkRectangle; widget:PGtkWidget;
  93. detail:Pgchar; y1:gint; y2:gint; x:gint); cdecl;
  94. draw_shadow : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  95. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  96. height:gint); cdecl;
  97. draw_polygon : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  98. widget:PGtkWidget; detail:Pgchar; point:PGdkPoint; npoints:gint; fill:gboolean); cdecl;
  99. draw_arrow : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  100. widget:PGtkWidget; detail:Pgchar; arrow_type:TGtkArrowType; fill:gboolean; x:gint;
  101. y:gint; width:gint; height:gint); cdecl;
  102. draw_diamond : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  103. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  104. height:gint); cdecl;
  105. draw_string : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; area:PGdkRectangle; widget:PGtkWidget;
  106. detail:Pgchar; x:gint; y:gint; _string:Pgchar); cdecl;
  107. draw_box : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  108. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  109. height:gint); cdecl;
  110. draw_flat_box : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  111. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  112. height:gint); cdecl;
  113. draw_check : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  114. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  115. height:gint); cdecl;
  116. draw_option : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  117. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  118. height:gint); cdecl;
  119. draw_tab : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  120. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  121. height:gint); cdecl;
  122. draw_shadow_gap : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  123. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  124. height:gint; gap_side:TGtkPositionType; gap_x:gint; gap_width:gint); cdecl;
  125. draw_box_gap : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  126. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  127. height:gint; gap_side:TGtkPositionType; gap_x:gint; gap_width:gint); cdecl;
  128. draw_extension : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  129. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  130. height:gint; gap_side:TGtkPositionType); cdecl;
  131. draw_focus : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; area:PGdkRectangle; widget:PGtkWidget;
  132. detail:Pgchar; x:gint; y:gint; width:gint; height:gint); cdecl;
  133. draw_slider : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  134. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  135. height:gint; orientation:TGtkOrientation); cdecl;
  136. draw_handle : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  137. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  138. height:gint; orientation:TGtkOrientation); cdecl;
  139. draw_expander : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; area:PGdkRectangle; widget:PGtkWidget;
  140. detail:Pgchar; x:gint; y:gint; expander_style:TGtkExpanderStyle); cdecl;
  141. draw_layout : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; use_text:gboolean; area:PGdkRectangle;
  142. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; layout:PPangoLayout); cdecl;
  143. draw_resize_grip : procedure (style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; area:PGdkRectangle; widget:PGtkWidget;
  144. detail:Pgchar; edge:TGdkWindowEdge; x:gint; y:gint; width:gint;
  145. height:gint); cdecl;
  146. _gtk_reserved1 : procedure ; cdecl;
  147. _gtk_reserved2 : procedure ; cdecl;
  148. _gtk_reserved3 : procedure ; cdecl;
  149. _gtk_reserved4 : procedure ; cdecl;
  150. _gtk_reserved5 : procedure ; cdecl;
  151. _gtk_reserved6 : procedure ; cdecl;
  152. _gtk_reserved7 : procedure ; cdecl;
  153. _gtk_reserved8 : procedure ; cdecl;
  154. _gtk_reserved9 : procedure ; cdecl;
  155. _gtk_reserved10 : procedure ; cdecl;
  156. _gtk_reserved11 : procedure ; cdecl;
  157. _gtk_reserved12 : procedure ; cdecl;
  158. end;
  159. PGtkBorder = ^TGtkBorder;
  160. TGtkBorder = record
  161. left : gint;
  162. right : gint;
  163. top : gint;
  164. bottom : gint;
  165. end;
  166. {$ENDIF read_interface_types}
  167. //------------------------------------------------------------------------------
  168. {$IFDEF read_interface_rest}
  169. function GTK_TYPE_STYLE : GType;
  170. function GTK_STYLE(anObject: pointer) : PGtkStyle;
  171. function GTK_STYLE_CLASS(klass: pointer) : PGtkStyleClass;
  172. function GTK_IS_STYLE(anObject: pointer) : boolean;
  173. function GTK_IS_STYLE_CLASS(klass: pointer) : boolean;
  174. function GTK_STYLE_GET_CLASS(obj: pointer) : PGtkStyleClass;
  175. function GTK_TYPE_BORDER : GType;
  176. function GTK_STYLE_ATTACHED(style : pointer) : boolean;
  177. function gtk_style_get_type:GType; cdecl; external gtklib;
  178. function gtk_style_new:PGtkStyle; cdecl; external gtklib;
  179. function gtk_style_copy(style:PGtkStyle):PGtkStyle; cdecl; external gtklib;
  180. function gtk_style_attach(style:PGtkStyle; window:PGdkWindow):PGtkStyle; cdecl; external gtklib;
  181. procedure gtk_style_detach(style:PGtkStyle); cdecl; external gtklib;
  182. {$ifndef GTK_DISABLE_DEPRECATED}
  183. function gtk_style_ref(style:PGtkStyle):PGtkStyle; cdecl; external gtklib;
  184. procedure gtk_style_unref(style:PGtkStyle); cdecl; external gtklib;
  185. {$ifndef GDK_MULTIHEAD_SAFE}
  186. function gtk_style_get_font(style:PGtkStyle):PGdkFont; cdecl; external gtklib;
  187. {$endif}
  188. function gtk_style_get_font_for_display(display:PGdkDisplay; style:PGtkStyle):PGdkFont; cdecl; external gtklib;
  189. procedure gtk_style_set_font(style:PGtkStyle; font:PGdkFont); cdecl; external gtklib;
  190. {$endif}
  191. { GTK_DISABLE_DEPRECATED }
  192. procedure gtk_style_set_background(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType); cdecl; external gtklib;
  193. procedure gtk_style_apply_default_background(style:PGtkStyle; window:PGdkWindow; set_bg:gboolean; state_type:TGtkStateType; area:PGdkRectangle;
  194. x:gint; y:gint; width:gint; height:gint); cdecl; external gtklib;
  195. function gtk_style_lookup_icon_set(style:PGtkStyle; stock_id:Pgchar):PGtkIconSet; cdecl; external gtklib;
  196. function gtk_style_render_icon(style:PGtkStyle; source:PGtkIconSource; direction:TGtkTextDirection; state:TGtkStateType; size:TGtkIconSize;
  197. widget:PGtkWidget; detail:Pgchar):PGdkPixbuf; cdecl; external gtklib;
  198. {$ifndef GTK_DISABLE_DEPRECATED}
  199. procedure gtk_draw_hline(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; x1:gint; x2:gint;
  200. y:gint); cdecl; external gtklib;
  201. procedure gtk_draw_vline(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; y1:gint; y2:gint;
  202. x:gint); cdecl; external gtklib;
  203. procedure gtk_draw_shadow(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; x:gint;
  204. y:gint; width:gint; height:gint); cdecl; external gtklib;
  205. procedure gtk_draw_polygon(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; points:PGdkPoint;
  206. npoints:gint; fill:gboolean); cdecl; external gtklib;
  207. procedure gtk_draw_arrow(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; arrow_type:TGtkArrowType;
  208. fill:gboolean; x:gint; y:gint; width:gint; height:gint); cdecl; external gtklib;
  209. procedure gtk_draw_diamond(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; x:gint;
  210. y:gint; width:gint; height:gint); cdecl; external gtklib;
  211. procedure gtk_draw_box(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; x:gint;
  212. y:gint; width:gint; height:gint); cdecl; external gtklib;
  213. procedure gtk_draw_flat_box(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; x:gint;
  214. y:gint; width:gint; height:gint); cdecl; external gtklib;
  215. procedure gtk_draw_check(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; x:gint;
  216. y:gint; width:gint; height:gint); cdecl; external gtklib;
  217. procedure gtk_draw_option(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; x:gint;
  218. y:gint; width:gint; height:gint); cdecl; external gtklib;
  219. procedure gtk_draw_tab(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; x:gint;
  220. y:gint; width:gint; height:gint); cdecl; external gtklib;
  221. procedure gtk_draw_shadow_gap(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; x:gint;
  222. y:gint; width:gint; height:gint; gap_side:TGtkPositionType; gap_x:gint;
  223. gap_width:gint); cdecl; external gtklib;
  224. procedure gtk_draw_box_gap(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; x:gint;
  225. y:gint; width:gint; height:gint; gap_side:TGtkPositionType; gap_x:gint;
  226. gap_width:gint); cdecl; external gtklib;
  227. procedure gtk_draw_extension(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; x:gint;
  228. y:gint; width:gint; height:gint; gap_side:TGtkPositionType); cdecl; external gtklib;
  229. procedure gtk_draw_focus(style:PGtkStyle; window:PGdkWindow; x:gint; y:gint; width:gint;
  230. height:gint); cdecl; external gtklib;
  231. procedure gtk_draw_slider(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; x:gint;
  232. y:gint; width:gint; height:gint; orientation:TGtkOrientation); cdecl; external gtklib;
  233. procedure gtk_draw_handle(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; x:gint;
  234. y:gint; width:gint; height:gint; orientation:TGtkOrientation); cdecl; external gtklib;
  235. procedure gtk_draw_expander(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; x:gint; y:gint;
  236. expander_style:TGtkExpanderStyle); cdecl; external gtklib;
  237. procedure gtk_draw_layout(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; use_text:gboolean; x:gint;
  238. y:gint; layout:PPangoLayout); cdecl; external gtklib;
  239. procedure gtk_draw_resize_grip(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; edge:TGdkWindowEdge; x:gint;
  240. y:gint; width:gint; height:gint); cdecl; external gtklib;
  241. {$endif}
  242. { GTK_DISABLE_DEPRECATED }
  243. procedure gtk_paint_hline(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; area:PGdkRectangle; widget:PGtkWidget;
  244. detail:Pgchar; x1:gint; x2:gint; y:gint); cdecl; external gtklib;
  245. procedure gtk_paint_vline(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; area:PGdkRectangle; widget:PGtkWidget;
  246. detail:Pgchar; y1:gint; y2:gint; x:gint); cdecl; external gtklib;
  247. procedure gtk_paint_shadow(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  248. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  249. height:gint); cdecl; external gtklib;
  250. procedure gtk_paint_polygon(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  251. widget:PGtkWidget; detail:Pgchar; points:PGdkPoint; npoints:gint; fill:gboolean); cdecl; external gtklib;
  252. procedure gtk_paint_arrow(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  253. widget:PGtkWidget; detail:Pgchar; arrow_type:TGtkArrowType; fill:gboolean; x:gint;
  254. y:gint; width:gint; height:gint); cdecl; external gtklib;
  255. procedure gtk_paint_diamond(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  256. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  257. height:gint); cdecl; external gtklib;
  258. procedure gtk_paint_box(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  259. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  260. height:gint); cdecl; external gtklib;
  261. procedure gtk_paint_flat_box(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  262. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  263. height:gint); cdecl; external gtklib;
  264. procedure gtk_paint_check(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  265. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  266. height:gint); cdecl; external gtklib;
  267. procedure gtk_paint_option(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  268. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  269. height:gint); cdecl; external gtklib;
  270. procedure gtk_paint_tab(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  271. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  272. height:gint); cdecl; external gtklib;
  273. procedure gtk_paint_shadow_gap(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  274. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  275. height:gint; gap_side:TGtkPositionType; gap_x:gint; gap_width:gint); cdecl; external gtklib;
  276. procedure gtk_paint_box_gap(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  277. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  278. height:gint; gap_side:TGtkPositionType; gap_x:gint; gap_width:gint); cdecl; external gtklib;
  279. procedure gtk_paint_extension(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  280. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  281. height:gint; gap_side:TGtkPositionType); cdecl; external gtklib;
  282. procedure gtk_paint_focus(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; area:PGdkRectangle; widget:PGtkWidget;
  283. detail:Pgchar; x:gint; y:gint; width:gint; height:gint); cdecl; external gtklib;
  284. procedure gtk_paint_slider(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  285. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  286. height:gint; orientation:TGtkOrientation); cdecl; external gtklib;
  287. procedure gtk_paint_handle(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; shadow_type:TGtkShadowType; area:PGdkRectangle;
  288. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; width:gint;
  289. height:gint; orientation:TGtkOrientation); cdecl; external gtklib;
  290. procedure gtk_paint_expander(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; area:PGdkRectangle; widget:PGtkWidget;
  291. detail:Pgchar; x:gint; y:gint; expander_style:TGtkExpanderStyle); cdecl; external gtklib;
  292. procedure gtk_paint_layout(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; use_text:gboolean; area:PGdkRectangle;
  293. widget:PGtkWidget; detail:Pgchar; x:gint; y:gint; layout:PPangoLayout); cdecl; external gtklib;
  294. procedure gtk_paint_resize_grip(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; area:PGdkRectangle; widget:PGtkWidget;
  295. detail:Pgchar; edge:TGdkWindowEdge; x:gint; y:gint; width:gint;
  296. height:gint); cdecl; external gtklib;
  297. function gtk_border_get_type:GType; cdecl; external gtklib;
  298. function gtk_border_copy(border:PGtkBorder):PGtkBorder; cdecl; external gtklib;
  299. procedure gtk_border_free(border:PGtkBorder); cdecl; external gtklib;
  300. { --- private API --- }
  301. function _gtk_style_peek_property_value(style:PGtkStyle; widget_type:GType; pspec:PGParamSpec; parser:TGtkRcPropertyParser):PGValue; cdecl; external gtklib;
  302. { deprecated }
  303. {$ifndef GTK_DISABLE_DEPRECATED}
  304. procedure gtk_style_apply_default_pixmap(style:PGtkStyle; window:PGdkWindow;
  305. state_type:TGtkStateType; area:PGdkRectangle;
  306. x:gint; y:gint; width:gint; height:gint);
  307. procedure gtk_draw_string(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; x:gint; y:gint;
  308. _string:Pgchar); cdecl; external gtklib;
  309. procedure gtk_paint_string(style:PGtkStyle; window:PGdkWindow; state_type:TGtkStateType; area:PGdkRectangle; widget:PGtkWidget;
  310. detail:Pgchar; x:gint; y:gint; _string:Pgchar); cdecl; external gtklib;
  311. {$endif}
  312. { GTK_DISABLE_DEPRECATED }
  313. function _gtk_get_insertion_cursor_gc(widget:PGtkWidget; is_primary:gboolean):PGdkGC; cdecl; external gtklib;
  314. procedure _gtk_draw_insertion_cursor(widget:PGtkWidget; drawable:PGdkDrawable; gc:PGdkGC; location:PGdkRectangle; direction:TGtkTextDirection;
  315. draw_arrow:gboolean); cdecl; external gtklib;
  316. {$ENDIF read_interface_rest}
  317. //------------------------------------------------------------------------------
  318. {$IFDEF read_implementation}
  319. function GTK_TYPE_STYLE : GType;
  320. begin
  321. GTK_TYPE_STYLE:=gtk_style_get_type;
  322. end;
  323. function GTK_STYLE(anObject: pointer) : PGtkStyle;
  324. begin
  325. GTK_STYLE:=PGtkStyle(G_TYPE_CHECK_INSTANCE_CAST(anObject,GTK_TYPE_STYLE));
  326. end;
  327. function GTK_STYLE_CLASS(klass: pointer) : PGtkStyleClass;
  328. begin
  329. GTK_STYLE_CLASS:=PGtkStyleClass(G_TYPE_CHECK_CLASS_CAST(klass,GTK_TYPE_STYLE));
  330. end;
  331. function GTK_IS_STYLE(anObject: pointer) : boolean;
  332. begin
  333. GTK_IS_STYLE:=G_TYPE_CHECK_INSTANCE_TYPE(anObject,GTK_TYPE_STYLE);
  334. end;
  335. function GTK_IS_STYLE_CLASS(klass: pointer) : boolean;
  336. begin
  337. GTK_IS_STYLE_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,GTK_TYPE_STYLE);
  338. end;
  339. function GTK_STYLE_GET_CLASS(obj: pointer) : PGtkStyleClass;
  340. begin
  341. GTK_STYLE_GET_CLASS:=PGtkStyleClass(G_TYPE_INSTANCE_GET_CLASS(obj,GTK_TYPE_STYLE));
  342. end;
  343. function GTK_TYPE_BORDER : GType;
  344. begin
  345. GTK_TYPE_BORDER:=gtk_border_get_type;
  346. end;
  347. function GTK_STYLE_ATTACHED(style : pointer) : boolean;
  348. begin
  349. GTK_STYLE_ATTACHED:=((GTK_STYLE(style))^.attach_count) > 0;
  350. end;
  351. procedure gtk_style_apply_default_pixmap(style:PGtkStyle; window:PGdkWindow;
  352. state_type:TGtkStateType; area:PGdkRectangle;
  353. x:gint; y:gint; width:gint; height:gint);
  354. begin
  355. gtk_style_apply_default_background(style,window,true,state_type,area,x,y,width,height);
  356. end;
  357. {$ENDIF read_implementation}
  358. // included by gtk2.pas