From 2cbec01126c34e70fc8e11d77553ef5bfd94cec7 Mon Sep 17 00:00:00 2001 From: Jed Barber Date: Fri, 18 May 2018 16:21:25 +1000 Subject: Added Choices, Pixmaps, GIFs, XPMs --- src/fltk-widgets-menus-choices.ads | 75 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 src/fltk-widgets-menus-choices.ads (limited to 'src/fltk-widgets-menus-choices.ads') diff --git a/src/fltk-widgets-menus-choices.ads b/src/fltk-widgets-menus-choices.ads new file mode 100644 index 0000000..7f99852 --- /dev/null +++ b/src/fltk-widgets-menus-choices.ads @@ -0,0 +1,75 @@ + + +package FLTK.Widgets.Menus.Choices is + + + type Choice is new Menu with private; + + type Choice_Reference (Data : not null access Choice'Class) is limited null record + with Implicit_Dereference => Data; + + + + + package Forge is + + function Create + (X, Y, W, H : in Integer; + Text : in String) + return Choice; + + end Forge; + + + + + function Chosen + (This : in Choice) + return FLTK.Menu_Items.Menu_Item_Reference; + + function Chosen_Index + (This : in Choice) + return Extended_Index; + + procedure Set_Chosen + (This : in out Choice; + Place : in Index); + + procedure Set_Chosen + (This : in out Choice; + Item : in FLTK.Menu_Items.Menu_Item); + + + + + procedure Draw + (This : in out Choice); + + function Handle + (This : in out Choice; + Event : in Event_Kind) + return Event_Outcome; + + +private + + + type Choice is new Menu with null record; + + overriding procedure Finalize + (This : in out Choice); + + + + + pragma Inline (Chosen); + pragma Inline (Chosen_Index); + pragma Inline (Set_Chosen); + + + pragma Inline (Draw); + pragma Inline (Handle); + + +end FLTK.Widgets.Menus.Choices; + -- cgit