type Gtk_Theming_Engine_Record is new GObject_Record with null record;
type Gtk_Theming_Engine is access all Gtk_Theming_Engine_Record'Class;
Name_Property : constant Glib.Properties.Property_String;
function Get_Type return Glib.GType;
procedure Get_Background_Color
( | Self | : not null access Gtk_Theming_Engine_Record; |
State | : Gtk.Enums.Gtk_State_Flags; | |
Color | : out Gdk.RGBA.Gdk_RGBA); |
procedure Get_Border
( | Self | : not null access Gtk_Theming_Engine_Record; |
State | : Gtk.Enums.Gtk_State_Flags; | |
Border | : out Gtk.Style.Gtk_Border); |
procedure Get_Border_Color
( | Self | : not null access Gtk_Theming_Engine_Record; |
State | : Gtk.Enums.Gtk_State_Flags; | |
Color | : out Gdk.RGBA.Gdk_RGBA); |
procedure Get_Color
( | Self | : not null access Gtk_Theming_Engine_Record; |
State | : Gtk.Enums.Gtk_State_Flags; | |
Color | : out Gdk.RGBA.Gdk_RGBA); |
function Get_Direction
( | Self | : not null access Gtk_Theming_Engine_Record) return Gtk.Enums.Gtk_Text_Direction; |
function Get_Font
( | Self | : not null access Gtk_Theming_Engine_Record; |
State | : Gtk.Enums.Gtk_State_Flags) return Pango.Font.Pango_Font_Description; |
function Get_Junction_Sides
( | Self | : not null access Gtk_Theming_Engine_Record) return Gtk.Enums.Gtk_Junction_Sides; |
procedure Get_Margin
( | Self | : not null access Gtk_Theming_Engine_Record; |
State | : Gtk.Enums.Gtk_State_Flags; | |
Margin | : out Gtk.Style.Gtk_Border); |
procedure Get_Padding
( | Self | : not null access Gtk_Theming_Engine_Record; |
State | : Gtk.Enums.Gtk_State_Flags; | |
Padding | : out Gtk.Style.Gtk_Border); |
function Get_Path
( | Self | : not null access Gtk_Theming_Engine_Record) return Gtk.Widget.Gtk_Widget_Path; |
procedure Get_Property
( | Self | : not null access Gtk_Theming_Engine_Record; |
Property | : UTF8_String; | |
State | : Gtk.Enums.Gtk_State_Flags; | |
Value | : out Glib.Values.GValue); |
function Get_Screen
( | Self | : not null access Gtk_Theming_Engine_Record) return Gdk.Screen.Gdk_Screen; |
function Get_State
( | Self | : not null access Gtk_Theming_Engine_Record) return Gtk.Enums.Gtk_State_Flags; |
procedure Get_Style_Property
( | Self | : not null access Gtk_Theming_Engine_Record; |
Property_Name | : UTF8_String; | |
Value | : in out Glib.Values.GValue); |
function Has_Class
( | Self | : not null access Gtk_Theming_Engine_Record; |
Style_Class | : UTF8_String) return Boolean; |
function Has_Region
( | Self | : not null access Gtk_Theming_Engine_Record; |
Style_Region | : UTF8_String; | |
Flags | : access Gtk.Enums.Gtk_Region_Flags) return Boolean; |
function Lookup_Color
( | Self | : not null access Gtk_Theming_Engine_Record; |
Color_Name | : UTF8_String; | |
Color | : access Gdk.RGBA.Gdk_RGBA) return Boolean; |
function State_Is_Running
( | Self | : not null access Gtk_Theming_Engine_Record; |
State | : Gtk.Enums.Gtk_State_Type; | |
Progress | : access Gdouble) return Boolean; |
function Load
( | Name | : UTF8_String) return Gtk_Theming_Engine; |
Gtk.Theming_Engine.Gtk_Theming_Engine is the object used for rendering themed content in GTK+ widgets. Even though GTK+ has a default implementation, it can be overridden in CSS files by enforcing a Gtk.Theming_Engine.Gtk_Theming_Engine object to be loaded as a module.
In order to implement a theming engine, a Gtk.Theming_Engine.Gtk_Theming_Engine subclass must be created, alongside the CSS file that will reference it, the theming engine would be created as an .so library, and installed in $(gtk-modules-dir)/theming-engines/.
Gtk.Theming_Engine.Gtk_Theming_Engine<!-- -->s have limited access to the object they are rendering, the Gtk.Theming_Engine.Gtk_Theming_Engine API has read-only accessors to the style information contained in the rendered object's Gtk.Style_Context.Gtk_Style_Context.