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