From b4438b2fbe895694be98e6e8426103deefc51448 Mon Sep 17 00:00:00 2001 From: Jedidiah Barber Date: Tue, 21 Jan 2025 21:04:54 +1300 Subject: Split public API and private implementation files into different directories --- body/fltk-widget_callback_conversions.adb | 52 +++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 body/fltk-widget_callback_conversions.adb (limited to 'body/fltk-widget_callback_conversions.adb') diff --git a/body/fltk-widget_callback_conversions.adb b/body/fltk-widget_callback_conversions.adb new file mode 100644 index 0000000..29f920e --- /dev/null +++ b/body/fltk-widget_callback_conversions.adb @@ -0,0 +1,52 @@ + + +-- Programmed by Jedidiah Barber +-- Released into the public domain + + +with + + Ada.Unchecked_Conversion, + FLTK.Widgets; + +use type + + FLTK.Widgets.Widget_Callback; + + +package body FLTK.Widget_Callback_Conversions is + + + function To_Access + (Addy : in Storage.Integer_Address) + return FLTK.Widgets.Widget_Callback + is + function Raw is new Ada.Unchecked_Conversion + (Storage.Integer_Address, FLTK.Widgets.Widget_Callback); + begin + if Addy = Null_Pointer then + return null; + else + return Raw (Addy); + end if; + end To_Access; + + + function To_Address + (Call : in FLTK.Widgets.Widget_Callback) + return Storage.Integer_Address + is + function Raw is new Ada.Unchecked_Conversion + (FLTK.Widgets.Widget_Callback, Storage.Integer_Address); + begin + if Call = null then + return Null_Pointer; + else + return Raw (Call); + end if; + end To_Address; + + +end FLTK.Widget_Callback_Conversions; + + -- cgit