{-# OPTIONS -Wall #-}
module Raylib.Types where
import Foreign.C
( CString, CChar, CUShort, CUInt, CInt, CUChar, CFloat, CBool )
import Foreign
( Ptr,
plusPtr,
pokeArray,
peekArray,
castPtr,
Storable(pokeByteOff, poke, peek, alignment, sizeOf, peekByteOff) )
data ConfigFlag = VsyncHint
| FullscreenMode
| WindowResizable
| WindowUndecorated
| WindowHidden
| WindowMinimized
| WindowMaximized
| WindowUnfocused
| WindowTopmost
| WindowAlwaysRun
| WindowTransparent
| WindowHighdpi
| WindowMousePassthrough
| Msaa4xHint
| InterlacedHint
deriving (ConfigFlag -> ConfigFlag -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ConfigFlag -> ConfigFlag -> Bool
$c/= :: ConfigFlag -> ConfigFlag -> Bool
== :: ConfigFlag -> ConfigFlag -> Bool
$c== :: ConfigFlag -> ConfigFlag -> Bool
Eq, Int -> ConfigFlag -> ShowS
[ConfigFlag] -> ShowS
ConfigFlag -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ConfigFlag] -> ShowS
$cshowList :: [ConfigFlag] -> ShowS
show :: ConfigFlag -> String
$cshow :: ConfigFlag -> String
showsPrec :: Int -> ConfigFlag -> ShowS
$cshowsPrec :: Int -> ConfigFlag -> ShowS
Show)
instance Enum ConfigFlag where
fromEnum :: ConfigFlag -> Int
fromEnum ConfigFlag
g = case ConfigFlag
g of
ConfigFlag
VsyncHint -> Int
64
ConfigFlag
FullscreenMode -> Int
2
ConfigFlag
WindowResizable -> Int
4
ConfigFlag
WindowUndecorated -> Int
8
ConfigFlag
WindowHidden -> Int
128
ConfigFlag
WindowMinimized -> Int
512
ConfigFlag
WindowMaximized -> Int
1024
ConfigFlag
WindowUnfocused -> Int
2048
ConfigFlag
WindowTopmost -> Int
4096
ConfigFlag
WindowAlwaysRun -> Int
256
ConfigFlag
WindowTransparent -> Int
16
ConfigFlag
WindowHighdpi -> Int
8192
ConfigFlag
WindowMousePassthrough -> Int
16384
ConfigFlag
Msaa4xHint -> Int
32
ConfigFlag
InterlacedHint -> Int
65536
toEnum :: Int -> ConfigFlag
toEnum Int
x = case Int
x of
Int
64 -> ConfigFlag
VsyncHint
Int
2 -> ConfigFlag
FullscreenMode
Int
4 -> ConfigFlag
WindowResizable
Int
8 -> ConfigFlag
WindowUndecorated
Int
128 -> ConfigFlag
WindowHidden
Int
512 -> ConfigFlag
WindowMinimized
Int
1024 -> ConfigFlag
WindowMaximized
Int
2048 -> ConfigFlag
WindowUnfocused
Int
4096 -> ConfigFlag
WindowTopmost
Int
256 -> ConfigFlag
WindowAlwaysRun
Int
16 -> ConfigFlag
WindowTransparent
Int
8192 -> ConfigFlag
WindowHighdpi
Int
16384 -> ConfigFlag
WindowMousePassthrough
Int
32 -> ConfigFlag
Msaa4xHint
Int
65536 -> ConfigFlag
InterlacedHint
Int
n -> forall a. HasCallStack => String -> a
error forall a b. (a -> b) -> a -> b
$ String
"Invalid value " forall a. [a] -> [a] -> [a]
++ forall a. Show a => a -> String
show Int
n forall a. [a] -> [a] -> [a]
++ String
" for `toEnum`."
data TraceLogLevel = LogAll | LogTrace | LogDebug | LogInfo | LogWarning | LogError | LogFatal | LogNone
deriving (TraceLogLevel -> TraceLogLevel -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TraceLogLevel -> TraceLogLevel -> Bool
$c/= :: TraceLogLevel -> TraceLogLevel -> Bool
== :: TraceLogLevel -> TraceLogLevel -> Bool
$c== :: TraceLogLevel -> TraceLogLevel -> Bool
Eq, Int -> TraceLogLevel -> ShowS
[TraceLogLevel] -> ShowS
TraceLogLevel -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TraceLogLevel] -> ShowS
$cshowList :: [TraceLogLevel] -> ShowS
show :: TraceLogLevel -> String
$cshow :: TraceLogLevel -> String
showsPrec :: Int -> TraceLogLevel -> ShowS
$cshowsPrec :: Int -> TraceLogLevel -> ShowS
Show,Int -> TraceLogLevel
TraceLogLevel -> Int
TraceLogLevel -> [TraceLogLevel]
TraceLogLevel -> TraceLogLevel
TraceLogLevel -> TraceLogLevel -> [TraceLogLevel]
TraceLogLevel -> TraceLogLevel -> TraceLogLevel -> [TraceLogLevel]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: TraceLogLevel -> TraceLogLevel -> TraceLogLevel -> [TraceLogLevel]
$cenumFromThenTo :: TraceLogLevel -> TraceLogLevel -> TraceLogLevel -> [TraceLogLevel]
enumFromTo :: TraceLogLevel -> TraceLogLevel -> [TraceLogLevel]
$cenumFromTo :: TraceLogLevel -> TraceLogLevel -> [TraceLogLevel]
enumFromThen :: TraceLogLevel -> TraceLogLevel -> [TraceLogLevel]
$cenumFromThen :: TraceLogLevel -> TraceLogLevel -> [TraceLogLevel]
enumFrom :: TraceLogLevel -> [TraceLogLevel]
$cenumFrom :: TraceLogLevel -> [TraceLogLevel]
fromEnum :: TraceLogLevel -> Int
$cfromEnum :: TraceLogLevel -> Int
toEnum :: Int -> TraceLogLevel
$ctoEnum :: Int -> TraceLogLevel
pred :: TraceLogLevel -> TraceLogLevel
$cpred :: TraceLogLevel -> TraceLogLevel
succ :: TraceLogLevel -> TraceLogLevel
$csucc :: TraceLogLevel -> TraceLogLevel
Enum)
data KeyboardKey = KeyNull
| KeyApostrophe
| KeyComma
| KeyMinus
| KeyPeriod
| KeySlash
| KeyZero
| KeyOne
| KeyTwo
| KeyThree
| KeyFour
| KeyFive
| KeySix
| KeySeven
| KeyEight
| KeyNine
| KeySemicolon
| KeyEqual
| KeyA
| KeyB
| KeyC
| KeyD
| KeyE
| KeyF
| KeyG
| KeyH
| KeyI
| KeyJ
| KeyK
| KeyL
| KeyM
| KeyN
| KeyO
| KeyP
| KeyQ
| KeyR
| KeyS
| KeyT
| KeyU
| KeyV
| KeyW
| KeyX
| KeyY
| KeyZ
| KeyLeftBracket
| KeyBackslash
| KeyRightBracket
| KeyGrave
| KeySpace
| KeyEscape
| KeyEnter
| KeyTab
| KeyBackspace
| KeyInsert
| KeyDelete
| KeyRight
| KeyLeft
| KeyDown
| KeyUp
| KeyPageUp
| KeyPageDown
| KeyHome
| KeyEnd
| KeyCapsLock
| KeyScrollLock
| KeyNumLock
| KeyPrintScreen
| KeyPause
| KeyF1
| KeyF2
| KeyF3
| KeyF4
| KeyF5
| KeyF6
| KeyF7
| KeyF8
| KeyF9
| KeyF10
| KeyF11
| KeyF12
| KeyLeftShift
| KeyLeftControl
| KeyLeftAlt
| KeyLeftSuper
| KeyRightShift
| KeyRightControl
| KeyRightAlt
| KeyRightSuper
|
| KeyKp0
| KeyKp1
| KeyKp2
| KeyKp3
| KeyKp4
| KeyKp5
| KeyKp6
| KeyKp7
| KeyKp8
| KeyKp9
| KeyKpDecimal
| KeyKpDivide
| KeyKpMultiply
| KeyKpSubtract
| KeyKpAdd
| KeyKpEnter
| KeyKpEqual
| KeyBack
|
| KeyVolumeUp
| KeyVolumeDown
deriving (KeyboardKey -> KeyboardKey -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: KeyboardKey -> KeyboardKey -> Bool
$c/= :: KeyboardKey -> KeyboardKey -> Bool
== :: KeyboardKey -> KeyboardKey -> Bool
$c== :: KeyboardKey -> KeyboardKey -> Bool
Eq, Int -> KeyboardKey -> ShowS
[KeyboardKey] -> ShowS
KeyboardKey -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [KeyboardKey] -> ShowS
$cshowList :: [KeyboardKey] -> ShowS
show :: KeyboardKey -> String
$cshow :: KeyboardKey -> String
showsPrec :: Int -> KeyboardKey -> ShowS
$cshowsPrec :: Int -> KeyboardKey -> ShowS
Show)
instance Enum KeyboardKey where
fromEnum :: KeyboardKey -> Int
fromEnum KeyboardKey
k = case KeyboardKey
k of
KeyboardKey
KeyNull -> Int
0
KeyboardKey
KeyApostrophe -> Int
39
KeyboardKey
KeyComma -> Int
44
KeyboardKey
KeyMinus -> Int
45
KeyboardKey
KeyPeriod -> Int
46
KeyboardKey
KeySlash -> Int
47
KeyboardKey
KeyZero -> Int
48
KeyboardKey
KeyOne -> Int
49
KeyboardKey
KeyTwo -> Int
50
KeyboardKey
KeyThree -> Int
51
KeyboardKey
KeyFour -> Int
52
KeyboardKey
KeyFive -> Int
53
KeyboardKey
KeySix -> Int
54
KeyboardKey
KeySeven -> Int
55
KeyboardKey
KeyEight -> Int
56
KeyboardKey
KeyNine -> Int
57
KeyboardKey
KeySemicolon -> Int
59
KeyboardKey
KeyEqual -> Int
61
KeyboardKey
KeyA -> Int
65
KeyboardKey
KeyB -> Int
66
KeyboardKey
KeyC -> Int
67
KeyboardKey
KeyD -> Int
68
KeyboardKey
KeyE -> Int
69
KeyboardKey
KeyF -> Int
70
KeyboardKey
KeyG -> Int
71
KeyboardKey
KeyH -> Int
72
KeyboardKey
KeyI -> Int
73
KeyboardKey
KeyJ -> Int
74
KeyboardKey
KeyK -> Int
75
KeyboardKey
KeyL -> Int
76
KeyboardKey
KeyM -> Int
77
KeyboardKey
KeyN -> Int
78
KeyboardKey
KeyO -> Int
79
KeyboardKey
KeyP -> Int
80
KeyboardKey
KeyQ -> Int
81
KeyboardKey
KeyR -> Int
82
KeyboardKey
KeyS -> Int
83
KeyboardKey
KeyT -> Int
84
KeyboardKey
KeyU -> Int
85
KeyboardKey
KeyV -> Int
86
KeyboardKey
KeyW -> Int
87
KeyboardKey
KeyX -> Int
88
KeyboardKey
KeyY -> Int
89
KeyboardKey
KeyZ -> Int
90
KeyboardKey
KeyLeftBracket -> Int
91
KeyboardKey
KeyBackslash -> Int
92
KeyboardKey
KeyRightBracket -> Int
93
KeyboardKey
KeyGrave -> Int
96
KeyboardKey
KeySpace -> Int
32
KeyboardKey
KeyEscape -> Int
256
KeyboardKey
KeyEnter -> Int
257
KeyboardKey
KeyTab -> Int
258
KeyboardKey
KeyBackspace -> Int
259
KeyboardKey
KeyInsert -> Int
260
KeyboardKey
KeyDelete -> Int
261
KeyboardKey
KeyRight -> Int
262
KeyboardKey
KeyLeft -> Int
263
KeyboardKey
KeyDown -> Int
264
KeyboardKey
KeyUp -> Int
265
KeyboardKey
KeyPageUp -> Int
266
KeyboardKey
KeyPageDown -> Int
267
KeyboardKey
KeyHome -> Int
268
KeyboardKey
KeyEnd -> Int
269
KeyboardKey
KeyCapsLock -> Int
280
KeyboardKey
KeyScrollLock -> Int
281
KeyboardKey
KeyNumLock -> Int
282
KeyboardKey
KeyPrintScreen -> Int
283
KeyboardKey
KeyPause -> Int
284
KeyboardKey
KeyF1 -> Int
290
KeyboardKey
KeyF2 -> Int
291
KeyboardKey
KeyF3 -> Int
292
KeyboardKey
KeyF4 -> Int
293
KeyboardKey
KeyF5 -> Int
294
KeyboardKey
KeyF6 -> Int
295
KeyboardKey
KeyF7 -> Int
296
KeyboardKey
KeyF8 -> Int
297
KeyboardKey
KeyF9 -> Int
298
KeyboardKey
KeyF10 -> Int
299
KeyboardKey
KeyF11 -> Int
300
KeyboardKey
KeyF12 -> Int
301
KeyboardKey
KeyLeftShift -> Int
340
KeyboardKey
KeyLeftControl -> Int
341
KeyboardKey
KeyLeftAlt -> Int
342
KeyboardKey
KeyLeftSuper -> Int
343
KeyboardKey
KeyRightShift -> Int
344
KeyboardKey
KeyRightControl -> Int
345
KeyboardKey
KeyRightAlt -> Int
346
KeyboardKey
KeyRightSuper -> Int
347
KeyboardKey
KeyKbMenu -> Int
348
KeyboardKey
KeyKp0 -> Int
320
KeyboardKey
KeyKp1 -> Int
321
KeyboardKey
KeyKp2 -> Int
322
KeyboardKey
KeyKp3 -> Int
323
KeyboardKey
KeyKp4 -> Int
324
KeyboardKey
KeyKp5 -> Int
325
KeyboardKey
KeyKp6 -> Int
326
KeyboardKey
KeyKp7 -> Int
327
KeyboardKey
KeyKp8 -> Int
328
KeyboardKey
KeyKp9 -> Int
329
KeyboardKey
KeyKpDecimal -> Int
330
KeyboardKey
KeyKpDivide -> Int
331
KeyboardKey
KeyKpMultiply -> Int
332
KeyboardKey
KeyKpSubtract -> Int
333
KeyboardKey
KeyKpAdd -> Int
334
KeyboardKey
KeyKpEnter -> Int
335
KeyboardKey
KeyKpEqual -> Int
336
KeyboardKey
KeyBack -> Int
4
KeyboardKey
KeyMenu -> Int
82
KeyboardKey
KeyVolumeUp -> Int
24
KeyboardKey
KeyVolumeDown -> Int
25
toEnum :: Int -> KeyboardKey
toEnum Int
n = case Int
n of
Int
0 -> KeyboardKey
KeyNull
Int
39 -> KeyboardKey
KeyApostrophe
Int
44 -> KeyboardKey
KeyComma
Int
45 -> KeyboardKey
KeyMinus
Int
46 -> KeyboardKey
KeyPeriod
Int
47 -> KeyboardKey
KeySlash
Int
48 -> KeyboardKey
KeyZero
Int
49 -> KeyboardKey
KeyOne
Int
50 -> KeyboardKey
KeyTwo
Int
51 -> KeyboardKey
KeyThree
Int
52 -> KeyboardKey
KeyFour
Int
53 -> KeyboardKey
KeyFive
Int
54 -> KeyboardKey
KeySix
Int
55 -> KeyboardKey
KeySeven
Int
56 -> KeyboardKey
KeyEight
Int
57 -> KeyboardKey
KeyNine
Int
59 -> KeyboardKey
KeySemicolon
Int
61 -> KeyboardKey
KeyEqual
Int
65 -> KeyboardKey
KeyA
Int
66 -> KeyboardKey
KeyB
Int
67 -> KeyboardKey
KeyC
Int
68 -> KeyboardKey
KeyD
Int
69 -> KeyboardKey
KeyE
Int
70 -> KeyboardKey
KeyF
Int
71 -> KeyboardKey
KeyG
Int
72 -> KeyboardKey
KeyH
Int
73 -> KeyboardKey
KeyI
Int
74 -> KeyboardKey
KeyJ
Int
75 -> KeyboardKey
KeyK
Int
76 -> KeyboardKey
KeyL
Int
77 -> KeyboardKey
KeyM
Int
78 -> KeyboardKey
KeyN
Int
79 -> KeyboardKey
KeyO
Int
80 -> KeyboardKey
KeyP
Int
81 -> KeyboardKey
KeyQ
Int
82 -> KeyboardKey
KeyR
Int
83 -> KeyboardKey
KeyS
Int
84 -> KeyboardKey
KeyT
Int
85 -> KeyboardKey
KeyU
Int
86 -> KeyboardKey
KeyV
Int
87 -> KeyboardKey
KeyW
Int
88 -> KeyboardKey
KeyX
Int
89 -> KeyboardKey
KeyY
Int
90 -> KeyboardKey
KeyZ
Int
91 -> KeyboardKey
KeyLeftBracket
Int
92 -> KeyboardKey
KeyBackslash
Int
93 -> KeyboardKey
KeyRightBracket
Int
96 -> KeyboardKey
KeyGrave
Int
32 -> KeyboardKey
KeySpace
Int
256 -> KeyboardKey
KeyEscape
Int
257 -> KeyboardKey
KeyEnter
Int
258 -> KeyboardKey
KeyTab
Int
259 -> KeyboardKey
KeyBackspace
Int
260 -> KeyboardKey
KeyInsert
Int
261 -> KeyboardKey
KeyDelete
Int
262 -> KeyboardKey
KeyRight
Int
263 -> KeyboardKey
KeyLeft
Int
264 -> KeyboardKey
KeyDown
Int
265 -> KeyboardKey
KeyUp
Int
266 -> KeyboardKey
KeyPageUp
Int
267 -> KeyboardKey
KeyPageDown
Int
268 -> KeyboardKey
KeyHome
Int
269 -> KeyboardKey
KeyEnd
Int
280 -> KeyboardKey
KeyCapsLock
Int
281 -> KeyboardKey
KeyScrollLock
Int
282 -> KeyboardKey
KeyNumLock
Int
283 -> KeyboardKey
KeyPrintScreen
Int
284 -> KeyboardKey
KeyPause
Int
290 -> KeyboardKey
KeyF1
Int
291 -> KeyboardKey
KeyF2
Int
292 -> KeyboardKey
KeyF3
Int
293 -> KeyboardKey
KeyF4
Int
294 -> KeyboardKey
KeyF5
Int
295 -> KeyboardKey
KeyF6
Int
296 -> KeyboardKey
KeyF7
Int
297 -> KeyboardKey
KeyF8
Int
298 -> KeyboardKey
KeyF9
Int
299 -> KeyboardKey
KeyF10
Int
300 -> KeyboardKey
KeyF11
Int
301 -> KeyboardKey
KeyF12
Int
340 -> KeyboardKey
KeyLeftShift
Int
341 -> KeyboardKey
KeyLeftControl
Int
342 -> KeyboardKey
KeyLeftAlt
Int
343 -> KeyboardKey
KeyLeftSuper
Int
344 -> KeyboardKey
KeyRightShift
Int
345 -> KeyboardKey
KeyRightControl
Int
346 -> KeyboardKey
KeyRightAlt
Int
347 -> KeyboardKey
KeyRightSuper
Int
348 -> KeyboardKey
KeyKbMenu
Int
320 -> KeyboardKey
KeyKp0
Int
321 -> KeyboardKey
KeyKp1
Int
322 -> KeyboardKey
KeyKp2
Int
323 -> KeyboardKey
KeyKp3
Int
324 -> KeyboardKey
KeyKp4
Int
325 -> KeyboardKey
KeyKp5
Int
326 -> KeyboardKey
KeyKp6
Int
327 -> KeyboardKey
KeyKp7
Int
328 -> KeyboardKey
KeyKp8
Int
329 -> KeyboardKey
KeyKp9
Int
330 -> KeyboardKey
KeyKpDecimal
Int
331 -> KeyboardKey
KeyKpDivide
Int
332 -> KeyboardKey
KeyKpMultiply
Int
333 -> KeyboardKey
KeyKpSubtract
Int
334 -> KeyboardKey
KeyKpAdd
Int
335 -> KeyboardKey
KeyKpEnter
Int
336 -> KeyboardKey
KeyKpEqual
Int
4 -> KeyboardKey
KeyBack
Int
24 -> KeyboardKey
KeyVolumeUp
Int
25 -> KeyboardKey
KeyVolumeDown
Int
x -> forall a. HasCallStack => String -> a
error forall a b. (a -> b) -> a -> b
$ String
"Invalid value " forall a. [a] -> [a] -> [a]
++ forall a. Show a => a -> String
show Int
x forall a. [a] -> [a] -> [a]
++ String
" for `fromEnum`."
data MouseButton
= MouseButtonLeft
| MouseButtonRight
| MouseButtonMiddle
| MouseButtonSide
|
| MouseButtonForward
| MouseButtonBack
deriving (MouseButton -> MouseButton -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MouseButton -> MouseButton -> Bool
$c/= :: MouseButton -> MouseButton -> Bool
== :: MouseButton -> MouseButton -> Bool
$c== :: MouseButton -> MouseButton -> Bool
Eq, Int -> MouseButton -> ShowS
[MouseButton] -> ShowS
MouseButton -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MouseButton] -> ShowS
$cshowList :: [MouseButton] -> ShowS
show :: MouseButton -> String
$cshow :: MouseButton -> String
showsPrec :: Int -> MouseButton -> ShowS
$cshowsPrec :: Int -> MouseButton -> ShowS
Show, Int -> MouseButton
MouseButton -> Int
MouseButton -> [MouseButton]
MouseButton -> MouseButton
MouseButton -> MouseButton -> [MouseButton]
MouseButton -> MouseButton -> MouseButton -> [MouseButton]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: MouseButton -> MouseButton -> MouseButton -> [MouseButton]
$cenumFromThenTo :: MouseButton -> MouseButton -> MouseButton -> [MouseButton]
enumFromTo :: MouseButton -> MouseButton -> [MouseButton]
$cenumFromTo :: MouseButton -> MouseButton -> [MouseButton]
enumFromThen :: MouseButton -> MouseButton -> [MouseButton]
$cenumFromThen :: MouseButton -> MouseButton -> [MouseButton]
enumFrom :: MouseButton -> [MouseButton]
$cenumFrom :: MouseButton -> [MouseButton]
fromEnum :: MouseButton -> Int
$cfromEnum :: MouseButton -> Int
toEnum :: Int -> MouseButton
$ctoEnum :: Int -> MouseButton
pred :: MouseButton -> MouseButton
$cpred :: MouseButton -> MouseButton
succ :: MouseButton -> MouseButton
$csucc :: MouseButton -> MouseButton
Enum)
data MouseCursor
= MouseCursorDefault
| MouseCursorArrow
| MouseCursorIbeam
| MouseCursorCrosshair
| MouseCursorPointingHand
| MouseCursorResizeEW
| MouseCursorResizeNS
| MouseCursorResizeNWSE
| MouseCursorResizeNESW
| MouseCursorResizeAll
| MouseCursorNotAllowed
deriving (MouseCursor -> MouseCursor -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MouseCursor -> MouseCursor -> Bool
$c/= :: MouseCursor -> MouseCursor -> Bool
== :: MouseCursor -> MouseCursor -> Bool
$c== :: MouseCursor -> MouseCursor -> Bool
Eq, Int -> MouseCursor -> ShowS
[MouseCursor] -> ShowS
MouseCursor -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MouseCursor] -> ShowS
$cshowList :: [MouseCursor] -> ShowS
show :: MouseCursor -> String
$cshow :: MouseCursor -> String
showsPrec :: Int -> MouseCursor -> ShowS
$cshowsPrec :: Int -> MouseCursor -> ShowS
Show, Int -> MouseCursor
MouseCursor -> Int
MouseCursor -> [MouseCursor]
MouseCursor -> MouseCursor
MouseCursor -> MouseCursor -> [MouseCursor]
MouseCursor -> MouseCursor -> MouseCursor -> [MouseCursor]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: MouseCursor -> MouseCursor -> MouseCursor -> [MouseCursor]
$cenumFromThenTo :: MouseCursor -> MouseCursor -> MouseCursor -> [MouseCursor]
enumFromTo :: MouseCursor -> MouseCursor -> [MouseCursor]
$cenumFromTo :: MouseCursor -> MouseCursor -> [MouseCursor]
enumFromThen :: MouseCursor -> MouseCursor -> [MouseCursor]
$cenumFromThen :: MouseCursor -> MouseCursor -> [MouseCursor]
enumFrom :: MouseCursor -> [MouseCursor]
$cenumFrom :: MouseCursor -> [MouseCursor]
fromEnum :: MouseCursor -> Int
$cfromEnum :: MouseCursor -> Int
toEnum :: Int -> MouseCursor
$ctoEnum :: Int -> MouseCursor
pred :: MouseCursor -> MouseCursor
$cpred :: MouseCursor -> MouseCursor
succ :: MouseCursor -> MouseCursor
$csucc :: MouseCursor -> MouseCursor
Enum)
data GamepadButton = GamepadButtonUnknown
| GamepadButtonUnknownLeftFaceUp
| GamepadButtonLeftFaceRight
| GamepadButtonLeftFaceDown
| GamepadButtonLeftFaceLeft
| GamepadButtonRightFaceUp
| GamepadButtonRightFaceRight
| GamepadButtonRightFaceDown
| GamepadButtonRightFaceLeft
| GamepadButtonLeftTrigger1
| GamepadButtonLeftTrigger2
| GamepadButtonRightTrigger1
| GamepadButtonRightTrigger2
| GamepadButtonMiddleLeft
| GamepadButtonMiddle
| GamepadButtonMiddleRight
| GamepadButtonLeftThumb
| GamepadButtonRightThumb
deriving (GamepadButton -> GamepadButton -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GamepadButton -> GamepadButton -> Bool
$c/= :: GamepadButton -> GamepadButton -> Bool
== :: GamepadButton -> GamepadButton -> Bool
$c== :: GamepadButton -> GamepadButton -> Bool
Eq, Int -> GamepadButton -> ShowS
[GamepadButton] -> ShowS
GamepadButton -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GamepadButton] -> ShowS
$cshowList :: [GamepadButton] -> ShowS
show :: GamepadButton -> String
$cshow :: GamepadButton -> String
showsPrec :: Int -> GamepadButton -> ShowS
$cshowsPrec :: Int -> GamepadButton -> ShowS
Show, Int -> GamepadButton
GamepadButton -> Int
GamepadButton -> [GamepadButton]
GamepadButton -> GamepadButton
GamepadButton -> GamepadButton -> [GamepadButton]
GamepadButton -> GamepadButton -> GamepadButton -> [GamepadButton]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: GamepadButton -> GamepadButton -> GamepadButton -> [GamepadButton]
$cenumFromThenTo :: GamepadButton -> GamepadButton -> GamepadButton -> [GamepadButton]
enumFromTo :: GamepadButton -> GamepadButton -> [GamepadButton]
$cenumFromTo :: GamepadButton -> GamepadButton -> [GamepadButton]
enumFromThen :: GamepadButton -> GamepadButton -> [GamepadButton]
$cenumFromThen :: GamepadButton -> GamepadButton -> [GamepadButton]
enumFrom :: GamepadButton -> [GamepadButton]
$cenumFrom :: GamepadButton -> [GamepadButton]
fromEnum :: GamepadButton -> Int
$cfromEnum :: GamepadButton -> Int
toEnum :: Int -> GamepadButton
$ctoEnum :: Int -> GamepadButton
pred :: GamepadButton -> GamepadButton
$cpred :: GamepadButton -> GamepadButton
succ :: GamepadButton -> GamepadButton
$csucc :: GamepadButton -> GamepadButton
Enum)
data GamepadAxis = GamepadAxisLeftX
| GamepadAxisLeftY
| GamepadAxisRightX
| GamepadAxisRightY
| GamepadAxisLeftTrigger
| GamepadAxisRightTrigger
deriving (GamepadAxis -> GamepadAxis -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GamepadAxis -> GamepadAxis -> Bool
$c/= :: GamepadAxis -> GamepadAxis -> Bool
== :: GamepadAxis -> GamepadAxis -> Bool
$c== :: GamepadAxis -> GamepadAxis -> Bool
Eq, Int -> GamepadAxis -> ShowS
[GamepadAxis] -> ShowS
GamepadAxis -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GamepadAxis] -> ShowS
$cshowList :: [GamepadAxis] -> ShowS
show :: GamepadAxis -> String
$cshow :: GamepadAxis -> String
showsPrec :: Int -> GamepadAxis -> ShowS
$cshowsPrec :: Int -> GamepadAxis -> ShowS
Show, Int -> GamepadAxis
GamepadAxis -> Int
GamepadAxis -> [GamepadAxis]
GamepadAxis -> GamepadAxis
GamepadAxis -> GamepadAxis -> [GamepadAxis]
GamepadAxis -> GamepadAxis -> GamepadAxis -> [GamepadAxis]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: GamepadAxis -> GamepadAxis -> GamepadAxis -> [GamepadAxis]
$cenumFromThenTo :: GamepadAxis -> GamepadAxis -> GamepadAxis -> [GamepadAxis]
enumFromTo :: GamepadAxis -> GamepadAxis -> [GamepadAxis]
$cenumFromTo :: GamepadAxis -> GamepadAxis -> [GamepadAxis]
enumFromThen :: GamepadAxis -> GamepadAxis -> [GamepadAxis]
$cenumFromThen :: GamepadAxis -> GamepadAxis -> [GamepadAxis]
enumFrom :: GamepadAxis -> [GamepadAxis]
$cenumFrom :: GamepadAxis -> [GamepadAxis]
fromEnum :: GamepadAxis -> Int
$cfromEnum :: GamepadAxis -> Int
toEnum :: Int -> GamepadAxis
$ctoEnum :: Int -> GamepadAxis
pred :: GamepadAxis -> GamepadAxis
$cpred :: GamepadAxis -> GamepadAxis
succ :: GamepadAxis -> GamepadAxis
$csucc :: GamepadAxis -> GamepadAxis
Enum)
data MaterialMapIndex = MaterialMapAlbedo
| MaterialMapMetalness
| MaterialMapNormal
| MaterialMapRoughness
| MaterialMapOcclusion
| MaterialMapEmission
| MaterialMapHeight
| MaterialMapCubemap
| MaterialMapIrradiance
| MaterialMapPrefilter
| MaterialMapBrdf
deriving (MaterialMapIndex -> MaterialMapIndex -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MaterialMapIndex -> MaterialMapIndex -> Bool
$c/= :: MaterialMapIndex -> MaterialMapIndex -> Bool
== :: MaterialMapIndex -> MaterialMapIndex -> Bool
$c== :: MaterialMapIndex -> MaterialMapIndex -> Bool
Eq, Int -> MaterialMapIndex -> ShowS
[MaterialMapIndex] -> ShowS
MaterialMapIndex -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MaterialMapIndex] -> ShowS
$cshowList :: [MaterialMapIndex] -> ShowS
show :: MaterialMapIndex -> String
$cshow :: MaterialMapIndex -> String
showsPrec :: Int -> MaterialMapIndex -> ShowS
$cshowsPrec :: Int -> MaterialMapIndex -> ShowS
Show, Int -> MaterialMapIndex
MaterialMapIndex -> Int
MaterialMapIndex -> [MaterialMapIndex]
MaterialMapIndex -> MaterialMapIndex
MaterialMapIndex -> MaterialMapIndex -> [MaterialMapIndex]
MaterialMapIndex
-> MaterialMapIndex -> MaterialMapIndex -> [MaterialMapIndex]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: MaterialMapIndex
-> MaterialMapIndex -> MaterialMapIndex -> [MaterialMapIndex]
$cenumFromThenTo :: MaterialMapIndex
-> MaterialMapIndex -> MaterialMapIndex -> [MaterialMapIndex]
enumFromTo :: MaterialMapIndex -> MaterialMapIndex -> [MaterialMapIndex]
$cenumFromTo :: MaterialMapIndex -> MaterialMapIndex -> [MaterialMapIndex]
enumFromThen :: MaterialMapIndex -> MaterialMapIndex -> [MaterialMapIndex]
$cenumFromThen :: MaterialMapIndex -> MaterialMapIndex -> [MaterialMapIndex]
enumFrom :: MaterialMapIndex -> [MaterialMapIndex]
$cenumFrom :: MaterialMapIndex -> [MaterialMapIndex]
fromEnum :: MaterialMapIndex -> Int
$cfromEnum :: MaterialMapIndex -> Int
toEnum :: Int -> MaterialMapIndex
$ctoEnum :: Int -> MaterialMapIndex
pred :: MaterialMapIndex -> MaterialMapIndex
$cpred :: MaterialMapIndex -> MaterialMapIndex
succ :: MaterialMapIndex -> MaterialMapIndex
$csucc :: MaterialMapIndex -> MaterialMapIndex
Enum)
data ShaderLocationIndex = ShaderLocVertexPosition
| ShaderLocVertexTexcoord01
| ShaderLocVertexTexcoord02
| ShaderLocVertexNormal
| ShaderLocVertexTangent
| ShaderLocVertexColor
| ShaderLocMatrixMvp
| ShaderLocMatrixView
| ShaderLocMatrixProjection
| ShaderLocMatrixModel
| ShaderLocMatrixNormal
| ShaderLocVectorView
| ShaderLocColorDiffuse
| ShaderLocColorSpecular
| ShaderLocColorAmbient
| ShaderLocMapAlbedo
| ShaderLocMapMetalness
| ShaderLocMapNormal
| ShaderLocMapRoughness
| ShaderLocMapOcclusion
| ShaderLocMapEmission
| ShaderLocMapHeight
| ShaderLocMapCubemap
| ShaderLocMapIrradiance
| ShaderLocMapPrefilter
| ShaderLocMapBrdf
deriving (ShaderLocationIndex -> ShaderLocationIndex -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ShaderLocationIndex -> ShaderLocationIndex -> Bool
$c/= :: ShaderLocationIndex -> ShaderLocationIndex -> Bool
== :: ShaderLocationIndex -> ShaderLocationIndex -> Bool
$c== :: ShaderLocationIndex -> ShaderLocationIndex -> Bool
Eq, Int -> ShaderLocationIndex -> ShowS
[ShaderLocationIndex] -> ShowS
ShaderLocationIndex -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ShaderLocationIndex] -> ShowS
$cshowList :: [ShaderLocationIndex] -> ShowS
show :: ShaderLocationIndex -> String
$cshow :: ShaderLocationIndex -> String
showsPrec :: Int -> ShaderLocationIndex -> ShowS
$cshowsPrec :: Int -> ShaderLocationIndex -> ShowS
Show, Int -> ShaderLocationIndex
ShaderLocationIndex -> Int
ShaderLocationIndex -> [ShaderLocationIndex]
ShaderLocationIndex -> ShaderLocationIndex
ShaderLocationIndex -> ShaderLocationIndex -> [ShaderLocationIndex]
ShaderLocationIndex
-> ShaderLocationIndex
-> ShaderLocationIndex
-> [ShaderLocationIndex]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: ShaderLocationIndex
-> ShaderLocationIndex
-> ShaderLocationIndex
-> [ShaderLocationIndex]
$cenumFromThenTo :: ShaderLocationIndex
-> ShaderLocationIndex
-> ShaderLocationIndex
-> [ShaderLocationIndex]
enumFromTo :: ShaderLocationIndex -> ShaderLocationIndex -> [ShaderLocationIndex]
$cenumFromTo :: ShaderLocationIndex -> ShaderLocationIndex -> [ShaderLocationIndex]
enumFromThen :: ShaderLocationIndex -> ShaderLocationIndex -> [ShaderLocationIndex]
$cenumFromThen :: ShaderLocationIndex -> ShaderLocationIndex -> [ShaderLocationIndex]
enumFrom :: ShaderLocationIndex -> [ShaderLocationIndex]
$cenumFrom :: ShaderLocationIndex -> [ShaderLocationIndex]
fromEnum :: ShaderLocationIndex -> Int
$cfromEnum :: ShaderLocationIndex -> Int
toEnum :: Int -> ShaderLocationIndex
$ctoEnum :: Int -> ShaderLocationIndex
pred :: ShaderLocationIndex -> ShaderLocationIndex
$cpred :: ShaderLocationIndex -> ShaderLocationIndex
succ :: ShaderLocationIndex -> ShaderLocationIndex
$csucc :: ShaderLocationIndex -> ShaderLocationIndex
Enum)
data ShaderUniformDataType = ShaderUniformFloat
| ShaderUniformVec2
| ShaderUniformVec3
| ShaderUniformVec4
| ShaderUniformInt
| ShaderUniformIvec2
| ShaderUniformIvec3
| ShaderUniformIvec4
| ShaderUniformSampler2d
deriving (ShaderUniformDataType -> ShaderUniformDataType -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ShaderUniformDataType -> ShaderUniformDataType -> Bool
$c/= :: ShaderUniformDataType -> ShaderUniformDataType -> Bool
== :: ShaderUniformDataType -> ShaderUniformDataType -> Bool
$c== :: ShaderUniformDataType -> ShaderUniformDataType -> Bool
Eq, Int -> ShaderUniformDataType -> ShowS
[ShaderUniformDataType] -> ShowS
ShaderUniformDataType -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ShaderUniformDataType] -> ShowS
$cshowList :: [ShaderUniformDataType] -> ShowS
show :: ShaderUniformDataType -> String
$cshow :: ShaderUniformDataType -> String
showsPrec :: Int -> ShaderUniformDataType -> ShowS
$cshowsPrec :: Int -> ShaderUniformDataType -> ShowS
Show, Int -> ShaderUniformDataType
ShaderUniformDataType -> Int
ShaderUniformDataType -> [ShaderUniformDataType]
ShaderUniformDataType -> ShaderUniformDataType
ShaderUniformDataType
-> ShaderUniformDataType -> [ShaderUniformDataType]
ShaderUniformDataType
-> ShaderUniformDataType
-> ShaderUniformDataType
-> [ShaderUniformDataType]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: ShaderUniformDataType
-> ShaderUniformDataType
-> ShaderUniformDataType
-> [ShaderUniformDataType]
$cenumFromThenTo :: ShaderUniformDataType
-> ShaderUniformDataType
-> ShaderUniformDataType
-> [ShaderUniformDataType]
enumFromTo :: ShaderUniformDataType
-> ShaderUniformDataType -> [ShaderUniformDataType]
$cenumFromTo :: ShaderUniformDataType
-> ShaderUniformDataType -> [ShaderUniformDataType]
enumFromThen :: ShaderUniformDataType
-> ShaderUniformDataType -> [ShaderUniformDataType]
$cenumFromThen :: ShaderUniformDataType
-> ShaderUniformDataType -> [ShaderUniformDataType]
enumFrom :: ShaderUniformDataType -> [ShaderUniformDataType]
$cenumFrom :: ShaderUniformDataType -> [ShaderUniformDataType]
fromEnum :: ShaderUniformDataType -> Int
$cfromEnum :: ShaderUniformDataType -> Int
toEnum :: Int -> ShaderUniformDataType
$ctoEnum :: Int -> ShaderUniformDataType
pred :: ShaderUniformDataType -> ShaderUniformDataType
$cpred :: ShaderUniformDataType -> ShaderUniformDataType
succ :: ShaderUniformDataType -> ShaderUniformDataType
$csucc :: ShaderUniformDataType -> ShaderUniformDataType
Enum)
data ShaderAttributeDataType = ShaderAttribFloat
| ShaderAttribVec2
| ShaderAttribVec3
| ShaderAttribVec4
deriving (ShaderAttributeDataType -> ShaderAttributeDataType -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ShaderAttributeDataType -> ShaderAttributeDataType -> Bool
$c/= :: ShaderAttributeDataType -> ShaderAttributeDataType -> Bool
== :: ShaderAttributeDataType -> ShaderAttributeDataType -> Bool
$c== :: ShaderAttributeDataType -> ShaderAttributeDataType -> Bool
Eq, Int -> ShaderAttributeDataType -> ShowS
[ShaderAttributeDataType] -> ShowS
ShaderAttributeDataType -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ShaderAttributeDataType] -> ShowS
$cshowList :: [ShaderAttributeDataType] -> ShowS
show :: ShaderAttributeDataType -> String
$cshow :: ShaderAttributeDataType -> String
showsPrec :: Int -> ShaderAttributeDataType -> ShowS
$cshowsPrec :: Int -> ShaderAttributeDataType -> ShowS
Show, Int -> ShaderAttributeDataType
ShaderAttributeDataType -> Int
ShaderAttributeDataType -> [ShaderAttributeDataType]
ShaderAttributeDataType -> ShaderAttributeDataType
ShaderAttributeDataType
-> ShaderAttributeDataType -> [ShaderAttributeDataType]
ShaderAttributeDataType
-> ShaderAttributeDataType
-> ShaderAttributeDataType
-> [ShaderAttributeDataType]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: ShaderAttributeDataType
-> ShaderAttributeDataType
-> ShaderAttributeDataType
-> [ShaderAttributeDataType]
$cenumFromThenTo :: ShaderAttributeDataType
-> ShaderAttributeDataType
-> ShaderAttributeDataType
-> [ShaderAttributeDataType]
enumFromTo :: ShaderAttributeDataType
-> ShaderAttributeDataType -> [ShaderAttributeDataType]
$cenumFromTo :: ShaderAttributeDataType
-> ShaderAttributeDataType -> [ShaderAttributeDataType]
enumFromThen :: ShaderAttributeDataType
-> ShaderAttributeDataType -> [ShaderAttributeDataType]
$cenumFromThen :: ShaderAttributeDataType
-> ShaderAttributeDataType -> [ShaderAttributeDataType]
enumFrom :: ShaderAttributeDataType -> [ShaderAttributeDataType]
$cenumFrom :: ShaderAttributeDataType -> [ShaderAttributeDataType]
fromEnum :: ShaderAttributeDataType -> Int
$cfromEnum :: ShaderAttributeDataType -> Int
toEnum :: Int -> ShaderAttributeDataType
$ctoEnum :: Int -> ShaderAttributeDataType
pred :: ShaderAttributeDataType -> ShaderAttributeDataType
$cpred :: ShaderAttributeDataType -> ShaderAttributeDataType
succ :: ShaderAttributeDataType -> ShaderAttributeDataType
$csucc :: ShaderAttributeDataType -> ShaderAttributeDataType
Enum)
data PixelFormat = PixelFormatUncompressedGrayscale
| PixelFormatUncompressedGrayAlpha
| PixelFormatUncompressedR5G6B5
| PixelFormatUncompressedR8G8B8
| PixelFormatUncompressedR5G5B5A1
| PixelFormatUncompressedR4G4B4A4
| PixelFormatUncompressedR8G8B8A8
| PixelFormatUncompressedR32
| PixelFormatUncompressedR32G32B32
| PixelFormatUncompressedR32G32B32A32
| PixelFormatCompressedDxt1Rgb
| PixelFormatCompressedDxt1Rgba
| PixelFormatCompressedDxt3Rgba
| PixelFormatCompressedDxt5Rgba
| PixelFormatCompressedEtc1Rgb
| PixelFormatCompressedEtc2Rgb
| PixelFormatCompressedEtc2EacRgba
| PixelFormatCompressedPvrtRgb
| PixelFormatCompressedPvrtRgba
| PixelFormatCompressedAstc4x4Rgba
| PixelFormatCompressedAstc8x8Rgba
deriving (PixelFormat -> PixelFormat -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PixelFormat -> PixelFormat -> Bool
$c/= :: PixelFormat -> PixelFormat -> Bool
== :: PixelFormat -> PixelFormat -> Bool
$c== :: PixelFormat -> PixelFormat -> Bool
Eq, Int -> PixelFormat -> ShowS
[PixelFormat] -> ShowS
PixelFormat -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PixelFormat] -> ShowS
$cshowList :: [PixelFormat] -> ShowS
show :: PixelFormat -> String
$cshow :: PixelFormat -> String
showsPrec :: Int -> PixelFormat -> ShowS
$cshowsPrec :: Int -> PixelFormat -> ShowS
Show, Int -> PixelFormat
PixelFormat -> Int
PixelFormat -> [PixelFormat]
PixelFormat -> PixelFormat
PixelFormat -> PixelFormat -> [PixelFormat]
PixelFormat -> PixelFormat -> PixelFormat -> [PixelFormat]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: PixelFormat -> PixelFormat -> PixelFormat -> [PixelFormat]
$cenumFromThenTo :: PixelFormat -> PixelFormat -> PixelFormat -> [PixelFormat]
enumFromTo :: PixelFormat -> PixelFormat -> [PixelFormat]
$cenumFromTo :: PixelFormat -> PixelFormat -> [PixelFormat]
enumFromThen :: PixelFormat -> PixelFormat -> [PixelFormat]
$cenumFromThen :: PixelFormat -> PixelFormat -> [PixelFormat]
enumFrom :: PixelFormat -> [PixelFormat]
$cenumFrom :: PixelFormat -> [PixelFormat]
fromEnum :: PixelFormat -> Int
$cfromEnum :: PixelFormat -> Int
toEnum :: Int -> PixelFormat
$ctoEnum :: Int -> PixelFormat
pred :: PixelFormat -> PixelFormat
$cpred :: PixelFormat -> PixelFormat
succ :: PixelFormat -> PixelFormat
$csucc :: PixelFormat -> PixelFormat
Enum)
instance Storable PixelFormat where
sizeOf :: PixelFormat -> Int
sizeOf PixelFormat
_ = Int
4
alignment :: PixelFormat -> Int
alignment PixelFormat
_ = Int
4
peek :: Ptr PixelFormat -> IO PixelFormat
peek Ptr PixelFormat
ptr = do
CInt
val <- forall a. Storable a => Ptr a -> IO a
peek (forall a b. Ptr a -> Ptr b
castPtr Ptr PixelFormat
ptr)
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ forall a. Enum a => Int -> a
toEnum forall a b. (a -> b) -> a -> b
$ forall a. Enum a => a -> Int
fromEnum (CInt
val :: CInt)
poke :: Ptr PixelFormat -> PixelFormat -> IO ()
poke Ptr PixelFormat
ptr PixelFormat
v = forall a. Storable a => Ptr a -> a -> IO ()
poke (forall a b. Ptr a -> Ptr b
castPtr Ptr PixelFormat
ptr) (forall a. Enum a => Int -> a
toEnum forall a b. (a -> b) -> a -> b
$ forall a. Enum a => a -> Int
fromEnum PixelFormat
v :: CInt)
data TextureFilter = TextureFilterPoint
| TextureFilterBilinear
| TextureFilterTrilinear
| TextureFilterAnisotropic4x
| TextureFilterAnisotropic8x
| TextureFilterAnisotropic16x
deriving Int -> TextureFilter
TextureFilter -> Int
TextureFilter -> [TextureFilter]
TextureFilter -> TextureFilter
TextureFilter -> TextureFilter -> [TextureFilter]
TextureFilter -> TextureFilter -> TextureFilter -> [TextureFilter]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: TextureFilter -> TextureFilter -> TextureFilter -> [TextureFilter]
$cenumFromThenTo :: TextureFilter -> TextureFilter -> TextureFilter -> [TextureFilter]
enumFromTo :: TextureFilter -> TextureFilter -> [TextureFilter]
$cenumFromTo :: TextureFilter -> TextureFilter -> [TextureFilter]
enumFromThen :: TextureFilter -> TextureFilter -> [TextureFilter]
$cenumFromThen :: TextureFilter -> TextureFilter -> [TextureFilter]
enumFrom :: TextureFilter -> [TextureFilter]
$cenumFrom :: TextureFilter -> [TextureFilter]
fromEnum :: TextureFilter -> Int
$cfromEnum :: TextureFilter -> Int
toEnum :: Int -> TextureFilter
$ctoEnum :: Int -> TextureFilter
pred :: TextureFilter -> TextureFilter
$cpred :: TextureFilter -> TextureFilter
succ :: TextureFilter -> TextureFilter
$csucc :: TextureFilter -> TextureFilter
Enum
data TextureWrap = TextureWrapRepeat
| TextureWrapClamp
| TextureWrapMirrorRepeat
| TextureWrapMirrorClamp
deriving Int -> TextureWrap
TextureWrap -> Int
TextureWrap -> [TextureWrap]
TextureWrap -> TextureWrap
TextureWrap -> TextureWrap -> [TextureWrap]
TextureWrap -> TextureWrap -> TextureWrap -> [TextureWrap]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: TextureWrap -> TextureWrap -> TextureWrap -> [TextureWrap]
$cenumFromThenTo :: TextureWrap -> TextureWrap -> TextureWrap -> [TextureWrap]
enumFromTo :: TextureWrap -> TextureWrap -> [TextureWrap]
$cenumFromTo :: TextureWrap -> TextureWrap -> [TextureWrap]
enumFromThen :: TextureWrap -> TextureWrap -> [TextureWrap]
$cenumFromThen :: TextureWrap -> TextureWrap -> [TextureWrap]
enumFrom :: TextureWrap -> [TextureWrap]
$cenumFrom :: TextureWrap -> [TextureWrap]
fromEnum :: TextureWrap -> Int
$cfromEnum :: TextureWrap -> Int
toEnum :: Int -> TextureWrap
$ctoEnum :: Int -> TextureWrap
pred :: TextureWrap -> TextureWrap
$cpred :: TextureWrap -> TextureWrap
succ :: TextureWrap -> TextureWrap
$csucc :: TextureWrap -> TextureWrap
Enum
data CubemapLayout = CubemapLayoutAutoDetect
| CubemapLayoutLineVertical
| CubemapLayoutLineHorizontal
| CubemapLayoutCrossThreeByFour
| CubemapLayoutCrossThreeByThree
| CubemapLayoutPanorama
deriving Int -> CubemapLayout
CubemapLayout -> Int
CubemapLayout -> [CubemapLayout]
CubemapLayout -> CubemapLayout
CubemapLayout -> CubemapLayout -> [CubemapLayout]
CubemapLayout -> CubemapLayout -> CubemapLayout -> [CubemapLayout]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: CubemapLayout -> CubemapLayout -> CubemapLayout -> [CubemapLayout]
$cenumFromThenTo :: CubemapLayout -> CubemapLayout -> CubemapLayout -> [CubemapLayout]
enumFromTo :: CubemapLayout -> CubemapLayout -> [CubemapLayout]
$cenumFromTo :: CubemapLayout -> CubemapLayout -> [CubemapLayout]
enumFromThen :: CubemapLayout -> CubemapLayout -> [CubemapLayout]
$cenumFromThen :: CubemapLayout -> CubemapLayout -> [CubemapLayout]
enumFrom :: CubemapLayout -> [CubemapLayout]
$cenumFrom :: CubemapLayout -> [CubemapLayout]
fromEnum :: CubemapLayout -> Int
$cfromEnum :: CubemapLayout -> Int
toEnum :: Int -> CubemapLayout
$ctoEnum :: Int -> CubemapLayout
pred :: CubemapLayout -> CubemapLayout
$cpred :: CubemapLayout -> CubemapLayout
succ :: CubemapLayout -> CubemapLayout
$csucc :: CubemapLayout -> CubemapLayout
Enum
data FontType = FontDefault | FontBitmap | FontSDF deriving Int -> FontType
FontType -> Int
FontType -> [FontType]
FontType -> FontType
FontType -> FontType -> [FontType]
FontType -> FontType -> FontType -> [FontType]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: FontType -> FontType -> FontType -> [FontType]
$cenumFromThenTo :: FontType -> FontType -> FontType -> [FontType]
enumFromTo :: FontType -> FontType -> [FontType]
$cenumFromTo :: FontType -> FontType -> [FontType]
enumFromThen :: FontType -> FontType -> [FontType]
$cenumFromThen :: FontType -> FontType -> [FontType]
enumFrom :: FontType -> [FontType]
$cenumFrom :: FontType -> [FontType]
fromEnum :: FontType -> Int
$cfromEnum :: FontType -> Int
toEnum :: Int -> FontType
$ctoEnum :: Int -> FontType
pred :: FontType -> FontType
$cpred :: FontType -> FontType
succ :: FontType -> FontType
$csucc :: FontType -> FontType
Enum
data BlendMode = BlendAlpha | BlendAdditive | BlendMultiplied | BlendAddColors | BlendSubtractColors | BlendAlphaPremultiply | BlendCustom | BlendCustomSeparate deriving Int -> BlendMode
BlendMode -> Int
BlendMode -> [BlendMode]
BlendMode -> BlendMode
BlendMode -> BlendMode -> [BlendMode]
BlendMode -> BlendMode -> BlendMode -> [BlendMode]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: BlendMode -> BlendMode -> BlendMode -> [BlendMode]
$cenumFromThenTo :: BlendMode -> BlendMode -> BlendMode -> [BlendMode]
enumFromTo :: BlendMode -> BlendMode -> [BlendMode]
$cenumFromTo :: BlendMode -> BlendMode -> [BlendMode]
enumFromThen :: BlendMode -> BlendMode -> [BlendMode]
$cenumFromThen :: BlendMode -> BlendMode -> [BlendMode]
enumFrom :: BlendMode -> [BlendMode]
$cenumFrom :: BlendMode -> [BlendMode]
fromEnum :: BlendMode -> Int
$cfromEnum :: BlendMode -> Int
toEnum :: Int -> BlendMode
$ctoEnum :: Int -> BlendMode
pred :: BlendMode -> BlendMode
$cpred :: BlendMode -> BlendMode
succ :: BlendMode -> BlendMode
$csucc :: BlendMode -> BlendMode
Enum
data Gesture
= GestureNone
| GestureTap
| GestureDoubleTap
| GestureHold
| GestureDrag
| GestureSwipeRight
| GestureSwipeLeft
| GestureSwipeUp
| GestureSwipeDown
| GesturePinchIn
| GesturePinchOut
deriving (Int -> Gesture -> ShowS
[Gesture] -> ShowS
Gesture -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Gesture] -> ShowS
$cshowList :: [Gesture] -> ShowS
show :: Gesture -> String
$cshow :: Gesture -> String
showsPrec :: Int -> Gesture -> ShowS
$cshowsPrec :: Int -> Gesture -> ShowS
Show)
instance Enum Gesture where
fromEnum :: Gesture -> Int
fromEnum Gesture
n = case Gesture
n of
Gesture
GestureNone -> Int
0
Gesture
GestureTap -> Int
1
Gesture
GestureDoubleTap -> Int
2
Gesture
GestureHold -> Int
4
Gesture
GestureDrag -> Int
8
Gesture
GestureSwipeRight -> Int
16
Gesture
GestureSwipeLeft -> Int
32
Gesture
GestureSwipeUp -> Int
64
Gesture
GestureSwipeDown -> Int
128
Gesture
GesturePinchIn -> Int
256
Gesture
GesturePinchOut -> Int
512
toEnum :: Int -> Gesture
toEnum Int
n = case Int
n of
Int
0 -> Gesture
GestureNone
Int
1 -> Gesture
GestureTap
Int
2 -> Gesture
GestureDoubleTap
Int
4 -> Gesture
GestureHold
Int
8 -> Gesture
GestureDrag
Int
16 -> Gesture
GestureSwipeRight
Int
32 -> Gesture
GestureSwipeLeft
Int
64 -> Gesture
GestureSwipeUp
Int
128 -> Gesture
GestureSwipeDown
Int
256 -> Gesture
GesturePinchIn
Int
512 -> Gesture
GesturePinchOut
Int
_ -> forall a. HasCallStack => String -> a
error String
"Invalid input"
data CameraMode
= CameraModeCustom
| CameraModeFree
| CameraModeOrbital
| CameraModeFirstPerson
| CameraModeThirdPerson
deriving (Int -> CameraMode
CameraMode -> Int
CameraMode -> [CameraMode]
CameraMode -> CameraMode
CameraMode -> CameraMode -> [CameraMode]
CameraMode -> CameraMode -> CameraMode -> [CameraMode]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: CameraMode -> CameraMode -> CameraMode -> [CameraMode]
$cenumFromThenTo :: CameraMode -> CameraMode -> CameraMode -> [CameraMode]
enumFromTo :: CameraMode -> CameraMode -> [CameraMode]
$cenumFromTo :: CameraMode -> CameraMode -> [CameraMode]
enumFromThen :: CameraMode -> CameraMode -> [CameraMode]
$cenumFromThen :: CameraMode -> CameraMode -> [CameraMode]
enumFrom :: CameraMode -> [CameraMode]
$cenumFrom :: CameraMode -> [CameraMode]
fromEnum :: CameraMode -> Int
$cfromEnum :: CameraMode -> Int
toEnum :: Int -> CameraMode
$ctoEnum :: Int -> CameraMode
pred :: CameraMode -> CameraMode
$cpred :: CameraMode -> CameraMode
succ :: CameraMode -> CameraMode
$csucc :: CameraMode -> CameraMode
Enum)
data CameraProjection = CameraPerspective | CameraOrthographic deriving (CameraProjection -> CameraProjection -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CameraProjection -> CameraProjection -> Bool
$c/= :: CameraProjection -> CameraProjection -> Bool
== :: CameraProjection -> CameraProjection -> Bool
$c== :: CameraProjection -> CameraProjection -> Bool
Eq, Int -> CameraProjection -> ShowS
[CameraProjection] -> ShowS
CameraProjection -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CameraProjection] -> ShowS
$cshowList :: [CameraProjection] -> ShowS
show :: CameraProjection -> String
$cshow :: CameraProjection -> String
showsPrec :: Int -> CameraProjection -> ShowS
$cshowsPrec :: Int -> CameraProjection -> ShowS
Show, Int -> CameraProjection
CameraProjection -> Int
CameraProjection -> [CameraProjection]
CameraProjection -> CameraProjection
CameraProjection -> CameraProjection -> [CameraProjection]
CameraProjection
-> CameraProjection -> CameraProjection -> [CameraProjection]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: CameraProjection
-> CameraProjection -> CameraProjection -> [CameraProjection]
$cenumFromThenTo :: CameraProjection
-> CameraProjection -> CameraProjection -> [CameraProjection]
enumFromTo :: CameraProjection -> CameraProjection -> [CameraProjection]
$cenumFromTo :: CameraProjection -> CameraProjection -> [CameraProjection]
enumFromThen :: CameraProjection -> CameraProjection -> [CameraProjection]
$cenumFromThen :: CameraProjection -> CameraProjection -> [CameraProjection]
enumFrom :: CameraProjection -> [CameraProjection]
$cenumFrom :: CameraProjection -> [CameraProjection]
fromEnum :: CameraProjection -> Int
$cfromEnum :: CameraProjection -> Int
toEnum :: Int -> CameraProjection
$ctoEnum :: Int -> CameraProjection
pred :: CameraProjection -> CameraProjection
$cpred :: CameraProjection -> CameraProjection
succ :: CameraProjection -> CameraProjection
$csucc :: CameraProjection -> CameraProjection
Enum)
instance Storable CameraProjection where
sizeOf :: CameraProjection -> Int
sizeOf CameraProjection
_ = Int
4
alignment :: CameraProjection -> Int
alignment CameraProjection
_ = Int
4
peek :: Ptr CameraProjection -> IO CameraProjection
peek Ptr CameraProjection
ptr = do
CInt
val <- forall a. Storable a => Ptr a -> IO a
peek (forall a b. Ptr a -> Ptr b
castPtr Ptr CameraProjection
ptr)
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ forall a. Enum a => Int -> a
toEnum forall a b. (a -> b) -> a -> b
$ forall a. Enum a => a -> Int
fromEnum (CInt
val :: CInt)
poke :: Ptr CameraProjection -> CameraProjection -> IO ()
poke Ptr CameraProjection
ptr CameraProjection
v = forall a. Storable a => Ptr a -> a -> IO ()
poke (forall a b. Ptr a -> Ptr b
castPtr Ptr CameraProjection
ptr) (forall a. Enum a => Int -> a
toEnum forall a b. (a -> b) -> a -> b
$ forall a. Enum a => a -> Int
fromEnum CameraProjection
v :: CInt)
data NPatchLayout = NPatchNinePatch | NPatchThreePatchVertical | NPatchThreePatchHorizontal deriving (NPatchLayout -> NPatchLayout -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: NPatchLayout -> NPatchLayout -> Bool
$c/= :: NPatchLayout -> NPatchLayout -> Bool
== :: NPatchLayout -> NPatchLayout -> Bool
$c== :: NPatchLayout -> NPatchLayout -> Bool
Eq, Int -> NPatchLayout -> ShowS
[NPatchLayout] -> ShowS
NPatchLayout -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [NPatchLayout] -> ShowS
$cshowList :: [NPatchLayout] -> ShowS
show :: NPatchLayout -> String
$cshow :: NPatchLayout -> String
showsPrec :: Int -> NPatchLayout -> ShowS
$cshowsPrec :: Int -> NPatchLayout -> ShowS
Show, Int -> NPatchLayout
NPatchLayout -> Int
NPatchLayout -> [NPatchLayout]
NPatchLayout -> NPatchLayout
NPatchLayout -> NPatchLayout -> [NPatchLayout]
NPatchLayout -> NPatchLayout -> NPatchLayout -> [NPatchLayout]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: NPatchLayout -> NPatchLayout -> NPatchLayout -> [NPatchLayout]
$cenumFromThenTo :: NPatchLayout -> NPatchLayout -> NPatchLayout -> [NPatchLayout]
enumFromTo :: NPatchLayout -> NPatchLayout -> [NPatchLayout]
$cenumFromTo :: NPatchLayout -> NPatchLayout -> [NPatchLayout]
enumFromThen :: NPatchLayout -> NPatchLayout -> [NPatchLayout]
$cenumFromThen :: NPatchLayout -> NPatchLayout -> [NPatchLayout]
enumFrom :: NPatchLayout -> [NPatchLayout]
$cenumFrom :: NPatchLayout -> [NPatchLayout]
fromEnum :: NPatchLayout -> Int
$cfromEnum :: NPatchLayout -> Int
toEnum :: Int -> NPatchLayout
$ctoEnum :: Int -> NPatchLayout
pred :: NPatchLayout -> NPatchLayout
$cpred :: NPatchLayout -> NPatchLayout
succ :: NPatchLayout -> NPatchLayout
$csucc :: NPatchLayout -> NPatchLayout
Enum)
instance Storable NPatchLayout where
sizeOf :: NPatchLayout -> Int
sizeOf NPatchLayout
_ = Int
4
alignment :: NPatchLayout -> Int
alignment NPatchLayout
_ = Int
4
peek :: Ptr NPatchLayout -> IO NPatchLayout
peek Ptr NPatchLayout
ptr = do
CInt
val <- forall a. Storable a => Ptr a -> IO a
peek (forall a b. Ptr a -> Ptr b
castPtr Ptr NPatchLayout
ptr)
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ forall a. Enum a => Int -> a
toEnum forall a b. (a -> b) -> a -> b
$ forall a. Enum a => a -> Int
fromEnum (CInt
val :: CInt)
poke :: Ptr NPatchLayout -> NPatchLayout -> IO ()
poke Ptr NPatchLayout
ptr NPatchLayout
v = forall a. Storable a => Ptr a -> a -> IO ()
poke (forall a b. Ptr a -> Ptr b
castPtr Ptr NPatchLayout
ptr) (forall a. Enum a => Int -> a
toEnum forall a b. (a -> b) -> a -> b
$ forall a. Enum a => a -> Int
fromEnum NPatchLayout
v :: CInt)
data Vector2 = Vector2
{ Vector2 -> CFloat
vector2'x :: CFloat,
Vector2 -> CFloat
vector2'y :: CFloat
}
deriving (Vector2 -> Vector2 -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Vector2 -> Vector2 -> Bool
$c/= :: Vector2 -> Vector2 -> Bool
== :: Vector2 -> Vector2 -> Bool
$c== :: Vector2 -> Vector2 -> Bool
Eq, Int -> Vector2 -> ShowS
[Vector2] -> ShowS
Vector2 -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Vector2] -> ShowS
$cshowList :: [Vector2] -> ShowS
show :: Vector2 -> String
$cshow :: Vector2 -> String
showsPrec :: Int -> Vector2 -> ShowS
$cshowsPrec :: Int -> Vector2 -> ShowS
Show)
p'Vector2'x :: Ptr Vector2 -> Ptr CFloat
p'Vector2'x Ptr Vector2
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Vector2
p Int
0
p'Vector2'x :: Ptr Vector2 -> Ptr CFloat
p'Vector2'y :: Ptr Vector2 -> Ptr CFloat
p'Vector2'y Ptr Vector2
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Vector2
p Int
4
p'Vector2'y :: Ptr Vector2 -> Ptr CFloat
instance Storable Vector2 where
sizeOf :: Vector2 -> Int
sizeOf Vector2
_ = Int
8
alignment :: Vector2 -> Int
alignment Vector2
_ = Int
4
peek :: Ptr Vector2 -> IO Vector2
peek Ptr Vector2
_p = do
CFloat
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Vector2
_p Int
0
CFloat
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Vector2
_p Int
4
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ CFloat -> CFloat -> Vector2
Vector2 CFloat
v0 CFloat
v1
poke :: Ptr Vector2 -> Vector2 -> IO ()
poke Ptr Vector2
_p (Vector2 CFloat
v0 CFloat
v1) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Vector2
_p Int
0 CFloat
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Vector2
_p Int
4 CFloat
v1
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data Vector3 = Vector3
{ Vector3 -> CFloat
vector3'x :: CFloat,
Vector3 -> CFloat
vector3'y :: CFloat,
Vector3 -> CFloat
vector3'z :: CFloat
}
deriving (Vector3 -> Vector3 -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Vector3 -> Vector3 -> Bool
$c/= :: Vector3 -> Vector3 -> Bool
== :: Vector3 -> Vector3 -> Bool
$c== :: Vector3 -> Vector3 -> Bool
Eq, Int -> Vector3 -> ShowS
[Vector3] -> ShowS
Vector3 -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Vector3] -> ShowS
$cshowList :: [Vector3] -> ShowS
show :: Vector3 -> String
$cshow :: Vector3 -> String
showsPrec :: Int -> Vector3 -> ShowS
$cshowsPrec :: Int -> Vector3 -> ShowS
Show)
p'Vector3'x :: Ptr Vector3 -> Ptr CFloat
p'Vector3'x Ptr Vector3
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Vector3
p Int
0
p'Vector3'x :: Ptr Vector3 -> Ptr CFloat
p'Vector3'y :: Ptr Vector3 -> Ptr CFloat
p'Vector3'y Ptr Vector3
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Vector3
p Int
4
p'Vector3'y :: Ptr Vector3 -> Ptr CFloat
p'Vector3'z :: Ptr Vector3 -> Ptr CFloat
p'Vector3'z Ptr Vector3
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Vector3
p Int
8
p'Vector3'z :: Ptr Vector3 -> Ptr CFloat
instance Storable Vector3 where
sizeOf :: Vector3 -> Int
sizeOf Vector3
_ = Int
12
alignment :: Vector3 -> Int
alignment Vector3
_ = Int
4
peek :: Ptr Vector3 -> IO Vector3
peek Ptr Vector3
_p = do
CFloat
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Vector3
_p Int
0
CFloat
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Vector3
_p Int
4
CFloat
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Vector3
_p Int
8
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ CFloat -> CFloat -> CFloat -> Vector3
Vector3 CFloat
v0 CFloat
v1 CFloat
v2
poke :: Ptr Vector3 -> Vector3 -> IO ()
poke Ptr Vector3
_p (Vector3 CFloat
v0 CFloat
v1 CFloat
v2) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Vector3
_p Int
0 CFloat
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Vector3
_p Int
4 CFloat
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Vector3
_p Int
8 CFloat
v2
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data Vector4 = Vector4
{ Vector4 -> CFloat
vector4'x :: CFloat,
Vector4 -> CFloat
vector4'y :: CFloat,
Vector4 -> CFloat
vector4'z :: CFloat,
Vector4 -> CFloat
vector4'w :: CFloat
}
deriving (Vector4 -> Vector4 -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Vector4 -> Vector4 -> Bool
$c/= :: Vector4 -> Vector4 -> Bool
== :: Vector4 -> Vector4 -> Bool
$c== :: Vector4 -> Vector4 -> Bool
Eq, Int -> Vector4 -> ShowS
[Vector4] -> ShowS
Vector4 -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Vector4] -> ShowS
$cshowList :: [Vector4] -> ShowS
show :: Vector4 -> String
$cshow :: Vector4 -> String
showsPrec :: Int -> Vector4 -> ShowS
$cshowsPrec :: Int -> Vector4 -> ShowS
Show)
p'Vector4'x :: Ptr Vector4 -> Ptr CFloat
p'Vector4'x Ptr Vector4
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Vector4
p Int
0
p'Vector4'x :: Ptr Vector4 -> Ptr CFloat
p'Vector4'y :: Ptr Vector4 -> Ptr CFloat
p'Vector4'y Ptr Vector4
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Vector4
p Int
4
p'Vector4'y :: Ptr Vector4 -> Ptr CFloat
p'Vector4'z :: Ptr Vector4 -> Ptr CFloat
p'Vector4'z Ptr Vector4
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Vector4
p Int
8
p'Vector4'z :: Ptr Vector4 -> Ptr CFloat
p'Vector4'w :: Ptr Vector4 -> Ptr CFloat
p'Vector4'w Ptr Vector4
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Vector4
p Int
12
p'Vector4'w :: Ptr Vector4 -> Ptr CFloat
instance Storable Vector4 where
sizeOf :: Vector4 -> Int
sizeOf Vector4
_ = Int
16
alignment :: Vector4 -> Int
alignment Vector4
_ = Int
4
peek :: Ptr Vector4 -> IO Vector4
peek Ptr Vector4
_p = do
CFloat
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Vector4
_p Int
0
CFloat
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Vector4
_p Int
4
CFloat
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Vector4
_p Int
8
CFloat
v3 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Vector4
_p Int
12
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ CFloat -> CFloat -> CFloat -> CFloat -> Vector4
Vector4 CFloat
v0 CFloat
v1 CFloat
v2 CFloat
v3
poke :: Ptr Vector4 -> Vector4 -> IO ()
poke Ptr Vector4
_p (Vector4 CFloat
v0 CFloat
v1 CFloat
v2 CFloat
v3) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Vector4
_p Int
0 CFloat
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Vector4
_p Int
4 CFloat
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Vector4
_p Int
8 CFloat
v2
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Vector4
_p Int
12 CFloat
v3
forall (m :: * -> *) a. Monad m => a -> m a
return ()
type Quaternion = Vector4
data Matrix = Matrix
{ Matrix -> CFloat
matrix'm0 :: CFloat,
Matrix -> CFloat
matrix'm4 :: CFloat,
Matrix -> CFloat
matrix'm8 :: CFloat,
Matrix -> CFloat
matrix'm12 :: CFloat,
Matrix -> CFloat
matrix'm1 :: CFloat,
Matrix -> CFloat
matrix'm5 :: CFloat,
Matrix -> CFloat
matrix'm9 :: CFloat,
Matrix -> CFloat
matrix'm13 :: CFloat,
Matrix -> CFloat
matrix'm2 :: CFloat,
Matrix -> CFloat
matrix'm6 :: CFloat,
Matrix -> CFloat
matrix'm10 :: CFloat,
Matrix -> CFloat
matrix'm14 :: CFloat,
Matrix -> CFloat
matrix'm3 :: CFloat,
Matrix -> CFloat
matrix'm7 :: CFloat,
Matrix -> CFloat
matrix'm11 :: CFloat,
Matrix -> CFloat
matrix'm15 :: CFloat
}
deriving (Matrix -> Matrix -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Matrix -> Matrix -> Bool
$c/= :: Matrix -> Matrix -> Bool
== :: Matrix -> Matrix -> Bool
$c== :: Matrix -> Matrix -> Bool
Eq, Int -> Matrix -> ShowS
[Matrix] -> ShowS
Matrix -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Matrix] -> ShowS
$cshowList :: [Matrix] -> ShowS
show :: Matrix -> String
$cshow :: Matrix -> String
showsPrec :: Int -> Matrix -> ShowS
$cshowsPrec :: Int -> Matrix -> ShowS
Show)
p'Matrix'm0 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm0 Ptr Matrix
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Matrix
p Int
0
p'Matrix'm0 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm4 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm4 Ptr Matrix
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Matrix
p Int
4
p'Matrix'm4 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm8 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm8 Ptr Matrix
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Matrix
p Int
8
p'Matrix'm8 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm12 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm12 Ptr Matrix
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Matrix
p Int
12
p'Matrix'm12 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm1 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm1 Ptr Matrix
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Matrix
p Int
16
p'Matrix'm1 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm5 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm5 Ptr Matrix
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Matrix
p Int
20
p'Matrix'm5 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm9 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm9 Ptr Matrix
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Matrix
p Int
24
p'Matrix'm9 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm13 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm13 Ptr Matrix
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Matrix
p Int
28
p'Matrix'm13 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm2 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm2 Ptr Matrix
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Matrix
p Int
32
p'Matrix'm2 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm6 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm6 Ptr Matrix
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Matrix
p Int
36
p'Matrix'm6 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm10 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm10 Ptr Matrix
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Matrix
p Int
40
p'Matrix'm10 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm14 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm14 Ptr Matrix
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Matrix
p Int
44
p'Matrix'm14 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm3 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm3 Ptr Matrix
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Matrix
p Int
48
p'Matrix'm3 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm7 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm7 Ptr Matrix
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Matrix
p Int
52
p'Matrix'm7 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm11 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm11 Ptr Matrix
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Matrix
p Int
56
p'Matrix'm11 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm15 :: Ptr Matrix -> Ptr CFloat
p'Matrix'm15 Ptr Matrix
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Matrix
p Int
60
p'Matrix'm15 :: Ptr Matrix -> Ptr CFloat
instance Storable Matrix where
sizeOf :: Matrix -> Int
sizeOf Matrix
_ = Int
64
alignment :: Matrix -> Int
alignment Matrix
_ = Int
4
peek :: Ptr Matrix -> IO Matrix
peek Ptr Matrix
_p = do
CFloat
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Matrix
_p Int
0
CFloat
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Matrix
_p Int
4
CFloat
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Matrix
_p Int
8
CFloat
v3 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Matrix
_p Int
12
CFloat
v4 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Matrix
_p Int
16
CFloat
v5 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Matrix
_p Int
20
CFloat
v6 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Matrix
_p Int
24
CFloat
v7 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Matrix
_p Int
28
CFloat
v8 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Matrix
_p Int
32
CFloat
v9 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Matrix
_p Int
36
CFloat
v10 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Matrix
_p Int
40
CFloat
v11 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Matrix
_p Int
44
CFloat
v12 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Matrix
_p Int
48
CFloat
v13 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Matrix
_p Int
52
CFloat
v14 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Matrix
_p Int
56
CFloat
v15 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Matrix
_p Int
60
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> Matrix
Matrix CFloat
v0 CFloat
v1 CFloat
v2 CFloat
v3 CFloat
v4 CFloat
v5 CFloat
v6 CFloat
v7 CFloat
v8 CFloat
v9 CFloat
v10 CFloat
v11 CFloat
v12 CFloat
v13 CFloat
v14 CFloat
v15
poke :: Ptr Matrix -> Matrix -> IO ()
poke Ptr Matrix
_p (Matrix CFloat
v0 CFloat
v1 CFloat
v2 CFloat
v3 CFloat
v4 CFloat
v5 CFloat
v6 CFloat
v7 CFloat
v8 CFloat
v9 CFloat
v10 CFloat
v11 CFloat
v12 CFloat
v13 CFloat
v14 CFloat
v15) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Matrix
_p Int
0 CFloat
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Matrix
_p Int
4 CFloat
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Matrix
_p Int
8 CFloat
v2
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Matrix
_p Int
12 CFloat
v3
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Matrix
_p Int
16 CFloat
v4
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Matrix
_p Int
20 CFloat
v5
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Matrix
_p Int
24 CFloat
v6
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Matrix
_p Int
28 CFloat
v7
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Matrix
_p Int
32 CFloat
v8
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Matrix
_p Int
36 CFloat
v9
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Matrix
_p Int
40 CFloat
v10
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Matrix
_p Int
44 CFloat
v11
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Matrix
_p Int
48 CFloat
v12
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Matrix
_p Int
52 CFloat
v13
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Matrix
_p Int
56 CFloat
v14
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Matrix
_p Int
60 CFloat
v15
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data Color = Color
{ Color -> CUChar
color'r :: CUChar,
Color -> CUChar
color'g :: CUChar,
Color -> CUChar
color'b :: CUChar,
Color -> CUChar
color'a :: CUChar
}
deriving (Color -> Color -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Color -> Color -> Bool
$c/= :: Color -> Color -> Bool
== :: Color -> Color -> Bool
$c== :: Color -> Color -> Bool
Eq, Int -> Color -> ShowS
[Color] -> ShowS
Color -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Color] -> ShowS
$cshowList :: [Color] -> ShowS
show :: Color -> String
$cshow :: Color -> String
showsPrec :: Int -> Color -> ShowS
$cshowsPrec :: Int -> Color -> ShowS
Show)
p'Color'r :: Ptr Color -> Ptr CUChar
p'Color'r Ptr Color
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Color
p Int
0
p'Color'r :: Ptr Color -> Ptr CUChar
p'Color'g :: Ptr Color -> Ptr CUChar
p'Color'g Ptr Color
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Color
p Int
1
p'Color'g :: Ptr Color -> Ptr CUChar
p'Color'b :: Ptr Color -> Ptr CUChar
p'Color'b Ptr Color
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Color
p Int
2
p'Color'b :: Ptr Color -> Ptr CUChar
p'Color'a :: Ptr Color -> Ptr CUChar
p'Color'a Ptr Color
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Color
p Int
3
p'Color'a :: Ptr Color -> Ptr CUChar
instance Storable Color where
sizeOf :: Color -> Int
sizeOf Color
_ = Int
4
alignment :: Color -> Int
alignment Color
_ = Int
1
peek :: Ptr Color -> IO Color
peek Ptr Color
_p = do
CUChar
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Color
_p Int
0
CUChar
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Color
_p Int
1
CUChar
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Color
_p Int
2
CUChar
v3 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Color
_p Int
3
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ CUChar -> CUChar -> CUChar -> CUChar -> Color
Color CUChar
v0 CUChar
v1 CUChar
v2 CUChar
v3
poke :: Ptr Color -> Color -> IO ()
poke Ptr Color
_p (Color CUChar
v0 CUChar
v1 CUChar
v2 CUChar
v3) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Color
_p Int
0 CUChar
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Color
_p Int
1 CUChar
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Color
_p Int
2 CUChar
v2
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Color
_p Int
3 CUChar
v3
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data Rectangle = Rectangle
{ Rectangle -> CFloat
rectangle'x :: CFloat,
Rectangle -> CFloat
rectangle'y :: CFloat,
Rectangle -> CFloat
rectangle'width :: CFloat,
Rectangle -> CFloat
rectangle'height :: CFloat
}
deriving (Rectangle -> Rectangle -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Rectangle -> Rectangle -> Bool
$c/= :: Rectangle -> Rectangle -> Bool
== :: Rectangle -> Rectangle -> Bool
$c== :: Rectangle -> Rectangle -> Bool
Eq, Int -> Rectangle -> ShowS
[Rectangle] -> ShowS
Rectangle -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Rectangle] -> ShowS
$cshowList :: [Rectangle] -> ShowS
show :: Rectangle -> String
$cshow :: Rectangle -> String
showsPrec :: Int -> Rectangle -> ShowS
$cshowsPrec :: Int -> Rectangle -> ShowS
Show)
p'Rectangle'x :: Ptr Rectangle -> Ptr CFloat
p'Rectangle'x Ptr Rectangle
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Rectangle
p Int
0
p'Rectangle'x :: Ptr Rectangle -> Ptr CFloat
p'Rectangle'y :: Ptr Rectangle -> Ptr CFloat
p'Rectangle'y Ptr Rectangle
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Rectangle
p Int
4
p'Rectangle'y :: Ptr Rectangle -> Ptr CFloat
p'Rectangle'width :: Ptr Rectangle -> Ptr CFloat
p'Rectangle'width Ptr Rectangle
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Rectangle
p Int
8
p'Rectangle'width :: Ptr Rectangle -> Ptr CFloat
p'Rectangle'height :: Ptr Rectangle -> Ptr CFloat
p'Rectangle'height Ptr Rectangle
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Rectangle
p Int
12
p'Rectangle'height :: Ptr Rectangle -> Ptr CFloat
instance Storable Rectangle where
sizeOf :: Rectangle -> Int
sizeOf Rectangle
_ = Int
16
alignment :: Rectangle -> Int
alignment Rectangle
_ = Int
4
peek :: Ptr Rectangle -> IO Rectangle
peek Ptr Rectangle
_p = do
CFloat
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Rectangle
_p Int
0
CFloat
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Rectangle
_p Int
4
CFloat
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Rectangle
_p Int
8
CFloat
v3 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Rectangle
_p Int
12
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ CFloat -> CFloat -> CFloat -> CFloat -> Rectangle
Rectangle CFloat
v0 CFloat
v1 CFloat
v2 CFloat
v3
poke :: Ptr Rectangle -> Rectangle -> IO ()
poke Ptr Rectangle
_p (Rectangle CFloat
v0 CFloat
v1 CFloat
v2 CFloat
v3) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Rectangle
_p Int
0 CFloat
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Rectangle
_p Int
4 CFloat
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Rectangle
_p Int
8 CFloat
v2
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Rectangle
_p Int
12 CFloat
v3
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data Image = Image
{ Image -> Ptr ()
image'data :: Ptr (),
Image -> CInt
image'width :: CInt,
Image -> CInt
image'height :: CInt,
Image -> CInt
image'mipmaps :: CInt,
Image -> PixelFormat
image'format :: PixelFormat
}
deriving (Image -> Image -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Image -> Image -> Bool
$c/= :: Image -> Image -> Bool
== :: Image -> Image -> Bool
$c== :: Image -> Image -> Bool
Eq, Int -> Image -> ShowS
[Image] -> ShowS
Image -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Image] -> ShowS
$cshowList :: [Image] -> ShowS
show :: Image -> String
$cshow :: Image -> String
showsPrec :: Int -> Image -> ShowS
$cshowsPrec :: Int -> Image -> ShowS
Show)
p'Image'data :: Ptr Image -> Ptr (Ptr ())
p'Image'data Ptr Image
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Image
p Int
0
p'Image'data :: Ptr Image -> Ptr (Ptr ())
p'Image'width :: Ptr Image -> Ptr CInt
p'Image'width Ptr Image
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Image
p Int
4
p'Image'width :: Ptr Image -> Ptr CInt
p'Image'height :: Ptr Image -> Ptr CInt
p'Image'height Ptr Image
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Image
p Int
8
p'Image'height :: Ptr Image -> Ptr CInt
p'Image'mipmaps :: Ptr Image -> Ptr CInt
p'Image'mipmaps Ptr Image
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Image
p Int
12
p'Image'mipmaps :: Ptr Image -> Ptr CInt
p'Image'format :: Ptr Image -> Ptr CInt
p'Image'format Ptr Image
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Image
p Int
16
p'Image'format :: Ptr Image -> Ptr CInt
instance Storable Image where
sizeOf :: Image -> Int
sizeOf Image
_ = Int
20
alignment :: Image -> Int
alignment Image
_ = Int
4
peek :: Ptr Image -> IO Image
peek Ptr Image
_p = do
Ptr ()
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Image
_p Int
0
CInt
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Image
_p Int
4
CInt
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Image
_p Int
8
CInt
v3 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Image
_p Int
12
PixelFormat
v4 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Image
_p Int
16
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ Ptr () -> CInt -> CInt -> CInt -> PixelFormat -> Image
Image Ptr ()
v0 CInt
v1 CInt
v2 CInt
v3 PixelFormat
v4
poke :: Ptr Image -> Image -> IO ()
poke Ptr Image
_p (Image Ptr ()
v0 CInt
v1 CInt
v2 CInt
v3 PixelFormat
v4) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Image
_p Int
0 Ptr ()
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Image
_p Int
4 CInt
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Image
_p Int
8 CInt
v2
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Image
_p Int
12 CInt
v3
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Image
_p Int
16 PixelFormat
v4
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data Texture = Texture
{ Texture -> CUInt
texture'id :: CUInt,
Texture -> CInt
texture'width :: CInt,
Texture -> CInt
texture'height :: CInt,
Texture -> CInt
texture'mipmaps :: CInt,
Texture -> PixelFormat
texture'format :: PixelFormat
}
deriving (Texture -> Texture -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Texture -> Texture -> Bool
$c/= :: Texture -> Texture -> Bool
== :: Texture -> Texture -> Bool
$c== :: Texture -> Texture -> Bool
Eq, Int -> Texture -> ShowS
[Texture] -> ShowS
Texture -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Texture] -> ShowS
$cshowList :: [Texture] -> ShowS
show :: Texture -> String
$cshow :: Texture -> String
showsPrec :: Int -> Texture -> ShowS
$cshowsPrec :: Int -> Texture -> ShowS
Show)
p'Texture'id :: Ptr Texture -> Ptr CUInt
p'Texture'id Ptr Texture
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Texture
p Int
0
p'Texture'id :: Ptr Texture -> Ptr CUInt
p'Texture'width :: Ptr Texture -> Ptr CInt
p'Texture'width Ptr Texture
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Texture
p Int
4
p'Texture'width :: Ptr Texture -> Ptr CInt
p'Texture'height :: Ptr Texture -> Ptr CInt
p'Texture'height Ptr Texture
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Texture
p Int
8
p'Texture'height :: Ptr Texture -> Ptr CInt
p'Texture'mipmaps :: Ptr Texture -> Ptr CInt
p'Texture'mipmaps Ptr Texture
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Texture
p Int
12
p'Texture'mipmaps :: Ptr Texture -> Ptr CInt
p'Texture'format :: Ptr Texture -> Ptr CInt
p'Texture'format Ptr Texture
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Texture
p Int
16
p'Texture'format :: Ptr Texture -> Ptr CInt
instance Storable Texture where
sizeOf :: Texture -> Int
sizeOf Texture
_ = Int
20
alignment :: Texture -> Int
alignment Texture
_ = Int
4
peek :: Ptr Texture -> IO Texture
peek Ptr Texture
_p = do
CUInt
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Texture
_p Int
0
CInt
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Texture
_p Int
4
CInt
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Texture
_p Int
8
CInt
v3 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Texture
_p Int
12
PixelFormat
v4 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Texture
_p Int
16
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ CUInt -> CInt -> CInt -> CInt -> PixelFormat -> Texture
Texture CUInt
v0 CInt
v1 CInt
v2 CInt
v3 PixelFormat
v4
poke :: Ptr Texture -> Texture -> IO ()
poke Ptr Texture
_p (Texture CUInt
v0 CInt
v1 CInt
v2 CInt
v3 PixelFormat
v4) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Texture
_p Int
0 CUInt
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Texture
_p Int
4 CInt
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Texture
_p Int
8 CInt
v2
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Texture
_p Int
12 CInt
v3
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Texture
_p Int
16 PixelFormat
v4
forall (m :: * -> *) a. Monad m => a -> m a
return ()
type Texture2D = Texture
type TextureCubemap = Texture
data RenderTexture = RenderTexture
{ RenderTexture -> CUInt
rendertexture'id :: CUInt,
RenderTexture -> Texture
rendertexture'texture :: Texture,
RenderTexture -> Texture
rendertexture'depth :: Texture
}
deriving (RenderTexture -> RenderTexture -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RenderTexture -> RenderTexture -> Bool
$c/= :: RenderTexture -> RenderTexture -> Bool
== :: RenderTexture -> RenderTexture -> Bool
$c== :: RenderTexture -> RenderTexture -> Bool
Eq, Int -> RenderTexture -> ShowS
[RenderTexture] -> ShowS
RenderTexture -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RenderTexture] -> ShowS
$cshowList :: [RenderTexture] -> ShowS
show :: RenderTexture -> String
$cshow :: RenderTexture -> String
showsPrec :: Int -> RenderTexture -> ShowS
$cshowsPrec :: Int -> RenderTexture -> ShowS
Show)
p'RenderTexture'id :: Ptr RenderTexture -> Ptr CUInt
p'RenderTexture'id Ptr RenderTexture
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr RenderTexture
p Int
0
p'RenderTexture'id :: Ptr RenderTexture -> Ptr CUInt
p'RenderTexture'texture :: Ptr RenderTexture -> Ptr Texture
p'RenderTexture'texture Ptr RenderTexture
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr RenderTexture
p Int
4
p'RenderTexture'texture :: Ptr RenderTexture -> Ptr Texture
p'RenderTexture'depth :: Ptr RenderTexture -> Ptr Texture
p'RenderTexture'depth Ptr RenderTexture
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr RenderTexture
p Int
24
p'RenderTexture'depth :: Ptr RenderTexture -> Ptr Texture
instance Storable RenderTexture where
sizeOf :: RenderTexture -> Int
sizeOf RenderTexture
_ = Int
44
alignment :: RenderTexture -> Int
alignment RenderTexture
_ = Int
4
peek :: Ptr RenderTexture -> IO RenderTexture
peek Ptr RenderTexture
_p = do
CUInt
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr RenderTexture
_p Int
0
Texture
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr RenderTexture
_p Int
4
Texture
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr RenderTexture
_p Int
24
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ CUInt -> Texture -> Texture -> RenderTexture
RenderTexture CUInt
v0 Texture
v1 Texture
v2
poke :: Ptr RenderTexture -> RenderTexture -> IO ()
poke Ptr RenderTexture
_p (RenderTexture CUInt
v0 Texture
v1 Texture
v2) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr RenderTexture
_p Int
0 CUInt
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr RenderTexture
_p Int
4 Texture
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr RenderTexture
_p Int
24 Texture
v2
forall (m :: * -> *) a. Monad m => a -> m a
return ()
type RenderTexture2D = RenderTexture
data NPatchInfo = NPatchInfo
{ NPatchInfo -> Rectangle
nPatchinfo'source :: Rectangle,
NPatchInfo -> CInt
nPatchinfo'left :: CInt,
NPatchInfo -> CInt
nPatchinfo'top :: CInt,
NPatchInfo -> CInt
nPatchinfo'right :: CInt,
NPatchInfo -> CInt
nPatchinfo'bottom :: CInt,
NPatchInfo -> NPatchLayout
nPatchinfo'layout :: NPatchLayout
}
deriving (NPatchInfo -> NPatchInfo -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: NPatchInfo -> NPatchInfo -> Bool
$c/= :: NPatchInfo -> NPatchInfo -> Bool
== :: NPatchInfo -> NPatchInfo -> Bool
$c== :: NPatchInfo -> NPatchInfo -> Bool
Eq, Int -> NPatchInfo -> ShowS
[NPatchInfo] -> ShowS
NPatchInfo -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [NPatchInfo] -> ShowS
$cshowList :: [NPatchInfo] -> ShowS
show :: NPatchInfo -> String
$cshow :: NPatchInfo -> String
showsPrec :: Int -> NPatchInfo -> ShowS
$cshowsPrec :: Int -> NPatchInfo -> ShowS
Show)
p'NPatchInfo'source :: Ptr NPatchInfo -> Ptr Rectangle
p'NPatchInfo'source Ptr NPatchInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr NPatchInfo
p Int
0
p'NPatchInfo'source :: Ptr NPatchInfo -> Ptr Rectangle
p'NPatchInfo'left :: Ptr NPatchInfo -> Ptr CInt
p'NPatchInfo'left Ptr NPatchInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr NPatchInfo
p Int
16
p'NPatchInfo'left :: Ptr NPatchInfo -> Ptr CInt
p'NPatchInfo'top :: Ptr NPatchInfo -> Ptr CInt
p'NPatchInfo'top Ptr NPatchInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr NPatchInfo
p Int
20
p'NPatchInfo'top :: Ptr NPatchInfo -> Ptr CInt
p'NPatchInfo'right :: Ptr NPatchInfo -> Ptr CInt
p'NPatchInfo'right Ptr NPatchInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr NPatchInfo
p Int
24
p'NPatchInfo'right :: Ptr NPatchInfo -> Ptr CInt
p'NPatchInfo'bottom :: Ptr NPatchInfo -> Ptr CInt
p'NPatchInfo'bottom Ptr NPatchInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr NPatchInfo
p Int
28
p'NPatchInfo'bottom :: Ptr NPatchInfo -> Ptr CInt
p'NPatchInfo'layout :: Ptr NPatchInfo -> Ptr CInt
p'NPatchInfo'layout Ptr NPatchInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr NPatchInfo
p Int
32
p'NPatchInfo'layout :: Ptr NPatchInfo -> Ptr CInt
instance Storable NPatchInfo where
sizeOf :: NPatchInfo -> Int
sizeOf NPatchInfo
_ = Int
36
alignment :: NPatchInfo -> Int
alignment NPatchInfo
_ = Int
4
peek :: Ptr NPatchInfo -> IO NPatchInfo
peek Ptr NPatchInfo
_p = do
Rectangle
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr NPatchInfo
_p Int
0
CInt
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr NPatchInfo
_p Int
16
CInt
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr NPatchInfo
_p Int
20
CInt
v3 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr NPatchInfo
_p Int
24
CInt
v4 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr NPatchInfo
_p Int
28
NPatchLayout
v5 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr NPatchInfo
_p Int
32
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ Rectangle
-> CInt -> CInt -> CInt -> CInt -> NPatchLayout -> NPatchInfo
NPatchInfo Rectangle
v0 CInt
v1 CInt
v2 CInt
v3 CInt
v4 NPatchLayout
v5
poke :: Ptr NPatchInfo -> NPatchInfo -> IO ()
poke Ptr NPatchInfo
_p (NPatchInfo Rectangle
v0 CInt
v1 CInt
v2 CInt
v3 CInt
v4 NPatchLayout
v5) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr NPatchInfo
_p Int
0 Rectangle
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr NPatchInfo
_p Int
16 CInt
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr NPatchInfo
_p Int
20 CInt
v2
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr NPatchInfo
_p Int
24 CInt
v3
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr NPatchInfo
_p Int
28 CInt
v4
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr NPatchInfo
_p Int
32 NPatchLayout
v5
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data GlyphInfo = GlyphInfo
{ GlyphInfo -> CInt
glyphinfo'value :: CInt,
GlyphInfo -> CInt
glyphInfo'offsetX :: CInt,
GlyphInfo -> CInt
glyphInfo'offsetY :: CInt,
GlyphInfo -> CInt
glyphInfo'advanceX :: CInt,
GlyphInfo -> Image
glyphinfo'image :: Image
}
deriving (GlyphInfo -> GlyphInfo -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GlyphInfo -> GlyphInfo -> Bool
$c/= :: GlyphInfo -> GlyphInfo -> Bool
== :: GlyphInfo -> GlyphInfo -> Bool
$c== :: GlyphInfo -> GlyphInfo -> Bool
Eq, Int -> GlyphInfo -> ShowS
[GlyphInfo] -> ShowS
GlyphInfo -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GlyphInfo] -> ShowS
$cshowList :: [GlyphInfo] -> ShowS
show :: GlyphInfo -> String
$cshow :: GlyphInfo -> String
showsPrec :: Int -> GlyphInfo -> ShowS
$cshowsPrec :: Int -> GlyphInfo -> ShowS
Show)
p'GlyphInfo'value :: Ptr GlyphInfo -> Ptr CInt
p'GlyphInfo'value Ptr GlyphInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr GlyphInfo
p Int
0
p'GlyphInfo'value :: Ptr GlyphInfo -> Ptr CInt
p'GlyphInfo'offsetX :: Ptr GlyphInfo -> Ptr CInt
p'GlyphInfo'offsetX Ptr GlyphInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr GlyphInfo
p Int
4
p'GlyphInfo'offsetX :: Ptr GlyphInfo -> Ptr CInt
p'GlyphInfo'offsetY :: Ptr GlyphInfo -> Ptr CInt
p'GlyphInfo'offsetY Ptr GlyphInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr GlyphInfo
p Int
8
p'GlyphInfo'offsetY :: Ptr GlyphInfo -> Ptr CInt
p'GlyphInfo'advanceX :: Ptr GlyphInfo -> Ptr CInt
p'GlyphInfo'advanceX Ptr GlyphInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr GlyphInfo
p Int
12
p'GlyphInfo'advanceX :: Ptr GlyphInfo -> Ptr CInt
p'GlyphInfo'image :: Ptr GlyphInfo -> Ptr Image
p'GlyphInfo'image Ptr GlyphInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr GlyphInfo
p Int
16
p'GlyphInfo'image :: Ptr GlyphInfo -> Ptr Image
instance Storable GlyphInfo where
sizeOf :: GlyphInfo -> Int
sizeOf GlyphInfo
_ = Int
36
alignment :: GlyphInfo -> Int
alignment GlyphInfo
_ = Int
4
peek :: Ptr GlyphInfo -> IO GlyphInfo
peek Ptr GlyphInfo
_p = do
CInt
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr GlyphInfo
_p Int
0
CInt
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr GlyphInfo
_p Int
4
CInt
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr GlyphInfo
_p Int
8
CInt
v3 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr GlyphInfo
_p Int
12
Image
v4 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr GlyphInfo
_p Int
16
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ CInt -> CInt -> CInt -> CInt -> Image -> GlyphInfo
GlyphInfo CInt
v0 CInt
v1 CInt
v2 CInt
v3 Image
v4
poke :: Ptr GlyphInfo -> GlyphInfo -> IO ()
poke Ptr GlyphInfo
_p (GlyphInfo CInt
v0 CInt
v1 CInt
v2 CInt
v3 Image
v4) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr GlyphInfo
_p Int
0 CInt
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr GlyphInfo
_p Int
4 CInt
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr GlyphInfo
_p Int
8 CInt
v2
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr GlyphInfo
_p Int
12 CInt
v3
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr GlyphInfo
_p Int
16 Image
v4
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data Font = Font
{ Font -> CInt
font'baseSize :: CInt,
Font -> CInt
font'glyphCount :: CInt,
Font -> CInt
font'glyphPadding :: CInt,
Font -> Texture
font'texture :: Texture,
Font -> Ptr Rectangle
font'recs :: Ptr Rectangle,
Font -> Ptr GlyphInfo
font'glyphs :: Ptr GlyphInfo
}
deriving (Font -> Font -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Font -> Font -> Bool
$c/= :: Font -> Font -> Bool
== :: Font -> Font -> Bool
$c== :: Font -> Font -> Bool
Eq, Int -> Font -> ShowS
[Font] -> ShowS
Font -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Font] -> ShowS
$cshowList :: [Font] -> ShowS
show :: Font -> String
$cshow :: Font -> String
showsPrec :: Int -> Font -> ShowS
$cshowsPrec :: Int -> Font -> ShowS
Show)
p'Font'baseSize :: Ptr Font -> Ptr CInt
p'Font'baseSize Ptr Font
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Font
p Int
0
p'Font'baseSize :: Ptr Font -> Ptr CInt
p'Font'glyphCount :: Ptr Font -> Ptr CInt
p'Font'glyphCount Ptr Font
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Font
p Int
4
p'Font'glyphCount :: Ptr Font -> Ptr CInt
p'Font'glyphPadding :: Ptr Font -> Ptr CInt
p'Font'glyphPadding Ptr Font
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Font
p Int
8
p'Font'glyphPadding :: Ptr Font -> Ptr CInt
p'Font'texture :: Ptr Font -> Ptr Texture
p'Font'texture Ptr Font
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Font
p Int
12
p'Font'texture :: Ptr Font -> Ptr Texture
p'Font'recs :: Ptr Font -> Ptr (Ptr Rectangle)
p'Font'recs Ptr Font
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Font
p Int
32
p'Font'recs :: Ptr Font -> Ptr (Ptr Rectangle)
p'Font'glyphs :: Ptr Font -> Ptr (Ptr GlyphInfo)
p'Font'glyphs Ptr Font
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Font
p Int
40
p'Font'glyphs :: Ptr Font -> Ptr (Ptr GlyphInfo)
instance Storable Font where
sizeOf :: Font -> Int
sizeOf Font
_ = Int
48
alignment :: Font -> Int
alignment Font
_ = Int
4
peek :: Ptr Font -> IO Font
peek Ptr Font
_p = do
CInt
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Font
_p Int
0
CInt
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Font
_p Int
4
CInt
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Font
_p Int
8
Texture
v3 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Font
_p Int
12
Ptr Rectangle
v4 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Font
_p Int
32
Ptr GlyphInfo
v5 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Font
_p Int
40
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ CInt
-> CInt
-> CInt
-> Texture
-> Ptr Rectangle
-> Ptr GlyphInfo
-> Font
Font CInt
v0 CInt
v1 CInt
v2 Texture
v3 Ptr Rectangle
v4 Ptr GlyphInfo
v5
poke :: Ptr Font -> Font -> IO ()
poke Ptr Font
_p (Font CInt
v0 CInt
v1 CInt
v2 Texture
v3 Ptr Rectangle
v4 Ptr GlyphInfo
v5) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Font
_p Int
0 CInt
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Font
_p Int
4 CInt
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Font
_p Int
8 CInt
v2
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Font
_p Int
12 Texture
v3
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Font
_p Int
32 Ptr Rectangle
v4
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Font
_p Int
40 Ptr GlyphInfo
v5
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data Camera3D = Camera3D
{ Camera3D -> Vector3
camera3D'position :: Vector3,
Camera3D -> Vector3
camera3D'target :: Vector3,
Camera3D -> Vector3
camera3D'up :: Vector3,
Camera3D -> CFloat
camera3D'fovy :: CFloat,
Camera3D -> CameraProjection
camera3D'projection :: CameraProjection
}
deriving (Camera3D -> Camera3D -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Camera3D -> Camera3D -> Bool
$c/= :: Camera3D -> Camera3D -> Bool
== :: Camera3D -> Camera3D -> Bool
$c== :: Camera3D -> Camera3D -> Bool
Eq, Int -> Camera3D -> ShowS
[Camera3D] -> ShowS
Camera3D -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Camera3D] -> ShowS
$cshowList :: [Camera3D] -> ShowS
show :: Camera3D -> String
$cshow :: Camera3D -> String
showsPrec :: Int -> Camera3D -> ShowS
$cshowsPrec :: Int -> Camera3D -> ShowS
Show)
p'Camera3D'position :: Ptr Camera3D -> Ptr Vector3
p'Camera3D'position Ptr Camera3D
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Camera3D
p Int
0
p'Camera3D'position :: Ptr Camera3D -> Ptr Vector3
p'Camera3D'target :: Ptr Camera3D -> Ptr Vector3
p'Camera3D'target Ptr Camera3D
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Camera3D
p Int
12
p'Camera3D'target :: Ptr Camera3D -> Ptr Vector3
p'Camera3D'up :: Ptr Camera3D -> Ptr Vector3
p'Camera3D'up Ptr Camera3D
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Camera3D
p Int
24
p'Camera3D'up :: Ptr Camera3D -> Ptr Vector3
p'Camera3D'fovy :: Ptr Camera3D -> Ptr CFloat
p'Camera3D'fovy Ptr Camera3D
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Camera3D
p Int
36
p'Camera3D'fovy :: Ptr Camera3D -> Ptr CFloat
p'Camera3D'projection :: Ptr Camera3D -> Ptr CInt
p'Camera3D'projection Ptr Camera3D
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Camera3D
p Int
40
p'Camera3D'projection :: Ptr Camera3D -> Ptr CInt
instance Storable Camera3D where
sizeOf :: Camera3D -> Int
sizeOf Camera3D
_ = Int
44
alignment :: Camera3D -> Int
alignment Camera3D
_ = Int
4
peek :: Ptr Camera3D -> IO Camera3D
peek Ptr Camera3D
_p = do
Vector3
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Camera3D
_p Int
0
Vector3
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Camera3D
_p Int
12
Vector3
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Camera3D
_p Int
24
CFloat
v3 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Camera3D
_p Int
36
CameraProjection
v4 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Camera3D
_p Int
40
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ Vector3
-> Vector3 -> Vector3 -> CFloat -> CameraProjection -> Camera3D
Camera3D Vector3
v0 Vector3
v1 Vector3
v2 CFloat
v3 CameraProjection
v4
poke :: Ptr Camera3D -> Camera3D -> IO ()
poke Ptr Camera3D
_p (Camera3D Vector3
v0 Vector3
v1 Vector3
v2 CFloat
v3 CameraProjection
v4) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Camera3D
_p Int
0 Vector3
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Camera3D
_p Int
12 Vector3
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Camera3D
_p Int
24 Vector3
v2
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Camera3D
_p Int
36 CFloat
v3
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Camera3D
_p Int
40 CameraProjection
v4
forall (m :: * -> *) a. Monad m => a -> m a
return ()
type Camera = Camera3D
data Camera2D = Camera2D
{ Camera2D -> Vector2
camera2D'offset :: Vector2,
Camera2D -> Vector2
camera2D'target :: Vector2,
Camera2D -> CFloat
camera2d'rotation :: CFloat,
Camera2D -> CFloat
camera2d'zoom :: CFloat
}
deriving (Camera2D -> Camera2D -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Camera2D -> Camera2D -> Bool
$c/= :: Camera2D -> Camera2D -> Bool
== :: Camera2D -> Camera2D -> Bool
$c== :: Camera2D -> Camera2D -> Bool
Eq, Int -> Camera2D -> ShowS
[Camera2D] -> ShowS
Camera2D -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Camera2D] -> ShowS
$cshowList :: [Camera2D] -> ShowS
show :: Camera2D -> String
$cshow :: Camera2D -> String
showsPrec :: Int -> Camera2D -> ShowS
$cshowsPrec :: Int -> Camera2D -> ShowS
Show)
p'Camera2D'offset :: Ptr Camera2D -> Ptr Vector2
p'Camera2D'offset Ptr Camera2D
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Camera2D
p Int
0
p'Camera2D'offset :: Ptr Camera2D -> Ptr Vector2
p'Camera2D'target :: Ptr Camera2D -> Ptr Vector2
p'Camera2D'target Ptr Camera2D
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Camera2D
p Int
8
p'Camera2D'target :: Ptr Camera2D -> Ptr Vector2
p'Camera2D'rotation :: Ptr Camera2D -> Ptr CFloat
p'Camera2D'rotation Ptr Camera2D
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Camera2D
p Int
16
p'Camera2D'rotation :: Ptr Camera2D -> Ptr CFloat
p'Camera2D'zoom :: Ptr Camera2D -> Ptr CFloat
p'Camera2D'zoom Ptr Camera2D
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Camera2D
p Int
20
p'Camera2D'zoom :: Ptr Camera2D -> Ptr CFloat
instance Storable Camera2D where
sizeOf :: Camera2D -> Int
sizeOf Camera2D
_ = Int
24
alignment :: Camera2D -> Int
alignment Camera2D
_ = Int
4
peek :: Ptr Camera2D -> IO Camera2D
peek Ptr Camera2D
_p = do
Vector2
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Camera2D
_p Int
0
Vector2
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Camera2D
_p Int
8
CFloat
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Camera2D
_p Int
16
CFloat
v3 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Camera2D
_p Int
20
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ Vector2 -> Vector2 -> CFloat -> CFloat -> Camera2D
Camera2D Vector2
v0 Vector2
v1 CFloat
v2 CFloat
v3
poke :: Ptr Camera2D -> Camera2D -> IO ()
poke Ptr Camera2D
_p (Camera2D Vector2
v0 Vector2
v1 CFloat
v2 CFloat
v3) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Camera2D
_p Int
0 Vector2
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Camera2D
_p Int
8 Vector2
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Camera2D
_p Int
16 CFloat
v2
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Camera2D
_p Int
20 CFloat
v3
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data Mesh = Mesh
{ Mesh -> CInt
mesh'vertexCount :: CInt,
Mesh -> CInt
mesh'triangleCount :: CInt,
Mesh -> Ptr CFloat
mesh'vertices :: Ptr CFloat,
Mesh -> Ptr CFloat
mesh'texcoords :: Ptr CFloat,
Mesh -> Ptr CFloat
mesh'texcoords2 :: Ptr CFloat,
Mesh -> Ptr CFloat
mesh'normals :: Ptr CFloat,
Mesh -> Ptr CFloat
mesh'tangents :: Ptr CFloat,
Mesh -> Ptr CUChar
mesh'colors :: Ptr CUChar,
Mesh -> Ptr CUShort
mesh'indices :: Ptr CUShort,
Mesh -> Ptr CFloat
mesh'animVertices :: Ptr CFloat,
Mesh -> Ptr CFloat
mesh'animNormals :: Ptr CFloat,
Mesh -> Ptr CUChar
mesh'boneIds :: Ptr CUChar,
Mesh -> Ptr CFloat
mesh'boneWeights :: Ptr CFloat,
Mesh -> CUInt
mesh'vaoId :: CUInt,
Mesh -> Ptr CUInt
mesh'vboId :: Ptr CUInt
}
deriving (Mesh -> Mesh -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Mesh -> Mesh -> Bool
$c/= :: Mesh -> Mesh -> Bool
== :: Mesh -> Mesh -> Bool
$c== :: Mesh -> Mesh -> Bool
Eq, Int -> Mesh -> ShowS
[Mesh] -> ShowS
Mesh -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Mesh] -> ShowS
$cshowList :: [Mesh] -> ShowS
show :: Mesh -> String
$cshow :: Mesh -> String
showsPrec :: Int -> Mesh -> ShowS
$cshowsPrec :: Int -> Mesh -> ShowS
Show)
p'Mesh'vertexCount :: Ptr Mesh -> Ptr CInt
p'Mesh'vertexCount Ptr Mesh
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Mesh
p Int
0
p'Mesh'vertexCount :: Ptr Mesh -> Ptr CInt
p'Mesh'triangleCount :: Ptr Mesh -> Ptr CInt
p'Mesh'triangleCount Ptr Mesh
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Mesh
p Int
4
p'Mesh'triangleCount :: Ptr Mesh -> Ptr CInt
p'Mesh'vertices :: Ptr Mesh -> Ptr (Ptr CFloat)
p'Mesh'vertices Ptr Mesh
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Mesh
p Int
8
p'Mesh'vertices :: Ptr Mesh -> Ptr (Ptr CFloat)
p'Mesh'texcoords :: Ptr Mesh -> Ptr (Ptr CFloat)
p'Mesh'texcoords Ptr Mesh
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Mesh
p Int
12
p'Mesh'texcoords :: Ptr Mesh -> Ptr (Ptr CFloat)
p'Mesh'texcoords2 :: Ptr Mesh -> Ptr (Ptr CFloat)
p'Mesh'texcoords2 Ptr Mesh
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Mesh
p Int
16
p'Mesh'texcoords2 :: Ptr Mesh -> Ptr (Ptr CFloat)
p'Mesh'normals :: Ptr Mesh -> Ptr (Ptr CFloat)
p'Mesh'normals Ptr Mesh
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Mesh
p Int
20
p'Mesh'normals :: Ptr Mesh -> Ptr (Ptr CFloat)
p'Mesh'tangents :: Ptr Mesh -> Ptr (Ptr CFloat)
p'Mesh'tangents Ptr Mesh
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Mesh
p Int
24
p'Mesh'tangents :: Ptr Mesh -> Ptr (Ptr CFloat)
p'Mesh'colors :: Ptr Mesh -> Ptr (Ptr CUChar)
p'Mesh'colors Ptr Mesh
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Mesh
p Int
28
p'Mesh'colors :: Ptr Mesh -> Ptr (Ptr CUChar)
p'Mesh'indices :: Ptr Mesh -> Ptr (Ptr CUShort)
p'Mesh'indices Ptr Mesh
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Mesh
p Int
32
p'Mesh'indices :: Ptr Mesh -> Ptr (Ptr CUShort)
p'Mesh'animVertices :: Ptr Mesh -> Ptr (Ptr CFloat)
p'Mesh'animVertices Ptr Mesh
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Mesh
p Int
36
p'Mesh'animVertices :: Ptr Mesh -> Ptr (Ptr CFloat)
p'Mesh'animNormals :: Ptr Mesh -> Ptr (Ptr CFloat)
p'Mesh'animNormals Ptr Mesh
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Mesh
p Int
40
p'Mesh'animNormals :: Ptr Mesh -> Ptr (Ptr CFloat)
p'Mesh'boneIds :: Ptr Mesh -> Ptr (Ptr CUChar)
p'Mesh'boneIds Ptr Mesh
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Mesh
p Int
44
p'Mesh'boneIds :: Ptr Mesh -> Ptr (Ptr CUChar)
p'Mesh'boneWeights :: Ptr Mesh -> Ptr (Ptr CFloat)
p'Mesh'boneWeights Ptr Mesh
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Mesh
p Int
48
p'Mesh'boneWeights :: Ptr Mesh -> Ptr (Ptr CFloat)
p'Mesh'vaoId :: Ptr Mesh -> Ptr CUInt
p'Mesh'vaoId Ptr Mesh
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Mesh
p Int
52
p'Mesh'vaoId :: Ptr Mesh -> Ptr CUInt
p'Mesh'vboId :: Ptr Mesh -> Ptr (Ptr CUInt)
p'Mesh'vboId Ptr Mesh
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Mesh
p Int
56
p'Mesh'vboId :: Ptr Mesh -> Ptr (Ptr CUInt)
instance Storable Mesh where
sizeOf :: Mesh -> Int
sizeOf Mesh
_ = Int
60
alignment :: Mesh -> Int
alignment Mesh
_ = Int
4
peek :: Ptr Mesh -> IO Mesh
peek Ptr Mesh
_p = do
CInt
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Mesh
_p Int
0
CInt
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Mesh
_p Int
4
Ptr CFloat
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Mesh
_p Int
8
Ptr CFloat
v3 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Mesh
_p Int
12
Ptr CFloat
v4 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Mesh
_p Int
16
Ptr CFloat
v5 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Mesh
_p Int
20
Ptr CFloat
v6 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Mesh
_p Int
24
Ptr CUChar
v7 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Mesh
_p Int
28
Ptr CUShort
v8 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Mesh
_p Int
32
Ptr CFloat
v9 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Mesh
_p Int
36
Ptr CFloat
v10 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Mesh
_p Int
40
Ptr CUChar
v11 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Mesh
_p Int
44
Ptr CFloat
v12 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Mesh
_p Int
48
CUInt
v13 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Mesh
_p Int
52
Ptr CUInt
v14 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Mesh
_p Int
56
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ CInt
-> CInt
-> Ptr CFloat
-> Ptr CFloat
-> Ptr CFloat
-> Ptr CFloat
-> Ptr CFloat
-> Ptr CUChar
-> Ptr CUShort
-> Ptr CFloat
-> Ptr CFloat
-> Ptr CUChar
-> Ptr CFloat
-> CUInt
-> Ptr CUInt
-> Mesh
Mesh CInt
v0 CInt
v1 Ptr CFloat
v2 Ptr CFloat
v3 Ptr CFloat
v4 Ptr CFloat
v5 Ptr CFloat
v6 Ptr CUChar
v7 Ptr CUShort
v8 Ptr CFloat
v9 Ptr CFloat
v10 Ptr CUChar
v11 Ptr CFloat
v12 CUInt
v13 Ptr CUInt
v14
poke :: Ptr Mesh -> Mesh -> IO ()
poke Ptr Mesh
_p (Mesh CInt
v0 CInt
v1 Ptr CFloat
v2 Ptr CFloat
v3 Ptr CFloat
v4 Ptr CFloat
v5 Ptr CFloat
v6 Ptr CUChar
v7 Ptr CUShort
v8 Ptr CFloat
v9 Ptr CFloat
v10 Ptr CUChar
v11 Ptr CFloat
v12 CUInt
v13 Ptr CUInt
v14) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Mesh
_p Int
0 CInt
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Mesh
_p Int
4 CInt
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Mesh
_p Int
8 Ptr CFloat
v2
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Mesh
_p Int
12 Ptr CFloat
v3
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Mesh
_p Int
16 Ptr CFloat
v4
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Mesh
_p Int
20 Ptr CFloat
v5
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Mesh
_p Int
24 Ptr CFloat
v6
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Mesh
_p Int
28 Ptr CUChar
v7
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Mesh
_p Int
32 Ptr CUShort
v8
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Mesh
_p Int
36 Ptr CFloat
v9
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Mesh
_p Int
40 Ptr CFloat
v10
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Mesh
_p Int
44 Ptr CUChar
v11
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Mesh
_p Int
48 Ptr CFloat
v12
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Mesh
_p Int
52 CUInt
v13
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Mesh
_p Int
56 Ptr CUInt
v14
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data Shader = Shader
{ Shader -> CUInt
shader'id :: CUInt,
Shader -> Ptr CInt
shader'locs :: Ptr CInt
}
deriving (Shader -> Shader -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Shader -> Shader -> Bool
$c/= :: Shader -> Shader -> Bool
== :: Shader -> Shader -> Bool
$c== :: Shader -> Shader -> Bool
Eq, Int -> Shader -> ShowS
[Shader] -> ShowS
Shader -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Shader] -> ShowS
$cshowList :: [Shader] -> ShowS
show :: Shader -> String
$cshow :: Shader -> String
showsPrec :: Int -> Shader -> ShowS
$cshowsPrec :: Int -> Shader -> ShowS
Show)
p'Shader'id :: Ptr Shader -> Ptr CUInt
p'Shader'id Ptr Shader
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Shader
p Int
0
p'Shader'id :: Ptr Shader -> Ptr CUInt
p'Shader'locs :: Ptr Shader -> Ptr (Ptr CInt)
p'Shader'locs Ptr Shader
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Shader
p Int
4
p'Shader'locs :: Ptr Shader -> Ptr (Ptr CInt)
instance Storable Shader where
sizeOf :: Shader -> Int
sizeOf Shader
_ = Int
8
alignment :: Shader -> Int
alignment Shader
_ = Int
4
peek :: Ptr Shader -> IO Shader
peek Ptr Shader
_p = do
CUInt
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Shader
_p Int
0
Ptr CInt
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Shader
_p Int
4
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ CUInt -> Ptr CInt -> Shader
Shader CUInt
v0 Ptr CInt
v1
poke :: Ptr Shader -> Shader -> IO ()
poke Ptr Shader
_p (Shader CUInt
v0 Ptr CInt
v1) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Shader
_p Int
0 CUInt
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Shader
_p Int
4 Ptr CInt
v1
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data MaterialMap = MaterialMap
{ MaterialMap -> Texture
materialmap'texture :: Texture,
MaterialMap -> Color
materialmap'color :: Color,
MaterialMap -> CFloat
materialmap'value :: CFloat
}
deriving (MaterialMap -> MaterialMap -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MaterialMap -> MaterialMap -> Bool
$c/= :: MaterialMap -> MaterialMap -> Bool
== :: MaterialMap -> MaterialMap -> Bool
$c== :: MaterialMap -> MaterialMap -> Bool
Eq, Int -> MaterialMap -> ShowS
[MaterialMap] -> ShowS
MaterialMap -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MaterialMap] -> ShowS
$cshowList :: [MaterialMap] -> ShowS
show :: MaterialMap -> String
$cshow :: MaterialMap -> String
showsPrec :: Int -> MaterialMap -> ShowS
$cshowsPrec :: Int -> MaterialMap -> ShowS
Show)
p'MaterialMap'texture :: Ptr MaterialMap -> Ptr Texture
p'MaterialMap'texture Ptr MaterialMap
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr MaterialMap
p Int
0
p'MaterialMap'texture :: Ptr MaterialMap -> Ptr Texture
p'MaterialMap'color :: Ptr MaterialMap -> Ptr Color
p'MaterialMap'color Ptr MaterialMap
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr MaterialMap
p Int
20
p'MaterialMap'color :: Ptr MaterialMap -> Ptr Color
p'MaterialMap'value :: Ptr MaterialMap -> Ptr CFloat
p'MaterialMap'value Ptr MaterialMap
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr MaterialMap
p Int
24
p'MaterialMap'value :: Ptr MaterialMap -> Ptr CFloat
instance Storable MaterialMap where
sizeOf :: MaterialMap -> Int
sizeOf MaterialMap
_ = Int
28
alignment :: MaterialMap -> Int
alignment MaterialMap
_ = Int
4
peek :: Ptr MaterialMap -> IO MaterialMap
peek Ptr MaterialMap
_p = do
Texture
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr MaterialMap
_p Int
0
Color
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr MaterialMap
_p Int
20
CFloat
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr MaterialMap
_p Int
24
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ Texture -> Color -> CFloat -> MaterialMap
MaterialMap Texture
v0 Color
v1 CFloat
v2
poke :: Ptr MaterialMap -> MaterialMap -> IO ()
poke Ptr MaterialMap
_p (MaterialMap Texture
v0 Color
v1 CFloat
v2) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr MaterialMap
_p Int
0 Texture
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr MaterialMap
_p Int
20 Color
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr MaterialMap
_p Int
24 CFloat
v2
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data Material = Material
{ Material -> Shader
material'shader :: Shader,
Material -> Ptr MaterialMap
material'maps :: Ptr MaterialMap,
Material -> [CFloat]
material'params :: [CFloat]
}
deriving (Material -> Material -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Material -> Material -> Bool
$c/= :: Material -> Material -> Bool
== :: Material -> Material -> Bool
$c== :: Material -> Material -> Bool
Eq, Int -> Material -> ShowS
[Material] -> ShowS
Material -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Material] -> ShowS
$cshowList :: [Material] -> ShowS
show :: Material -> String
$cshow :: Material -> String
showsPrec :: Int -> Material -> ShowS
$cshowsPrec :: Int -> Material -> ShowS
Show)
p'Material'shader :: Ptr Material -> Ptr Shader
p'Material'shader Ptr Material
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Material
p Int
0
p'Material'shader :: Ptr Material -> Ptr Shader
p'Material'maps :: Ptr Material -> Ptr (Ptr MaterialMap)
p'Material'maps Ptr Material
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Material
p Int
8
p'Material'maps :: Ptr Material -> Ptr (Ptr MaterialMap)
p'Material'params :: Ptr Material -> Ptr CFloat
p'Material'params Ptr Material
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Material
p Int
12
p'Material'params :: Ptr Material -> Ptr CFloat
instance Storable Material where
sizeOf :: Material -> Int
sizeOf Material
_ = Int
28
alignment :: Material -> Int
alignment Material
_ = Int
4
peek :: Ptr Material -> IO Material
peek Ptr Material
_p = do
Shader
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Material
_p Int
0
Ptr MaterialMap
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Material
_p Int
8
[CFloat]
v2 <- let s2 :: Int
s2 = forall a. Integral a => a -> a -> a
div Int
16 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: CFloat) in forall a. Storable a => Int -> Ptr a -> IO [a]
peekArray Int
s2 (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Material
_p Int
12)
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ Shader -> Ptr MaterialMap -> [CFloat] -> Material
Material Shader
v0 Ptr MaterialMap
v1 [CFloat]
v2
poke :: Ptr Material -> Material -> IO ()
poke Ptr Material
_p (Material Shader
v0 Ptr MaterialMap
v1 [CFloat]
v2) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Material
_p Int
0 Shader
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Material
_p Int
8 Ptr MaterialMap
v1
let s2 :: Int
s2 = forall a. Integral a => a -> a -> a
div Int
16 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: CFloat)
forall a. Storable a => Ptr a -> [a] -> IO ()
pokeArray (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Material
_p Int
12) (forall a. Int -> [a] -> [a]
take Int
s2 [CFloat]
v2)
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data Transform = Transform
{ Transform -> Vector3
transform'translation :: Vector3,
Transform -> Vector4
transform'rotation :: Vector4,
Transform -> Vector3
transform'scale :: Vector3
}
deriving (Transform -> Transform -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Transform -> Transform -> Bool
$c/= :: Transform -> Transform -> Bool
== :: Transform -> Transform -> Bool
$c== :: Transform -> Transform -> Bool
Eq, Int -> Transform -> ShowS
[Transform] -> ShowS
Transform -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Transform] -> ShowS
$cshowList :: [Transform] -> ShowS
show :: Transform -> String
$cshow :: Transform -> String
showsPrec :: Int -> Transform -> ShowS
$cshowsPrec :: Int -> Transform -> ShowS
Show)
p'Transform'translation :: Ptr Transform -> Ptr Vector3
p'Transform'translation Ptr Transform
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Transform
p Int
0
p'Transform'translation :: Ptr Transform -> Ptr Vector3
p'Transform'rotation :: Ptr Transform -> Ptr Vector4
p'Transform'rotation Ptr Transform
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Transform
p Int
12
p'Transform'rotation :: Ptr Transform -> Ptr Vector4
p'Transform'scale :: Ptr Transform -> Ptr Vector3
p'Transform'scale Ptr Transform
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Transform
p Int
28
p'Transform'scale :: Ptr Transform -> Ptr Vector3
instance Storable Transform where
sizeOf :: Transform -> Int
sizeOf Transform
_ = Int
40
alignment :: Transform -> Int
alignment Transform
_ = Int
4
peek :: Ptr Transform -> IO Transform
peek Ptr Transform
_p = do
Vector3
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Transform
_p Int
0
Vector4
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Transform
_p Int
12
Vector3
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Transform
_p Int
28
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ Vector3 -> Vector4 -> Vector3 -> Transform
Transform Vector3
v0 Vector4
v1 Vector3
v2
poke :: Ptr Transform -> Transform -> IO ()
poke Ptr Transform
_p (Transform Vector3
v0 Vector4
v1 Vector3
v2) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Transform
_p Int
0 Vector3
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Transform
_p Int
12 Vector4
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Transform
_p Int
28 Vector3
v2
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data BoneInfo = BoneInfo
{ BoneInfo -> [CChar]
boneInfo'name :: [CChar],
BoneInfo -> CInt
boneinfo'parent :: CInt
}
deriving (BoneInfo -> BoneInfo -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BoneInfo -> BoneInfo -> Bool
$c/= :: BoneInfo -> BoneInfo -> Bool
== :: BoneInfo -> BoneInfo -> Bool
$c== :: BoneInfo -> BoneInfo -> Bool
Eq, Int -> BoneInfo -> ShowS
[BoneInfo] -> ShowS
BoneInfo -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [BoneInfo] -> ShowS
$cshowList :: [BoneInfo] -> ShowS
show :: BoneInfo -> String
$cshow :: BoneInfo -> String
showsPrec :: Int -> BoneInfo -> ShowS
$cshowsPrec :: Int -> BoneInfo -> ShowS
Show)
p'BoneInfo'name :: Ptr BoneInfo -> Ptr CChar
p'BoneInfo'name Ptr BoneInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr BoneInfo
p Int
0
p'BoneInfo'name :: Ptr BoneInfo -> Ptr CChar
p'BoneInfo'parent :: Ptr BoneInfo -> Ptr CInt
p'BoneInfo'parent Ptr BoneInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr BoneInfo
p Int
32
p'BoneInfo'parent :: Ptr BoneInfo -> Ptr CInt
instance Storable BoneInfo where
sizeOf :: BoneInfo -> Int
sizeOf BoneInfo
_ = Int
36
alignment :: BoneInfo -> Int
alignment BoneInfo
_ = Int
4
peek :: Ptr BoneInfo -> IO BoneInfo
peek Ptr BoneInfo
_p = do
[CChar]
v0 <- let s0 :: Int
s0 = forall a. Integral a => a -> a -> a
div Int
32 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: CChar) in forall a. Storable a => Int -> Ptr a -> IO [a]
peekArray Int
s0 (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr BoneInfo
_p Int
0)
CInt
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr BoneInfo
_p Int
32
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ [CChar] -> CInt -> BoneInfo
BoneInfo [CChar]
v0 CInt
v1
poke :: Ptr BoneInfo -> BoneInfo -> IO ()
poke Ptr BoneInfo
_p (BoneInfo [CChar]
v0 CInt
v1) = do
let s0 :: Int
s0 = forall a. Integral a => a -> a -> a
div Int
32 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: CChar)
forall a. Storable a => Ptr a -> [a] -> IO ()
pokeArray (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr BoneInfo
_p Int
0) (forall a. Int -> [a] -> [a]
take Int
s0 [CChar]
v0)
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr BoneInfo
_p Int
32 CInt
v1
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data Model = Model
{ Model -> Matrix
model'transform :: Matrix,
Model -> CInt
model'meshCount :: CInt,
Model -> CInt
model'materialCount :: CInt,
Model -> Ptr Mesh
model'meshes :: Ptr Mesh,
Model -> Ptr Material
model'materials :: Ptr Material,
Model -> Ptr CInt
model'meshMaterial :: Ptr CInt,
Model -> CInt
model'boneCount :: CInt,
Model -> Ptr BoneInfo
model'bones :: Ptr BoneInfo,
Model -> Ptr Transform
model'bindPose :: Ptr Transform
}
deriving (Model -> Model -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Model -> Model -> Bool
$c/= :: Model -> Model -> Bool
== :: Model -> Model -> Bool
$c== :: Model -> Model -> Bool
Eq, Int -> Model -> ShowS
[Model] -> ShowS
Model -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Model] -> ShowS
$cshowList :: [Model] -> ShowS
show :: Model -> String
$cshow :: Model -> String
showsPrec :: Int -> Model -> ShowS
$cshowsPrec :: Int -> Model -> ShowS
Show)
p'Model'transform :: Ptr Model -> Ptr Matrix
p'Model'transform Ptr Model
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Model
p Int
0
p'Model'transform :: Ptr Model -> Ptr Matrix
p'Model'meshCount :: Ptr Model -> Ptr CInt
p'Model'meshCount Ptr Model
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Model
p Int
64
p'Model'meshCount :: Ptr Model -> Ptr CInt
p'Model'materialCount :: Ptr Model -> Ptr CInt
p'Model'materialCount Ptr Model
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Model
p Int
68
p'Model'materialCount :: Ptr Model -> Ptr CInt
p'Model'meshes :: Ptr Model -> Ptr (Ptr Mesh)
p'Model'meshes Ptr Model
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Model
p Int
72
p'Model'meshes :: Ptr Model -> Ptr (Ptr Mesh)
p'Model'materials :: Ptr Model -> Ptr (Ptr Material)
p'Model'materials Ptr Model
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Model
p Int
76
p'Model'materials :: Ptr Model -> Ptr (Ptr Material)
p'Model'meshMaterial :: Ptr Model -> Ptr (Ptr CInt)
p'Model'meshMaterial Ptr Model
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Model
p Int
80
p'Model'meshMaterial :: Ptr Model -> Ptr (Ptr CInt)
p'Model'boneCount :: Ptr Model -> Ptr CInt
p'Model'boneCount Ptr Model
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Model
p Int
84
p'Model'boneCount :: Ptr Model -> Ptr CInt
p'Model'bones :: Ptr Model -> Ptr (Ptr BoneInfo)
p'Model'bones Ptr Model
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Model
p Int
88
p'Model'bones :: Ptr Model -> Ptr (Ptr BoneInfo)
p'Model'bindPose :: Ptr Model -> Ptr (Ptr Transform)
p'Model'bindPose Ptr Model
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Model
p Int
92
p'Model'bindPose :: Ptr Model -> Ptr (Ptr Transform)
instance Storable Model where
sizeOf :: Model -> Int
sizeOf Model
_ = Int
96
alignment :: Model -> Int
alignment Model
_ = Int
4
peek :: Ptr Model -> IO Model
peek Ptr Model
_p = do
Matrix
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Model
_p Int
0
CInt
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Model
_p Int
64
CInt
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Model
_p Int
68
Ptr Mesh
v3 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Model
_p Int
72
Ptr Material
v4 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Model
_p Int
76
Ptr CInt
v5 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Model
_p Int
80
CInt
v6 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Model
_p Int
84
Ptr BoneInfo
v7 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Model
_p Int
88
Ptr Transform
v8 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Model
_p Int
92
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ Matrix
-> CInt
-> CInt
-> Ptr Mesh
-> Ptr Material
-> Ptr CInt
-> CInt
-> Ptr BoneInfo
-> Ptr Transform
-> Model
Model Matrix
v0 CInt
v1 CInt
v2 Ptr Mesh
v3 Ptr Material
v4 Ptr CInt
v5 CInt
v6 Ptr BoneInfo
v7 Ptr Transform
v8
poke :: Ptr Model -> Model -> IO ()
poke Ptr Model
_p (Model Matrix
v0 CInt
v1 CInt
v2 Ptr Mesh
v3 Ptr Material
v4 Ptr CInt
v5 CInt
v6 Ptr BoneInfo
v7 Ptr Transform
v8) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Model
_p Int
0 Matrix
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Model
_p Int
64 CInt
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Model
_p Int
68 CInt
v2
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Model
_p Int
72 Ptr Mesh
v3
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Model
_p Int
76 Ptr Material
v4
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Model
_p Int
80 Ptr CInt
v5
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Model
_p Int
84 CInt
v6
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Model
_p Int
88 Ptr BoneInfo
v7
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Model
_p Int
92 Ptr Transform
v8
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data ModelAnimation = ModelAnimation
{ ModelAnimation -> CInt
modelAnimation'boneCount :: CInt,
ModelAnimation -> CInt
modelAnimation'frameCount :: CInt,
ModelAnimation -> Ptr BoneInfo
modelAnimation'bones :: Ptr BoneInfo,
ModelAnimation -> Ptr (Ptr Transform)
modelAnimation'framePoses :: Ptr (Ptr Transform)
}
deriving (ModelAnimation -> ModelAnimation -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModelAnimation -> ModelAnimation -> Bool
$c/= :: ModelAnimation -> ModelAnimation -> Bool
== :: ModelAnimation -> ModelAnimation -> Bool
$c== :: ModelAnimation -> ModelAnimation -> Bool
Eq, Int -> ModelAnimation -> ShowS
[ModelAnimation] -> ShowS
ModelAnimation -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModelAnimation] -> ShowS
$cshowList :: [ModelAnimation] -> ShowS
show :: ModelAnimation -> String
$cshow :: ModelAnimation -> String
showsPrec :: Int -> ModelAnimation -> ShowS
$cshowsPrec :: Int -> ModelAnimation -> ShowS
Show)
p'ModelAnimation'boneCount :: Ptr ModelAnimation -> Ptr CInt
p'ModelAnimation'boneCount Ptr ModelAnimation
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr ModelAnimation
p Int
0
p'ModelAnimation'boneCount :: Ptr ModelAnimation -> Ptr CInt
p'ModelAnimation'frameCount :: Ptr ModelAnimation -> Ptr CInt
p'ModelAnimation'frameCount Ptr ModelAnimation
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr ModelAnimation
p Int
4
p'ModelAnimation'frameCount :: Ptr ModelAnimation -> Ptr CInt
p'ModelAnimation'bones :: Ptr ModelAnimation -> Ptr (Ptr BoneInfo)
p'ModelAnimation'bones Ptr ModelAnimation
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr ModelAnimation
p Int
8
p'ModelAnimation'bones :: Ptr ModelAnimation -> Ptr (Ptr BoneInfo)
p'ModelAnimation'framePoses :: Ptr ModelAnimation -> Ptr (Ptr (Ptr Transform))
p'ModelAnimation'framePoses Ptr ModelAnimation
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr ModelAnimation
p Int
12
p'ModelAnimation'framePoses :: Ptr ModelAnimation -> Ptr (Ptr (Ptr Transform))
instance Storable ModelAnimation where
sizeOf :: ModelAnimation -> Int
sizeOf ModelAnimation
_ = Int
16
alignment :: ModelAnimation -> Int
alignment ModelAnimation
_ = Int
4
peek :: Ptr ModelAnimation -> IO ModelAnimation
peek Ptr ModelAnimation
_p = do
CInt
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr ModelAnimation
_p Int
0
CInt
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr ModelAnimation
_p Int
4
Ptr BoneInfo
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr ModelAnimation
_p Int
8
Ptr (Ptr Transform)
v3 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr ModelAnimation
_p Int
12
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ CInt
-> CInt -> Ptr BoneInfo -> Ptr (Ptr Transform) -> ModelAnimation
ModelAnimation CInt
v0 CInt
v1 Ptr BoneInfo
v2 Ptr (Ptr Transform)
v3
poke :: Ptr ModelAnimation -> ModelAnimation -> IO ()
poke Ptr ModelAnimation
_p (ModelAnimation CInt
v0 CInt
v1 Ptr BoneInfo
v2 Ptr (Ptr Transform)
v3) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr ModelAnimation
_p Int
0 CInt
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr ModelAnimation
_p Int
4 CInt
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr ModelAnimation
_p Int
8 Ptr BoneInfo
v2
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr ModelAnimation
_p Int
12 Ptr (Ptr Transform)
v3
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data Ray = Ray
{ Ray -> Vector3
ray'position :: Vector3,
Ray -> Vector3
ray'direction :: Vector3
}
deriving (Ray -> Ray -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Ray -> Ray -> Bool
$c/= :: Ray -> Ray -> Bool
== :: Ray -> Ray -> Bool
$c== :: Ray -> Ray -> Bool
Eq, Int -> Ray -> ShowS
[Ray] -> ShowS
Ray -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Ray] -> ShowS
$cshowList :: [Ray] -> ShowS
show :: Ray -> String
$cshow :: Ray -> String
showsPrec :: Int -> Ray -> ShowS
$cshowsPrec :: Int -> Ray -> ShowS
Show)
p'Ray'position :: Ptr Ray -> Ptr Vector3
p'Ray'position Ptr Ray
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Ray
p Int
0
p'Ray'position :: Ptr Ray -> Ptr Vector3
p'Ray'direction :: Ptr Ray -> Ptr Vector3
p'Ray'direction Ptr Ray
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Ray
p Int
12
p'Ray'direction :: Ptr Ray -> Ptr Vector3
instance Storable Ray where
sizeOf :: Ray -> Int
sizeOf Ray
_ = Int
24
alignment :: Ray -> Int
alignment Ray
_ = Int
4
peek :: Ptr Ray -> IO Ray
peek Ptr Ray
_p = do
Vector3
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Ray
_p Int
0
Vector3
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Ray
_p Int
12
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ Vector3 -> Vector3 -> Ray
Ray Vector3
v0 Vector3
v1
poke :: Ptr Ray -> Ray -> IO ()
poke Ptr Ray
_p (Ray Vector3
v0 Vector3
v1) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Ray
_p Int
0 Vector3
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Ray
_p Int
12 Vector3
v1
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data RayCollision = RayCollision
{ RayCollision -> CBool
rayCollision'hit :: CBool,
RayCollision -> CFloat
rayCollision'distance :: CFloat,
RayCollision -> Vector3
rayCollision'point :: Vector3,
RayCollision -> Vector3
rayCollision'normal :: Vector3
}
deriving (RayCollision -> RayCollision -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RayCollision -> RayCollision -> Bool
$c/= :: RayCollision -> RayCollision -> Bool
== :: RayCollision -> RayCollision -> Bool
$c== :: RayCollision -> RayCollision -> Bool
Eq, Int -> RayCollision -> ShowS
[RayCollision] -> ShowS
RayCollision -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RayCollision] -> ShowS
$cshowList :: [RayCollision] -> ShowS
show :: RayCollision -> String
$cshow :: RayCollision -> String
showsPrec :: Int -> RayCollision -> ShowS
$cshowsPrec :: Int -> RayCollision -> ShowS
Show)
p'RayCollision'hit :: Ptr RayCollision -> Ptr CBool
p'RayCollision'hit Ptr RayCollision
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr RayCollision
p Int
0
p'RayCollision'hit :: Ptr RayCollision -> Ptr CBool
p'RayCollision'distance :: Ptr RayCollision -> Ptr CFloat
p'RayCollision'distance Ptr RayCollision
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr RayCollision
p Int
4
p'RayCollision'distance :: Ptr RayCollision -> Ptr CFloat
p'RayCollision'point :: Ptr RayCollision -> Ptr Vector3
p'RayCollision'point Ptr RayCollision
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr RayCollision
p Int
8
p'RayCollision'point :: Ptr RayCollision -> Ptr Vector3
p'RayCollision'normal :: Ptr RayCollision -> Ptr Vector3
p'RayCollision'normal Ptr RayCollision
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr RayCollision
p Int
20
p'RayCollision'normal :: Ptr RayCollision -> Ptr Vector3
instance Storable RayCollision where
sizeOf :: RayCollision -> Int
sizeOf RayCollision
_ = Int
32
alignment :: RayCollision -> Int
alignment RayCollision
_ = Int
4
peek :: Ptr RayCollision -> IO RayCollision
peek Ptr RayCollision
_p = do
CBool
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr RayCollision
_p Int
0
CFloat
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr RayCollision
_p Int
4
Vector3
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr RayCollision
_p Int
8
Vector3
v3 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr RayCollision
_p Int
20
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ CBool -> CFloat -> Vector3 -> Vector3 -> RayCollision
RayCollision CBool
v0 CFloat
v1 Vector3
v2 Vector3
v3
poke :: Ptr RayCollision -> RayCollision -> IO ()
poke Ptr RayCollision
_p (RayCollision CBool
v0 CFloat
v1 Vector3
v2 Vector3
v3) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr RayCollision
_p Int
0 CBool
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr RayCollision
_p Int
4 CFloat
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr RayCollision
_p Int
8 Vector3
v2
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr RayCollision
_p Int
20 Vector3
v3
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data BoundingBox = BoundingBox
{ BoundingBox -> Vector3
boundingBox'min :: Vector3,
BoundingBox -> Vector3
boundingBox'max :: Vector3
}
deriving (BoundingBox -> BoundingBox -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BoundingBox -> BoundingBox -> Bool
$c/= :: BoundingBox -> BoundingBox -> Bool
== :: BoundingBox -> BoundingBox -> Bool
$c== :: BoundingBox -> BoundingBox -> Bool
Eq, Int -> BoundingBox -> ShowS
[BoundingBox] -> ShowS
BoundingBox -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [BoundingBox] -> ShowS
$cshowList :: [BoundingBox] -> ShowS
show :: BoundingBox -> String
$cshow :: BoundingBox -> String
showsPrec :: Int -> BoundingBox -> ShowS
$cshowsPrec :: Int -> BoundingBox -> ShowS
Show)
p'BoundingBox'min :: Ptr BoundingBox -> Ptr Vector3
p'BoundingBox'min Ptr BoundingBox
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr BoundingBox
p Int
0
p'BoundingBox'min :: Ptr BoundingBox -> Ptr Vector3
p'BoundingBox'max :: Ptr BoundingBox -> Ptr Vector3
p'BoundingBox'max Ptr BoundingBox
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr BoundingBox
p Int
12
p'BoundingBox'max :: Ptr BoundingBox -> Ptr Vector3
instance Storable BoundingBox where
sizeOf :: BoundingBox -> Int
sizeOf BoundingBox
_ = Int
24
alignment :: BoundingBox -> Int
alignment BoundingBox
_ = Int
4
peek :: Ptr BoundingBox -> IO BoundingBox
peek Ptr BoundingBox
_p = do
Vector3
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr BoundingBox
_p Int
0
Vector3
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr BoundingBox
_p Int
12
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ Vector3 -> Vector3 -> BoundingBox
BoundingBox Vector3
v0 Vector3
v1
poke :: Ptr BoundingBox -> BoundingBox -> IO ()
poke Ptr BoundingBox
_p (BoundingBox Vector3
v0 Vector3
v1) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr BoundingBox
_p Int
0 Vector3
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr BoundingBox
_p Int
12 Vector3
v1
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data Wave = Wave
{ Wave -> CUInt
wave'frameCount :: CUInt,
Wave -> CUInt
wave'sampleRate :: CUInt,
Wave -> CUInt
wave'sampleSize :: CUInt,
Wave -> CUInt
wave'channels :: CUInt,
Wave -> Ptr ()
wave'data :: Ptr ()
}
deriving (Wave -> Wave -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Wave -> Wave -> Bool
$c/= :: Wave -> Wave -> Bool
== :: Wave -> Wave -> Bool
$c== :: Wave -> Wave -> Bool
Eq, Int -> Wave -> ShowS
[Wave] -> ShowS
Wave -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Wave] -> ShowS
$cshowList :: [Wave] -> ShowS
show :: Wave -> String
$cshow :: Wave -> String
showsPrec :: Int -> Wave -> ShowS
$cshowsPrec :: Int -> Wave -> ShowS
Show)
p'Wave'frameCount :: Ptr Wave -> Ptr CUInt
p'Wave'frameCount Ptr Wave
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Wave
p Int
0
p'Wave'frameCount :: Ptr Wave -> Ptr CUInt
p'Wave'sampleRate :: Ptr Wave -> Ptr CUInt
p'Wave'sampleRate Ptr Wave
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Wave
p Int
4
p'Wave'sampleRate :: Ptr Wave -> Ptr CUInt
p'Wave'sampleSize :: Ptr Wave -> Ptr CUInt
p'Wave'sampleSize Ptr Wave
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Wave
p Int
8
p'Wave'sampleSize :: Ptr Wave -> Ptr CUInt
p'Wave'channels :: Ptr Wave -> Ptr CUInt
p'Wave'channels Ptr Wave
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Wave
p Int
12
p'Wave'channels :: Ptr Wave -> Ptr CUInt
p'Wave'data :: Ptr Wave -> Ptr (Ptr ())
p'Wave'data Ptr Wave
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Wave
p Int
16
p'Wave'data :: Ptr Wave -> Ptr (Ptr ())
instance Storable Wave where
sizeOf :: Wave -> Int
sizeOf Wave
_ = Int
20
alignment :: Wave -> Int
alignment Wave
_ = Int
4
peek :: Ptr Wave -> IO Wave
peek Ptr Wave
_p = do
CUInt
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Wave
_p Int
0
CUInt
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Wave
_p Int
4
CUInt
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Wave
_p Int
8
CUInt
v3 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Wave
_p Int
12
Ptr ()
v4 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Wave
_p Int
16
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ CUInt -> CUInt -> CUInt -> CUInt -> Ptr () -> Wave
Wave CUInt
v0 CUInt
v1 CUInt
v2 CUInt
v3 Ptr ()
v4
poke :: Ptr Wave -> Wave -> IO ()
poke Ptr Wave
_p (Wave CUInt
v0 CUInt
v1 CUInt
v2 CUInt
v3 Ptr ()
v4) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Wave
_p Int
0 CUInt
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Wave
_p Int
4 CUInt
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Wave
_p Int
8 CUInt
v2
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Wave
_p Int
12 CUInt
v3
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Wave
_p Int
16 Ptr ()
v4
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data RAudioBuffer = RAudioBuffer
data RAudioProcessor = RAudioProcessor
data AudioStream = AudioStream
{ AudioStream -> Ptr RAudioBuffer
audioStream'buffer :: Ptr RAudioBuffer,
AudioStream -> Ptr RAudioProcessor
audioStream'processor :: Ptr RAudioProcessor,
AudioStream -> CUInt
audioStream'sampleRate :: CUInt,
AudioStream -> CUInt
audioStream'sampleSize :: CUInt,
AudioStream -> CUInt
audiostream'channels :: CUInt
}
deriving (AudioStream -> AudioStream -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioStream -> AudioStream -> Bool
$c/= :: AudioStream -> AudioStream -> Bool
== :: AudioStream -> AudioStream -> Bool
$c== :: AudioStream -> AudioStream -> Bool
Eq, Int -> AudioStream -> ShowS
[AudioStream] -> ShowS
AudioStream -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioStream] -> ShowS
$cshowList :: [AudioStream] -> ShowS
show :: AudioStream -> String
$cshow :: AudioStream -> String
showsPrec :: Int -> AudioStream -> ShowS
$cshowsPrec :: Int -> AudioStream -> ShowS
Show)
p'AudioStream'buffer :: Ptr AudioStream -> Ptr (Ptr RAudioBuffer)
p'AudioStream'buffer Ptr AudioStream
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr AudioStream
p Int
0
p'AudioStream'buffer :: Ptr AudioStream -> Ptr (Ptr RAudioBuffer)
p'AudioStream'processor :: forall rAudioProcessor.
Ptr AudioStream -> Ptr (Ptr rAudioProcessor)
p'AudioStream'processor Ptr AudioStream
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr AudioStream
p Int
4
p'AudioStream'processor :: Ptr AudioStream -> Ptr (Ptr rAudioProcessor)
p'AudioStream'sampleRate :: Ptr AudioStream -> Ptr CUInt
p'AudioStream'sampleRate Ptr AudioStream
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr AudioStream
p Int
8
p'AudioStream'sampleRate :: Ptr AudioStream -> Ptr CUInt
p'AudioStream'sampleSize :: Ptr AudioStream -> Ptr CUInt
p'AudioStream'sampleSize Ptr AudioStream
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr AudioStream
p Int
12
p'AudioStream'sampleSize :: Ptr AudioStream -> Ptr CUInt
p'AudioStream'channels :: Ptr AudioStream -> Ptr CUInt
p'AudioStream'channels Ptr AudioStream
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr AudioStream
p Int
16
p'AudioStream'channels :: Ptr AudioStream -> Ptr CUInt
instance Storable AudioStream where
sizeOf :: AudioStream -> Int
sizeOf AudioStream
_ = Int
20
alignment :: AudioStream -> Int
alignment AudioStream
_ = Int
4
peek :: Ptr AudioStream -> IO AudioStream
peek Ptr AudioStream
_p = do
Ptr RAudioBuffer
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr AudioStream
_p Int
0
Ptr RAudioProcessor
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr AudioStream
_p Int
4
CUInt
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr AudioStream
_p Int
8
CUInt
v3 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr AudioStream
_p Int
12
CUInt
v4 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr AudioStream
_p Int
16
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ Ptr RAudioBuffer
-> Ptr RAudioProcessor -> CUInt -> CUInt -> CUInt -> AudioStream
AudioStream Ptr RAudioBuffer
v0 Ptr RAudioProcessor
v1 CUInt
v2 CUInt
v3 CUInt
v4
poke :: Ptr AudioStream -> AudioStream -> IO ()
poke Ptr AudioStream
_p (AudioStream Ptr RAudioBuffer
v0 Ptr RAudioProcessor
v1 CUInt
v2 CUInt
v3 CUInt
v4) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr AudioStream
_p Int
0 Ptr RAudioBuffer
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr AudioStream
_p Int
4 Ptr RAudioProcessor
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr AudioStream
_p Int
8 CUInt
v2
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr AudioStream
_p Int
12 CUInt
v3
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr AudioStream
_p Int
16 CUInt
v4
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data Sound = Sound
{ Sound -> AudioStream
sound'stream :: AudioStream,
Sound -> CUInt
sound'frameCount :: CUInt
}
deriving (Sound -> Sound -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Sound -> Sound -> Bool
$c/= :: Sound -> Sound -> Bool
== :: Sound -> Sound -> Bool
$c== :: Sound -> Sound -> Bool
Eq, Int -> Sound -> ShowS
[Sound] -> ShowS
Sound -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Sound] -> ShowS
$cshowList :: [Sound] -> ShowS
show :: Sound -> String
$cshow :: Sound -> String
showsPrec :: Int -> Sound -> ShowS
$cshowsPrec :: Int -> Sound -> ShowS
Show)
p'Sound'stream :: Ptr Sound -> Ptr AudioStream
p'Sound'stream Ptr Sound
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Sound
p Int
0
p'Sound'stream :: Ptr Sound -> Ptr AudioStream
p'Sound'frameCount :: Ptr Sound -> Ptr CUInt
p'Sound'frameCount Ptr Sound
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Sound
p Int
20
p'Sound'frameCount :: Ptr Sound -> Ptr CUInt
instance Storable Sound where
sizeOf :: Sound -> Int
sizeOf Sound
_ = Int
24
alignment :: Sound -> Int
alignment Sound
_ = Int
4
peek :: Ptr Sound -> IO Sound
peek Ptr Sound
_p = do
AudioStream
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Sound
_p Int
0
CUInt
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Sound
_p Int
20
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ AudioStream -> CUInt -> Sound
Sound AudioStream
v0 CUInt
v1
poke :: Ptr Sound -> Sound -> IO ()
poke Ptr Sound
_p (Sound AudioStream
v0 CUInt
v1) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Sound
_p Int
0 AudioStream
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Sound
_p Int
20 CUInt
v1
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data Music = Music
{ Music -> AudioStream
musistream :: AudioStream,
Music -> CUInt
musiframeCount :: CUInt,
Music -> CInt
musilooping :: CInt,
Music -> CInt
musictxType :: CInt,
Music -> Ptr ()
musictxData :: Ptr ()
}
deriving (Music -> Music -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Music -> Music -> Bool
$c/= :: Music -> Music -> Bool
== :: Music -> Music -> Bool
$c== :: Music -> Music -> Bool
Eq, Int -> Music -> ShowS
[Music] -> ShowS
Music -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Music] -> ShowS
$cshowList :: [Music] -> ShowS
show :: Music -> String
$cshow :: Music -> String
showsPrec :: Int -> Music -> ShowS
$cshowsPrec :: Int -> Music -> ShowS
Show)
p'Musistream :: Ptr Music -> Ptr AudioStream
p'Musistream Ptr Music
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Music
p Int
0
p'Musistream :: Ptr Music -> Ptr AudioStream
p'MusiframeCount :: Ptr Music -> Ptr CUInt
p'MusiframeCount Ptr Music
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Music
p Int
20
p'MusiframeCount :: Ptr Music -> Ptr CUInt
p'Musilooping :: Ptr Music -> Ptr CInt
p'Musilooping Ptr Music
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Music
p Int
24
p'Musilooping :: Ptr Music -> Ptr CInt
p'MusictxType :: Ptr Music -> Ptr CInt
p'MusictxType Ptr Music
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Music
p Int
28
p'MusictxType :: Ptr Music -> Ptr CInt
p'MusictxData :: Ptr Music -> Ptr (Ptr ())
p'MusictxData Ptr Music
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr Music
p Int
32
p'MusictxData :: Ptr Music -> Ptr (Ptr ())
instance Storable Music where
sizeOf :: Music -> Int
sizeOf Music
_ = Int
36
alignment :: Music -> Int
alignment Music
_ = Int
4
peek :: Ptr Music -> IO Music
peek Ptr Music
_p = do
AudioStream
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Music
_p Int
0
CUInt
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Music
_p Int
20
CInt
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Music
_p Int
24
CInt
v3 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Music
_p Int
28
Ptr ()
v4 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Music
_p Int
32
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ AudioStream -> CUInt -> CInt -> CInt -> Ptr () -> Music
Music AudioStream
v0 CUInt
v1 CInt
v2 CInt
v3 Ptr ()
v4
poke :: Ptr Music -> Music -> IO ()
poke Ptr Music
_p (Music AudioStream
v0 CUInt
v1 CInt
v2 CInt
v3 Ptr ()
v4) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Music
_p Int
0 AudioStream
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Music
_p Int
20 CUInt
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Music
_p Int
24 CInt
v2
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Music
_p Int
28 CInt
v3
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr Music
_p Int
32 Ptr ()
v4
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data VrDeviceInfo = VrDeviceInfo
{ VrDeviceInfo -> CInt
vrDeviceInfo'hResolution :: CInt,
VrDeviceInfo -> CInt
vrDeviceInfo'vResolution :: CInt,
VrDeviceInfo -> CFloat
vrDeviceInfo'hScreenSize :: CFloat,
VrDeviceInfo -> CFloat
vrDeviceInfo'vScreenSize :: CFloat,
VrDeviceInfo -> CFloat
vrDeviceInfo'vScreenCenter :: CFloat,
VrDeviceInfo -> CFloat
vrDeviceInfo'eyeToScreenDistance :: CFloat,
VrDeviceInfo -> CFloat
vrDeviceInfo'lensSeparationDistance :: CFloat,
VrDeviceInfo -> CFloat
vrDeviceInfo'interpupillaryDistance :: CFloat,
VrDeviceInfo -> [CFloat]
vrDeviceInfo'lensDistortionValues :: [CFloat],
VrDeviceInfo -> [CFloat]
vrDeviceInfo'chromaAbCorrection :: [CFloat]
}
deriving (VrDeviceInfo -> VrDeviceInfo -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VrDeviceInfo -> VrDeviceInfo -> Bool
$c/= :: VrDeviceInfo -> VrDeviceInfo -> Bool
== :: VrDeviceInfo -> VrDeviceInfo -> Bool
$c== :: VrDeviceInfo -> VrDeviceInfo -> Bool
Eq, Int -> VrDeviceInfo -> ShowS
[VrDeviceInfo] -> ShowS
VrDeviceInfo -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [VrDeviceInfo] -> ShowS
$cshowList :: [VrDeviceInfo] -> ShowS
show :: VrDeviceInfo -> String
$cshow :: VrDeviceInfo -> String
showsPrec :: Int -> VrDeviceInfo -> ShowS
$cshowsPrec :: Int -> VrDeviceInfo -> ShowS
Show)
p'VrDeviceInfo'hResolution :: Ptr VrDeviceInfo -> Ptr CInt
p'VrDeviceInfo'hResolution Ptr VrDeviceInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrDeviceInfo
p Int
0
p'VrDeviceInfo'hResolution :: Ptr VrDeviceInfo -> Ptr CInt
p'VrDeviceInfo'vResolution :: Ptr VrDeviceInfo -> Ptr CInt
p'VrDeviceInfo'vResolution Ptr VrDeviceInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrDeviceInfo
p Int
4
p'VrDeviceInfo'vResolution :: Ptr VrDeviceInfo -> Ptr CInt
p'VrDeviceInfo'hScreenSize :: Ptr VrDeviceInfo -> Ptr CFloat
p'VrDeviceInfo'hScreenSize Ptr VrDeviceInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrDeviceInfo
p Int
8
p'VrDeviceInfo'hScreenSize :: Ptr VrDeviceInfo -> Ptr CFloat
p'VrDeviceInfo'vScreenSize :: Ptr VrDeviceInfo -> Ptr CFloat
p'VrDeviceInfo'vScreenSize Ptr VrDeviceInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrDeviceInfo
p Int
12
p'VrDeviceInfo'vScreenSize :: Ptr VrDeviceInfo -> Ptr CFloat
p'VrDeviceInfo'vScreenCenter :: Ptr VrDeviceInfo -> Ptr CFloat
p'VrDeviceInfo'vScreenCenter Ptr VrDeviceInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrDeviceInfo
p Int
16
p'VrDeviceInfo'vScreenCenter :: Ptr VrDeviceInfo -> Ptr CFloat
p'VrDeviceInfo'eyeToScreenDistance :: Ptr VrDeviceInfo -> Ptr CFloat
p'VrDeviceInfo'eyeToScreenDistance Ptr VrDeviceInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrDeviceInfo
p Int
20
p'VrDeviceInfo'eyeToScreenDistance :: Ptr VrDeviceInfo -> Ptr CFloat
p'VrDeviceInfo'lensSeparationDistance :: Ptr VrDeviceInfo -> Ptr CFloat
p'VrDeviceInfo'lensSeparationDistance Ptr VrDeviceInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrDeviceInfo
p Int
24
p'VrDeviceInfo'lensSeparationDistance :: Ptr VrDeviceInfo -> Ptr CFloat
p'VrDeviceInfo'interpupillaryDistance :: Ptr VrDeviceInfo -> Ptr CFloat
p'VrDeviceInfo'interpupillaryDistance Ptr VrDeviceInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrDeviceInfo
p Int
28
p'VrDeviceInfo'interpupillaryDistance :: Ptr VrDeviceInfo -> Ptr CFloat
p'VrDeviceInfo'lensDistortionValues :: Ptr VrDeviceInfo -> Ptr CFloat
p'VrDeviceInfo'lensDistortionValues Ptr VrDeviceInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrDeviceInfo
p Int
32
p'VrDeviceInfo'lensDistortionValues :: Ptr VrDeviceInfo -> Ptr CFloat
p'VrDeviceInfo'chromaAbCorrection :: Ptr VrDeviceInfo -> Ptr CFloat
p'VrDeviceInfo'chromaAbCorrection Ptr VrDeviceInfo
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrDeviceInfo
p Int
48
p'VrDeviceInfo'chromaAbCorrection :: Ptr VrDeviceInfo -> Ptr CFloat
instance Storable VrDeviceInfo where
sizeOf :: VrDeviceInfo -> Int
sizeOf VrDeviceInfo
_ = Int
64
alignment :: VrDeviceInfo -> Int
alignment VrDeviceInfo
_ = Int
4
peek :: Ptr VrDeviceInfo -> IO VrDeviceInfo
peek Ptr VrDeviceInfo
_p = do
CInt
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VrDeviceInfo
_p Int
0
CInt
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VrDeviceInfo
_p Int
4
CFloat
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VrDeviceInfo
_p Int
8
CFloat
v3 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VrDeviceInfo
_p Int
12
CFloat
v4 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VrDeviceInfo
_p Int
16
CFloat
v5 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VrDeviceInfo
_p Int
20
CFloat
v6 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VrDeviceInfo
_p Int
24
CFloat
v7 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VrDeviceInfo
_p Int
28
[CFloat]
v8 <- let s8 :: Int
s8 = forall a. Integral a => a -> a -> a
div Int
16 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: CFloat) in forall a. Storable a => Int -> Ptr a -> IO [a]
peekArray Int
s8 (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrDeviceInfo
_p Int
32)
[CFloat]
v9 <- let s9 :: Int
s9 = forall a. Integral a => a -> a -> a
div Int
16 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: CFloat) in forall a. Storable a => Int -> Ptr a -> IO [a]
peekArray Int
s9 (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrDeviceInfo
_p Int
48)
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ CInt
-> CInt
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> [CFloat]
-> [CFloat]
-> VrDeviceInfo
VrDeviceInfo CInt
v0 CInt
v1 CFloat
v2 CFloat
v3 CFloat
v4 CFloat
v5 CFloat
v6 CFloat
v7 [CFloat]
v8 [CFloat]
v9
poke :: Ptr VrDeviceInfo -> VrDeviceInfo -> IO ()
poke Ptr VrDeviceInfo
_p (VrDeviceInfo CInt
v0 CInt
v1 CFloat
v2 CFloat
v3 CFloat
v4 CFloat
v5 CFloat
v6 CFloat
v7 [CFloat]
v8 [CFloat]
v9) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VrDeviceInfo
_p Int
0 CInt
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VrDeviceInfo
_p Int
4 CInt
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VrDeviceInfo
_p Int
8 CFloat
v2
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VrDeviceInfo
_p Int
12 CFloat
v3
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VrDeviceInfo
_p Int
16 CFloat
v4
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VrDeviceInfo
_p Int
20 CFloat
v5
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VrDeviceInfo
_p Int
24 CFloat
v6
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VrDeviceInfo
_p Int
28 CFloat
v7
let s8 :: Int
s8 = forall a. Integral a => a -> a -> a
div Int
16 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: CFloat)
forall a. Storable a => Ptr a -> [a] -> IO ()
pokeArray (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrDeviceInfo
_p Int
32) (forall a. Int -> [a] -> [a]
take Int
s8 [CFloat]
v8)
let s9 :: Int
s9 = forall a. Integral a => a -> a -> a
div Int
16 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: CFloat)
forall a. Storable a => Ptr a -> [a] -> IO ()
pokeArray (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrDeviceInfo
_p Int
48) (forall a. Int -> [a] -> [a]
take Int
s9 [CFloat]
v9)
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data VrStereoConfig = VrStereoConfig
{ VrStereoConfig -> [Matrix]
vrStereoConfig'projection :: [Matrix],
VrStereoConfig -> [Matrix]
vrStereoConfig'viewOffset :: [Matrix],
VrStereoConfig -> [CFloat]
vrStereoConfig'leftLensCenter :: [CFloat],
VrStereoConfig -> [CFloat]
vrStereoConfig'rightLensCenter :: [CFloat],
VrStereoConfig -> [CFloat]
vrStereoConfig'leftScreenCenter :: [CFloat],
VrStereoConfig -> [CFloat]
vrStereoConfig'rightScreenCenter :: [CFloat],
VrStereoConfig -> [CFloat]
vrStereoConfig'scale :: [CFloat],
VrStereoConfig -> [CFloat]
vrStereoConfig'scaleIn :: [CFloat]
}
deriving (VrStereoConfig -> VrStereoConfig -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VrStereoConfig -> VrStereoConfig -> Bool
$c/= :: VrStereoConfig -> VrStereoConfig -> Bool
== :: VrStereoConfig -> VrStereoConfig -> Bool
$c== :: VrStereoConfig -> VrStereoConfig -> Bool
Eq, Int -> VrStereoConfig -> ShowS
[VrStereoConfig] -> ShowS
VrStereoConfig -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [VrStereoConfig] -> ShowS
$cshowList :: [VrStereoConfig] -> ShowS
show :: VrStereoConfig -> String
$cshow :: VrStereoConfig -> String
showsPrec :: Int -> VrStereoConfig -> ShowS
$cshowsPrec :: Int -> VrStereoConfig -> ShowS
Show)
p'VrStereoConfig'projection :: Ptr VrStereoConfig -> Ptr Matrix
p'VrStereoConfig'projection Ptr VrStereoConfig
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
p Int
0
p'VrStereoConfig'projection :: Ptr VrStereoConfig -> Ptr Matrix
p'VrStereoConfig'viewOffset :: Ptr VrStereoConfig -> Ptr Matrix
p'VrStereoConfig'viewOffset Ptr VrStereoConfig
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
p Int
128
p'VrStereoConfig'viewOffset :: Ptr VrStereoConfig -> Ptr Matrix
p'VrStereoConfig'leftLensCenter :: Ptr VrStereoConfig -> Ptr CFloat
p'VrStereoConfig'leftLensCenter Ptr VrStereoConfig
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
p Int
256
p'VrStereoConfig'leftLensCenter :: Ptr VrStereoConfig -> Ptr CFloat
p'VrStereoConfig'rightLensCenter :: Ptr VrStereoConfig -> Ptr CFloat
p'VrStereoConfig'rightLensCenter Ptr VrStereoConfig
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
p Int
264
p'VrStereoConfig'rightLensCenter :: Ptr VrStereoConfig -> Ptr CFloat
p'VrStereoConfig'leftScreenCenter :: Ptr VrStereoConfig -> Ptr CFloat
p'VrStereoConfig'leftScreenCenter Ptr VrStereoConfig
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
p Int
272
p'VrStereoConfig'leftScreenCenter :: Ptr VrStereoConfig -> Ptr CFloat
p'VrStereoConfig'rightScreenCenter :: Ptr VrStereoConfig -> Ptr CFloat
p'VrStereoConfig'rightScreenCenter Ptr VrStereoConfig
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
p Int
280
p'VrStereoConfig'rightScreenCenter :: Ptr VrStereoConfig -> Ptr CFloat
p'VrStereoConfig'scale :: Ptr VrStereoConfig -> Ptr CFloat
p'VrStereoConfig'scale Ptr VrStereoConfig
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
p Int
288
p'VrStereoConfig'scale :: Ptr VrStereoConfig -> Ptr CFloat
p'VrStereoConfig'scaleIn :: Ptr VrStereoConfig -> Ptr CFloat
p'VrStereoConfig'scaleIn Ptr VrStereoConfig
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
p Int
296
p'VrStereoConfig'scaleIn :: Ptr VrStereoConfig -> Ptr CFloat
instance Storable VrStereoConfig where
sizeOf :: VrStereoConfig -> Int
sizeOf VrStereoConfig
_ = Int
304
alignment :: VrStereoConfig -> Int
alignment VrStereoConfig
_ = Int
4
peek :: Ptr VrStereoConfig -> IO VrStereoConfig
peek Ptr VrStereoConfig
_p = do
[Matrix]
v0 <- let s0 :: Int
s0 = forall a. Integral a => a -> a -> a
div Int
128 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: Matrix) in forall a. Storable a => Int -> Ptr a -> IO [a]
peekArray Int
s0 (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
_p Int
0)
[Matrix]
v1 <- let s1 :: Int
s1 = forall a. Integral a => a -> a -> a
div Int
128 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: Matrix) in forall a. Storable a => Int -> Ptr a -> IO [a]
peekArray Int
s1 (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
_p Int
128)
[CFloat]
v2 <- let s2 :: Int
s2 = forall a. Integral a => a -> a -> a
div Int
8 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: CFloat) in forall a. Storable a => Int -> Ptr a -> IO [a]
peekArray Int
s2 (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
_p Int
256)
[CFloat]
v3 <- let s3 :: Int
s3 = forall a. Integral a => a -> a -> a
div Int
8 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: CFloat) in forall a. Storable a => Int -> Ptr a -> IO [a]
peekArray Int
s3 (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
_p Int
264)
[CFloat]
v4 <- let s4 :: Int
s4 = forall a. Integral a => a -> a -> a
div Int
8 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: CFloat) in forall a. Storable a => Int -> Ptr a -> IO [a]
peekArray Int
s4 (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
_p Int
272)
[CFloat]
v5 <- let s5 :: Int
s5 = forall a. Integral a => a -> a -> a
div Int
8 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: CFloat) in forall a. Storable a => Int -> Ptr a -> IO [a]
peekArray Int
s5 (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
_p Int
280)
[CFloat]
v6 <- let s6 :: Int
s6 = forall a. Integral a => a -> a -> a
div Int
8 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: CFloat) in forall a. Storable a => Int -> Ptr a -> IO [a]
peekArray Int
s6 (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
_p Int
288)
[CFloat]
v7 <- let s7 :: Int
s7 = forall a. Integral a => a -> a -> a
div Int
8 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: CFloat) in forall a. Storable a => Int -> Ptr a -> IO [a]
peekArray Int
s7 (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
_p Int
296)
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ [Matrix]
-> [Matrix]
-> [CFloat]
-> [CFloat]
-> [CFloat]
-> [CFloat]
-> [CFloat]
-> [CFloat]
-> VrStereoConfig
VrStereoConfig [Matrix]
v0 [Matrix]
v1 [CFloat]
v2 [CFloat]
v3 [CFloat]
v4 [CFloat]
v5 [CFloat]
v6 [CFloat]
v7
poke :: Ptr VrStereoConfig -> VrStereoConfig -> IO ()
poke Ptr VrStereoConfig
_p (VrStereoConfig [Matrix]
v0 [Matrix]
v1 [CFloat]
v2 [CFloat]
v3 [CFloat]
v4 [CFloat]
v5 [CFloat]
v6 [CFloat]
v7) = do
let s0 :: Int
s0 = forall a. Integral a => a -> a -> a
div Int
128 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: Matrix)
forall a. Storable a => Ptr a -> [a] -> IO ()
pokeArray (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
_p Int
0) (forall a. Int -> [a] -> [a]
take Int
s0 [Matrix]
v0)
let s1 :: Int
s1 = forall a. Integral a => a -> a -> a
div Int
128 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: Matrix)
forall a. Storable a => Ptr a -> [a] -> IO ()
pokeArray (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
_p Int
128) (forall a. Int -> [a] -> [a]
take Int
s1 [Matrix]
v1)
let s2 :: Int
s2 = forall a. Integral a => a -> a -> a
div Int
8 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: CFloat)
forall a. Storable a => Ptr a -> [a] -> IO ()
pokeArray (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
_p Int
256) (forall a. Int -> [a] -> [a]
take Int
s2 [CFloat]
v2)
let s3 :: Int
s3 = forall a. Integral a => a -> a -> a
div Int
8 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: CFloat)
forall a. Storable a => Ptr a -> [a] -> IO ()
pokeArray (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
_p Int
264) (forall a. Int -> [a] -> [a]
take Int
s3 [CFloat]
v3)
let s4 :: Int
s4 = forall a. Integral a => a -> a -> a
div Int
8 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: CFloat)
forall a. Storable a => Ptr a -> [a] -> IO ()
pokeArray (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
_p Int
272) (forall a. Int -> [a] -> [a]
take Int
s4 [CFloat]
v4)
let s5 :: Int
s5 = forall a. Integral a => a -> a -> a
div Int
8 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: CFloat)
forall a. Storable a => Ptr a -> [a] -> IO ()
pokeArray (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
_p Int
280) (forall a. Int -> [a] -> [a]
take Int
s5 [CFloat]
v5)
let s6 :: Int
s6 = forall a. Integral a => a -> a -> a
div Int
8 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: CFloat)
forall a. Storable a => Ptr a -> [a] -> IO ()
pokeArray (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
_p Int
288) (forall a. Int -> [a] -> [a]
take Int
s6 [CFloat]
v6)
let s7 :: Int
s7 = forall a. Integral a => a -> a -> a
div Int
8 forall a b. (a -> b) -> a -> b
$ forall a. Storable a => a -> Int
sizeOf (forall a. HasCallStack => a
undefined :: CFloat)
forall a. Storable a => Ptr a -> [a] -> IO ()
pokeArray (forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr VrStereoConfig
_p Int
296) (forall a. Int -> [a] -> [a]
take Int
s7 [CFloat]
v7)
forall (m :: * -> *) a. Monad m => a -> m a
return ()
data FilePathList = FilePathList
{ FilePathList -> CUInt
filePathlist'capacity :: CUInt,
FilePathList -> CUInt
filePathlist'count :: CUInt,
FilePathList -> Ptr (Ptr CChar)
filePathList'paths :: Ptr CString
}
deriving (FilePathList -> FilePathList -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FilePathList -> FilePathList -> Bool
$c/= :: FilePathList -> FilePathList -> Bool
== :: FilePathList -> FilePathList -> Bool
$c== :: FilePathList -> FilePathList -> Bool
Eq, Int -> FilePathList -> ShowS
[FilePathList] -> ShowS
FilePathList -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FilePathList] -> ShowS
$cshowList :: [FilePathList] -> ShowS
show :: FilePathList -> String
$cshow :: FilePathList -> String
showsPrec :: Int -> FilePathList -> ShowS
$cshowsPrec :: Int -> FilePathList -> ShowS
Show)
p'FilePathList'capacity :: Ptr FilePathList -> Ptr CUInt
p'FilePathList'capacity Ptr FilePathList
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr FilePathList
p Int
0
p'FilePathList'capacity :: Ptr FilePathList -> Ptr CUInt
p'FilePathList'count :: Ptr FilePathList -> Ptr CUInt
p'FilePathList'count Ptr FilePathList
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr FilePathList
p Int
4
p'FilePathList'count :: Ptr FilePathList -> Ptr CUInt
p'FilePathList'paths :: Ptr FilePathList -> Ptr (Ptr (Ptr CChar))
p'FilePathList'paths Ptr FilePathList
p = forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr FilePathList
p Int
8
p'FilePathList'paths :: Ptr FilePathList -> Ptr (Ptr CString)
instance Storable FilePathList where
sizeOf :: FilePathList -> Int
sizeOf FilePathList
_ = Int
12
alignment :: FilePathList -> Int
alignment FilePathList
_ = Int
4
peek :: Ptr FilePathList -> IO FilePathList
peek Ptr FilePathList
_p = do
CUInt
v0 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr FilePathList
_p Int
0
CUInt
v1 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr FilePathList
_p Int
4
Ptr (Ptr CChar)
v2 <- forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr FilePathList
_p Int
8
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ CUInt -> CUInt -> Ptr (Ptr CChar) -> FilePathList
FilePathList CUInt
v0 CUInt
v1 Ptr (Ptr CChar)
v2
poke :: Ptr FilePathList -> FilePathList -> IO ()
poke Ptr FilePathList
_p (FilePathList CUInt
v0 CUInt
v1 Ptr (Ptr CChar)
v2) = do
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr FilePathList
_p Int
0 CUInt
v0
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr FilePathList
_p Int
4 CUInt
v1
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr FilePathList
_p Int
8 Ptr (Ptr CChar)
v2
forall (m :: * -> *) a. Monad m => a -> m a
return ()