{-# LINE 1 "FreeType/Core/Glyph/Types.hsc" #-} {-# LANGUAGE EmptyDataDecls #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE PatternSynonyms #-} module FreeType.Core.Glyph.Types where import FreeType.Core.Base.Types import FreeType.Core.Types.Types import FreeType.Support.Outline.Types import Data.Function ((&)) import Foreign.Ptr import Foreign.Storable type FT_Glyph = Ptr FT_GlyphRec data FT_Glyph_Class data FT_GlyphRec = FT_GlyphRec { grLibrary :: FT_Library , grClazz :: Ptr FT_Glyph_Class , grFormat :: FT_Glyph_Format , grAdvance :: FT_Vector } instance Storable FT_GlyphRec where sizeOf _ = (40) {-# LINE 33 "FreeType/Core/Glyph/Types.hsc" #-} alignment _ = 8 {-# LINE 34 "FreeType/Core/Glyph/Types.hsc" #-} peek ptr = FT_GlyphRec <$> (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr {-# LINE 38 "FreeType/Core/Glyph/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 8) ptr {-# LINE 39 "FreeType/Core/Glyph/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 16) ptr {-# LINE 40 "FreeType/Core/Glyph/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 24) ptr {-# LINE 41 "FreeType/Core/Glyph/Types.hsc" #-} poke ptr val = do (\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr $ val & grLibrary {-# LINE 44 "FreeType/Core/Glyph/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 8) ptr $ val & grClazz {-# LINE 45 "FreeType/Core/Glyph/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 16) ptr $ val & grFormat {-# LINE 46 "FreeType/Core/Glyph/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 24) ptr $ val & grAdvance {-# LINE 47 "FreeType/Core/Glyph/Types.hsc" #-} type FT_BitmapGlyph = Ptr FT_BitmapGlyphRec data FT_BitmapGlyphRec = FT_BitmapGlyphRec { bgrRoot :: FT_GlyphRec , bgrLeft :: FT_Int , bgrTop :: FT_Int , bgrBitmap :: FT_Bitmap } instance Storable FT_BitmapGlyphRec where sizeOf _ = (88) {-# LINE 61 "FreeType/Core/Glyph/Types.hsc" #-} alignment _ = 8 {-# LINE 62 "FreeType/Core/Glyph/Types.hsc" #-} peek ptr = FT_BitmapGlyphRec <$> (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr {-# LINE 66 "FreeType/Core/Glyph/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 40) ptr {-# LINE 67 "FreeType/Core/Glyph/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 44) ptr {-# LINE 68 "FreeType/Core/Glyph/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 48) ptr {-# LINE 69 "FreeType/Core/Glyph/Types.hsc" #-} poke ptr val = do (\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr $ val & bgrRoot {-# LINE 72 "FreeType/Core/Glyph/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 40) ptr $ val & bgrLeft {-# LINE 73 "FreeType/Core/Glyph/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 44) ptr $ val & bgrTop {-# LINE 74 "FreeType/Core/Glyph/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 48) ptr $ val & bgrBitmap {-# LINE 75 "FreeType/Core/Glyph/Types.hsc" #-} newtype FT_OutlineGlyph = Ptr FT_OutlineGlyphRec data FT_OutlineGlyphRec = FT_OutlineGlyphRec { ogrRoot :: FT_GlyphRec , ogrOutline :: FT_Outline } instance Storable FT_OutlineGlyphRec where sizeOf _ = (80) {-# LINE 87 "FreeType/Core/Glyph/Types.hsc" #-} alignment _ = 8 {-# LINE 88 "FreeType/Core/Glyph/Types.hsc" #-} peek ptr = FT_OutlineGlyphRec <$> (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr {-# LINE 92 "FreeType/Core/Glyph/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 40) ptr {-# LINE 93 "FreeType/Core/Glyph/Types.hsc" #-} poke ptr val = do (\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr $ val & ogrRoot {-# LINE 96 "FreeType/Core/Glyph/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 40) ptr $ val & ogrOutline {-# LINE 97 "FreeType/Core/Glyph/Types.hsc" #-}