diff options
author | Jed Barber <jjbarber@y7mail.com> | 2016-09-07 02:15:57 +1000 |
---|---|---|
committer | Jed Barber <jjbarber@y7mail.com> | 2016-09-07 02:15:57 +1000 |
commit | 6e16a790b13ec50390c3b019598c1fa649f32c98 (patch) | |
tree | 2ce6f1b773b90c51e6b4dfc2974da6464b1bb29c /src/fltk_binding/fltk-widgets.ads | |
parent | 48f31d9f71523aa9cc027c16e5c8cd48ff1e792a (diff) |
Now using widget user data to refer back to Ada side of things, will enable easy implementation of callbacks
Diffstat (limited to 'src/fltk_binding/fltk-widgets.ads')
-rw-r--r-- | src/fltk_binding/fltk-widgets.ads | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/fltk_binding/fltk-widgets.ads b/src/fltk_binding/fltk-widgets.ads index 8108a5d..3f02302 100644 --- a/src/fltk_binding/fltk-widgets.ads +++ b/src/fltk_binding/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; |