diff options
author | Jedidiah Barber <contact@jedbarber.id.au> | 2024-11-16 10:30:34 +1300 |
---|---|---|
committer | Jedidiah Barber <contact@jedbarber.id.au> | 2024-11-16 10:30:34 +1300 |
commit | f5f77c762534ed15adc557009d1a645e5fd998a5 (patch) | |
tree | 7b9d8c3099c303c74bf41079e9a0785983bd8a31 /src/fltk-widgets-groups.adb | |
parent | 66fba2bf75c5fc3deb2690a6a66cf504f47b7652 (diff) |
Reworked widget init/create subprograms
Diffstat (limited to 'src/fltk-widgets-groups.adb')
-rw-r--r-- | src/fltk-widgets-groups.adb | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/fltk-widgets-groups.adb b/src/fltk-widgets-groups.adb index 5ab1f5f..3f07083 100644 --- a/src/fltk-widgets-groups.adb +++ b/src/fltk-widgets-groups.adb @@ -44,6 +44,14 @@ package body FLTK.Widgets.Groups is + procedure fl_group_end + (G : in Storage.Integer_Address); + pragma Import (C, fl_group_end, "fl_group_end"); + pragma Inline (fl_group_end); + + + + procedure fl_group_add (G, W : in Storage.Integer_Address); pragma Import (C, fl_group_add, "fl_group_add"); @@ -174,6 +182,16 @@ package body FLTK.Widgets.Groups is + procedure Extra_Init + (This : in out Group; + X, Y, W, H : in Integer; + Text : in String) is + begin + fl_group_end (This.Void_Ptr); + Extra_Init (Widget (This), X, Y, W, H, Text); + end Extra_Init; + + package body Forge is function Create @@ -188,13 +206,9 @@ package body FLTK.Widgets.Groups is Interfaces.C.int (W), Interfaces.C.int (H), Interfaces.C.To_C (Text)); - fl_group_end (This.Void_Ptr); - fl_widget_set_user_data - (This.Void_Ptr, - Storage.To_Integer (Widget_Convert.To_Address (This'Unchecked_Access))); + Extra_Init (This, X, Y, W, H, Text); group_set_draw_hook (This.Void_Ptr, Storage.To_Integer (Draw_Hook'Address)); group_set_handle_hook (This.Void_Ptr, Storage.To_Integer (Handle_Hook'Address)); - fl_widget_set_label (This.Void_Ptr, Interfaces.C.To_C (Text)); end return; end Create; |