{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, OverlappingInstances, IncoherentInstances #-} module HROOT.Core.TAttText.Implementation where import FFICXX.Runtime.Cast import HROOT.Core.TAttText.RawType import HROOT.Core.TAttText.FFI import HROOT.Core.TAttText.Interface import HROOT.Core.TAttText.Cast import HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface import Data.Word import Foreign.C import Foreign.Ptr import Foreign.ForeignPtr import System.IO.Unsafe instance ITAttText TAttText where getTextAlign = xform0 c_tatttext_gettextalign getTextAngle = xform0 c_tatttext_gettextangle getTextColor = xform0 c_tatttext_gettextcolor getTextFont = xform0 c_tatttext_gettextfont getTextSize = xform0 c_tatttext_gettextsize resetAttText = xform1 c_tatttext_resetatttext setTextAttributes = xform0 c_tatttext_settextattributes setTextAlign = xform1 c_tatttext_settextalign setTextAngle = xform1 c_tatttext_settextangle setTextColor = xform1 c_tatttext_settextcolor setTextFont = xform1 c_tatttext_settextfont setTextSize = xform1 c_tatttext_settextsize setTextSizePixels = xform1 c_tatttext_settextsizepixels instance IDeletable TAttText where delete = xform0 c_tatttext_delete instance ITAttText (Exist TAttText) where getTextAlign (ETAttText x) = getTextAlign x getTextAngle (ETAttText x) = getTextAngle x getTextColor (ETAttText x) = getTextColor x getTextFont (ETAttText x) = getTextFont x getTextSize (ETAttText x) = getTextSize x resetAttText (ETAttText x) = resetAttText x setTextAttributes (ETAttText x) = setTextAttributes x setTextAlign (ETAttText x) = setTextAlign x setTextAngle (ETAttText x) = setTextAngle x setTextColor (ETAttText x) = setTextColor x setTextFont (ETAttText x) = setTextFont x setTextSize (ETAttText x) = setTextSize x setTextSizePixels (ETAttText x) = setTextSizePixels x instance IDeletable (Exist TAttText) where delete (ETAttText x) = delete x newTAttText :: CInt -> CDouble -> CInt -> CInt -> CDouble -> IO TAttText newTAttText = xform4 c_tatttext_newtatttext instance FPtr (Exist TAttText) where type Raw (Exist TAttText) = RawTAttText get_fptr (ETAttText obj) = castForeignPtr (get_fptr obj) cast_fptr_to_obj fptr = ETAttText (cast_fptr_to_obj (fptr :: ForeignPtr RawTAttText) :: TAttText)