moffy-samples-gtk4-run-0.1.0.0: src/Stopgap/Graphics/UI/Gtk/Widget.hsc
{-# LANGUAGE ImportQualifiedPost #-}
{-# LANGUAGE ViewPatterns #-}
{-# OPTIONS_GHC -Wall -fno-warn-tabs #-}
module Stopgap.Graphics.UI.Gtk.Widget where
import Foreign.Ptr
import Stopgap.System.GLib.Object qualified as G.Object
import Stopgap.Graphics.UI.Gtk.EventController qualified as Gtk.EventController
class G.Object.IsO w => IsW w where toW :: w -> W
data WTag
newtype W = W (Ptr WTag) deriving Show
queueDraw :: IsW w => w -> IO ()
queueDraw (toW -> W w) = c_gtk_widget_queue_draw w
foreign import ccall "gtk_widget_queue_draw" c_gtk_widget_queue_draw ::
Ptr WTag -> IO ()
addController :: (IsW w, Gtk.EventController.IsE e) => w -> e -> IO ()
addController (toW -> W w)
(Gtk.EventController.toE -> Gtk.EventController.E e) =
c_gtk_widget_add_controller w e
foreign import ccall "gtk_widget_add_controller" c_gtk_widget_add_controller ::
Ptr WTag -> Ptr Gtk.EventController.ETag -> IO ()