{-# LINE 1 "FreeType/Core/Types/Types.hsc" #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE PatternSynonyms #-} module FreeType.Core.Types.Types ( module FreeType.Core.Types.Types , FT_Error ) where import FreeType.Exception.Types (FT_Error) import Data.Function ((&)) import Foreign type FT_Byte = Word8 {-# LINE 19 "FreeType/Core/Types/Types.hsc" #-} type FT_Bytes = Ptr FT_Byte type FT_Char = Int8 {-# LINE 23 "FreeType/Core/Types/Types.hsc" #-} type FT_Int = Int32 {-# LINE 25 "FreeType/Core/Types/Types.hsc" #-} type FT_UInt = Word32 {-# LINE 27 "FreeType/Core/Types/Types.hsc" #-} type FT_Int16 = Int16 {-# LINE 29 "FreeType/Core/Types/Types.hsc" #-} type FT_UInt16 = Word16 {-# LINE 31 "FreeType/Core/Types/Types.hsc" #-} type FT_Int32 = Int32 {-# LINE 33 "FreeType/Core/Types/Types.hsc" #-} type FT_UInt32 = Word32 {-# LINE 35 "FreeType/Core/Types/Types.hsc" #-} {-# LINE 36 "FreeType/Core/Types/Types.hsc" #-} type FT_Int64 = Int64 {-# LINE 37 "FreeType/Core/Types/Types.hsc" #-} type FT_UInt64 = Word64 {-# LINE 39 "FreeType/Core/Types/Types.hsc" #-} {-# LINE 44 "FreeType/Core/Types/Types.hsc" #-} type FT_Short = Int16 {-# LINE 45 "FreeType/Core/Types/Types.hsc" #-} type FT_UShort = Word16 {-# LINE 47 "FreeType/Core/Types/Types.hsc" #-} type FT_Long = Int64 {-# LINE 49 "FreeType/Core/Types/Types.hsc" #-} type FT_ULong = Word64 {-# LINE 51 "FreeType/Core/Types/Types.hsc" #-} type FT_Bool = Word8 {-# LINE 53 "FreeType/Core/Types/Types.hsc" #-} type FT_Offset = Word64 {-# LINE 55 "FreeType/Core/Types/Types.hsc" #-} type FT_PtrDist = Int64 {-# LINE 57 "FreeType/Core/Types/Types.hsc" #-} type FT_String = Int8 {-# LINE 59 "FreeType/Core/Types/Types.hsc" #-} type FT_Tag = FT_UInt32 type FT_Fixed = Int64 {-# LINE 63 "FreeType/Core/Types/Types.hsc" #-} type FT_Pointer = Ptr () type FT_Pos = Int64 {-# LINE 67 "FreeType/Core/Types/Types.hsc" #-} data FT_Vector = FT_Vector { vX :: FT_Pos , vY :: FT_Pos } instance Storable FT_Vector where sizeOf _ = (16) {-# LINE 77 "FreeType/Core/Types/Types.hsc" #-} alignment _ = 8 {-# LINE 78 "FreeType/Core/Types/Types.hsc" #-} peek ptr = FT_Vector <$> (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr {-# LINE 82 "FreeType/Core/Types/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 8) ptr {-# LINE 83 "FreeType/Core/Types/Types.hsc" #-} poke ptr val = do (\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr $ val & vX {-# LINE 86 "FreeType/Core/Types/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 8) ptr $ val & vY {-# LINE 87 "FreeType/Core/Types/Types.hsc" #-} data FT_BBox = FT_BBox { bbXMin :: FT_Pos , bbYMin :: FT_Pos , bbXMax :: FT_Pos , bbYMax :: FT_Pos } instance Storable FT_BBox where sizeOf _ = (32) {-# LINE 99 "FreeType/Core/Types/Types.hsc" #-} alignment _ = 8 {-# LINE 100 "FreeType/Core/Types/Types.hsc" #-} peek ptr = FT_BBox <$> (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr {-# LINE 104 "FreeType/Core/Types/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 8) ptr {-# LINE 105 "FreeType/Core/Types/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 16) ptr {-# LINE 106 "FreeType/Core/Types/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 24) ptr {-# LINE 107 "FreeType/Core/Types/Types.hsc" #-} poke ptr val = do (\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr $ val & bbXMin {-# LINE 110 "FreeType/Core/Types/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 8) ptr $ val & bbYMin {-# LINE 111 "FreeType/Core/Types/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 16) ptr $ val & bbXMax {-# LINE 112 "FreeType/Core/Types/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 24) ptr $ val & bbYMax {-# LINE 113 "FreeType/Core/Types/Types.hsc" #-} data FT_Matrix = FT_Matrix { mXx :: FT_Fixed , mXy :: FT_Fixed , mYx :: FT_Fixed , mYy :: FT_Fixed } instance Storable FT_Matrix where sizeOf _ = (32) {-# LINE 125 "FreeType/Core/Types/Types.hsc" #-} alignment _ = 8 {-# LINE 126 "FreeType/Core/Types/Types.hsc" #-} peek ptr = FT_Matrix <$> (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr {-# LINE 130 "FreeType/Core/Types/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 8) ptr {-# LINE 131 "FreeType/Core/Types/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 16) ptr {-# LINE 132 "FreeType/Core/Types/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 24) ptr {-# LINE 133 "FreeType/Core/Types/Types.hsc" #-} poke ptr val = do (\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr $ val & mXx {-# LINE 136 "FreeType/Core/Types/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 8) ptr $ val & mXy {-# LINE 137 "FreeType/Core/Types/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 16) ptr $ val & mYx {-# LINE 138 "FreeType/Core/Types/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 24) ptr $ val & mYy {-# LINE 139 "FreeType/Core/Types/Types.hsc" #-} type FT_FWord = Int16 {-# LINE 143 "FreeType/Core/Types/Types.hsc" #-} type FT_UFWord = Word16 {-# LINE 145 "FreeType/Core/Types/Types.hsc" #-} type FT_F2Dot14 = Int16 {-# LINE 147 "FreeType/Core/Types/Types.hsc" #-} data FT_UnitVector = FT_UnitVector { uvX :: FT_F2Dot14 , uvY :: FT_F2Dot14 } instance Storable FT_UnitVector where sizeOf _ = (4) {-# LINE 157 "FreeType/Core/Types/Types.hsc" #-} alignment _ = 2 {-# LINE 158 "FreeType/Core/Types/Types.hsc" #-} peek ptr = FT_UnitVector <$> (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr {-# LINE 162 "FreeType/Core/Types/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 2) ptr {-# LINE 163 "FreeType/Core/Types/Types.hsc" #-} poke ptr val = do (\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr $ val & uvX {-# LINE 166 "FreeType/Core/Types/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 2) ptr $ val & uvY {-# LINE 167 "FreeType/Core/Types/Types.hsc" #-} type FT_F26Dot6 = Int64 {-# LINE 170 "FreeType/Core/Types/Types.hsc" #-} data FT_Data = FT_Data { dPointer :: Ptr FT_Byte , dLength :: FT_Int } instance Storable FT_Data where sizeOf _ = (16) {-# LINE 180 "FreeType/Core/Types/Types.hsc" #-} alignment _ = 8 {-# LINE 181 "FreeType/Core/Types/Types.hsc" #-} peek ptr = FT_Data <$> (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr {-# LINE 185 "FreeType/Core/Types/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 8) ptr {-# LINE 186 "FreeType/Core/Types/Types.hsc" #-} poke ptr val = do (\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr $ val & dPointer {-# LINE 189 "FreeType/Core/Types/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 8) ptr $ val & dLength {-# LINE 190 "FreeType/Core/Types/Types.hsc" #-} pattern FT_MAKE_TAG :: Char -> Char -> Char -> Char -> FT_Tag pattern FT_MAKE_TAG <- _ where FT_MAKE_TAG a b c d = fromIntegral $ (fromEnum a `shiftL` 24) .|. (fromEnum b `shiftL` 16) .|. (fromEnum c `shiftL` 8) .|. (fromEnum d) data FT_Generic = FT_Generic { gData :: Ptr () , gFinalizer :: FT_Generic_Finalizer } instance Storable FT_Generic where sizeOf _ = (16) {-# LINE 211 "FreeType/Core/Types/Types.hsc" #-} alignment _ = 8 {-# LINE 212 "FreeType/Core/Types/Types.hsc" #-} peek ptr = do FT_Generic <$> (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr {-# LINE 216 "FreeType/Core/Types/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 8) ptr {-# LINE 217 "FreeType/Core/Types/Types.hsc" #-} poke ptr val = do (\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr $ val & gData {-# LINE 220 "FreeType/Core/Types/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 8) ptr $ val & gFinalizer {-# LINE 221 "FreeType/Core/Types/Types.hsc" #-} type FT_Generic_Finalizer = FunPtr (Ptr () -> IO ()) data FT_Bitmap = FT_Bitmap { bRows :: Word32 {-# LINE 230 "FreeType/Core/Types/Types.hsc" #-} , bWidth :: Word32 {-# LINE 231 "FreeType/Core/Types/Types.hsc" #-} , bPitch :: Int32 {-# LINE 232 "FreeType/Core/Types/Types.hsc" #-} , bBuffer :: Ptr Word8 {-# LINE 233 "FreeType/Core/Types/Types.hsc" #-} , bNum_grays :: Word16 {-# LINE 234 "FreeType/Core/Types/Types.hsc" #-} , bPixel_mode :: Word8 {-# LINE 235 "FreeType/Core/Types/Types.hsc" #-} , bPalette_mode :: Word8 {-# LINE 236 "FreeType/Core/Types/Types.hsc" #-} , bPalette :: Ptr () } instance Storable FT_Bitmap where sizeOf _ = (40) {-# LINE 241 "FreeType/Core/Types/Types.hsc" #-} alignment _ = 8 {-# LINE 242 "FreeType/Core/Types/Types.hsc" #-} peek ptr = FT_Bitmap <$> (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr {-# LINE 246 "FreeType/Core/Types/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 4) ptr {-# LINE 247 "FreeType/Core/Types/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 8) ptr {-# LINE 248 "FreeType/Core/Types/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 16) ptr {-# LINE 249 "FreeType/Core/Types/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 24) ptr {-# LINE 250 "FreeType/Core/Types/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 26) ptr {-# LINE 251 "FreeType/Core/Types/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 27) ptr {-# LINE 252 "FreeType/Core/Types/Types.hsc" #-} <*> (\hsc_ptr -> peekByteOff hsc_ptr 32) ptr {-# LINE 253 "FreeType/Core/Types/Types.hsc" #-} poke ptr val = do (\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr $ val & bRows {-# LINE 256 "FreeType/Core/Types/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 4) ptr $ val & bWidth {-# LINE 257 "FreeType/Core/Types/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 8) ptr $ val & bPitch {-# LINE 258 "FreeType/Core/Types/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 16) ptr $ val & bBuffer {-# LINE 259 "FreeType/Core/Types/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 24) ptr $ val & bNum_grays {-# LINE 260 "FreeType/Core/Types/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 26) ptr $ val & bPixel_mode {-# LINE 261 "FreeType/Core/Types/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 27) ptr $ val & bPalette_mode {-# LINE 262 "FreeType/Core/Types/Types.hsc" #-} (\hsc_ptr -> pokeByteOff hsc_ptr 32) ptr $ val & bPalette {-# LINE 263 "FreeType/Core/Types/Types.hsc" #-} type FT_Glyph_Format = Word32 {-# LINE 267 "FreeType/Core/Types/Types.hsc" #-}