From edbb0173d98b170ef75eda0149a132b9836e239d Mon Sep 17 00:00:00 2001 From: Jedidiah Barber Date: Mon, 25 Nov 2024 16:17:52 +1300 Subject: Package renames for avoiding name clashes and abbreviations --- src/fltk-asks.adb | 345 +++++++++++++++++++++ src/fltk-asks.ads | 137 ++++++++ src/fltk-dialogs.adb | 345 --------------------- src/fltk-dialogs.ads | 137 -------- src/fltk-widgets-inputs-float.adb | 154 --------- src/fltk-widgets-inputs-float.ads | 72 ----- src/fltk-widgets-inputs-floating_point.adb | 154 +++++++++ src/fltk-widgets-inputs-floating_point.ads | 72 +++++ src/fltk-widgets-inputs-integer.adb | 152 --------- src/fltk-widgets-inputs-integer.ads | 72 ----- src/fltk-widgets-inputs-whole_number.adb | 152 +++++++++ src/fltk-widgets-inputs-whole_number.ads | 72 +++++ src/fltk-widgets-valuators-sliders-hor_fill.adb | 132 -------- src/fltk-widgets-valuators-sliders-hor_fill.ads | 63 ---- src/fltk-widgets-valuators-sliders-hor_nice.adb | 132 -------- src/fltk-widgets-valuators-sliders-hor_nice.ads | 63 ---- ...k-widgets-valuators-sliders-horizontal_fill.adb | 132 ++++++++ ...k-widgets-valuators-sliders-horizontal_fill.ads | 63 ++++ ...k-widgets-valuators-sliders-horizontal_nice.adb | 132 ++++++++ ...k-widgets-valuators-sliders-horizontal_nice.ads | 63 ++++ 20 files changed, 1322 insertions(+), 1322 deletions(-) create mode 100644 src/fltk-asks.adb create mode 100644 src/fltk-asks.ads delete mode 100644 src/fltk-dialogs.adb delete mode 100644 src/fltk-dialogs.ads delete mode 100644 src/fltk-widgets-inputs-float.adb delete mode 100644 src/fltk-widgets-inputs-float.ads create mode 100644 src/fltk-widgets-inputs-floating_point.adb create mode 100644 src/fltk-widgets-inputs-floating_point.ads delete mode 100644 src/fltk-widgets-inputs-integer.adb delete mode 100644 src/fltk-widgets-inputs-integer.ads create mode 100644 src/fltk-widgets-inputs-whole_number.adb create mode 100644 src/fltk-widgets-inputs-whole_number.ads delete mode 100644 src/fltk-widgets-valuators-sliders-hor_fill.adb delete mode 100644 src/fltk-widgets-valuators-sliders-hor_fill.ads delete mode 100644 src/fltk-widgets-valuators-sliders-hor_nice.adb delete mode 100644 src/fltk-widgets-valuators-sliders-hor_nice.ads create mode 100644 src/fltk-widgets-valuators-sliders-horizontal_fill.adb create mode 100644 src/fltk-widgets-valuators-sliders-horizontal_fill.ads create mode 100644 src/fltk-widgets-valuators-sliders-horizontal_nice.adb create mode 100644 src/fltk-widgets-valuators-sliders-horizontal_nice.ads (limited to 'src') diff --git a/src/fltk-asks.adb b/src/fltk-asks.adb new file mode 100644 index 0000000..880c4c8 --- /dev/null +++ b/src/fltk-asks.adb @@ -0,0 +1,345 @@ + + +-- Programmed by Jedidiah Barber +-- Released into the public domain + + +with + + Interfaces.C.Strings; + +use type + + Interfaces.C.int, + Interfaces.C.Strings.chars_ptr; + + +package body FLTK.Asks is + + + procedure dialog_fl_alert + (M : in Interfaces.C.char_array); + pragma Import (C, dialog_fl_alert, "dialog_fl_alert"); + pragma Inline (dialog_fl_alert); + + -- function dialog_fl_ask + -- (M : in Interfaces.C.char_array) + -- return Interfaces.C.int; + -- pragma Import (C, dialog_fl_ask, "dialog_fl_ask"); + -- pragma Inline (dialog_fl_ask); + + procedure dialog_fl_beep + (B : in Interfaces.C.int); + pragma Import (C, dialog_fl_beep, "dialog_fl_beep"); + pragma Inline (dialog_fl_beep); + + function dialog_fl_choice + (M, A, B, C : in Interfaces.C.char_array) + return Interfaces.C.int; + pragma Import (C, dialog_fl_choice, "dialog_fl_choice"); + pragma Inline (dialog_fl_choice); + + function dialog_fl_input + (M, D : in Interfaces.C.char_array) + return Interfaces.C.Strings.chars_ptr; + pragma Import (C, dialog_fl_input, "dialog_fl_input"); + pragma Inline (dialog_fl_input); + + procedure dialog_fl_message + (M : in Interfaces.C.char_array); + pragma Import (C, dialog_fl_message, "dialog_fl_message"); + pragma Inline (dialog_fl_message); + + function dialog_fl_password + (M, D : in Interfaces.C.char_array) + return Interfaces.C.Strings.chars_ptr; + pragma Import (C, dialog_fl_password, "dialog_fl_password"); + pragma Inline (dialog_fl_password); + + + + + function dialog_fl_color_chooser + (N : in Interfaces.C.char_array; + R, G, B : in out Interfaces.C.double; + M : in Interfaces.C.int) + return Interfaces.C.int; + pragma Import (C, dialog_fl_color_chooser, "dialog_fl_color_chooser"); + pragma Inline (dialog_fl_color_chooser); + + function dialog_fl_color_chooser2 + (N : in Interfaces.C.char_array; + R, G, B : in out Interfaces.C.unsigned_char; + M : in Interfaces.C.int) + return Interfaces.C.int; + pragma Import (C, dialog_fl_color_chooser2, "dialog_fl_color_chooser2"); + pragma Inline (dialog_fl_color_chooser2); + + function dialog_fl_dir_chooser + (M, D : in Interfaces.C.char_array; + R : in Interfaces.C.int) + return Interfaces.C.Strings.chars_ptr; + pragma Import (C, dialog_fl_dir_chooser, "dialog_fl_dir_chooser"); + pragma Inline (dialog_fl_dir_chooser); + + function dialog_fl_file_chooser + (M, P, D : in Interfaces.C.char_array; + R : in Interfaces.C.int) + return Interfaces.C.Strings.chars_ptr; + pragma Import (C, dialog_fl_file_chooser, "dialog_fl_file_chooser"); + pragma Inline (dialog_fl_file_chooser); + + + + + function dialog_fl_get_message_hotspot + return Interfaces.C.int; + pragma Import (C, dialog_fl_get_message_hotspot, "dialog_fl_get_message_hotspot"); + pragma Inline (dialog_fl_get_message_hotspot); + + procedure dialog_fl_set_message_hotspot + (V : in Interfaces.C.int); + pragma Import (C, dialog_fl_set_message_hotspot, "dialog_fl_set_message_hotspot"); + pragma Inline (dialog_fl_set_message_hotspot); + + procedure dialog_fl_message_font + (F, S : in Interfaces.C.int); + pragma Import (C, dialog_fl_message_font, "dialog_fl_message_font"); + pragma Inline (dialog_fl_message_font); + + function dialog_fl_message_icon + return Storage.Integer_Address; + pragma Import (C, dialog_fl_message_icon, "dialog_fl_message_icon"); + pragma Inline (dialog_fl_message_icon); + + procedure dialog_fl_message_title + (T : in Interfaces.C.char_array); + pragma Import (C, dialog_fl_message_title, "dialog_fl_message_title"); + pragma Inline (dialog_fl_message_title); + + procedure dialog_fl_message_title_default + (T : in Interfaces.C.char_array); + pragma Import (C, dialog_fl_message_title_default, "dialog_fl_message_title_default"); + pragma Inline (dialog_fl_message_title_default); + + + + + procedure Alert + (Message : String) is + begin + dialog_fl_alert (Interfaces.C.To_C (Message)); + end Alert; + + + -- function Ask + -- (Message : in String) + -- return Boolean is + -- begin + -- return dialog_fl_ask (Interfaces.C.To_C (Message)) /= 0; + -- end Ask; + + + procedure Beep + (Kind : in Beep_Kind) is + begin + dialog_fl_beep (Beep_Kind'Pos (Kind)); + end Beep; + + + function Three_Way_Choice + (Message, Button1, Button2, Button3 : in String) + return Choice + is + Result : Interfaces.C.int := dialog_fl_choice + (Interfaces.C.To_C (Message), + Interfaces.C.To_C (Button1), + Interfaces.C.To_C (Button2), + Interfaces.C.To_C (Button3)); + begin + return Choice'Val (Result); + end Three_Way_Choice; + + + function Text_Input + (Message : in String; + Default : in String := "") + return String + is + Result : Interfaces.C.Strings.chars_ptr := dialog_fl_input + (Interfaces.C.To_C (Message), + Interfaces.C.To_C (Default)); + begin + -- string does not need dealloc + if Result = Interfaces.C.Strings.Null_Ptr then + return ""; + else + return Interfaces.C.Strings.Value (Result); + end if; + end Text_Input; + + + procedure Message_Box + (Message : in String) is + begin + dialog_fl_message (Interfaces.C.To_C (Message)); + end Message_Box; + + + function Password + (Message : in String; + Default : in String := "") + return String + is + Result : Interfaces.C.Strings.chars_ptr := dialog_fl_password + (Interfaces.C.To_C (Message), + Interfaces.C.To_C (Default)); + begin + -- string does not need dealloc + if Result = Interfaces.C.Strings.Null_Ptr then + return ""; + else + return Interfaces.C.Strings.Value (Result); + end if; + end Password; + + + + + function Color_Chooser + (Title : in String; + R, G, B : in out RGB_Float; + Mode : in FLTK.Widgets.Groups.Color_Choosers.Color_Mode := + FLTK.Widgets.Groups.Color_Choosers.RGB) + return Boolean + is + C_R : Interfaces.C.double := Interfaces.C.double (R); + C_G : Interfaces.C.double := Interfaces.C.double (G); + C_B : Interfaces.C.double := Interfaces.C.double (B); + M : Interfaces.C.int := FLTK.Widgets.Groups.Color_Choosers.Color_Mode'Pos (Mode); + Result : Boolean := dialog_fl_color_chooser + (Interfaces.C.To_C (Title), C_R, C_G, C_B, M) /= 0; + begin + R := RGB_Float (C_R); + G := RGB_Float (C_G); + B := RGB_Float (C_B); + return Result; + end Color_Chooser; + + + function Color_Chooser + (Title : in String; + R, G, B : in out RGB_Int; + Mode : in FLTK.Widgets.Groups.Color_Choosers.Color_Mode := + FLTK.Widgets.Groups.Color_Choosers.RGB) + return Boolean + is + C_R : Interfaces.C.unsigned_char := Interfaces.C.unsigned_char (R); + C_G : Interfaces.C.unsigned_char := Interfaces.C.unsigned_char (G); + C_B : Interfaces.C.unsigned_char := Interfaces.C.unsigned_char (B); + M : Interfaces.C.int := FLTK.Widgets.Groups.Color_Choosers.Color_Mode'Pos (Mode); + Result : Boolean := dialog_fl_color_chooser2 + (Interfaces.C.To_C (Title), C_R, C_G, C_B, M) /= 0; + begin + R := RGB_Int (C_R); + G := RGB_Int (C_G); + B := RGB_Int (C_B); + return Result; + end Color_Chooser; + + + function Dir_Chooser + (Message, Default : in String; + Relative : in Boolean := False) + return String + is + Result : Interfaces.C.Strings.chars_ptr := dialog_fl_dir_chooser + (Interfaces.C.To_C (Message), + Interfaces.C.To_C (Default), + Boolean'Pos (Relative)); + begin + -- I'm... fairly sure the string does not need dealloc? + if Result = Interfaces.C.Strings.Null_Ptr then + return ""; + else + return Interfaces.C.Strings.Value (Result); + end if; + end Dir_Chooser; + + + function File_Chooser + (Message, Filter_Pattern, Default : in String; + Relative : in Boolean := False) + return String + is + Result : Interfaces.C.Strings.chars_ptr := dialog_fl_file_chooser + (Interfaces.C.To_C (Message), + Interfaces.C.To_C (Filter_Pattern), + Interfaces.C.To_C (Default), + Boolean'Pos (Relative)); + begin + -- I'm... fairly sure the string does not need dealloc? + if Result = Interfaces.C.Strings.Null_Ptr then + return ""; + else + return Interfaces.C.Strings.Value (Result); + end if; + end File_Chooser; + + + + + function Get_Hotspot + return Boolean is + begin + return dialog_fl_get_message_hotspot /= 0; + end Get_Hotspot; + + + procedure Set_Hotspot + (To : in Boolean) is + begin + dialog_fl_set_message_hotspot (Boolean'Pos (To)); + end Set_Hotspot; + + + procedure Set_Message_Font + (Font : in Font_Kind; + Size : in Font_Size) is + begin + dialog_fl_message_font (Font_Kind'Pos (Font), Interfaces.C.int (Size)); + end Set_Message_Font; + + + function Get_Message_Icon + return FLTK.Widgets.Boxes.Box_Reference is + begin + return (Data => Icon_Box'Access); + end Get_Message_Icon; + + + procedure Set_Message_Title + (To : in String) is + begin + dialog_fl_message_title (Interfaces.C.To_C (To)); + end Set_Message_Title; + + + procedure Set_Message_Title_Default + (To : in String) is + begin + dialog_fl_message_title_default (Interfaces.C.To_C (To)); + end Set_Message_Title_Default; + + + + +begin + + + Wrapper (Icon_Box).Void_Ptr := dialog_fl_message_icon; + Wrapper (Icon_Box).Needs_Dealloc := False; + + +end FLTK.Asks; + diff --git a/src/fltk-asks.ads b/src/fltk-asks.ads new file mode 100644 index 0000000..cfe0522 --- /dev/null +++ b/src/fltk-asks.ads @@ -0,0 +1,137 @@ + + +-- Programmed by Jedidiah Barber +-- Released into the public domain + + +with + + FLTK.Widgets.Boxes, + FLTK.Widgets.Groups.Color_Choosers; + + +package FLTK.Asks is + + + type Beep_Kind is + (Default_Beep, Message_Beep, Error_Beep, + Question_Beep, Password_Beep, Notification_Beep); + + type Choice is (First, Second, Third); + + type RGB_Float is new Long_Float range 0.0 .. 1.0; + + type RGB_Int is mod 256; + + + + + procedure Alert + (Message : String); + + -- function Ask + -- (Message : in String) + -- return Boolean; + + procedure Beep + (Kind : in Beep_Kind); + + function Three_Way_Choice + (Message, Button1, Button2, Button3 : in String) + return Choice; + + function Text_Input + (Message : in String; + Default : in String := "") + return String; + + procedure Message_Box + (Message : in String); + + function Password + (Message : in String; + Default : in String := "") + return String; + + + + + function Color_Chooser + (Title : in String; + R, G, B : in out RGB_Float; + Mode : in FLTK.Widgets.Groups.Color_Choosers.Color_Mode := + FLTK.Widgets.Groups.Color_Choosers.RGB) + return Boolean; + + function Color_Chooser + (Title : in String; + R, G, B : in out RGB_Int; + Mode : in FLTK.Widgets.Groups.Color_Choosers.Color_Mode := + FLTK.Widgets.Groups.Color_Choosers.RGB) + return Boolean; + + function Dir_Chooser + (Message, Default : in String; + Relative : in Boolean := False) + return String; + + function File_Chooser + (Message, Filter_Pattern, Default : in String; + Relative : in Boolean := False) + return String; + + + + + function Get_Hotspot + return Boolean; + + procedure Set_Hotspot + (To : in Boolean); + + procedure Set_Message_Font + (Font : in Font_Kind; + Size : in Font_Size); + + function Get_Message_Icon + return FLTK.Widgets.Boxes.Box_Reference; + + procedure Set_Message_Title + (To : in String); + + procedure Set_Message_Title_Default + (To : in String); + + +private + + + Icon_Box : aliased FLTK.Widgets.Boxes.Box; + + + + + pragma Inline (Alert); + -- pragma Inline (Ask); + pragma Inline (Beep); + pragma Inline (Three_Way_Choice); + pragma Inline (Text_Input); + pragma Inline (Message_Box); + pragma Inline (Password); + + + pragma Inline (Color_Chooser); + pragma Inline (Dir_Chooser); + pragma Inline (File_Chooser); + + + pragma Inline (Get_Hotspot); + pragma Inline (Set_Hotspot); + pragma Inline (Set_Message_Font); + pragma Inline (Get_Message_Icon); + pragma Inline (Set_Message_Title); + pragma Inline (Set_Message_Title_Default); + + +end FLTK.Asks; + diff --git a/src/fltk-dialogs.adb b/src/fltk-dialogs.adb deleted file mode 100644 index 59137f2..0000000 --- a/src/fltk-dialogs.adb +++ /dev/null @@ -1,345 +0,0 @@ - - --- Programmed by Jedidiah Barber --- Released into the public domain - - -with - - Interfaces.C.Strings; - -use type - - Interfaces.C.int, - Interfaces.C.Strings.chars_ptr; - - -package body FLTK.Dialogs is - - - procedure dialog_fl_alert - (M : in Interfaces.C.char_array); - pragma Import (C, dialog_fl_alert, "dialog_fl_alert"); - pragma Inline (dialog_fl_alert); - - -- function dialog_fl_ask - -- (M : in Interfaces.C.char_array) - -- return Interfaces.C.int; - -- pragma Import (C, dialog_fl_ask, "dialog_fl_ask"); - -- pragma Inline (dialog_fl_ask); - - procedure dialog_fl_beep - (B : in Interfaces.C.int); - pragma Import (C, dialog_fl_beep, "dialog_fl_beep"); - pragma Inline (dialog_fl_beep); - - function dialog_fl_choice - (M, A, B, C : in Interfaces.C.char_array) - return Interfaces.C.int; - pragma Import (C, dialog_fl_choice, "dialog_fl_choice"); - pragma Inline (dialog_fl_choice); - - function dialog_fl_input - (M, D : in Interfaces.C.char_array) - return Interfaces.C.Strings.chars_ptr; - pragma Import (C, dialog_fl_input, "dialog_fl_input"); - pragma Inline (dialog_fl_input); - - procedure dialog_fl_message - (M : in Interfaces.C.char_array); - pragma Import (C, dialog_fl_message, "dialog_fl_message"); - pragma Inline (dialog_fl_message); - - function dialog_fl_password - (M, D : in Interfaces.C.char_array) - return Interfaces.C.Strings.chars_ptr; - pragma Import (C, dialog_fl_password, "dialog_fl_password"); - pragma Inline (dialog_fl_password); - - - - - function dialog_fl_color_chooser - (N : in Interfaces.C.char_array; - R, G, B : in out Interfaces.C.double; - M : in Interfaces.C.int) - return Interfaces.C.int; - pragma Import (C, dialog_fl_color_chooser, "dialog_fl_color_chooser"); - pragma Inline (dialog_fl_color_chooser); - - function dialog_fl_color_chooser2 - (N : in Interfaces.C.char_array; - R, G, B : in out Interfaces.C.unsigned_char; - M : in Interfaces.C.int) - return Interfaces.C.int; - pragma Import (C, dialog_fl_color_chooser2, "dialog_fl_color_chooser2"); - pragma Inline (dialog_fl_color_chooser2); - - function dialog_fl_dir_chooser - (M, D : in Interfaces.C.char_array; - R : in Interfaces.C.int) - return Interfaces.C.Strings.chars_ptr; - pragma Import (C, dialog_fl_dir_chooser, "dialog_fl_dir_chooser"); - pragma Inline (dialog_fl_dir_chooser); - - function dialog_fl_file_chooser - (M, P, D : in Interfaces.C.char_array; - R : in Interfaces.C.int) - return Interfaces.C.Strings.chars_ptr; - pragma Import (C, dialog_fl_file_chooser, "dialog_fl_file_chooser"); - pragma Inline (dialog_fl_file_chooser); - - - - - function dialog_fl_get_message_hotspot - return Interfaces.C.int; - pragma Import (C, dialog_fl_get_message_hotspot, "dialog_fl_get_message_hotspot"); - pragma Inline (dialog_fl_get_message_hotspot); - - procedure dialog_fl_set_message_hotspot - (V : in Interfaces.C.int); - pragma Import (C, dialog_fl_set_message_hotspot, "dialog_fl_set_message_hotspot"); - pragma Inline (dialog_fl_set_message_hotspot); - - procedure dialog_fl_message_font - (F, S : in Interfaces.C.int); - pragma Import (C, dialog_fl_message_font, "dialog_fl_message_font"); - pragma Inline (dialog_fl_message_font); - - function dialog_fl_message_icon - return Storage.Integer_Address; - pragma Import (C, dialog_fl_message_icon, "dialog_fl_message_icon"); - pragma Inline (dialog_fl_message_icon); - - procedure dialog_fl_message_title - (T : in Interfaces.C.char_array); - pragma Import (C, dialog_fl_message_title, "dialog_fl_message_title"); - pragma Inline (dialog_fl_message_title); - - procedure dialog_fl_message_title_default - (T : in Interfaces.C.char_array); - pragma Import (C, dialog_fl_message_title_default, "dialog_fl_message_title_default"); - pragma Inline (dialog_fl_message_title_default); - - - - - procedure Alert - (Message : String) is - begin - dialog_fl_alert (Interfaces.C.To_C (Message)); - end Alert; - - - -- function Ask - -- (Message : in String) - -- return Boolean is - -- begin - -- return dialog_fl_ask (Interfaces.C.To_C (Message)) /= 0; - -- end Ask; - - - procedure Beep - (Kind : in Beep_Kind) is - begin - dialog_fl_beep (Beep_Kind'Pos (Kind)); - end Beep; - - - function Three_Way_Choice - (Message, Button1, Button2, Button3 : in String) - return Choice - is - Result : Interfaces.C.int := dialog_fl_choice - (Interfaces.C.To_C (Message), - Interfaces.C.To_C (Button1), - Interfaces.C.To_C (Button2), - Interfaces.C.To_C (Button3)); - begin - return Choice'Val (Result); - end Three_Way_Choice; - - - function Text_Input - (Message : in String; - Default : in String := "") - return String - is - Result : Interfaces.C.Strings.chars_ptr := dialog_fl_input - (Interfaces.C.To_C (Message), - Interfaces.C.To_C (Default)); - begin - -- string does not need dealloc - if Result = Interfaces.C.Strings.Null_Ptr then - return ""; - else - return Interfaces.C.Strings.Value (Result); - end if; - end Text_Input; - - - procedure Message_Box - (Message : in String) is - begin - dialog_fl_message (Interfaces.C.To_C (Message)); - end Message_Box; - - - function Password - (Message : in String; - Default : in String := "") - return String - is - Result : Interfaces.C.Strings.chars_ptr := dialog_fl_password - (Interfaces.C.To_C (Message), - Interfaces.C.To_C (Default)); - begin - -- string does not need dealloc - if Result = Interfaces.C.Strings.Null_Ptr then - return ""; - else - return Interfaces.C.Strings.Value (Result); - end if; - end Password; - - - - - function Color_Chooser - (Title : in String; - R, G, B : in out RGB_Float; - Mode : in FLTK.Widgets.Groups.Color_Choosers.Color_Mode := - FLTK.Widgets.Groups.Color_Choosers.RGB) - return Boolean - is - C_R : Interfaces.C.double := Interfaces.C.double (R); - C_G : Interfaces.C.double := Interfaces.C.double (G); - C_B : Interfaces.C.double := Interfaces.C.double (B); - M : Interfaces.C.int := FLTK.Widgets.Groups.Color_Choosers.Color_Mode'Pos (Mode); - Result : Boolean := dialog_fl_color_chooser - (Interfaces.C.To_C (Title), C_R, C_G, C_B, M) /= 0; - begin - R := RGB_Float (C_R); - G := RGB_Float (C_G); - B := RGB_Float (C_B); - return Result; - end Color_Chooser; - - - function Color_Chooser - (Title : in String; - R, G, B : in out RGB_Int; - Mode : in FLTK.Widgets.Groups.Color_Choosers.Color_Mode := - FLTK.Widgets.Groups.Color_Choosers.RGB) - return Boolean - is - C_R : Interfaces.C.unsigned_char := Interfaces.C.unsigned_char (R); - C_G : Interfaces.C.unsigned_char := Interfaces.C.unsigned_char (G); - C_B : Interfaces.C.unsigned_char := Interfaces.C.unsigned_char (B); - M : Interfaces.C.int := FLTK.Widgets.Groups.Color_Choosers.Color_Mode'Pos (Mode); - Result : Boolean := dialog_fl_color_chooser2 - (Interfaces.C.To_C (Title), C_R, C_G, C_B, M) /= 0; - begin - R := RGB_Int (C_R); - G := RGB_Int (C_G); - B := RGB_Int (C_B); - return Result; - end Color_Chooser; - - - function Dir_Chooser - (Message, Default : in String; - Relative : in Boolean := False) - return String - is - Result : Interfaces.C.Strings.chars_ptr := dialog_fl_dir_chooser - (Interfaces.C.To_C (Message), - Interfaces.C.To_C (Default), - Boolean'Pos (Relative)); - begin - -- I'm... fairly sure the string does not need dealloc? - if Result = Interfaces.C.Strings.Null_Ptr then - return ""; - else - return Interfaces.C.Strings.Value (Result); - end if; - end Dir_Chooser; - - - function File_Chooser - (Message, Filter_Pattern, Default : in String; - Relative : in Boolean := False) - return String - is - Result : Interfaces.C.Strings.chars_ptr := dialog_fl_file_chooser - (Interfaces.C.To_C (Message), - Interfaces.C.To_C (Filter_Pattern), - Interfaces.C.To_C (Default), - Boolean'Pos (Relative)); - begin - -- I'm... fairly sure the string does not need dealloc? - if Result = Interfaces.C.Strings.Null_Ptr then - return ""; - else - return Interfaces.C.Strings.Value (Result); - end if; - end File_Chooser; - - - - - function Get_Hotspot - return Boolean is - begin - return dialog_fl_get_message_hotspot /= 0; - end Get_Hotspot; - - - procedure Set_Hotspot - (To : in Boolean) is - begin - dialog_fl_set_message_hotspot (Boolean'Pos (To)); - end Set_Hotspot; - - - procedure Set_Message_Font - (Font : in Font_Kind; - Size : in Font_Size) is - begin - dialog_fl_message_font (Font_Kind'Pos (Font), Interfaces.C.int (Size)); - end Set_Message_Font; - - - function Get_Message_Icon - return FLTK.Widgets.Boxes.Box_Reference is - begin - return (Data => Icon_Box'Access); - end Get_Message_Icon; - - - procedure Set_Message_Title - (To : in String) is - begin - dialog_fl_message_title (Interfaces.C.To_C (To)); - end Set_Message_Title; - - - procedure Set_Message_Title_Default - (To : in String) is - begin - dialog_fl_message_title_default (Interfaces.C.To_C (To)); - end Set_Message_Title_Default; - - - - -begin - - - Wrapper (Icon_Box).Void_Ptr := dialog_fl_message_icon; - Wrapper (Icon_Box).Needs_Dealloc := False; - - -end FLTK.Dialogs; - diff --git a/src/fltk-dialogs.ads b/src/fltk-dialogs.ads deleted file mode 100644 index 9574e4f..0000000 --- a/src/fltk-dialogs.ads +++ /dev/null @@ -1,137 +0,0 @@ - - --- Programmed by Jedidiah Barber --- Released into the public domain - - -with - - FLTK.Widgets.Boxes, - FLTK.Widgets.Groups.Color_Choosers; - - -package FLTK.Dialogs is - - - type Beep_Kind is - (Default_Beep, Message_Beep, Error_Beep, - Question_Beep, Password_Beep, Notification_Beep); - - type Choice is (First, Second, Third); - - type RGB_Float is new Long_Float range 0.0 .. 1.0; - - type RGB_Int is mod 256; - - - - - procedure Alert - (Message : String); - - -- function Ask - -- (Message : in String) - -- return Boolean; - - procedure Beep - (Kind : in Beep_Kind); - - function Three_Way_Choice - (Message, Button1, Button2, Button3 : in String) - return Choice; - - function Text_Input - (Message : in String; - Default : in String := "") - return String; - - procedure Message_Box - (Message : in String); - - function Password - (Message : in String; - Default : in String := "") - return String; - - - - - function Color_Chooser - (Title : in String; - R, G, B : in out RGB_Float; - Mode : in FLTK.Widgets.Groups.Color_Choosers.Color_Mode := - FLTK.Widgets.Groups.Color_Choosers.RGB) - return Boolean; - - function Color_Chooser - (Title : in String; - R, G, B : in out RGB_Int; - Mode : in FLTK.Widgets.Groups.Color_Choosers.Color_Mode := - FLTK.Widgets.Groups.Color_Choosers.RGB) - return Boolean; - - function Dir_Chooser - (Message, Default : in String; - Relative : in Boolean := False) - return String; - - function File_Chooser - (Message, Filter_Pattern, Default : in String; - Relative : in Boolean := False) - return String; - - - - - function Get_Hotspot - return Boolean; - - procedure Set_Hotspot - (To : in Boolean); - - procedure Set_Message_Font - (Font : in Font_Kind; - Size : in Font_Size); - - function Get_Message_Icon - return FLTK.Widgets.Boxes.Box_Reference; - - procedure Set_Message_Title - (To : in String); - - procedure Set_Message_Title_Default - (To : in String); - - -private - - - Icon_Box : aliased FLTK.Widgets.Boxes.Box; - - - - - pragma Inline (Alert); - -- pragma Inline (Ask); - pragma Inline (Beep); - pragma Inline (Three_Way_Choice); - pragma Inline (Text_Input); - pragma Inline (Message_Box); - pragma Inline (Password); - - - pragma Inline (Color_Chooser); - pragma Inline (Dir_Chooser); - pragma Inline (File_Chooser); - - - pragma Inline (Get_Hotspot); - pragma Inline (Set_Hotspot); - pragma Inline (Set_Message_Font); - pragma Inline (Get_Message_Icon); - pragma Inline (Set_Message_Title); - pragma Inline (Set_Message_Title_Default); - - -end FLTK.Dialogs; - diff --git a/src/fltk-widgets-inputs-float.adb b/src/fltk-widgets-inputs-float.adb deleted file mode 100644 index 248b9ad..0000000 --- a/src/fltk-widgets-inputs-float.adb +++ /dev/null @@ -1,154 +0,0 @@ - - --- Programmed by Jedidiah Barber --- Released into the public domain - - -with - - Interfaces.C.Strings; - -use type - - Interfaces.C.Strings.chars_ptr; - - -package body FLTK.Widgets.Inputs.Float is - - - procedure float_input_set_draw_hook - (W, D : in Storage.Integer_Address); - pragma Import (C, float_input_set_draw_hook, "float_input_set_draw_hook"); - pragma Inline (float_input_set_draw_hook); - - procedure float_input_set_handle_hook - (W, H : in Storage.Integer_Address); - pragma Import (C, float_input_set_handle_hook, "float_input_set_handle_hook"); - pragma Inline (float_input_set_handle_hook); - - - - - function new_fl_float_input - (X, Y, W, H : in Interfaces.C.int; - Text : in Interfaces.C.char_array) - return Storage.Integer_Address; - pragma Import (C, new_fl_float_input, "new_fl_float_input"); - pragma Inline (new_fl_float_input); - - procedure free_fl_float_input - (F : in Storage.Integer_Address); - pragma Import (C, free_fl_float_input, "free_fl_float_input"); - pragma Inline (free_fl_float_input); - - - - - procedure fl_float_input_draw - (W : in Storage.Integer_Address); - pragma Import (C, fl_float_input_draw, "fl_float_input_draw"); - pragma Inline (fl_float_input_draw); - - function fl_float_input_handle - (W : in Storage.Integer_Address; - E : in Interfaces.C.int) - return Interfaces.C.int; - pragma Import (C, fl_float_input_handle, "fl_float_input_handle"); - pragma Inline (fl_float_input_handle); - - - - - procedure Extra_Final - (This : in out Float_Input) is - begin - Extra_Final (Input (This)); - end Extra_Final; - - - procedure Finalize - (This : in out Float_Input) is - begin - Extra_Final (This); - if This.Void_Ptr /= Null_Pointer and This.Needs_Dealloc then - free_fl_float_input (This.Void_Ptr); - This.Void_Ptr := Null_Pointer; - end if; - end Finalize; - - - - - procedure Extra_Init - (This : in out Float_Input; - X, Y, W, H : in Integer; - Text : in String) is - begin - Extra_Init (Input (This), X, Y, W, H, Text); - end Extra_Init; - - - package body Forge is - - function Create - (X, Y, W, H : in Integer; - Text : in String := "") - return Float_Input is - begin - return This : Float_Input do - This.Void_Ptr := new_fl_float_input - (Interfaces.C.int (X), - Interfaces.C.int (Y), - Interfaces.C.int (W), - Interfaces.C.int (H), - Interfaces.C.To_C (Text)); - Extra_Init (This, X, Y, W, H, Text); - float_input_set_draw_hook - (This.Void_Ptr, Storage.To_Integer (Draw_Hook'Address)); - float_input_set_handle_hook - (This.Void_Ptr, Storage.To_Integer (Handle_Hook'Address)); - end return; - end Create; - - end Forge; - - - - - function Get_Value - (This : in Float_Input) - return Standard.Float - is - Ptr : Interfaces.C.Strings.chars_ptr := fl_input_get_value (This.Void_Ptr); - begin - if Ptr = Interfaces.C.Strings.Null_Ptr or else - Interfaces.C.Strings.Value (Ptr) = "" - then - return 0.0; - else - return Standard.Float'Value (Interfaces.C.Strings.Value (Ptr)); - end if; - end Get_Value; - - - - - procedure Draw - (This : in out Float_Input) is - begin - fl_float_input_draw (This.Void_Ptr); - end Draw; - - - function Handle - (This : in out Float_Input; - Event : in Event_Kind) - return Event_Outcome is - begin - return Event_Outcome'Val - (fl_float_input_handle (This.Void_Ptr, Event_Kind'Pos (Event))); - end Handle; - - -end FLTK.Widgets.Inputs.Float; - diff --git a/src/fltk-widgets-inputs-float.ads b/src/fltk-widgets-inputs-float.ads deleted file mode 100644 index 6e009a4..0000000 --- a/src/fltk-widgets-inputs-float.ads +++ /dev/null @@ -1,72 +0,0 @@ - - --- Programmed by Jedidiah Barber --- Released into the public domain - - -package FLTK.Widgets.Inputs.Float is - - - type Float_Input is new Input with private; - - type Float_Input_Reference (Data : not null access Float_Input'Class) is - limited null record with Implicit_Dereference => Data; - - - - - package Forge is - - function Create - (X, Y, W, H : in Integer; - Text : in String := "") - return Float_Input; - - end Forge; - - - - - function Get_Value - (This : in Float_Input) - return Standard.Float; - - - - - procedure Draw - (This : in out Float_Input); - - function Handle - (This : in out Float_Input; - Event : in Event_Kind) - return Event_Outcome; - - -private - - - type Float_Input is new Input with null record; - - overriding procedure Finalize - (This : in out Float_Input); - - procedure Extra_Init - (This : in out Float_Input; - X, Y, W, H : in Integer; - Text : in String) - with Inline; - - procedure Extra_Final - (This : in out Float_Input) - with Inline; - - - pragma Inline (Get_Value); - - pragma Inline (Draw); - pragma Inline (Handle); - - -end FLTK.Widgets.Inputs.Float; - diff --git a/src/fltk-widgets-inputs-floating_point.adb b/src/fltk-widgets-inputs-floating_point.adb new file mode 100644 index 0000000..68b7fe6 --- /dev/null +++ b/src/fltk-widgets-inputs-floating_point.adb @@ -0,0 +1,154 @@ + + +-- Programmed by Jedidiah Barber +-- Released into the public domain + + +with + + Interfaces.C.Strings; + +use type + + Interfaces.C.Strings.chars_ptr; + + +package body FLTK.Widgets.Inputs.Floating_Point is + + + procedure float_input_set_draw_hook + (W, D : in Storage.Integer_Address); + pragma Import (C, float_input_set_draw_hook, "float_input_set_draw_hook"); + pragma Inline (float_input_set_draw_hook); + + procedure float_input_set_handle_hook + (W, H : in Storage.Integer_Address); + pragma Import (C, float_input_set_handle_hook, "float_input_set_handle_hook"); + pragma Inline (float_input_set_handle_hook); + + + + + function new_fl_float_input + (X, Y, W, H : in Interfaces.C.int; + Text : in Interfaces.C.char_array) + return Storage.Integer_Address; + pragma Import (C, new_fl_float_input, "new_fl_float_input"); + pragma Inline (new_fl_float_input); + + procedure free_fl_float_input + (F : in Storage.Integer_Address); + pragma Import (C, free_fl_float_input, "free_fl_float_input"); + pragma Inline (free_fl_float_input); + + + + + procedure fl_float_input_draw + (W : in Storage.Integer_Address); + pragma Import (C, fl_float_input_draw, "fl_float_input_draw"); + pragma Inline (fl_float_input_draw); + + function fl_float_input_handle + (W : in Storage.Integer_Address; + E : in Interfaces.C.int) + return Interfaces.C.int; + pragma Import (C, fl_float_input_handle, "fl_float_input_handle"); + pragma Inline (fl_float_input_handle); + + + + + procedure Extra_Final + (This : in out Float_Input) is + begin + Extra_Final (Input (This)); + end Extra_Final; + + + procedure Finalize + (This : in out Float_Input) is + begin + Extra_Final (This); + if This.Void_Ptr /= Null_Pointer and This.Needs_Dealloc then + free_fl_float_input (This.Void_Ptr); + This.Void_Ptr := Null_Pointer; + end if; + end Finalize; + + + + + procedure Extra_Init + (This : in out Float_Input; + X, Y, W, H : in Integer; + Text : in String) is + begin + Extra_Init (Input (This), X, Y, W, H, Text); + end Extra_Init; + + + package body Forge is + + function Create + (X, Y, W, H : in Integer; + Text : in String := "") + return Float_Input is + begin + return This : Float_Input do + This.Void_Ptr := new_fl_float_input + (Interfaces.C.int (X), + Interfaces.C.int (Y), + Interfaces.C.int (W), + Interfaces.C.int (H), + Interfaces.C.To_C (Text)); + Extra_Init (This, X, Y, W, H, Text); + float_input_set_draw_hook + (This.Void_Ptr, Storage.To_Integer (Draw_Hook'Address)); + float_input_set_handle_hook + (This.Void_Ptr, Storage.To_Integer (Handle_Hook'Address)); + end return; + end Create; + + end Forge; + + + + + function Get_Value + (This : in Float_Input) + return Long_Float + is + Ptr : Interfaces.C.Strings.chars_ptr := fl_input_get_value (This.Void_Ptr); + begin + if Ptr = Interfaces.C.Strings.Null_Ptr or else + Interfaces.C.Strings.Value (Ptr) = "" + then + return 0.0; + else + return Long_Float'Value (Interfaces.C.Strings.Value (Ptr)); + end if; + end Get_Value; + + + + + procedure Draw + (This : in out Float_Input) is + begin + fl_float_input_draw (This.Void_Ptr); + end Draw; + + + function Handle + (This : in out Float_Input; + Event : in Event_Kind) + return Event_Outcome is + begin + return Event_Outcome'Val + (fl_float_input_handle (This.Void_Ptr, Event_Kind'Pos (Event))); + end Handle; + + +end FLTK.Widgets.Inputs.Floating_Point; + diff --git a/src/fltk-widgets-inputs-floating_point.ads b/src/fltk-widgets-inputs-floating_point.ads new file mode 100644 index 0000000..dcc19de --- /dev/null +++ b/src/fltk-widgets-inputs-floating_point.ads @@ -0,0 +1,72 @@ + + +-- Programmed by Jedidiah Barber +-- Released into the public domain + + +package FLTK.Widgets.Inputs.Floating_Point is + + + type Float_Input is new Input with private; + + type Float_Input_Reference (Data : not null access Float_Input'Class) is + limited null record with Implicit_Dereference => Data; + + + + + package Forge is + + function Create + (X, Y, W, H : in Integer; + Text : in String := "") + return Float_Input; + + end Forge; + + + + + function Get_Value + (This : in Float_Input) + return Long_Float; + + + + + procedure Draw + (This : in out Float_Input); + + function Handle + (This : in out Float_Input; + Event : in Event_Kind) + return Event_Outcome; + + +private + + + type Float_Input is new Input with null record; + + overriding procedure Finalize + (This : in out Float_Input); + + procedure Extra_Init + (This : in out Float_Input; + X, Y, W, H : in Integer; + Text : in String) + with Inline; + + procedure Extra_Final + (This : in out Float_Input) + with Inline; + + + pragma Inline (Get_Value); + + pragma Inline (Draw); + pragma Inline (Handle); + + +end FLTK.Widgets.Inputs.Floating_Point; + diff --git a/src/fltk-widgets-inputs-integer.adb b/src/fltk-widgets-inputs-integer.adb deleted file mode 100644 index 401ca7c..0000000 --- a/src/fltk-widgets-inputs-integer.adb +++ /dev/null @@ -1,152 +0,0 @@ - - --- Programmed by Jedidiah Barber --- Released into the public domain - - -with - - Interfaces.C.Strings; - -use type - - Interfaces.C.Strings.chars_ptr; - - -package body FLTK.Widgets.Inputs.Integer is - - - procedure int_input_set_draw_hook - (W, D : in Storage.Integer_Address); - pragma Import (C, int_input_set_draw_hook, "int_input_set_draw_hook"); - pragma Inline (int_input_set_draw_hook); - - procedure int_input_set_handle_hook - (W, H : in Storage.Integer_Address); - pragma Import (C, int_input_set_handle_hook, "int_input_set_handle_hook"); - pragma Inline (int_input_set_handle_hook); - - - - - function new_fl_int_input - (X, Y, W, H : in Interfaces.C.int; - Text : in Interfaces.C.char_array) - return Storage.Integer_Address; - pragma Import (C, new_fl_int_input, "new_fl_int_input"); - pragma Inline (new_fl_int_input); - - procedure free_fl_int_input - (F : in Storage.Integer_Address); - pragma Import (C, free_fl_int_input, "free_fl_int_input"); - pragma Inline (free_fl_int_input); - - - - - procedure fl_int_input_draw - (W : in Storage.Integer_Address); - pragma Import (C, fl_int_input_draw, "fl_int_input_draw"); - pragma Inline (fl_int_input_draw); - - function fl_int_input_handle - (W : in Storage.Integer_Address; - E : in Interfaces.C.int) - return Interfaces.C.int; - pragma Import (C, fl_int_input_handle, "fl_int_input_handle"); - pragma Inline (fl_int_input_handle); - - - - - procedure Extra_Final - (This : in out Integer_Input) is - begin - Extra_Final (Input (This)); - end Extra_Final; - - - procedure Finalize - (This : in out Integer_Input) is - begin - Extra_Final (This); - if This.Void_Ptr /= Null_Pointer and This.Needs_Dealloc then - free_fl_int_input (This.Void_Ptr); - This.Void_Ptr := Null_Pointer; - end if; - end Finalize; - - - - - procedure Extra_Init - (This : in out Integer_Input; - X, Y, W, H : in Standard.Integer; - Text : in String) is - begin - Extra_Init (Input (This), X, Y, W, H, Text); - end Extra_Init; - - - package body Forge is - - function Create - (X, Y, W, H : in Standard.Integer; - Text : in String := "") - return Integer_Input is - begin - return This : Integer_Input do - This.Void_Ptr := new_fl_int_input - (Interfaces.C.int (X), - Interfaces.C.int (Y), - Interfaces.C.int (W), - Interfaces.C.int (H), - Interfaces.C.To_C (Text)); - Extra_Init (This, X, Y, W, H, Text); - int_input_set_draw_hook (This.Void_Ptr, Storage.To_Integer (Draw_Hook'Address)); - int_input_set_handle_hook (This.Void_Ptr, Storage.To_Integer (Handle_Hook'Address)); - end return; - end Create; - - end Forge; - - - - - function Get_Value - (This : in Integer_Input) - return Standard.Integer - is - Ptr : Interfaces.C.Strings.chars_ptr := fl_input_get_value (This.Void_Ptr); - begin - if Ptr = Interfaces.C.Strings.Null_Ptr or else - Interfaces.C.Strings.Value (Ptr) = "" - then - return 0; - else - return Standard.Integer'Value (Interfaces.C.Strings.Value (Ptr)); - end if; - end Get_Value; - - - - - procedure Draw - (This : in out Integer_Input) is - begin - fl_int_input_draw (This.Void_Ptr); - end Draw; - - - function Handle - (This : in out Integer_Input; - Event : in Event_Kind) - return Event_Outcome is - begin - return Event_Outcome'Val - (fl_int_input_handle (This.Void_Ptr, Event_Kind'Pos (Event))); - end Handle; - - -end FLTK.Widgets.Inputs.Integer; - diff --git a/src/fltk-widgets-inputs-integer.ads b/src/fltk-widgets-inputs-integer.ads deleted file mode 100644 index fb76662..0000000 --- a/src/fltk-widgets-inputs-integer.ads +++ /dev/null @@ -1,72 +0,0 @@ - - --- Programmed by Jedidiah Barber --- Released into the public domain - - -package FLTK.Widgets.Inputs.Integer is - - - type Integer_Input is new Input with private; - - type Integer_Input_Reference (Data : not null access Integer_Input'Class) is - limited null record with Implicit_Dereference => Data; - - - - - package Forge is - - function Create - (X, Y, W, H : in Standard.Integer; - Text : in String := "") - return Integer_Input; - - end Forge; - - - - - function Get_Value - (This : in Integer_Input) - return Standard.Integer; - - - - - procedure Draw - (This : in out Integer_Input); - - function Handle - (This : in out Integer_Input; - Event : in Event_Kind) - return Event_Outcome; - - -private - - - type Integer_Input is new Input with null record; - - overriding procedure Finalize - (This : in out Integer_Input); - - procedure Extra_Init - (This : in out Integer_Input; - X, Y, W, H : in Standard.Integer; - Text : in String) - with Inline; - - procedure Extra_Final - (This : in out Integer_Input) - with Inline; - - - pragma Inline (Get_Value); - - pragma Inline (Draw); - pragma Inline (Handle); - - -end FLTK.Widgets.Inputs.Integer; - diff --git a/src/fltk-widgets-inputs-whole_number.adb b/src/fltk-widgets-inputs-whole_number.adb new file mode 100644 index 0000000..0709506 --- /dev/null +++ b/src/fltk-widgets-inputs-whole_number.adb @@ -0,0 +1,152 @@ + + +-- Programmed by Jedidiah Barber +-- Released into the public domain + + +with + + Interfaces.C.Strings; + +use type + + Interfaces.C.Strings.chars_ptr; + + +package body FLTK.Widgets.Inputs.Whole_Number is + + + procedure int_input_set_draw_hook + (W, D : in Storage.Integer_Address); + pragma Import (C, int_input_set_draw_hook, "int_input_set_draw_hook"); + pragma Inline (int_input_set_draw_hook); + + procedure int_input_set_handle_hook + (W, H : in Storage.Integer_Address); + pragma Import (C, int_input_set_handle_hook, "int_input_set_handle_hook"); + pragma Inline (int_input_set_handle_hook); + + + + + function new_fl_int_input + (X, Y, W, H : in Interfaces.C.int; + Text : in Interfaces.C.char_array) + return Storage.Integer_Address; + pragma Import (C, new_fl_int_input, "new_fl_int_input"); + pragma Inline (new_fl_int_input); + + procedure free_fl_int_input + (F : in Storage.Integer_Address); + pragma Import (C, free_fl_int_input, "free_fl_int_input"); + pragma Inline (free_fl_int_input); + + + + + procedure fl_int_input_draw + (W : in Storage.Integer_Address); + pragma Import (C, fl_int_input_draw, "fl_int_input_draw"); + pragma Inline (fl_int_input_draw); + + function fl_int_input_handle + (W : in Storage.Integer_Address; + E : in Interfaces.C.int) + return Interfaces.C.int; + pragma Import (C, fl_int_input_handle, "fl_int_input_handle"); + pragma Inline (fl_int_input_handle); + + + + + procedure Extra_Final + (This : in out Integer_Input) is + begin + Extra_Final (Input (This)); + end Extra_Final; + + + procedure Finalize + (This : in out Integer_Input) is + begin + Extra_Final (This); + if This.Void_Ptr /= Null_Pointer and This.Needs_Dealloc then + free_fl_int_input (This.Void_Ptr); + This.Void_Ptr := Null_Pointer; + end if; + end Finalize; + + + + + procedure Extra_Init + (This : in out Integer_Input; + X, Y, W, H : in Standard.Integer; + Text : in String) is + begin + Extra_Init (Input (This), X, Y, W, H, Text); + end Extra_Init; + + + package body Forge is + + function Create + (X, Y, W, H : in Standard.Integer; + Text : in String := "") + return Integer_Input is + begin + return This : Integer_Input do + This.Void_Ptr := new_fl_int_input + (Interfaces.C.int (X), + Interfaces.C.int (Y), + Interfaces.C.int (W), + Interfaces.C.int (H), + Interfaces.C.To_C (Text)); + Extra_Init (This, X, Y, W, H, Text); + int_input_set_draw_hook (This.Void_Ptr, Storage.To_Integer (Draw_Hook'Address)); + int_input_set_handle_hook (This.Void_Ptr, Storage.To_Integer (Handle_Hook'Address)); + end return; + end Create; + + end Forge; + + + + + function Get_Value + (This : in Integer_Input) + return Long_Integer + is + Ptr : Interfaces.C.Strings.chars_ptr := fl_input_get_value (This.Void_Ptr); + begin + if Ptr = Interfaces.C.Strings.Null_Ptr or else + Interfaces.C.Strings.Value (Ptr) = "" + then + return 0; + else + return Long_Integer'Value (Interfaces.C.Strings.Value (Ptr)); + end if; + end Get_Value; + + + + + procedure Draw + (This : in out Integer_Input) is + begin + fl_int_input_draw (This.Void_Ptr); + end Draw; + + + function Handle + (This : in out Integer_Input; + Event : in Event_Kind) + return Event_Outcome is + begin + return Event_Outcome'Val + (fl_int_input_handle (This.Void_Ptr, Event_Kind'Pos (Event))); + end Handle; + + +end FLTK.Widgets.Inputs.Whole_Number; + diff --git a/src/fltk-widgets-inputs-whole_number.ads b/src/fltk-widgets-inputs-whole_number.ads new file mode 100644 index 0000000..d9a9787 --- /dev/null +++ b/src/fltk-widgets-inputs-whole_number.ads @@ -0,0 +1,72 @@ + + +-- Programmed by Jedidiah Barber +-- Released into the public domain + + +package FLTK.Widgets.Inputs.Whole_Number is + + + type Integer_Input is new Input with private; + + type Integer_Input_Reference (Data : not null access Integer_Input'Class) is + limited null record with Implicit_Dereference => Data; + + + + + package Forge is + + function Create + (X, Y, W, H : in Standard.Integer; + Text : in String := "") + return Integer_Input; + + end Forge; + + + + + function Get_Value + (This : in Integer_Input) + return Long_Integer; + + + + + procedure Draw + (This : in out Integer_Input); + + function Handle + (This : in out Integer_Input; + Event : in Event_Kind) + return Event_Outcome; + + +private + + + type Integer_Input is new Input with null record; + + overriding procedure Finalize + (This : in out Integer_Input); + + procedure Extra_Init + (This : in out Integer_Input; + X, Y, W, H : in Standard.Integer; + Text : in String) + with Inline; + + procedure Extra_Final + (This : in out Integer_Input) + with Inline; + + + pragma Inline (Get_Value); + + pragma Inline (Draw); + pragma Inline (Handle); + + +end FLTK.Widgets.Inputs.Whole_Number; + diff --git a/src/fltk-widgets-valuators-sliders-hor_fill.adb b/src/fltk-widgets-valuators-sliders-hor_fill.adb deleted file mode 100644 index 1b0e7ea..0000000 --- a/src/fltk-widgets-valuators-sliders-hor_fill.adb +++ /dev/null @@ -1,132 +0,0 @@ - - --- Programmed by Jedidiah Barber --- Released into the public domain - - -with - - Interfaces.C.Strings; - - -package body FLTK.Widgets.Valuators.Sliders.Hor_Fill is - - - procedure hor_fill_slider_set_draw_hook - (W, D : in Storage.Integer_Address); - pragma Import (C, hor_fill_slider_set_draw_hook, "hor_fill_slider_set_draw_hook"); - pragma Inline (hor_fill_slider_set_draw_hook); - - procedure hor_fill_slider_set_handle_hook - (W, H : in Storage.Integer_Address); - pragma Import (C, hor_fill_slider_set_handle_hook, "hor_fill_slider_set_handle_hook"); - pragma Inline (hor_fill_slider_set_handle_hook); - - - - - function new_fl_hor_fill_slider - (X, Y, W, H : in Interfaces.C.int; - Text : in Interfaces.C.char_array) - return Storage.Integer_Address; - pragma Import (C, new_fl_hor_fill_slider, "new_fl_hor_fill_slider"); - pragma Inline (new_fl_hor_fill_slider); - - procedure free_fl_hor_fill_slider - (D : in Storage.Integer_Address); - pragma Import (C, free_fl_hor_fill_slider, "free_fl_hor_fill_slider"); - pragma Inline (free_fl_hor_fill_slider); - - - - - procedure fl_hor_fill_slider_draw - (W : in Storage.Integer_Address); - pragma Import (C, fl_hor_fill_slider_draw, "fl_hor_fill_slider_draw"); - pragma Inline (fl_hor_fill_slider_draw); - - function fl_hor_fill_slider_handle - (W : in Storage.Integer_Address; - E : in Interfaces.C.int) - return Interfaces.C.int; - pragma Import (C, fl_hor_fill_slider_handle, "fl_hor_fill_slider_handle"); - pragma Inline (fl_hor_fill_slider_handle); - - - - - procedure Extra_Final - (This : in out Hor_Fill_Slider) is - begin - Extra_Final (Slider (This)); - end Extra_Final; - - - procedure Finalize - (This : in out Hor_Fill_Slider) is - begin - Extra_Final (This); - if This.Void_Ptr /= Null_Pointer and This.Needs_Dealloc then - free_fl_hor_fill_slider (This.Void_Ptr); - This.Void_Ptr := Null_Pointer; - end if; - end Finalize; - - - - - procedure Extra_Init - (This : in out Hor_Fill_Slider; - X, Y, W, H : in Integer; - Text : in String) is - begin - Extra_Init (Slider (This), X, Y, W, H, Text); - end Extra_Init; - - - package body Forge is - - function Create - (X, Y, W, H : in Integer; - Text : in String := "") - return Hor_Fill_Slider is - begin - return This : Hor_Fill_Slider do - This.Void_Ptr := new_fl_hor_fill_slider - (Interfaces.C.int (X), - Interfaces.C.int (Y), - Interfaces.C.int (W), - Interfaces.C.int (H), - Interfaces.C.To_C (Text)); - Extra_Init (This, X, Y, W, H, Text); - hor_fill_slider_set_draw_hook - (This.Void_Ptr, Storage.To_Integer (Draw_Hook'Address)); - hor_fill_slider_set_handle_hook - (This.Void_Ptr, Storage.To_Integer (Handle_Hook'Address)); - end return; - end Create; - - end Forge; - - - - - procedure Draw - (This : in out Hor_Fill_Slider) is - begin - fl_hor_fill_slider_draw (This.Void_Ptr); - end Draw; - - - function Handle - (This : in out Hor_Fill_Slider; - Event : in Event_Kind) - return Event_Outcome is - begin - return Event_Outcome'Val - (fl_hor_fill_slider_handle (This.Void_Ptr, Event_Kind'Pos (Event))); - end Handle; - - -end FLTK.Widgets.Valuators.Sliders.Hor_Fill; - diff --git a/src/fltk-widgets-valuators-sliders-hor_fill.ads b/src/fltk-widgets-valuators-sliders-hor_fill.ads deleted file mode 100644 index b4142c3..0000000 --- a/src/fltk-widgets-valuators-sliders-hor_fill.ads +++ /dev/null @@ -1,63 +0,0 @@ - - --- Programmed by Jedidiah Barber --- Released into the public domain - - -package FLTK.Widgets.Valuators.Sliders.Hor_Fill is - - - type Hor_Fill_Slider is new Slider with private; - - type Hor_Fill_Slider_Reference (Data : not null access Hor_Fill_Slider'Class) is - limited null record with Implicit_Dereference => Data; - - - - - package Forge is - - function Create - (X, Y, W, H : in Integer; - Text : in String := "") - return Hor_Fill_Slider; - - end Forge; - - - - - procedure Draw - (This : in out Hor_Fill_Slider); - - function Handle - (This : in out Hor_Fill_Slider; - Event : in Event_Kind) - return Event_Outcome; - - -private - - - type Hor_Fill_Slider is new Slider with null record; - - overriding procedure Finalize - (This : in out Hor_Fill_Slider); - - procedure Extra_Init - (This : in out Hor_Fill_Slider; - X, Y, W, H : in Integer; - Text : in String) - with Inline; - - procedure Extra_Final - (This : in out Hor_Fill_Slider) - with Inline; - - - pragma Inline (Draw); - pragma Inline (Handle); - - -end FLTK.Widgets.Valuators.Sliders.Hor_Fill; - diff --git a/src/fltk-widgets-valuators-sliders-hor_nice.adb b/src/fltk-widgets-valuators-sliders-hor_nice.adb deleted file mode 100644 index f6a0751..0000000 --- a/src/fltk-widgets-valuators-sliders-hor_nice.adb +++ /dev/null @@ -1,132 +0,0 @@ - - --- Programmed by Jedidiah Barber --- Released into the public domain - - -with - - Interfaces.C.Strings; - - -package body FLTK.Widgets.Valuators.Sliders.Hor_Nice is - - - procedure hor_nice_slider_set_draw_hook - (W, D : in Storage.Integer_Address); - pragma Import (C, hor_nice_slider_set_draw_hook, "hor_nice_slider_set_draw_hook"); - pragma Inline (hor_nice_slider_set_draw_hook); - - procedure hor_nice_slider_set_handle_hook - (W, H : in Storage.Integer_Address); - pragma Import (C, hor_nice_slider_set_handle_hook, "hor_nice_slider_set_handle_hook"); - pragma Inline (hor_nice_slider_set_handle_hook); - - - - - function new_fl_hor_nice_slider - (X, Y, W, H : in Interfaces.C.int; - Text : in Interfaces.C.char_array) - return Storage.Integer_Address; - pragma Import (C, new_fl_hor_nice_slider, "new_fl_hor_nice_slider"); - pragma Inline (new_fl_hor_nice_slider); - - procedure free_fl_hor_nice_slider - (D : in Storage.Integer_Address); - pragma Import (C, free_fl_hor_nice_slider, "free_fl_hor_nice_slider"); - pragma Inline (free_fl_hor_nice_slider); - - - - - procedure fl_hor_nice_slider_draw - (W : in Storage.Integer_Address); - pragma Import (C, fl_hor_nice_slider_draw, "fl_hor_nice_slider_draw"); - pragma Inline (fl_hor_nice_slider_draw); - - function fl_hor_nice_slider_handle - (W : in Storage.Integer_Address; - E : in Interfaces.C.int) - return Interfaces.C.int; - pragma Import (C, fl_hor_nice_slider_handle, "fl_hor_nice_slider_handle"); - pragma Inline (fl_hor_nice_slider_handle); - - - - - procedure Extra_Final - (This : in out Hor_Nice_Slider) is - begin - Extra_Final (Slider (This)); - end Extra_Final; - - - procedure Finalize - (This : in out Hor_Nice_Slider) is - begin - Extra_Final (This); - if This.Void_Ptr /= Null_Pointer and This.Needs_Dealloc then - free_fl_hor_nice_slider (This.Void_Ptr); - This.Void_Ptr := Null_Pointer; - end if; - end Finalize; - - - - - procedure Extra_Init - (This : in out Hor_Nice_Slider; - X, Y, W, H : in Integer; - Text : in String) is - begin - Extra_Init (Slider (This), X, Y, W, H, Text); - end Extra_Init; - - - package body Forge is - - function Create - (X, Y, W, H : in Integer; - Text : in String := "") - return Hor_Nice_Slider is - begin - return This : Hor_Nice_Slider do - This.Void_Ptr := new_fl_hor_nice_slider - (Interfaces.C.int (X), - Interfaces.C.int (Y), - Interfaces.C.int (W), - Interfaces.C.int (H), - Interfaces.C.To_C (Text)); - Extra_Init (This, X, Y, W, H, Text); - hor_nice_slider_set_draw_hook - (This.Void_Ptr, Storage.To_Integer (Draw_Hook'Address)); - hor_nice_slider_set_handle_hook - (This.Void_Ptr, Storage.To_Integer (Handle_Hook'Address)); - end return; - end Create; - - end Forge; - - - - - procedure Draw - (This : in out Hor_Nice_Slider) is - begin - fl_hor_nice_slider_draw (This.Void_Ptr); - end Draw; - - - function Handle - (This : in out Hor_Nice_Slider; - Event : in Event_Kind) - return Event_Outcome is - begin - return Event_Outcome'Val - (fl_hor_nice_slider_handle (This.Void_Ptr, Event_Kind'Pos (Event))); - end Handle; - - -end FLTK.Widgets.Valuators.Sliders.Hor_Nice; - diff --git a/src/fltk-widgets-valuators-sliders-hor_nice.ads b/src/fltk-widgets-valuators-sliders-hor_nice.ads deleted file mode 100644 index 9ebb06b..0000000 --- a/src/fltk-widgets-valuators-sliders-hor_nice.ads +++ /dev/null @@ -1,63 +0,0 @@ - - --- Programmed by Jedidiah Barber --- Released into the public domain - - -package FLTK.Widgets.Valuators.Sliders.Hor_Nice is - - - type Hor_Nice_Slider is new Slider with private; - - type Hor_Nice_Slider_Reference (Data : not null access Hor_Nice_Slider'Class) is - limited null record with Implicit_Dereference => Data; - - - - - package Forge is - - function Create - (X, Y, W, H : in Integer; - Text : in String := "") - return Hor_Nice_Slider; - - end Forge; - - - - - procedure Draw - (This : in out Hor_Nice_Slider); - - function Handle - (This : in out Hor_Nice_Slider; - Event : in Event_Kind) - return Event_Outcome; - - -private - - - type Hor_Nice_Slider is new Slider with null record; - - overriding procedure Finalize - (This : in out Hor_Nice_Slider); - - procedure Extra_Init - (This : in out Hor_Nice_Slider; - X, Y, W, H : in Integer; - Text : in String) - with Inline; - - procedure Extra_Final - (This : in out Hor_Nice_Slider) - with Inline; - - - pragma Inline (Draw); - pragma Inline (Handle); - - -end FLTK.Widgets.Valuators.Sliders.Hor_Nice; - diff --git a/src/fltk-widgets-valuators-sliders-horizontal_fill.adb b/src/fltk-widgets-valuators-sliders-horizontal_fill.adb new file mode 100644 index 0000000..e14e230 --- /dev/null +++ b/src/fltk-widgets-valuators-sliders-horizontal_fill.adb @@ -0,0 +1,132 @@ + + +-- Programmed by Jedidiah Barber +-- Released into the public domain + + +with + + Interfaces.C.Strings; + + +package body FLTK.Widgets.Valuators.Sliders.Horizontal_Fill is + + + procedure hor_fill_slider_set_draw_hook + (W, D : in Storage.Integer_Address); + pragma Import (C, hor_fill_slider_set_draw_hook, "hor_fill_slider_set_draw_hook"); + pragma Inline (hor_fill_slider_set_draw_hook); + + procedure hor_fill_slider_set_handle_hook + (W, H : in Storage.Integer_Address); + pragma Import (C, hor_fill_slider_set_handle_hook, "hor_fill_slider_set_handle_hook"); + pragma Inline (hor_fill_slider_set_handle_hook); + + + + + function new_fl_hor_fill_slider + (X, Y, W, H : in Interfaces.C.int; + Text : in Interfaces.C.char_array) + return Storage.Integer_Address; + pragma Import (C, new_fl_hor_fill_slider, "new_fl_hor_fill_slider"); + pragma Inline (new_fl_hor_fill_slider); + + procedure free_fl_hor_fill_slider + (D : in Storage.Integer_Address); + pragma Import (C, free_fl_hor_fill_slider, "free_fl_hor_fill_slider"); + pragma Inline (free_fl_hor_fill_slider); + + + + + procedure fl_hor_fill_slider_draw + (W : in Storage.Integer_Address); + pragma Import (C, fl_hor_fill_slider_draw, "fl_hor_fill_slider_draw"); + pragma Inline (fl_hor_fill_slider_draw); + + function fl_hor_fill_slider_handle + (W : in Storage.Integer_Address; + E : in Interfaces.C.int) + return Interfaces.C.int; + pragma Import (C, fl_hor_fill_slider_handle, "fl_hor_fill_slider_handle"); + pragma Inline (fl_hor_fill_slider_handle); + + + + + procedure Extra_Final + (This : in out Horizontal_Fill_Slider) is + begin + Extra_Final (Slider (This)); + end Extra_Final; + + + procedure Finalize + (This : in out Horizontal_Fill_Slider) is + begin + Extra_Final (This); + if This.Void_Ptr /= Null_Pointer and This.Needs_Dealloc then + free_fl_hor_fill_slider (This.Void_Ptr); + This.Void_Ptr := Null_Pointer; + end if; + end Finalize; + + + + + procedure Extra_Init + (This : in out Horizontal_Fill_Slider; + X, Y, W, H : in Integer; + Text : in String) is + begin + Extra_Init (Slider (This), X, Y, W, H, Text); + end Extra_Init; + + + package body Forge is + + function Create + (X, Y, W, H : in Integer; + Text : in String := "") + return Horizontal_Fill_Slider is + begin + return This : Horizontal_Fill_Slider do + This.Void_Ptr := new_fl_hor_fill_slider + (Interfaces.C.int (X), + Interfaces.C.int (Y), + Interfaces.C.int (W), + Interfaces.C.int (H), + Interfaces.C.To_C (Text)); + Extra_Init (This, X, Y, W, H, Text); + hor_fill_slider_set_draw_hook + (This.Void_Ptr, Storage.To_Integer (Draw_Hook'Address)); + hor_fill_slider_set_handle_hook + (This.Void_Ptr, Storage.To_Integer (Handle_Hook'Address)); + end return; + end Create; + + end Forge; + + + + + procedure Draw + (This : in out Horizontal_Fill_Slider) is + begin + fl_hor_fill_slider_draw (This.Void_Ptr); + end Draw; + + + function Handle + (This : in out Horizontal_Fill_Slider; + Event : in Event_Kind) + return Event_Outcome is + begin + return Event_Outcome'Val + (fl_hor_fill_slider_handle (This.Void_Ptr, Event_Kind'Pos (Event))); + end Handle; + + +end FLTK.Widgets.Valuators.Sliders.Horizontal_Fill; + diff --git a/src/fltk-widgets-valuators-sliders-horizontal_fill.ads b/src/fltk-widgets-valuators-sliders-horizontal_fill.ads new file mode 100644 index 0000000..9047552 --- /dev/null +++ b/src/fltk-widgets-valuators-sliders-horizontal_fill.ads @@ -0,0 +1,63 @@ + + +-- Programmed by Jedidiah Barber +-- Released into the public domain + + +package FLTK.Widgets.Valuators.Sliders.Horizontal_Fill is + + + type Horizontal_Fill_Slider is new Slider with private; + + type Horizontal_Fill_Slider_Reference (Data : not null access Horizontal_Fill_Slider'Class) is + limited null record with Implicit_Dereference => Data; + + + + + package Forge is + + function Create + (X, Y, W, H : in Integer; + Text : in String := "") + return Horizontal_Fill_Slider; + + end Forge; + + + + + procedure Draw + (This : in out Horizontal_Fill_Slider); + + function Handle + (This : in out Horizontal_Fill_Slider; + Event : in Event_Kind) + return Event_Outcome; + + +private + + + type Horizontal_Fill_Slider is new Slider with null record; + + overriding procedure Finalize + (This : in out Horizontal_Fill_Slider); + + procedure Extra_Init + (This : in out Horizontal_Fill_Slider; + X, Y, W, H : in Integer; + Text : in String) + with Inline; + + procedure Extra_Final + (This : in out Horizontal_Fill_Slider) + with Inline; + + + pragma Inline (Draw); + pragma Inline (Handle); + + +end FLTK.Widgets.Valuators.Sliders.Horizontal_Fill; + diff --git a/src/fltk-widgets-valuators-sliders-horizontal_nice.adb b/src/fltk-widgets-valuators-sliders-horizontal_nice.adb new file mode 100644 index 0000000..f6b8e90 --- /dev/null +++ b/src/fltk-widgets-valuators-sliders-horizontal_nice.adb @@ -0,0 +1,132 @@ + + +-- Programmed by Jedidiah Barber +-- Released into the public domain + + +with + + Interfaces.C.Strings; + + +package body FLTK.Widgets.Valuators.Sliders.Horizontal_Nice is + + + procedure hor_nice_slider_set_draw_hook + (W, D : in Storage.Integer_Address); + pragma Import (C, hor_nice_slider_set_draw_hook, "hor_nice_slider_set_draw_hook"); + pragma Inline (hor_nice_slider_set_draw_hook); + + procedure hor_nice_slider_set_handle_hook + (W, H : in Storage.Integer_Address); + pragma Import (C, hor_nice_slider_set_handle_hook, "hor_nice_slider_set_handle_hook"); + pragma Inline (hor_nice_slider_set_handle_hook); + + + + + function new_fl_hor_nice_slider + (X, Y, W, H : in Interfaces.C.int; + Text : in Interfaces.C.char_array) + return Storage.Integer_Address; + pragma Import (C, new_fl_hor_nice_slider, "new_fl_hor_nice_slider"); + pragma Inline (new_fl_hor_nice_slider); + + procedure free_fl_hor_nice_slider + (D : in Storage.Integer_Address); + pragma Import (C, free_fl_hor_nice_slider, "free_fl_hor_nice_slider"); + pragma Inline (free_fl_hor_nice_slider); + + + + + procedure fl_hor_nice_slider_draw + (W : in Storage.Integer_Address); + pragma Import (C, fl_hor_nice_slider_draw, "fl_hor_nice_slider_draw"); + pragma Inline (fl_hor_nice_slider_draw); + + function fl_hor_nice_slider_handle + (W : in Storage.Integer_Address; + E : in Interfaces.C.int) + return Interfaces.C.int; + pragma Import (C, fl_hor_nice_slider_handle, "fl_hor_nice_slider_handle"); + pragma Inline (fl_hor_nice_slider_handle); + + + + + procedure Extra_Final + (This : in out Horizontal_Nice_Slider) is + begin + Extra_Final (Slider (This)); + end Extra_Final; + + + procedure Finalize + (This : in out Horizontal_Nice_Slider) is + begin + Extra_Final (This); + if This.Void_Ptr /= Null_Pointer and This.Needs_Dealloc then + free_fl_hor_nice_slider (This.Void_Ptr); + This.Void_Ptr := Null_Pointer; + end if; + end Finalize; + + + + + procedure Extra_Init + (This : in out Horizontal_Nice_Slider; + X, Y, W, H : in Integer; + Text : in String) is + begin + Extra_Init (Slider (This), X, Y, W, H, Text); + end Extra_Init; + + + package body Forge is + + function Create + (X, Y, W, H : in Integer; + Text : in String := "") + return Horizontal_Nice_Slider is + begin + return This : Horizontal_Nice_Slider do + This.Void_Ptr := new_fl_hor_nice_slider + (Interfaces.C.int (X), + Interfaces.C.int (Y), + Interfaces.C.int (W), + Interfaces.C.int (H), + Interfaces.C.To_C (Text)); + Extra_Init (This, X, Y, W, H, Text); + hor_nice_slider_set_draw_hook + (This.Void_Ptr, Storage.To_Integer (Draw_Hook'Address)); + hor_nice_slider_set_handle_hook + (This.Void_Ptr, Storage.To_Integer (Handle_Hook'Address)); + end return; + end Create; + + end Forge; + + + + + procedure Draw + (This : in out Horizontal_Nice_Slider) is + begin + fl_hor_nice_slider_draw (This.Void_Ptr); + end Draw; + + + function Handle + (This : in out Horizontal_Nice_Slider; + Event : in Event_Kind) + return Event_Outcome is + begin + return Event_Outcome'Val + (fl_hor_nice_slider_handle (This.Void_Ptr, Event_Kind'Pos (Event))); + end Handle; + + +end FLTK.Widgets.Valuators.Sliders.Horizontal_Nice; + diff --git a/src/fltk-widgets-valuators-sliders-horizontal_nice.ads b/src/fltk-widgets-valuators-sliders-horizontal_nice.ads new file mode 100644 index 0000000..f2af349 --- /dev/null +++ b/src/fltk-widgets-valuators-sliders-horizontal_nice.ads @@ -0,0 +1,63 @@ + + +-- Programmed by Jedidiah Barber +-- Released into the public domain + + +package FLTK.Widgets.Valuators.Sliders.Horizontal_Nice is + + + type Horizontal_Nice_Slider is new Slider with private; + + type Horizontal_Nice_Slider_Reference (Data : not null access Horizontal_Nice_Slider'Class) is + limited null record with Implicit_Dereference => Data; + + + + + package Forge is + + function Create + (X, Y, W, H : in Integer; + Text : in String := "") + return Horizontal_Nice_Slider; + + end Forge; + + + + + procedure Draw + (This : in out Horizontal_Nice_Slider); + + function Handle + (This : in out Horizontal_Nice_Slider; + Event : in Event_Kind) + return Event_Outcome; + + +private + + + type Horizontal_Nice_Slider is new Slider with null record; + + overriding procedure Finalize + (This : in out Horizontal_Nice_Slider); + + procedure Extra_Init + (This : in out Horizontal_Nice_Slider; + X, Y, W, H : in Integer; + Text : in String) + with Inline; + + procedure Extra_Final + (This : in out Horizontal_Nice_Slider) + with Inline; + + + pragma Inline (Draw); + pragma Inline (Handle); + + +end FLTK.Widgets.Valuators.Sliders.Horizontal_Nice; + -- cgit