{-# LINE 1 "src/Stopgap/Graphics/UI/Gtk/DrawingArea.hsc" #-}
{-# LANGUAGE ImportQualifiedPost #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -Wall -fno-warn-tabs #-}

module Stopgap.Graphics.UI.Gtk.DrawingArea where

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

data DTag

newtype D = D (Ptr DTag) deriving Int -> D -> ShowS
[D] -> ShowS
D -> String
(Int -> D -> ShowS) -> (D -> String) -> ([D] -> ShowS) -> Show D
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> D -> ShowS
showsPrec :: Int -> D -> ShowS
$cshow :: D -> String
show :: D -> String
$cshowList :: [D] -> ShowS
showList :: [D] -> ShowS
Show

instance IsPtr D where type Tag D = DTag; toPtr :: D -> Ptr (Tag D)
toPtr (D Ptr DTag
p) = Ptr (Tag D)
Ptr DTag
p; fromPtr :: Ptr (Tag D) -> D
fromPtr = Ptr (Tag D) -> D
Ptr DTag -> D
D
instance G.Object.IsO D where toO :: D -> O
toO (D Ptr DTag
p) = Ptr OTag -> O
G.Object.O (Ptr OTag -> O) -> Ptr OTag -> O
forall a b. (a -> b) -> a -> b
$ Ptr DTag -> Ptr OTag
forall a b. Ptr a -> Ptr b
castPtr Ptr DTag
p
instance Widget.IsW D where toW :: D -> W
toW (D Ptr DTag
p) = Ptr WTag -> W
Widget.W (Ptr WTag -> W) -> Ptr WTag -> W
forall a b. (a -> b) -> a -> b
$ Ptr DTag -> Ptr WTag
forall a b. Ptr a -> Ptr b
castPtr Ptr DTag
p

new :: IO D
new :: IO D
new = IO D
c_gtk_drawing_area_new

foreign import ccall "gtk_drawing_area_new" c_gtk_drawing_area_new :: IO D