type Theme is abstract new Limited_Object with private;
type Align_Type is ( Align_Left, Align_Center, Align_Right );
type Border_Type is ( Border_None, Border_Raised, Border_Sunk, Border_Line );
type Color_Purpose is ( Background, Foreground, Selected, Selected_Text, Text );
type Colors_Array is array (Color_Purpose) of Color_Type;
type A_Theme is access all Theme'Class;
function Border_Width
( | this | : access Theme ) return Natural; |
function Color
( | this | : access Theme; |
purpose | : Color_Purpose ) return Color_Type; |
procedure Draw_Border
( | this | : access Theme; |
dc | : Drawing_Context; | |
border | : Border_Type; | |
x1, y1, x2, y2 | : Integer; | |
color | : Color_Type ); |
procedure Draw_Box
( | this | : access Theme; |
dc | : Drawing_Context; | |
x1, y1, x2, y2 | : Integer; | |
color | : Color_Type; | |
border | : Border_Type := Border_None ); |
procedure Draw_Label
( | this | : access Theme; |
dc | : Drawing_Context; | |
x1, y1, x2, y2 | : Integer; | |
icon | : A_Bitmap; | |
text | : String; | |
fontName | : String; | |
fontSize | : Positive; | |
color | : Color_Type; | |
align | : Align_Type; | |
smooth | : Boolean := False ); |
function Get_Font
( | this | : not null access Theme'Class; |
name | : String; | |
size | : Positive ) return Font_Type; |
function Get_Text_Height
( | this | : not null access Theme'Class; |
fontName | : String; | |
fontSize | : Positive ) return Natural; |
function Get_ID
( | this | : access Theme; |
name | : String ) return Natural is abstract; |
function Get_Scaling_Filter
( | this | : not null access Theme'Class ) return Filter_Type; |
function Get_Text_Width
( | this | : not null access Theme'Class; |
text | : String; | |
fontName | : String; | |
fontSize | : Positive ) return Natural; |
function Label_Height
( | this | : access Theme; |
icon | : A_Bitmap; | |
text | : String; | |
fontName | : String; | |
fontSize | : Positive ) return Natural; |
function Label_Width
( | this | : access Theme; |
icon | : A_Bitmap; | |
text | : String; | |
fontName | : String; | |
fontSize | : Positive ) return Natural; |
procedure Register_Font
( | this | : not null access Theme'Class; |
path | : String; | |
name | : String ); |
procedure Set_Scaling_Filter
( | this | : not null access Theme'Class; |
filter | : Filter_Type ); |
procedure Create_Theme;
function Get return A_Theme;