← All compilation units

Flyology_TUI.Skins

Description

A Skin is a borrowed render-time visual language. It combines semantic colors with structural chrome while component models retain neither.

Border_Glyphs

type Border_Glyphs is record
   Top_Left     : Wide_Wide_Character := '+';
   Horizontal   : Wide_Wide_Character := '-';
   Top_Right    : Wide_Wide_Character := '+';
   Vertical     : Wide_Wide_Character := '|';
   Bottom_Left  : Wide_Wide_Character := '+';
   Bottom_Right : Wide_Wide_Character := '+';
end record;
Record fields
Top_Left
Horizontal
Top_Right
Vertical
Bottom_Left
Bottom_Right

Button_Chrome

type Button_Chrome is record
   Left_Outer  : Wide_Wide_Character := '[';
   Left_Inner  : Wide_Wide_Character := ' ';
   Right_Inner : Wide_Wide_Character := ' ';
   Right_Outer : Wide_Wide_Character := ']';
   Shadow_X    : Natural := 0;
   Shadow_Y    : Natural := 0;
   Shadow      : Flyology_TUI.Styles.Style :=
     Flyology_TUI.Styles.Default;
   Depress     : Boolean := False;
end record;

Button bodies retain their four-cell horizontal affordance. A shadow may extend the rendered surface without becoming part of the hit area.

Record fields
Left_Outer
Left_Inner
Right_Inner
Right_Outer
Shadow_X
Shadow_Y
Shadow
Depress

Charm_Dark_Skin

Charm_Dark_Skin    : constant Skin;

Charm_Default_Skin

Charm_Default_Skin : constant Skin;

Charm_Light_Skin

Charm_Light_Skin   : constant Skin;

Choice_Chrome

type Choice_Chrome is record
   Check_On    : Wide_Wide_Character := 'x';
   Check_Mixed : Wide_Wide_Character := '-';
   Radio_On    : Wide_Wide_Character := 'o';
end record;
Record fields
Check_On
Check_Mixed
Radio_On

Control_Placement

type Control_Placement is (Leading_Control, Trailing_Control);
Enumeration literals
Leading_Control
Trailing_Control

Dock_Chrome

type Dock_Chrome is record
   Collapse        : Wide_Wide_Character := '-';
   Expand          : Wide_Wide_Character := '+';
   Float           : Wide_Wide_Character := '^';
   Dock             : Wide_Wide_Character := 'v';
   Drop_Horizontal  : Wide_Wide_Character := '-';
   Drop_Vertical    : Wide_Wide_Character := '|';
end record;
Record fields
Collapse
Expand
Float
Dock
Drop_Horizontal
Drop_Vertical

Frame_Chrome

type Frame_Chrome is record
   Border       : Border_Glyphs;
   Shadow_X     : Natural := 0;
   Shadow_Y     : Natural := 0;
   Shadow       : Flyology_TUI.Styles.Style :=
     Flyology_TUI.Styles.Default;
end record;
Record fields
Border
Shadow_X
Shadow_Y
Shadow

Label

function Label (Id : Skin_Id) return Wide_Wide_String
Parameters
Id
Return value

Next

function Next (Id : Skin_Id) return Skin_Id
Parameters
Id
Return value

Panel_Chrome

type Panel_Chrome is record
   Frame : Frame_Chrome;
   Title : Title_Placement := Leading_Title;
end record;
Record fields
Frame
Title

Resolve

function Resolve (Id : Skin_Id) return Skin
Parameters
Id
Return value

Scrollbar_Chrome

type Scrollbar_Chrome is record
   Left_Arrow  : Wide_Wide_Character :=
     Wide_Wide_Character'Val (16#25C0#);
   Right_Arrow : Wide_Wide_Character :=
     Wide_Wide_Character'Val (16#25B6#);
   Up_Arrow    : Wide_Wide_Character :=
     Wide_Wide_Character'Val (16#25B2#);
   Down_Arrow  : Wide_Wide_Character :=
     Wide_Wide_Character'Val (16#25BC#);
   Track       : Wide_Wide_Character :=
     Wide_Wide_Character'Val (16#2591#);
   Thumb       : Wide_Wide_Character :=
     Wide_Wide_Character'Val (16#2588#);
end record;
Record fields
Left_Arrow
Right_Arrow
Up_Arrow
Down_Arrow
Track
Thumb

Skin

type Skin is record
   Palette          : Flyology_TUI.Themes.Palette;
   Desktop          : Flyology_TUI.Styles.Style :=
     Flyology_TUI.Styles.Default;
   Menu_Bar         : Flyology_TUI.Styles.Style :=
     Flyology_TUI.Styles.Default;
   Status_Line      : Flyology_TUI.Styles.Style :=
     Flyology_TUI.Styles.Default;
   Dialog           : Flyology_TUI.Styles.Style :=
     Flyology_TUI.Styles.Default;
   Control          : Flyology_TUI.Styles.Style :=
     Flyology_TUI.Styles.Default;
   Control_Focused  : Flyology_TUI.Styles.Style :=
     Flyology_TUI.Styles.Default;
   Control_Selected : Flyology_TUI.Styles.Style :=
     Flyology_TUI.Styles.Default;
   Panel            : Panel_Chrome;
   Window           : Window_Chrome;
   Button           : Button_Chrome;
   Choice           : Choice_Chrome;
   Scrollbar        : Scrollbar_Chrome;
   Tabs             : Tab_Chrome;
   Dock             : Dock_Chrome;
end record;
Record fields
Palette
Desktop
Menu_Bar
Status_Line
Dialog
Control
Control_Focused
Control_Selected
Panel
Window
Button
Choice
Scrollbar
Tabs
Dock

Skin_Id

type Skin_Id is
  (Charm_Default, Charm_Dark, Charm_Light, Turbo_Vision);

A Skin is a borrowed render-time visual language. It combines semantic colors with structural chrome while component models retain neither.

Enumeration literals
Charm_Default
Charm_Dark
Charm_Light
Turbo_Vision

Tab_Chrome

type Tab_Chrome is record
   Normal_Left   : Wide_Wide_Character := ' ';
   Normal_Right  : Wide_Wide_Character := ' ';
   Active_Left   : Wide_Wide_Character := '[';
   Active_Right  : Wide_Wide_Character := ']';
   Focused_Left  : Wide_Wide_Character := '>';
   Focused_Right : Wide_Wide_Character := ' ';
   Mnemonic_First : Boolean := False;
end record;

Every tab edge occupies one cell, preserving width and hit geometry.

Record fields
Normal_Left
Normal_Right
Active_Left
Active_Right
Focused_Left
Focused_Right
Mnemonic_First

Title_Placement

type Title_Placement is (Leading_Title, Centered_Title);
Enumeration literals
Leading_Title
Centered_Title

Turbo_Vision_Skin

Turbo_Vision_Skin  : constant Skin;

Window_Chrome

type Window_Chrome is record
   Frame          : Frame_Chrome;
   Focused_Frame  : Frame_Chrome;
   Title          : Title_Placement := Leading_Title;
   Close_Position : Control_Placement := Trailing_Control;
   Close_Left     : Wide_Wide_Character := ' ';
   Close           : Wide_Wide_Character := 'x';
   Close_Right    : Wide_Wide_Character := ' ';
   Resize          : Wide_Wide_Character := '+';
   Active_Controls_Only : Boolean := False;
end record;
Record fields
Frame
Focused_Frame
Title
Close_Position
Close_Left
Close
Close_Right
Resize
Active_Controls_Only