2 | module IdrisGL.SDL.SDL_video
4 | import IdrisGL.DataType
10 | frgn : String -> String
11 | frgn func = "C:" ++ func ++ ",sdl_video"
15 | %foreign frgn "createWin"
16 | prim_createWin : String
17 | -> Int -> Int -> Int -> Int
23 | createWin : HasIO io => Display -> io Win
24 | createWin (InWindow title (MkRect x y w h))
25 | = pure $
MkWin $
prim_createWin title x y w h 0
26 | createWin FullWindow
27 | = pure $
MkWin $
prim_createWin "" 0 0 0 0 1
31 | %foreign frgn "closeWin"
32 | prim_closeWin : AnyPtr -> PrimIO ()
36 | closeWin : HasIO io => Win -> io ()
37 | closeWin (MkWin wptr) = primIO $
prim_closeWin wptr
41 | %foreign frgn "getWinSur"
42 | prim_getWinSur : AnyPtr -> AnyPtr
46 | getWinSur : HasIO io => Win -> io Sur
47 | getWinSur (MkWin wptr) = pure $
MkSur $
prim_getWinSur wptr
51 | %foreign frgn "updateWinSur"
52 | prim_updateWinSur : AnyPtr -> PrimIO ()
56 | updateWinSur : HasIO io => Win -> io ()
57 | updateWinSur (MkWin wptr) = primIO $
prim_updateWinSur wptr