{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}

module GI.Gtk.Structs.TextAppearance
    ( 

-- * Exported types
    TextAppearance(..)                      ,
    noTextAppearance                        ,


 -- * Properties
-- ** BgColor
    textAppearanceReadBgColor               ,


-- ** DrawBg
    textAppearanceReadDrawBg                ,


-- ** FgColor
    textAppearanceReadFgColor               ,


-- ** InsideSelection
    textAppearanceReadInsideSelection       ,


-- ** IsText
    textAppearanceReadIsText                ,


-- ** Rise
    textAppearanceReadRise                  ,


-- ** Strikethrough
    textAppearanceReadStrikethrough         ,


-- ** Underline
    textAppearanceReadUnderline             ,




    ) where

import Prelude ()
import Data.GI.Base.ShortPrelude

import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map

import GI.Gtk.Types
import GI.Gtk.Callbacks
import qualified GI.Gdk as Gdk

newtype TextAppearance = TextAppearance (ForeignPtr TextAppearance)
noTextAppearance :: Maybe TextAppearance
noTextAppearance = Nothing

textAppearanceReadBgColor :: TextAppearance -> IO Gdk.Color
textAppearanceReadBgColor s = withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Gdk.Color)
    val' <- (newBoxed Gdk.Color) val
    return val'

textAppearanceReadFgColor :: TextAppearance -> IO Gdk.Color
textAppearanceReadFgColor s = withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 12) :: IO (Ptr Gdk.Color)
    val' <- (newBoxed Gdk.Color) val
    return val'

textAppearanceReadRise :: TextAppearance -> IO Int32
textAppearanceReadRise s = withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 24) :: IO Int32
    return val

textAppearanceReadUnderline :: TextAppearance -> IO Word32
textAppearanceReadUnderline s = withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 28) :: IO Word32
    return val

textAppearanceReadStrikethrough :: TextAppearance -> IO Word32
textAppearanceReadStrikethrough s = withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 32) :: IO Word32
    return val

textAppearanceReadDrawBg :: TextAppearance -> IO Word32
textAppearanceReadDrawBg s = withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 36) :: IO Word32
    return val

textAppearanceReadInsideSelection :: TextAppearance -> IO Word32
textAppearanceReadInsideSelection s = withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 40) :: IO Word32
    return val

textAppearanceReadIsText :: TextAppearance -> IO Word32
textAppearanceReadIsText s = withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 44) :: IO Word32
    return val