diff options
author | Jedidiah Barber <contact@jedbarber.id.au> | 2025-01-21 21:04:54 +1300 |
---|---|---|
committer | Jedidiah Barber <contact@jedbarber.id.au> | 2025-01-21 21:04:54 +1300 |
commit | b4438b2fbe895694be98e6e8426103deefc51448 (patch) | |
tree | 760d86cd7c06420a91dad102cc9546aee73146fc /src/fltk-labels.adb | |
parent | a4703a65b015140cd4a7a985db66264875ade734 (diff) |
Split public API and private implementation files into different directories
Diffstat (limited to 'src/fltk-labels.adb')
-rw-r--r-- | src/fltk-labels.adb | 355 |
1 files changed, 0 insertions, 355 deletions
diff --git a/src/fltk-labels.adb b/src/fltk-labels.adb deleted file mode 100644 index 006db6b..0000000 --- a/src/fltk-labels.adb +++ /dev/null @@ -1,355 +0,0 @@ - - --- Programmed by Jedidiah Barber --- Released into the public domain - - -with - - Interfaces.C.Strings; - - -package body FLTK.Labels is - - - ------------------------ - -- Functions From C -- - ------------------------ - - function new_fl_label - (V : in Interfaces.C.Strings.chars_ptr; - F : in Interfaces.C.int; - S : in Interfaces.C.int; - H : in Interfaces.C.unsigned; - K : in Interfaces.C.int; - P : in Interfaces.C.unsigned) - return Storage.Integer_Address; - pragma Import (C, new_fl_label, "new_fl_label"); - pragma Inline (new_fl_label); - - procedure free_fl_label - (L : in Storage.Integer_Address); - pragma Import (C, free_fl_label, "free_fl_label"); - pragma Inline (free_fl_label); - - - - - procedure fl_label_set_value - (L : in Storage.Integer_Address; - V : in Interfaces.C.Strings.chars_ptr); - pragma Import (C, fl_label_set_value, "fl_label_set_value"); - pragma Inline (fl_label_set_value); - - function fl_label_get_font - (L : in Storage.Integer_Address) - return Interfaces.C.int; - pragma Import (C, fl_label_get_font, "fl_label_get_font"); - pragma Inline (fl_label_get_font); - - procedure fl_label_set_font - (L : in Storage.Integer_Address; - F : in Interfaces.C.int); - pragma Import (C, fl_label_set_font, "fl_label_set_font"); - pragma Inline (fl_label_set_font); - - function fl_label_get_size - (L : in Storage.Integer_Address) - return Interfaces.C.int; - pragma Import (C, fl_label_get_size, "fl_label_get_size"); - pragma Inline (fl_label_get_size); - - procedure fl_label_set_size - (L : in Storage.Integer_Address; - S : in Interfaces.C.int); - pragma Import (C, fl_label_set_size, "fl_label_set_size"); - pragma Inline (fl_label_set_size); - - function fl_label_get_color - (L : in Storage.Integer_Address) - return Interfaces.C.unsigned; - pragma Import (C, fl_label_get_color, "fl_label_get_color"); - pragma Inline (fl_label_get_color); - - procedure fl_label_set_color - (L : in Storage.Integer_Address; - H : in Interfaces.C.unsigned); - pragma Import (C, fl_label_set_color, "fl_label_set_color"); - pragma Inline (fl_label_set_color); - - function fl_label_get_type - (L : in Storage.Integer_Address) - return Interfaces.C.int; - pragma Import (C, fl_label_get_type, "fl_label_get_type"); - pragma Inline (fl_label_get_type); - - procedure fl_label_set_type - (L : in Storage.Integer_Address; - K : in Interfaces.C.int); - pragma Import (C, fl_label_set_type, "fl_label_set_type"); - pragma Inline (fl_label_set_type); - - function fl_label_get_align - (L : in Storage.Integer_Address) - return Interfaces.C.unsigned; - pragma Import (C, fl_label_get_align, "fl_label_get_align"); - pragma Inline (fl_label_get_align); - - procedure fl_label_set_align - (L : in Storage.Integer_Address; - P : in Interfaces.C.unsigned); - pragma Import (C, fl_label_set_align, "fl_label_set_align"); - pragma Inline (fl_label_set_align); - - procedure fl_label_set_image - (L, I : in Storage.Integer_Address); - pragma Import (C, fl_label_set_image, "fl_label_set_image"); - pragma Inline (fl_label_set_image); - - procedure fl_label_set_deimage - (L, I : in Storage.Integer_Address); - pragma Import (C, fl_label_set_deimage, "fl_label_set_deimage"); - pragma Inline (fl_label_set_deimage); - - - - - procedure fl_label_draw - (L : in Storage.Integer_Address; - X, Y, W, H : in Interfaces.C.int; - P : in Interfaces.C.unsigned); - pragma Import (C, fl_label_draw, "fl_label_draw"); - pragma Inline (fl_label_draw); - - procedure fl_label_measure - (L : in Storage.Integer_Address; - W, H : out Interfaces.C.int); - pragma Import (C, fl_label_measure, "fl_label_measure"); - pragma Inline (fl_label_measure); - - - - - ----------------------------------- - -- Controlled Type Subprograms -- - ----------------------------------- - - procedure Finalize - (This : in out Label) is - begin - if This.Void_Ptr /= Null_Pointer and This.Needs_Dealloc then - free_fl_label (This.Void_Ptr); - This.Void_Ptr := Null_Pointer; - Interfaces.C.Strings.Free (This.My_Text); - end if; - end Finalize; - - - - - ----------------- - -- Label API -- - ----------------- - - package body Forge is - - function Create - (Value : in String; - Font : in Font_Kind := Helvetica; - Size : in Font_Size := Normal_Size; - Hue : in Color := Foreground_Color; - Kind : in Label_Kind := Normal_Label; - Place : in Alignment := Align_Center; - Active : access FLTK.Images.Image'Class := null; - Inactive : access FLTK.Images.Image'Class := null) - return Label is - begin - return This : Label do - This.My_Text := Interfaces.C.Strings.New_String (Value); - This.Void_Ptr := new_fl_label - (This.My_Text, -- Interfaces.C.Strings.chars_ptr - Font_Kind'Pos (Font), -- Interfaces.C.int - Interfaces.C.int (Size), - Interfaces.C.unsigned (Hue), - Label_Kind'Pos (Kind), -- Interfaces.C.int - Interfaces.C.unsigned (Place)); - This.Set_Active (Active); - This.Set_Inactive (Inactive); - end return; - end Create; - - end Forge; - - - - - function Get_Value - (This : in Label) - return String is - begin - return Interfaces.C.Strings.Value (This.My_Text); - end Get_Value; - - - procedure Set_Value - (This : in out Label; - Text : in String) is - begin - Interfaces.C.Strings.Free (This.My_Text); - This.My_Text := Interfaces.C.Strings.New_String (Text); - fl_label_set_value (This.Void_Ptr, This.My_Text); - end Set_Value; - - - function Get_Font - (This : in Label) - return Font_Kind is - begin - return Font_Kind'Val (fl_label_get_font (This.Void_Ptr)); - end Get_Font; - - - procedure Set_Font - (This : in out Label; - Font : in Font_Kind) is - begin - fl_label_set_font (This.Void_Ptr, Font_Kind'Pos (Font)); - end Set_Font; - - - function Get_Size - (This : in Label) - return Font_Size is - begin - return Font_Size (fl_label_get_size (This.Void_Ptr)); - end Get_Size; - - - procedure Set_Size - (This : in out Label; - Size : in Font_Size) is - begin - fl_label_set_size (This.Void_Ptr, Interfaces.C.int (Size)); - end Set_Size; - - - function Get_Color - (This : in Label) - return Color is - begin - return Color (fl_label_get_color (This.Void_Ptr)); - end Get_Color; - - - procedure Set_Color - (This : in out Label; - Hue : in Color) is - begin - fl_label_set_color (This.Void_Ptr, Interfaces.C.unsigned (Hue)); - end Set_Color; - - - function Get_Kind - (This : in Label) - return Label_Kind is - begin - return Label_Kind'Val (fl_label_get_type (This.Void_Ptr)); - end Get_Kind; - - - procedure Set_Kind - (This : in out Label; - Kind : in Label_Kind) is - begin - fl_label_set_type (This.Void_Ptr, Label_Kind'Pos (Kind)); - end Set_Kind; - - - function Get_Alignment - (This : in Label) - return Alignment is - begin - return Alignment (fl_label_get_align (This.Void_Ptr)); - end Get_Alignment; - - - procedure Set_Alignment - (This : in out Label; - Place : in Alignment) is - begin - fl_label_set_align (This.Void_Ptr, Interfaces.C.unsigned (Place)); - end Set_Alignment; - - - function Get_Active - (This : in Label) - return access FLTK.Images.Image'Class is - begin - return This.My_Active; - end Get_Active; - - - procedure Set_Active - (This : in out Label; - Pic : access FLTK.Images.Image'Class) is - begin - if Pic /= null then - fl_label_set_image (This.Void_Ptr, Wrapper (Pic.all).Void_Ptr); - else - fl_label_set_image (This.Void_Ptr, Null_Pointer); - end if; - This.My_Active := Pic; - end Set_Active; - - - function Get_Inactive - (This : in Label) - return access FLTK.Images.Image'Class is - begin - return This.My_Inactive; - end Get_Inactive; - - - procedure Set_Inactive - (This : in out Label; - Pic : access FLTK.Images.Image'Class) is - begin - if Pic /= null then - fl_label_set_deimage (This.Void_Ptr, Wrapper (Pic.all).Void_Ptr); - else - fl_label_set_deimage (This.Void_Ptr, Null_Pointer); - end if; - This.My_Inactive := Pic; - end Set_Inactive; - - - - - procedure Draw - (This : in out Label; - X, Y, W, H : in Integer; - Place : in Alignment) is - begin - fl_label_draw - (This.Void_Ptr, - Interfaces.C.int (X), - Interfaces.C.int (Y), - Interfaces.C.int (W), - Interfaces.C.int (H), - Interfaces.C.unsigned (Place)); - end Draw; - - procedure Measure - (This : in Label; - W, H : out Integer) is - begin - fl_label_measure - (This.Void_Ptr, - Interfaces.C.int (W), - Interfaces.C.int (H)); - end Measure; - - -end FLTK.Labels; - - |