packages feed

moffy-samples-gtk4-run-0.1.0.0: src/Stopgap/Graphics/UI/Gtk/Label.hsc

{-# LANGUAGE ImportQualifiedPost #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -Wall -fno-warn-tabs #-}

module Stopgap.Graphics.UI.Gtk.Label where

import Foreign.Ptr
import Foreign.C.String
import Stopgap.Data.Ptr

import Stopgap.Graphics.UI.Gtk.Widget qualified as Gtk.Widget
import Stopgap.System.GLib.Object qualified as G.Object

data LTag

newtype L = L (Ptr LTag) deriving Show

instance IsPtr L where type Tag L = LTag; fromPtr = L; toPtr (L p) = p
instance G.Object.IsO L where toO (L p) = G.Object.O $ castPtr p
instance Gtk.Widget.IsW L where toW (L p) = Gtk.Widget.W $ castPtr p

new :: String -> IO L
new txt = L <$> withCString txt c_gtk_label_new

foreign import ccall "gtk_label_new" c_gtk_label_new ::
	CString -> IO (Ptr LTag)