diff options
author | Camil Staps | 2019-11-01 12:26:48 +0100 |
---|---|---|
committer | Camil Staps | 2019-11-01 12:26:48 +0100 |
commit | c10b18ff0bfe37c419a70558501da48c5c3c76b5 (patch) | |
tree | 3044d260a327adf27068a82a82db7c80d8dc4e76 /src/Gtk/Internal.icl | |
parent | Use import code from library instead of environments to link with Gtk and Gtk... (diff) |
Remove dependency on supporting C code
Diffstat (limited to 'src/Gtk/Internal.icl')
-rw-r--r-- | src/Gtk/Internal.icl | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/Gtk/Internal.icl b/src/Gtk/Internal.icl index 8a32b2c..92a9009 100644 --- a/src/Gtk/Internal.icl +++ b/src/Gtk/Internal.icl @@ -6,7 +6,6 @@ import StdDebug import System._Pointer -import code from "clean_gtk_support." import code from library "-lgtk-3" import code from library "-lgdk-3" import code from library "-lpangocairo-1.0" @@ -29,12 +28,17 @@ g_object_unref p env = code { ccall g_object_unref "p:V:A" } -g_signal_connect :: !Int !Pointer !String !Int !.a -> .a -g_signal_connect type widget signal id env = connect type widget (packString signal) id env +g_signal_connect :: !Pointer !String !Pointer !Int !.a -> .a +g_signal_connect widget signal callback data env = + g_signal_connect_data widget signal callback data 0 0 env + +g_signal_connect_data :: !Pointer !String !Pointer !Int !Pointer !Int !.a -> .a +g_signal_connect_data widget signal callback data destroy_data flags env = + connect widget (packString signal) callback data destroy_data flags env where - connect :: !Int !Pointer !String !Int !.a -> .a - connect _ _ _ _ _ = code { - ccall clean_g_signal_connect "IpsI:V:A" + connect :: !Pointer !String !Pointer !Int !Pointer !Int !.a -> .a + connect _ _ _ _ _ _ _ = code { + ccall g_signal_connect_data "pspIpI:V:A" } g_timeout_add :: !Int !Pointer !Int !.a -> .a |