Mercurial > repos > tabletprog
annotate modules/sdl.tp @ 286:ddf38b66b2e2
Finish support for floating point numbers in C backend
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 22 Jul 2014 18:31:31 -0700 |
parents | bb1539decd62 |
children | b01d7c1b4edd |
rev | line source |
---|---|
274
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
1 { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
2 _constant <- macro: :name cname { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
3 quote: (llMessage: name withVars: { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
4 uintret <- obj_uint32 ptr |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
5 } andCode: { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
6 uintret <- make_object: (addr_of: obj_uint32_meta) NULL 0 |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
7 uintret num!: cname |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
8 uintret |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
9 }) |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
10 } |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
11 _subsystems <- #{ |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
12 _constant: timer SDL_INIT_TIMER |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
13 _constant: audio SDL_INIT_AUDIO |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
14 _constant: video SDL_INIT_VIDEO |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
15 _constant: joystick SDL_INIT_JOYSTICK |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
16 _constant: haptic SDL_INIT_HAPTIC |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
17 _constant: gameController SDL_INIT_GAMECONTROLLER |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
18 _constant: events SDL_INIT_EVENTS |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
19 _constant: everything SDL_INIT_EVERYTHING |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
20 } |
277
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
21 |
274
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
22 _windowOpts <- #{ |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
23 _constant: fullscreen SDL_WINDOW_FULLSCREEN |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
24 _constant: fullscreenDesktop SDL_WINDOW_FULLSCREEN_DESKTOP |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
25 _constant: opengl SDL_WINDOW_OPENGL |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
26 _constant: hidden SDL_WINDOW_HIDDEN |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
27 _constant: borderless SDL_WINDOW_BORDERLESS |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
28 _constant: minimized SDL_WINDOW_MINIMIZED |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
29 _constant: maximized SDL_WINDOW_MAXIMIZED |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
30 _constant: inputGrabbed SDL_WINDOW_INPUT_GRABBED |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
31 _constant: allowHighDPI SDL_WINDOW_ALLOW_HIGHDPI |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
32 } |
277
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
33 |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
34 _renderOpts <- #{ |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
35 _constant: software SDL_RENDERER_SOFTWARE |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
36 _constant: accelerated SDL_RENDERER_ACCELERATED |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
37 _constant: presentVSYNC SDL_RENDERER_PRESENTVSYNC |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
38 _constant: targetTexture SDL_RENDERER_TARGETTEXTURE |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
39 |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
40 } |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
41 |
274
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
42 _helper <- #{ |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
43 llMessage: createWindow withVars: { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
44 title <- string ptr |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
45 x <- obj_int32 ptr |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
46 y <- obj_int32 ptr |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
47 w <- obj_int32 ptr |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
48 h <- obj_int32 ptr |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
49 flags <- obj_uint32 ptr |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
50 makeWindow <- lambda ptr |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
51 windowOpaque <- cpointer ptr |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
52 win <- object ptr |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
53 } andCode: :title x y w h flags makeWindow { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
54 windowOpaque <- make_object: (addr_of: cpointer_meta) NULL 0 |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
55 windowOpaque val!: (SDL_CreateWindow: (title data) (x num) (y num) (w num) (h num) (flags num)) |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
56 if: (windowOpaque val) { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
57 win <- ccall: makeWindow 1 (windowOpaque castTo: (object ptr)) |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
58 mcall: value 2 option win |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
59 } else: { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
60 mcall: none 1 option |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
61 } |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
62 } |
277
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
63 |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
64 llMessage: createRenderer withVars: { |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
65 window <- cpointer ptr |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
66 index <- obj_int32 ptr |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
67 flags <- obj_uint32 ptr |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
68 rendOpaque <- cpointer ptr |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
69 rend <- object ptr |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
70 makeRender <- lambda ptr |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
71 } andCode: :window index flags makeRender { |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
72 rendOpaque <- make_object: (addr_of: cpointer_meta) NULL 0 |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
73 rendOpaque val!: (SDL_CreateRenderer: (window val) (index num) (flags num)) |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
74 if: (rendOpaque val) { |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
75 rend <- ccall: makeRender 1 (rendOpaque castTo: (object ptr)) |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
76 mcall: value 2 option rend |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
77 } else: { |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
78 mcall: none 1 option |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
79 } |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
80 } |
278
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
81 |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
82 llMessage: loadBMP withVars: { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
83 filename <- string ptr |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
84 makeSurface <- lambda ptr |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
85 surfOpaque <- cpointer ptr |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
86 surf <- object ptr |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
87 } andCode: :filename makeSurface{ |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
88 surfOpaque <- make_object: (addr_of: cpointer_meta) NULL 0 |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
89 surfOpaque val!: (SDL_LoadBMP: (filename data)) |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
90 if: (surfOpaque val) { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
91 surf <- ccall: makeSurface 1 (surfOpaque castTo: (object ptr)) |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
92 mcall: value 2 option surf |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
93 } else: { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
94 mcall: none 1 option |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
95 } |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
96 } |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
97 |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
98 llMessage: createTextureFromSurface withVars: { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
99 rendOpaque <- cpointer ptr |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
100 surfOpaque <- cpointer ptr |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
101 makeTexture <- lambda ptr |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
102 texOpaque <- cpointer ptr |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
103 tex <- object ptr |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
104 } andCode: :rendOpaque surfOpaque makeTexture { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
105 texOpaque <- make_object: (addr_of: cpointer_meta) NULL 0 |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
106 texOpaque val!: (SDL_CreateTextureFromSurface: (rendOpaque val) (surfOpaque val)) |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
107 if: (texOpaque val) { |
279
eb83863fd33e
Store renderer pointer in texture object since the texture can only be used with the renderer it was created with
Michael Pavone <pavone@retrodev.com>
parents:
278
diff
changeset
|
108 tex <- ccall: makeTexture 1 (rendOpaque castTo: (object ptr)) (texOpaque castTo: (object ptr)) |
278
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
109 mcall: value 2 option tex |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
110 } else: { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
111 mcall: none 1 option |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
112 } |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
113 } |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
114 } |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
115 |
279
eb83863fd33e
Store renderer pointer in texture object since the texture can only be used with the renderer it was created with
Michael Pavone <pavone@retrodev.com>
parents:
278
diff
changeset
|
116 _makeTexture <- :rendptr texptr { |
278
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
117 #{ |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
118 includeSystemHeader: "SDL.h" |
279
eb83863fd33e
Store renderer pointer in texture object since the texture can only be used with the renderer it was created with
Michael Pavone <pavone@retrodev.com>
parents:
278
diff
changeset
|
119 llProperty: renderer withType: (SDL_Renderer ptr) |
278
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
120 llProperty: texture withType: (SDL_Texture ptr) |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
121 llMessage: opaque withVars: { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
122 ptr <- cpointer ptr |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
123 } andCode: { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
124 ptr <- make_object: (addr_of: cpointer_meta) NULL 0 |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
125 ptr val!: texture |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
126 ptr |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
127 } |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
128 llMessage: _ptr_init withVars: { |
279
eb83863fd33e
Store renderer pointer in texture object since the texture can only be used with the renderer it was created with
Michael Pavone <pavone@retrodev.com>
parents:
278
diff
changeset
|
129 rendptr <- cpointer ptr |
eb83863fd33e
Store renderer pointer in texture object since the texture can only be used with the renderer it was created with
Michael Pavone <pavone@retrodev.com>
parents:
278
diff
changeset
|
130 texptr <- cpointer ptr |
eb83863fd33e
Store renderer pointer in texture object since the texture can only be used with the renderer it was created with
Michael Pavone <pavone@retrodev.com>
parents:
278
diff
changeset
|
131 } andCode: :rendptr texptr{ |
eb83863fd33e
Store renderer pointer in texture object since the texture can only be used with the renderer it was created with
Michael Pavone <pavone@retrodev.com>
parents:
278
diff
changeset
|
132 renderer <- rendptr val |
eb83863fd33e
Store renderer pointer in texture object since the texture can only be used with the renderer it was created with
Michael Pavone <pavone@retrodev.com>
parents:
278
diff
changeset
|
133 texture <- texptr val |
278
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
134 self |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
135 } |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
136 |
279
eb83863fd33e
Store renderer pointer in texture object since the texture can only be used with the renderer it was created with
Michael Pavone <pavone@retrodev.com>
parents:
278
diff
changeset
|
137 llMessage: copy withVars: { |
278
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
138 intret <- obj_int32 ptr |
279
eb83863fd33e
Store renderer pointer in texture object since the texture can only be used with the renderer it was created with
Michael Pavone <pavone@retrodev.com>
parents:
278
diff
changeset
|
139 } andCode: { |
278
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
140 intret <- make_object: (addr_of: obj_int32_meta) NULL 0 |
279
eb83863fd33e
Store renderer pointer in texture object since the texture can only be used with the renderer it was created with
Michael Pavone <pavone@retrodev.com>
parents:
278
diff
changeset
|
141 intret num!: (SDL_RenderCopy: renderer texture NULL NULL) |
278
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
142 intret |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
143 } |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
144 |
283
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
145 llMessage: copyTo withVars: { |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
146 dst <- object ptr |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
147 dstOpaque <- cpointer ptr |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
148 intret <- obj_int32 ptr |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
149 } andCode: :dst { |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
150 dstOpaque <- (mcall: _rectPointer 1 dst) castTo: (cpointer ptr) |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
151 intret <- make_object: (addr_of: obj_int32_meta) NULL 0 |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
152 intret num!: (SDL_RenderCopy: renderer texture NULL (dstOpaque val)) |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
153 intret |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
154 } |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
155 |
284
99c18127da04
Add another SDL_RenderCopy binding in the form of copyRect:To
Michael Pavone <pavone@retrodev.com>
parents:
283
diff
changeset
|
156 llMessage: copyRect:To withVars: { |
99c18127da04
Add another SDL_RenderCopy binding in the form of copyRect:To
Michael Pavone <pavone@retrodev.com>
parents:
283
diff
changeset
|
157 src <- object ptr |
99c18127da04
Add another SDL_RenderCopy binding in the form of copyRect:To
Michael Pavone <pavone@retrodev.com>
parents:
283
diff
changeset
|
158 dst <- object ptr |
99c18127da04
Add another SDL_RenderCopy binding in the form of copyRect:To
Michael Pavone <pavone@retrodev.com>
parents:
283
diff
changeset
|
159 srcOpaque <- cpointer ptr |
99c18127da04
Add another SDL_RenderCopy binding in the form of copyRect:To
Michael Pavone <pavone@retrodev.com>
parents:
283
diff
changeset
|
160 dstOpaque <- cpointer ptr |
99c18127da04
Add another SDL_RenderCopy binding in the form of copyRect:To
Michael Pavone <pavone@retrodev.com>
parents:
283
diff
changeset
|
161 intret <- obj_int32 ptr |
99c18127da04
Add another SDL_RenderCopy binding in the form of copyRect:To
Michael Pavone <pavone@retrodev.com>
parents:
283
diff
changeset
|
162 } andCode: :src :dst { |
99c18127da04
Add another SDL_RenderCopy binding in the form of copyRect:To
Michael Pavone <pavone@retrodev.com>
parents:
283
diff
changeset
|
163 srcOpaque <- (mcall: _rectPointer 1 src) castTo: (cpointer ptr) |
99c18127da04
Add another SDL_RenderCopy binding in the form of copyRect:To
Michael Pavone <pavone@retrodev.com>
parents:
283
diff
changeset
|
164 dstOpaque <- (mcall: _rectPointer 1 dst) castTo: (cpointer ptr) |
99c18127da04
Add another SDL_RenderCopy binding in the form of copyRect:To
Michael Pavone <pavone@retrodev.com>
parents:
283
diff
changeset
|
165 intret <- make_object: (addr_of: obj_int32_meta) NULL 0 |
99c18127da04
Add another SDL_RenderCopy binding in the form of copyRect:To
Michael Pavone <pavone@retrodev.com>
parents:
283
diff
changeset
|
166 intret num!: (SDL_RenderCopy: renderer texture (srcOpaque val) (dstOpaque val)) |
99c18127da04
Add another SDL_RenderCopy binding in the form of copyRect:To
Michael Pavone <pavone@retrodev.com>
parents:
283
diff
changeset
|
167 intret |
99c18127da04
Add another SDL_RenderCopy binding in the form of copyRect:To
Michael Pavone <pavone@retrodev.com>
parents:
283
diff
changeset
|
168 } |
99c18127da04
Add another SDL_RenderCopy binding in the form of copyRect:To
Michael Pavone <pavone@retrodev.com>
parents:
283
diff
changeset
|
169 |
278
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
170 llMessage: destroy withVars: {} andCode: { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
171 SDL_DestroyTexture: texture |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
172 true |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
173 } |
279
eb83863fd33e
Store renderer pointer in texture object since the texture can only be used with the renderer it was created with
Michael Pavone <pavone@retrodev.com>
parents:
278
diff
changeset
|
174 } _ptr_init: rendptr texptr |
278
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
175 } |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
176 |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
177 _makeSurface <- :ptr { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
178 #{ |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
179 includeSystemHeader: "SDL.h" |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
180 llProperty: surface withType: (SDL_Surface ptr) |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
181 llMessage: opaque withVars: { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
182 ptr <- cpointer ptr |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
183 } andCode: { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
184 ptr <- make_object: (addr_of: cpointer_meta) NULL 0 |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
185 ptr val!: surface |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
186 ptr |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
187 } |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
188 llMessage: _ptr_init withVars: { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
189 ptr <- cpointer ptr |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
190 } andCode: :ptr{ |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
191 surface <- ptr val |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
192 self |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
193 } |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
194 |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
195 asTexture <- :renderer { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
196 _helper createTextureFromSurface: (renderer opaque) opaque _makeTexture |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
197 } |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
198 |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
199 llMessage: free withVars: {} andCode: { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
200 SDL_FreeSurface: surface |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
201 true |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
202 } |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
203 } _ptr_init: ptr |
274
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
204 } |
277
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
205 |
274
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
206 #{ |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
207 includeSystemHeader: "SDL.h" |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
208 includeSystemHeader: "stdlib.h" |
277
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
209 |
274
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
210 llMessage: init withVars: { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
211 flags <- obj_uint32 ptr |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
212 intret <- obj_int32 ptr |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
213 } andCode: :flags { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
214 intret <- make_object: (addr_of: obj_int32_meta) NULL 0 |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
215 intret num!: (SDL_Init: (flags num)) |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
216 if: (intret num) { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
217 atexit: SDL_Quit |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
218 } |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
219 intret |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
220 } |
277
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
221 |
274
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
222 llMessage: initSubSystem withVars: { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
223 flags <- obj_uint32 ptr |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
224 intret <- obj_int32 ptr |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
225 } andCode: :flags { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
226 intret <- make_object: (addr_of: obj_int32_meta) NULL 0 |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
227 intret num!: (SDL_InitSubSystem: (flags num)) |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
228 intret |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
229 } |
277
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
230 |
274
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
231 llMessage: quitSubSystem withVars: { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
232 flags <- obj_uint32 ptr |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
233 } andCode: :flags { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
234 SDL_QuitSubSystem: (flags num) |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
235 true |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
236 } |
277
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
237 |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
238 r:g:b:a <- :rc :gc :bc :ac { |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
239 #{ |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
240 r <- rc |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
241 g <- gc |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
242 b <- bc |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
243 a <- ac |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
244 } |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
245 } |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
246 |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
247 r:g:b <- :r :g :b { |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
248 r: r g: g b: b a: 255u8 |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
249 } |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
250 |
274
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
251 createWindow:pos:size:flags <- :title :x y :w h :flags{ |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
252 _helper createWindow: title x y w h flags :ptr { |
277
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
253 print: (string: ptr) . "\n" |
274
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
254 #{ |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
255 includeSystemHeader: "SDL.h" |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
256 llProperty: window withType: (SDL_Window ptr) |
277
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
257 llMessage: opaque withVars: { |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
258 op <- cpointer ptr |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
259 } andCode: { |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
260 op <- make_object: (addr_of: cpointer_meta) NULL 0 |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
261 op val!: window |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
262 op |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
263 } |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
264 |
274
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
265 llMessage: _ptr_init withVars: { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
266 ptr <- cpointer ptr |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
267 } andCode: :ptr { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
268 window <- ptr val |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
269 self |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
270 } |
277
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
271 |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
272 renderOpts <- { _renderOpts } |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
273 |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
274 createRenderer:flags <- :index :flags { |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
275 _helper createRenderer: (self opaque) index flags :ptr { |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
276 #{ |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
277 includeSystemHeader: "SDL.h" |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
278 llProperty: renderer withType: (SDL_Renderer ptr) |
278
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
279 llMessage: opaque withVars: { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
280 op <- cpointer ptr |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
281 } andCode: { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
282 op <- make_object: (addr_of: cpointer_meta) NULL 0 |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
283 op val!: renderer |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
284 op |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
285 } |
277
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
286 llMessage: _ptr_init withVars: { |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
287 ptr <- cpointer ptr |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
288 } andCode: :ptr { |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
289 renderer <- ptr val |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
290 self |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
291 } |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
292 |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
293 llMessage: drawColor! withVars: { |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
294 color <- object ptr |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
295 rc <- obj_uint8 ptr |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
296 gc <- obj_uint8 ptr |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
297 bc <- obj_uint8 ptr |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
298 ac <- obj_uint8 ptr |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
299 intret <- obj_int32 ptr |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
300 } andCode: :color { |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
301 intret <- make_object: (addr_of: obj_int32_meta) NULL 0 |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
302 rc <- (mcall: r 1 color) castTo: (obj_uint8 ptr) |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
303 gc <- (mcall: g 1 color) castTo: (obj_uint8 ptr) |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
304 bc <- (mcall: b 1 color) castTo: (obj_uint8 ptr) |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
305 ac <- (mcall: a 1 color) castTo: (obj_uint8 ptr) |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
306 intret num!: (SDL_SetRenderDrawColor: renderer (rc num) (gc num) (bc num) (ac num)) |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
307 intret |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
308 } |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
309 |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
310 llMessage: clear withVars: { |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
311 intret <- obj_int32 ptr |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
312 } andCode: { |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
313 intret <- make_object: (addr_of: obj_int32_meta) NULL 0 |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
314 intret num!: (SDL_RenderClear: renderer) |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
315 intret |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
316 } |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
317 |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
318 llMessage: present withVars: {} andCode: { |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
319 SDL_RenderPresent: renderer |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
320 true |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
321 } |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
322 |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
323 llMessage: destroy withVars: {} andCode: { |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
324 SDL_DestroyRenderer: renderer |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
325 true |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
326 } |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
327 } _ptr_init: ptr |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
328 } |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
329 } |
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
330 |
274
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
331 llMessage: destroy withVars: { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
332 } andCode: { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
333 SDL_DestroyWindow: window |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
334 true |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
335 } |
277
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
336 } _ptr_init: ptr |
274
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
337 } |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
338 } |
277
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
339 |
278
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
340 loadBMP <- :filename { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
341 _helper loadBMP: filename _makeSurface |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
342 } |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
343 |
274
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
344 llMessage: delay withVars: { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
345 ms <- obj_uint32 ptr |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
346 } andCode: :ms { |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
347 SDL_Delay: (ms num) |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
348 true |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
349 } |
277
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
350 |
278
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
351 llMessage: clearError withVars: {} andCode: { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
352 SDL_ClearError: |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
353 true |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
354 } |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
355 |
283
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
356 rect:size <- :x y :w h { |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
357 getter <- macro: :propName { |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
358 quote: (llMessage: propName withVars: { |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
359 intret <- obj_int32 ptr |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
360 } andCode: { |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
361 intret <- make_object: (addr_of: obj_int32_meta) NULL 0 |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
362 intret num!: ((addr_of: rect) propName) |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
363 intret |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
364 }) |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
365 } |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
366 setter <- macro: :propName { |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
367 quote: (llMessage: propName withVars: { |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
368 v <- obj_int32 ptr |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
369 } andCode: :v { |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
370 (addr_of: rect) propName: (v num) |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
371 self |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
372 }) |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
373 } |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
374 (((#{ |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
375 llProperty: rect withType: SDL_Rect |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
376 getter: x |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
377 setter: x! |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
378 getter: y |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
379 setter: y! |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
380 getter: w |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
381 setter: w! |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
382 getter: h |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
383 setter: h! |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
384 llMessage: _rectPointer withVars: { |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
385 retptr <- cpointer ptr |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
386 } andCode: { |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
387 retptr <- make_object: (addr_of: cpointer_meta) NULL 0 |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
388 retptr val!: (addr_of: (self rect)) |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
389 retptr |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
390 } |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
391 } x!: x) y!: y) w!: w) h!: h |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
392 } |
0ec4f1b68a38
Add copyTo method to texture that allows copying to a rectangular region on the renderer rather than stretching to fit the entire renderer
Michael Pavone <pavone@retrodev.com>
parents:
279
diff
changeset
|
393 |
278
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
394 llMessage: getError withVars: { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
395 str <- string ptr |
285
bb1539decd62
Fix const warning in sdl module
Michael Pavone <pavone@retrodev.com>
parents:
284
diff
changeset
|
396 rawstr <- const: (char ptr) |
278
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
397 } andCode: { |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
398 rawstr <- SDL_GetError: |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
399 str <- make_object: (addr_of: string_meta) NULL 0 |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
400 str bytes!: (strlen: rawstr) |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
401 str len!: (str bytes) |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
402 str data!: (GC_MALLOC: (str bytes) + 1) |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
403 memcpy: (str data) rawstr (str bytes) + 1 |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
404 str |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
405 } |
1205c7a43cb4
Add bindings for SDL_ClearError, SDL_GetError, SDL_LoadBMP, SDL_CreateTextureFromSurface and a partial binding for SDL_RendererCopy
Michael Pavone <pavone@retrodev.com>
parents:
277
diff
changeset
|
406 |
274
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
407 subsystems <- { _subsystems } |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
408 windowOpts <- { _windowOpts } |
a923b5b7da3d
Initial work on an SDL2 binding
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
409 } |
277
2b58eafa360b
Add SDL bindings for creating a renderer, clearing it, presenting it and destroying it
Michael Pavone <pavone@retrodev.com>
parents:
274
diff
changeset
|
410 } |