From e9add081b396a0cbfdf59df9d340afe44d9b9544 Mon Sep 17 00:00:00 2001 From: Jed Barber Date: Wed, 7 Sep 2016 02:15:57 +1000 Subject: Now using widget user data to refer back to Ada side of things, will enable easy implementation of callbacks --- fltk-widgets.ads | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'fltk-widgets.ads') diff --git a/fltk-widgets.ads b/fltk-widgets.ads index 8108a5d..3f02302 100644 --- a/fltk-widgets.ads +++ b/fltk-widgets.ads @@ -2,6 +2,8 @@ with FLTK.Enums; use FLTK.Enums; limited with FLTK.Widgets.Groups; +private with System; +private with System.Address_To_Access_Conversions; package FLTK.Widgets is @@ -86,14 +88,21 @@ package FLTK.Widgets is private - type Widget is abstract new Wrapper with - record - Parent : access FLTK.Widgets.Groups.Group; - end record; + type Widget is abstract new Wrapper with null record; - overriding procedure Finalize - (This : in out Widget); + package Widget_Convert is new System.Address_To_Access_Conversions (Widget'Class); + + + function fl_widget_get_user_data + (W : in System.Address) + return System.Address; + pragma Import (C, fl_widget_get_user_data, "fl_widget_get_user_data"); + + + procedure fl_widget_set_user_data + (W, D : in System.Address); + pragma Import (C, fl_widget_set_user_data, "fl_widget_set_user_data"); end FLTK.Widgets; -- cgit