From 75c56f8e6927018e3098fe012bb699b72ad0f1f8 Mon Sep 17 00:00:00 2001 From: Jedidiah Barber Date: Wed, 18 Dec 2024 17:52:21 +1300 Subject: Added Fl_Browser --- src/fltk-widgets-groups-browsers.ads | 48 +++++++++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 4 deletions(-) (limited to 'src/fltk-widgets-groups-browsers.ads') diff --git a/src/fltk-widgets-groups-browsers.ads b/src/fltk-widgets-groups-browsers.ads index 1ba16dd..1c511a9 100644 --- a/src/fltk-widgets-groups-browsers.ads +++ b/src/fltk-widgets-groups-browsers.ads @@ -351,13 +351,53 @@ package FLTK.Widgets.Groups.Browsers is private + type Item_Override_Fun is + (Item_Width_Ptr, Item_Height_Ptr, + Item_First_Ptr, Item_Last_Ptr, + Item_Next_Ptr, Item_Previous_Ptr, + Item_At_Ptr, Item_Select_Ptr, + Item_Selected_Ptr, Item_Swap_Ptr, + Item_Text_Ptr, Item_Draw_Ptr); + type Item_Override_Fun_Ptr_Array is array (Item_Override_Fun) of System.Address; + + + type Item_Inherit_Fun is + (Current_Selection_Ptr, Is_Displayed_Ptr, + Find_Item_Ptr, Top_Item_Ptr); + type Item_Inherit_Fun_Ptr_Array is array (Item_Inherit_Fun) of System.Address; + + type Redrawing_Fun is + (Bounding_Box_Ptr, Left_Edge_Ptr, + Redraw_Line_Ptr, Redraw_List_Ptr); + type Redrawing_Fun_Ptr_Array is array (Redrawing_Fun) of System.Address; + + type Wide_High_Fun is + (Full_List_Width_Ptr, Full_List_Height_Ptr, + Average_Item_Height_Ptr, Item_Quick_Height_Ptr); + type Wide_High_Fun_Ptr_Array is array (Wide_High_Fun) of System.Address; + + type Cache_Fun is + (New_List_Ptr, Inserting_Ptr, + Deleting_Ptr, Replacing_Ptr, Swapping_Ptr); + type Cache_Fun_Ptr_Array is array (Cache_Fun) of System.Address; + + type Browser is new Group with record - Horizon : aliased Valuators.Sliders.Scrollbars.Scrollbar; - Vertigo : aliased Valuators.Sliders.Scrollbars.Scrollbar; - Text_Store : Interfaces.C.Strings.chars_ptr_array (1 .. 2); - Current : Interfaces.C.size_t := 1; + Horizon : aliased Valuators.Sliders.Scrollbars.Scrollbar; + Vertigo : aliased Valuators.Sliders.Scrollbars.Scrollbar; + Text_Store : Interfaces.C.Strings.chars_ptr_array (1 .. 2); + Current : Interfaces.C.size_t := 1; + Item_Inherit_Ptrs : Item_Inherit_Fun_Ptr_Array; + Redrawing_Ptrs : Redrawing_Fun_Ptr_Array; + Wide_High_Ptrs : Wide_High_Fun_Ptr_Array; + Cache_Ptrs : Cache_Fun_Ptr_Array; + Draw_Ptr : System.Address; + Handle_Ptr : System.Address; end record; + overriding procedure Initialize + (This : in out Browser); + overriding procedure Finalize (This : in out Browser); -- cgit