{-# OPTIONS_GHC -optc-D__GLASGOW_HASKELL__=606 #-} {-# OPTIONS_GHC -optc-D_GNU_SOURCE=1 #-} {-# OPTIONS_GHC -optc-D_REENTRANT #-} {-# INCLUDE "SDL_ttf.h" #-} {-# LINE 1 "Graphics/UI/SDL/TTF/Version.hsc" #-} {-# LINE 2 "Graphics/UI/SDL/TTF/Version.hsc" #-} module Graphics.UI.SDL.TTF.Version ( compiledFor , linkedWith ) where import Data.Version (Version(Version)) import Foreign (Word8, Ptr, Storable(sizeOf, alignment, peekByteOff, peek)) data SDLVersion = SDLVersion Word8 Word8 Word8 instance Storable SDLVersion where sizeOf _ = (3) {-# LINE 16 "Graphics/UI/SDL/TTF/Version.hsc" #-} alignment _ = 1 peek ptr = do major <- (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr {-# LINE 18 "Graphics/UI/SDL/TTF/Version.hsc" #-} minor <- (\hsc_ptr -> peekByteOff hsc_ptr 1) ptr {-# LINE 19 "Graphics/UI/SDL/TTF/Version.hsc" #-} patch <- (\hsc_ptr -> peekByteOff hsc_ptr 2) ptr {-# LINE 20 "Graphics/UI/SDL/TTF/Version.hsc" #-} return (SDLVersion major minor patch) compiledFor :: Version compiledFor = Version [ 2 {-# LINE 24 "Graphics/UI/SDL/TTF/Version.hsc" #-} , 0 {-# LINE 25 "Graphics/UI/SDL/TTF/Version.hsc" #-} , 8 {-# LINE 26 "Graphics/UI/SDL/TTF/Version.hsc" #-} ] [] foreign import ccall unsafe "TTF_Linked_Version" sdlLinkedVersion :: IO (Ptr SDLVersion) linkedWith :: IO Version linkedWith = do versionPtr <- sdlLinkedVersion SDLVersion major minor patch <- peek versionPtr return (Version (map fromIntegral [major,minor,patch]) [])