{-# LINE 1 "src/Graphics/UI/SDL/TTF/Types.hsc" #-}

{-# LINE 2 "src/Graphics/UI/SDL/TTF/Types.hsc" #-}
{-# LANGUAGE EmptyDataDecls #-}
module Graphics.UI.SDL.TTF.Types where

data KerningStatus
  = KerningOn
  | KerningOff
  deriving (Show,Eq)

data TTFError
  = RenderUTF8Blended
  | RenderUTF8Shaded
  | RenderUTF8Solid
  | RenderTextBlended
  | RenderTextShaded
  | RenderTextSolid
  | OpenFont
  deriving Show

data TTFStyle = TTFNormal | TTFBold | TTFItalic | TTFUnderline | TTFStrikethrough
  deriving ( Eq, Ord, Show, Read )

instance Enum TTFStyle where
    fromEnum TTFNormal = 0
{-# LINE 25 "src/Graphics/UI/SDL/TTF/Types.hsc" #-}
    fromEnum TTFBold = 1
{-# LINE 26 "src/Graphics/UI/SDL/TTF/Types.hsc" #-}
    fromEnum TTFItalic = 2
{-# LINE 27 "src/Graphics/UI/SDL/TTF/Types.hsc" #-}
    fromEnum TTFUnderline = 4
{-# LINE 28 "src/Graphics/UI/SDL/TTF/Types.hsc" #-}
    fromEnum TTFStrikethrough = 8
{-# LINE 29 "src/Graphics/UI/SDL/TTF/Types.hsc" #-}

    toEnum 0 = TTFNormal
{-# LINE 31 "src/Graphics/UI/SDL/TTF/Types.hsc" #-}
    toEnum 1 = TTFBold
{-# LINE 32 "src/Graphics/UI/SDL/TTF/Types.hsc" #-}
    toEnum 2 = TTFItalic
{-# LINE 33 "src/Graphics/UI/SDL/TTF/Types.hsc" #-}
    toEnum 4 = TTFUnderline
{-# LINE 34 "src/Graphics/UI/SDL/TTF/Types.hsc" #-}
    toEnum 8 = TTFStrikethrough
{-# LINE 35 "src/Graphics/UI/SDL/TTF/Types.hsc" #-}
    toEnum _ = error "TTFStyle.toEnum: Invalid argument."
    
-- | Hinting
--
-- Font hinting is the use of mathematical instructions to adjust
-- the display of an outline font so that it lines up with a rasterized grid.
-- At small screen sizes, with or without antialiasing, hinting is critical
-- for producing a clear, legible text for human readers.
data TTFHinting = TTFHNormal | TTFHLight | TTFHMono | TTFHNone
  deriving ( Eq, Ord, Show, Read )

instance Enum TTFHinting where
    fromEnum TTFHNormal = 0
{-# LINE 48 "src/Graphics/UI/SDL/TTF/Types.hsc" #-}
    fromEnum TTFHLight = 1
{-# LINE 49 "src/Graphics/UI/SDL/TTF/Types.hsc" #-}
    fromEnum TTFHMono = 2
{-# LINE 50 "src/Graphics/UI/SDL/TTF/Types.hsc" #-}
    fromEnum TTFHNone = 3
{-# LINE 51 "src/Graphics/UI/SDL/TTF/Types.hsc" #-}

    toEnum 0 = TTFHNormal
{-# LINE 53 "src/Graphics/UI/SDL/TTF/Types.hsc" #-}
    toEnum 1 = TTFHLight
{-# LINE 54 "src/Graphics/UI/SDL/TTF/Types.hsc" #-}
    toEnum 2 = TTFHMono
{-# LINE 55 "src/Graphics/UI/SDL/TTF/Types.hsc" #-}
    toEnum 3 = TTFHNone
{-# LINE 56 "src/Graphics/UI/SDL/TTF/Types.hsc" #-}
    toEnum _ = error "TTFHinting.toEnum: Invalid argument."