2 | module IdrisGL.SDL.SDL_surface
4 | import IdrisGL.DataType
10 | frgn : String -> String
11 | frgn func = "C:" ++ func ++ ",sdl_surface"
15 | %foreign frgn "blitSur"
16 | prim_blitSur : AnyPtr -> AnyPtr -> PrimIO ()
20 | blitSur : HasIO io => Sur -> Sur -> io ()
21 | blitSur (MkSur src) (MkSur dst) = primIO $
prim_blitSur src dst
25 | %foreign frgn "scaledSur"
26 | prim_scaledSur : AnyPtr -> AnyPtr -> Int -> Int -> Int -> Int -> PrimIO ()
30 | scaledSur : HasIO io => Sur -> Sur -> Rect -> io ()
31 | scaledSur (MkSur src) (MkSur dst) (MkRect x y w h) = primIO $
prim_scaledSur src dst x y w h
35 | %foreign frgn "freeSur"
36 | prim_freeSur : AnyPtr -> PrimIO ()
40 | freeSur : HasIO io => Sur -> io ()
41 | freeSur (MkSur sur) = primIO $
prim_freeSur sur