gtkrc.inc 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. // included by gtk2.pas
  2. {$IFDEF read_forward_definitions}
  3. {$ENDIF read_forward_definitions}
  4. //------------------------------------------------------------------------------
  5. {$IFDEF read_interface_types}
  6. PGtkRcFlags = ^TGtkRcFlags;
  7. TGtkRcFlags = longint;
  8. {< public > }
  9. {< private > }
  10. { list of RC style lists including this RC style }
  11. { The RC file specified the engine }
  12. PGtkRcStyle = ^TGtkRcStyle;
  13. TGtkRcStyle = record
  14. parent_instance : TGObject;
  15. name : Pgchar;
  16. bg_pixmap_name : array[0..4] of Pgchar;
  17. font_desc : PPangoFontDescription;
  18. color_flags : array[0..4] of TGtkRcFlags;
  19. fg : array[0..4] of TGdkColor;
  20. bg : array[0..4] of TGdkColor;
  21. text : array[0..4] of TGdkColor;
  22. base : array[0..4] of TGdkColor;
  23. xthickness : gint;
  24. ythickness : gint;
  25. rc_properties : PGArray;
  26. rc_style_lists : PGSList;
  27. icon_factories : PGSList;
  28. flag0 : word;
  29. end;
  30. { Create an empty RC style of the same type as this RC style.
  31. The default implementation, which does
  32. g_object_new (G_OBJECT_TYPE (style), NULL);
  33. should work in most cases.
  34. }
  35. { Fill in engine specific parts of GtkRcStyle by parsing contents
  36. of brackets. Returns G_TOKEN_NONE if succesful, otherwise returns
  37. the token it expected but didn't get.
  38. }
  39. { Combine RC style data from src into dest. If overriden, this
  40. function should chain to the parent.
  41. }
  42. { Create an empty style suitable to this RC style
  43. }
  44. { Padding for future expansion }
  45. PGtkRcStyleClass = ^TGtkRcStyleClass;
  46. TGtkRcStyleClass = record
  47. parent_class : TGObjectClass;
  48. create_rc_style : function (rc_style:PGtkRcStyle):PGtkRcStyle; cdecl;
  49. parse : function (rc_style:PGtkRcStyle; settings:PGtkSettings; scanner:PGScanner):guint; cdecl;
  50. merge : procedure (dest:PGtkRcStyle; src:PGtkRcStyle); cdecl;
  51. create_style : function (rc_style:PGtkRcStyle):PGtkStyle; cdecl;
  52. _gtk_reserved1 : procedure ; cdecl;
  53. _gtk_reserved2 : procedure ; cdecl;
  54. _gtk_reserved3 : procedure ; cdecl;
  55. _gtk_reserved4 : procedure ; cdecl;
  56. end;
  57. { private functions/definitions }
  58. PGtkRcTokenType = ^TGtkRcTokenType;
  59. TGtkRcTokenType = (
  60. GTK_RC_TOKEN_INVALID {:= G_TOKEN_LAST},
  61. GTK_RC_TOKEN_INCLUDE,
  62. GTK_RC_TOKEN_NORMAL,
  63. GTK_RC_TOKEN_ACTIVE,
  64. GTK_RC_TOKEN_PRELIGHT,
  65. GTK_RC_TOKEN_SELECTED,
  66. GTK_RC_TOKEN_INSENSITIVE,
  67. GTK_RC_TOKEN_FG,
  68. GTK_RC_TOKEN_BG,
  69. GTK_RC_TOKEN_TEXT,
  70. GTK_RC_TOKEN_BASE,
  71. GTK_RC_TOKEN_XTHICKNESS,
  72. GTK_RC_TOKEN_YTHICKNESS,
  73. GTK_RC_TOKEN_FONT,
  74. GTK_RC_TOKEN_FONTSET,
  75. GTK_RC_TOKEN_FONT_NAME,
  76. GTK_RC_TOKEN_BG_PIXMAP,
  77. GTK_RC_TOKEN_PIXMAP_PATH,
  78. GTK_RC_TOKEN_STYLE,
  79. GTK_RC_TOKEN_BINDING,
  80. GTK_RC_TOKEN_BIND,
  81. GTK_RC_TOKEN_WIDGET,
  82. GTK_RC_TOKEN_WIDGET_CLASS,
  83. GTK_RC_TOKEN_CLASS,
  84. GTK_RC_TOKEN_LOWEST,
  85. GTK_RC_TOKEN_GTK,
  86. GTK_RC_TOKEN_APPLICATION,
  87. GTK_RC_TOKEN_THEME,
  88. GTK_RC_TOKEN_RC,
  89. GTK_RC_TOKEN_HIGHEST,
  90. GTK_RC_TOKEN_ENGINE,
  91. GTK_RC_TOKEN_MODULE_PATH,
  92. GTK_RC_TOKEN_IM_MODULE_PATH,
  93. GTK_RC_TOKEN_IM_MODULE_FILE,
  94. GTK_RC_TOKEN_STOCK,
  95. GTK_RC_TOKEN_LTR,
  96. GTK_RC_TOKEN_RTL,
  97. GTK_RC_TOKEN_LAST
  98. );
  99. { rc properties
  100. (structure forward declared in gtkstyle.h)
  101. }
  102. { quark-ified property identifier like "GtkScrollbar::spacing" }
  103. { fields similar to GtkSettingsValue }
  104. PGtkRcProperty = ^TGtkRcProperty;
  105. TGtkRcProperty = record
  106. type_name : TGQuark;
  107. property_name : TGQuark;
  108. origin : Pgchar;
  109. value : TGValue;
  110. end;
  111. {$ENDIF read_interface_types}
  112. //------------------------------------------------------------------------------
  113. {$IFDEF read_interface_rest}
  114. const
  115. GTK_RC_FG = 1 shl 0;
  116. GTK_RC_BG = 1 shl 1;
  117. GTK_RC_TEXT = 1 shl 2;
  118. GTK_RC_BASE = 1 shl 3;
  119. const
  120. bm_TGtkRcStyle_engine_specified = $1;
  121. bp_TGtkRcStyle_engine_specified = 0;
  122. function GTK_TYPE_RC_STYLE : GType;
  123. function GTK_RC_STYLE_get(anObject: pointer) : PGtkRcStyle;
  124. function GTK_RC_STYLE_CLASS(klass: pointer) : PGtkRcStyleClass;
  125. function GTK_IS_RC_STYLE(anObject: pointer) : boolean;
  126. function GTK_IS_RC_STYLE_CLASS(klass: pointer) : boolean;
  127. function GTK_RC_STYLE_GET_CLASS(obj: pointer) : PGtkRcStyleClass;
  128. function engine_specified(var a : TGtkRcStyle) : guint;
  129. procedure set_engine_specified(var a : TGtkRcStyle; __engine_specified : guint);
  130. procedure _gtk_rc_init; cdecl; external gtklib;
  131. procedure gtk_rc_add_default_file(filename:Pgchar); cdecl; external gtklib;
  132. procedure gtk_rc_set_default_files(filenames:PPgchar); cdecl; external gtklib;
  133. function gtk_rc_get_default_files:PPgchar; cdecl; external gtklib;
  134. function gtk_rc_get_style(widget:PGtkWidget):PGtkStyle; cdecl; external gtklib;
  135. function gtk_rc_get_style_by_paths(settings:PGtkSettings; widget_path:Pchar; class_path:Pchar; _type:GType):PGtkStyle; cdecl; external gtklib;
  136. function gtk_rc_reparse_all_for_settings(settings:PGtkSettings; force_load:gboolean):gboolean; cdecl; external gtklib;
  137. function gtk_rc_find_pixmap_in_path(settings:PGtkSettings; scanner:PGScanner; pixmap_file:Pgchar):Pgchar; cdecl; external gtklib;
  138. procedure gtk_rc_parse(filename:Pgchar); cdecl; external gtklib;
  139. procedure gtk_rc_parse_string(rc_string:Pgchar); cdecl; external gtklib;
  140. function gtk_rc_reparse_all:gboolean; cdecl; external gtklib;
  141. {$ifndef GTK_DISABLE_DEPRECATED}
  142. procedure gtk_rc_add_widget_name_style(rc_style:PGtkRcStyle; pattern:Pgchar); cdecl; external gtklib;
  143. procedure gtk_rc_add_widget_class_style(rc_style:PGtkRcStyle; pattern:Pgchar); cdecl; external gtklib;
  144. procedure gtk_rc_add_class_style(rc_style:PGtkRcStyle; pattern:Pgchar); cdecl; external gtklib;
  145. {$endif}
  146. { GTK_DISABLE_DEPRECATED }
  147. function gtk_rc_style_get_type:GType; cdecl; external gtklib;
  148. function gtk_rc_style_new:PGtkRcStyle; cdecl; external gtklib;
  149. function gtk_rc_style_copy(orig:PGtkRcStyle):PGtkRcStyle; cdecl; external gtklib;
  150. procedure gtk_rc_style_ref(rc_style:PGtkRcStyle); cdecl; external gtklib;
  151. procedure gtk_rc_style_unref(rc_style:PGtkRcStyle); cdecl; external gtklib;
  152. function gtk_rc_find_module_in_path(module_file:Pgchar):Pgchar; cdecl; external gtklib;
  153. function gtk_rc_get_theme_dir:Pgchar; cdecl; external gtklib;
  154. function gtk_rc_get_module_dir:Pgchar; cdecl; external gtklib;
  155. function gtk_rc_get_im_module_path:Pgchar; cdecl; external gtklib;
  156. function gtk_rc_get_im_module_file:Pgchar; cdecl; external gtklib;
  157. function gtk_rc_scanner_new:PGScanner; cdecl; external gtklib;
  158. function gtk_rc_parse_color(scanner:PGScanner; color:PGdkColor):guint; cdecl; external gtklib;
  159. function gtk_rc_parse_state(scanner:PGScanner; state:PGtkStateType):guint; cdecl; external gtklib;
  160. function gtk_rc_parse_priority(scanner:PGScanner; priority:PGtkPathPriorityType):guint; cdecl; external gtklib;
  161. function _gtk_rc_style_lookup_rc_property(rc_style:PGtkRcStyle; type_name:TGQuark; property_name:TGQuark):PGtkRcProperty; cdecl; external gtklib;
  162. function _gtk_rc_context_get_default_font_name(settings:PGtkSettings):Pgchar; cdecl; external gtklib;
  163. {$ENDIF read_interface_rest}
  164. //------------------------------------------------------------------------------
  165. {$IFDEF read_implementation}
  166. function GTK_TYPE_RC_STYLE : GType;
  167. begin
  168. GTK_TYPE_RC_STYLE:=gtk_rc_style_get_type;
  169. end;
  170. function GTK_RC_STYLE_get(anObject: pointer) : PGtkRcStyle;
  171. begin
  172. GTK_RC_STYLE_get:=PGtkRcStyle(G_TYPE_CHECK_INSTANCE_CAST(anObject,GTK_TYPE_RC_STYLE));
  173. end;
  174. function GTK_RC_STYLE_CLASS(klass: pointer) : PGtkRcStyleClass;
  175. begin
  176. GTK_RC_STYLE_CLASS:=PGtkRcStyleClass(G_TYPE_CHECK_CLASS_CAST(klass,GTK_TYPE_RC_STYLE));
  177. end;
  178. function GTK_IS_RC_STYLE(anObject: pointer) : boolean;
  179. begin
  180. GTK_IS_RC_STYLE:=G_TYPE_CHECK_INSTANCE_TYPE(anObject,GTK_TYPE_RC_STYLE);
  181. end;
  182. function GTK_IS_RC_STYLE_CLASS(klass: pointer) : boolean;
  183. begin
  184. GTK_IS_RC_STYLE_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,GTK_TYPE_RC_STYLE);
  185. end;
  186. function GTK_RC_STYLE_GET_CLASS(obj: pointer) : PGtkRcStyleClass;
  187. begin
  188. GTK_RC_STYLE_GET_CLASS:=PGtkRcStyleClass(G_TYPE_INSTANCE_GET_CLASS(obj,GTK_TYPE_RC_STYLE));
  189. end;
  190. function engine_specified(var a : TGtkRcStyle) : guint;
  191. begin
  192. engine_specified:=(a.flag0 and bm_TGtkRcStyle_engine_specified) shr bp_TGtkRcStyle_engine_specified;
  193. end;
  194. procedure set_engine_specified(var a : TGtkRcStyle; __engine_specified : guint);
  195. begin
  196. a.flag0:=a.flag0 or ((__engine_specified shl bp_TGtkRcStyle_engine_specified) and bm_TGtkRcStyle_engine_specified);
  197. end;
  198. {$ENDIF read_implementation}
  199. // included by gtk2.pas