sdl2_ffi 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +21 -59
- data/lib/sdl2.rb +52 -15
- data/lib/sdl2/application.rb +71 -0
- data/lib/sdl2/audio.rb +72 -24
- data/lib/sdl2/clipboard.rb +9 -3
- data/lib/sdl2/color.rb +8 -3
- data/lib/sdl2/cpuinfo.rb +30 -10
- data/lib/sdl2/engine.rb +52 -0
- data/lib/sdl2/engine/block_engine.rb +27 -0
- data/lib/sdl2/engine/engines.rb +46 -0
- data/lib/sdl2/error.rb +9 -3
- data/lib/sdl2/events.rb +68 -6
- data/lib/sdl2/gamecontroller.rb +60 -20
- data/lib/sdl2/gem_version.rb +1 -1
- data/lib/sdl2/gesture.rb +12 -4
- data/lib/sdl2/haptic.rb +90 -30
- data/lib/sdl2/hints.rb +12 -4
- data/lib/sdl2/image.rb +85 -3
- data/lib/sdl2/init.rb +15 -5
- data/lib/sdl2/joystick.rb +63 -21
- data/lib/sdl2/keyboard.rb +101 -17
- data/lib/sdl2/keycode.rb +72 -72
- data/lib/sdl2/library.rb +7 -0
- data/lib/sdl2/log.rb +78 -21
- data/lib/sdl2/mixer.rb +651 -0
- data/lib/sdl2/mixer/chunk.rb +47 -0
- data/lib/sdl2/mixer/lib_paths.rb +8 -0
- data/lib/sdl2/mouse.rb +39 -13
- data/lib/sdl2/pixels.rb +39 -13
- data/lib/sdl2/point.rb +29 -0
- data/lib/sdl2/power.rb +3 -1
- data/lib/sdl2/rect.rb +94 -19
- data/lib/sdl2/render.rb +156 -52
- data/lib/sdl2/rwops.rb +60 -20
- data/lib/sdl2/surface.rb +85 -28
- data/lib/sdl2/syswm.rb +3 -1
- data/lib/sdl2/timer.rb +18 -6
- data/lib/sdl2/touch.rb +12 -4
- data/lib/sdl2/ttf.rb +153 -59
- data/lib/sdl2/ttf/font.rb +21 -5
- data/lib/sdl2/version.rb +9 -3
- data/lib/sdl2/video.rb +210 -70
- data/lib/sdl2/window.rb +9 -3
- data/spec/fixtures/approvals/lazyfoonet_lesson_07_true_type_fonts/draws_the_message_to_the_screen.approved.png +0 -0
- data/spec/fixtures/approvals/lazyfoonet_lesson_07_true_type_fonts/writes_a_message_to_a_surface.approved.png +0 -0
- data/spec/fixtures/approvals/lazyfoonet_lesson_09_mouse_events/defaults_to_mouse_out.approved.png +0 -0
- data/spec/fixtures/approvals/lazyfoonet_lesson_09_mouse_events/has_a_button_sheet.approved.png +0 -0
- data/spec/fixtures/approvals/lazyfoonet_lesson_09_mouse_events/shows_mouse_down.approved.png +0 -0
- data/spec/fixtures/approvals/lazyfoonet_lesson_09_mouse_events/shows_mouse_in.approved.png +0 -0
- data/spec/fixtures/approvals/lazyfoonet_lesson_09_mouse_events/shows_mouse_out.approved.png +0 -0
- data/spec/fixtures/approvals/lazyfoonet_lesson_09_mouse_events/shows_mouse_up.approved.png +0 -0
- data/spec/fixtures/images/button_sheet.png +0 -0
- data/spec/functional/lazy_foo_tutorial/lazy_foo_01_hello_world_spec.rb +9 -2
- data/spec/functional/lazy_foo_tutorial/lazy_foo_03_extension_libraries_spec.rb +1 -0
- data/spec/functional/lazy_foo_tutorial/lazy_foo_04_event_driven_programming_spec.rb +4 -3
- data/spec/functional/lazy_foo_tutorial/lazy_foo_05_color_keying_spec.rb +1 -1
- data/spec/functional/lazy_foo_tutorial/lazy_foo_06_clip_blitting_and_sprite_sheets_spec.rb +4 -3
- data/spec/functional/lazy_foo_tutorial/lazy_foo_07_true_type_fonts_spec.rb +4 -2
- data/spec/functional/lazy_foo_tutorial/lazy_foo_08_key_presses_spec.rb +10 -22
- data/spec/functional/lazy_foo_tutorial/lazy_foo_09_mouse_events_spec.rb +121 -0
- data/spec/functional/lazy_foo_tutorial/lazy_foo_10_key_states_spec.rb +30 -0
- data/spec/functional/lazy_foo_tutorial/lazy_foo_11_playing_sounds_spec.rb +116 -0
- data/spec/functional/lazy_foo_tutorial/lazy_foo_12_timing_spec.rb +57 -0
- data/spec/spec_helper.rb +3 -1
- metadata +31 -2
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'sdl2'
|
2
|
+
|
3
|
+
module SDL2
|
4
|
+
|
5
|
+
module Mixer
|
6
|
+
|
7
|
+
# The internal format for an audio chunk
|
8
|
+
#
|
9
|
+
# * allocated - :int
|
10
|
+
# * abuf - :pointer of :uint8
|
11
|
+
# * alen - :uint32
|
12
|
+
# * volume - :uint8 "Per-sample volume, 0-128"
|
13
|
+
class Chunk < SDL2::Struct
|
14
|
+
|
15
|
+
layout :allocated, :int,
|
16
|
+
:abuf, :pointer, #of :uint8
|
17
|
+
:alen, :uint32,
|
18
|
+
:volume, :uint8
|
19
|
+
|
20
|
+
member_readers *members
|
21
|
+
member_writers *members
|
22
|
+
|
23
|
+
def self.load_wav(filepath)
|
24
|
+
Mixer.load_wav!(filepath)
|
25
|
+
end
|
26
|
+
|
27
|
+
# Plays chunk
|
28
|
+
# @param opts[:channel]: defaults to -1
|
29
|
+
# @param opts[:loop]: defaults to 0
|
30
|
+
# @param opts[:ms]: defaults to -1
|
31
|
+
def play(opts = {})
|
32
|
+
channel = opts[:channel] || -1
|
33
|
+
loop = opts[:loop] || 0
|
34
|
+
ms = opts[:ms] || -1
|
35
|
+
Mixer::play_channel_timed(channel, self, loop, ms)
|
36
|
+
end
|
37
|
+
|
38
|
+
# Check if anything is playing?
|
39
|
+
def self.playing?
|
40
|
+
Mixer::playing?(-1)
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
data/lib/sdl2/mouse.rb
CHANGED
@@ -13,19 +13,45 @@ module SDL2
|
|
13
13
|
enum :system_cursor, [:ARROW,:IBEAM,:WAIT,:CROSSHAIR,:WAITARROW,:SIZENWSE,:SIZENESW,:SIZEWE,
|
14
14
|
:SIZENS,:SIZEALL,:NO,:HAND]
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
16
|
+
##
|
17
|
+
#
|
18
|
+
api :SDL_GetMouseFocus, [], Window.by_ref
|
19
|
+
##
|
20
|
+
#
|
21
|
+
api :SDL_GetMouseState, [IntStruct.by_ref, IntStruct.by_ref], :uint32
|
22
|
+
##
|
23
|
+
#
|
24
|
+
api :SDL_GetRelativeMouseState, [IntStruct.by_ref, IntStruct.by_ref], :uint32
|
25
|
+
##
|
26
|
+
#
|
27
|
+
api :SDL_WarpMouseInWindow, [Window.by_ref, :int, :int], :void
|
28
|
+
##
|
29
|
+
#
|
30
|
+
api :SDL_SetRelativeMouseMode, [:bool], :int
|
31
|
+
##
|
32
|
+
#
|
33
|
+
api :SDL_GetRelativeMouseMode, [], :bool
|
34
|
+
##
|
35
|
+
#
|
36
|
+
api :SDL_CreateCursor, [:pointer, :pointer, :int, :int, :int, :int], Cursor.auto_ptr
|
37
|
+
##
|
38
|
+
#
|
39
|
+
api :SDL_CreateColorCursor, [Surface.by_ref, :int, :int], Cursor.auto_ptr
|
40
|
+
##
|
41
|
+
#
|
42
|
+
api :SDL_CreateSystemCursor, [:system_cursor], Cursor.auto_ptr
|
43
|
+
##
|
44
|
+
#
|
45
|
+
api :SDL_GetCursor, [], Cursor.by_ref
|
46
|
+
##
|
47
|
+
#
|
48
|
+
api :SDL_GetDefaultCursor, [], Cursor.by_ref
|
49
|
+
##
|
50
|
+
#
|
51
|
+
api :SDL_FreeCursor, [Cursor.by_ref], :void
|
52
|
+
##
|
53
|
+
#
|
54
|
+
api :SDL_ShowCursor, [:int], :int
|
29
55
|
|
30
56
|
module Mouse
|
31
57
|
|
data/lib/sdl2/pixels.rb
CHANGED
@@ -194,18 +194,44 @@ module SDL2
|
|
194
194
|
YVYU = SDL2.define_pixelfourcc('Y', 'V', 'Y', 'U')
|
195
195
|
end
|
196
196
|
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
197
|
+
##
|
198
|
+
#
|
199
|
+
api :SDL_GetPixelFormatName, [:pixel_format], :string
|
200
|
+
##
|
201
|
+
#
|
202
|
+
api :SDL_PixelFormatEnumToMasks, [:pixel_format, IntStruct.by_ref, UInt32Struct.by_ref, UInt32Struct.by_ref,UInt32Struct.by_ref,UInt32Struct.by_ref,], :bool
|
203
|
+
##
|
204
|
+
#
|
205
|
+
api :SDL_MasksToPixelFormatEnum, [:int, :uint32, :uint32, :uint32, :uint32], :pixel_format
|
206
|
+
##
|
207
|
+
#
|
208
|
+
api :SDL_AllocFormat, [:pixel_format], PixelFormat.auto_ptr, {error: true, filter: TRUE_WHEN_NOT_NULL}
|
209
|
+
##
|
210
|
+
#
|
211
|
+
api :SDL_FreeFormat, [PixelFormat.by_ref], :void
|
212
|
+
##
|
213
|
+
#
|
214
|
+
api :SDL_AllocPalette, [:count], Palette.auto_ptr, {error: true, filter: TRUE_WHEN_NOT_NULL}
|
215
|
+
##
|
216
|
+
#
|
217
|
+
api :SDL_SetPixelFormatPalette, [PixelFormat.by_ref, Palette.by_ref], :int
|
218
|
+
##
|
219
|
+
#
|
220
|
+
api :SDL_SetPaletteColors, [Palette.by_ref, :pointer, :int, :count], :int
|
221
|
+
##
|
222
|
+
#
|
223
|
+
api :SDL_FreePalette, [Palette.by_ref], :void
|
224
|
+
##
|
225
|
+
#
|
226
|
+
api :SDL_MapRGB, [PixelFormat.by_ref, :uint8, :uint8, :uint8], :uint32
|
227
|
+
##
|
228
|
+
#
|
229
|
+
api :SDL_MapRGBA, [PixelFormat.by_ref, :uint8, :uint8, :uint8, :uint8], :uint32
|
230
|
+
##
|
231
|
+
#
|
232
|
+
api :SDL_GetRGB, [:uint32, PixelFormat.by_ref, UInt8Struct.by_ref,UInt8Struct.by_ref,UInt8Struct.by_ref], :void
|
233
|
+
##
|
234
|
+
#
|
235
|
+
api :SDL_GetRGBA, [:uint32, PixelFormat.by_ref, UInt8Struct.by_ref,UInt8Struct.by_ref,UInt8Struct.by_ref,UInt8Struct.by_ref], :void
|
210
236
|
|
211
237
|
end
|
data/lib/sdl2/point.rb
CHANGED
@@ -18,6 +18,35 @@ module SDL2
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
+
def self.cast_array(somethings, count_something = nil)
|
22
|
+
|
23
|
+
# Convert Ruby arrays into Struct Arrays.
|
24
|
+
if somethings.kind_of? Array
|
25
|
+
count_something = somethings.count if count_something.nil?
|
26
|
+
|
27
|
+
raise "count_something > somethings.count" if count_something > somethings.count
|
28
|
+
|
29
|
+
pointer = FFI::MemoryPointer.new(self, count_something)
|
30
|
+
|
31
|
+
count_something.times do |idx|
|
32
|
+
pointer[idx].update_members(somethings[idx])
|
33
|
+
end
|
34
|
+
|
35
|
+
somethings = pointer
|
36
|
+
|
37
|
+
# If it is already a structure, then it is an array of 1, unless
|
38
|
+
# someone defined a count, in which case we assume they know what they
|
39
|
+
# are doing.
|
40
|
+
elsif somethings.kind_of? self
|
41
|
+
count_something = 1 if count_something.nil?
|
42
|
+
|
43
|
+
else
|
44
|
+
raise "#{self} cannot cast array from #{somethings.inspect}"
|
45
|
+
end
|
46
|
+
|
47
|
+
return somethings, count_something
|
48
|
+
end
|
49
|
+
|
21
50
|
|
22
51
|
end
|
23
52
|
end
|
data/lib/sdl2/power.rb
CHANGED
data/lib/sdl2/rect.rb
CHANGED
@@ -10,52 +10,127 @@ module SDL2
|
|
10
10
|
|
11
11
|
member_readers *members
|
12
12
|
member_writers *members
|
13
|
-
|
13
|
+
|
14
|
+
# Automatically construct a Rect out of something.
|
15
|
+
# * Accepts an array of &:to_i with length 2 or 4 as [x, y, [w, h]]
|
14
16
|
def self.cast(something)
|
15
|
-
|
16
|
-
if something.kind_of?(Array)
|
17
|
+
|
18
|
+
if something.kind_of?(Array)
|
17
19
|
something.map!(&:to_i)
|
18
20
|
result = Rect.new
|
19
21
|
case something.count
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
22
|
+
when 4
|
23
|
+
result.x, result.y, result.w, result.h = something
|
24
|
+
when 2
|
25
|
+
result.x, result.y = something
|
26
|
+
else
|
27
|
+
raise "#{self}#cast cannot convert array length #{something.count} of: #{something.inspect}"
|
26
28
|
end
|
27
29
|
return result
|
28
30
|
else
|
29
31
|
return super
|
30
32
|
end
|
31
33
|
end
|
32
|
-
|
34
|
+
|
35
|
+
# Returns true if the rectangle has no area.
|
33
36
|
def empty
|
34
37
|
return ((!self.null?) || (self[:w] <= 0) || (self[:h] <= 0))
|
35
38
|
end
|
36
39
|
|
37
40
|
alias_method :empty?, :empty
|
38
41
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
+
# SDL Defines a macro that is roughly the same as Struct#==
|
43
|
+
alias_method :equals, :==
|
44
|
+
# TODO: Review for removal. Originally this was a MACRO reimplementation,
|
45
|
+
# but has since been replaced with a working #== methond on SDL2::Struct
|
46
|
+
#
|
47
|
+
# def equals(other)
|
48
|
+
# return false if other.nil?
|
49
|
+
# return false unless other.kind_of? Rect
|
50
|
+
#
|
51
|
+
# if self.null? or other.null? # Either null?
|
52
|
+
# return (self.null? and other.null?) # Equal if both are null!
|
53
|
+
# else
|
54
|
+
# members.each do |field| # Compare our fields.
|
55
|
+
# return false unless self[field] == other[field]
|
56
|
+
# end
|
57
|
+
# end
|
58
|
+
# return true # if we made it this far
|
59
|
+
# end
|
60
|
+
|
61
|
+
|
62
|
+
# Determine whether two rectangles intersect.
|
63
|
+
# @param Another rectangle to test against.
|
64
|
+
# @return True when they touch, false when they don't
|
65
|
+
def has_intersection?(rect)
|
66
|
+
rect = Rect.cast(rect)
|
67
|
+
SDL2.has_intersection?(self, rect)
|
68
|
+
end
|
69
|
+
|
70
|
+
# Calculate the intersection of two rectangles.
|
71
|
+
# @param Another rectangle to find intersection with self.
|
72
|
+
# @return Rect or Nil if no intersection found.
|
73
|
+
def intersection(rect)
|
74
|
+
rect = Rect.cast(rect)
|
75
|
+
result = Rect.new
|
76
|
+
if SDL2.intersect_rect?(self, rect, result)
|
77
|
+
return result
|
78
|
+
else
|
79
|
+
result.free
|
80
|
+
return nil
|
81
|
+
end
|
82
|
+
end
|
83
|
+
# I prefer #intersection, but aliased for compatibility.
|
84
|
+
alias_method :intersect_rect, :intersection
|
85
|
+
|
86
|
+
# Calculate the union of two rectangles.
|
87
|
+
def union(rect)
|
88
|
+
rect = Rect.cast(rect)
|
89
|
+
result = Rect.new
|
90
|
+
SDL2.union_rect(self, rect, result)
|
91
|
+
return result
|
92
|
+
end
|
93
|
+
|
94
|
+
# Calculate a minimal rectangle enclosing a set of points
|
95
|
+
def enclose_points(points, count = nil, clip = self)
|
96
|
+
clip = Rect.cast(clip)
|
97
|
+
points, count = Point.cast_array(points, count)
|
98
|
+
result = Rect.new
|
99
|
+
if SDL2.enclose_points?(points, count, clip, result)
|
100
|
+
return result
|
101
|
+
else
|
102
|
+
result.free
|
103
|
+
return nil
|
104
|
+
end
|
105
|
+
end
|
42
106
|
|
43
|
-
|
44
|
-
|
107
|
+
# Calculate the intersection of a rectangle and line segment.
|
108
|
+
def intersect_line(x1, y1, x2, y2)
|
109
|
+
result = Rect.new
|
110
|
+
if SDL2.intersect_rect_and_line(self, x1, y1, x2, y2)
|
111
|
+
return result
|
45
112
|
else
|
46
|
-
|
47
|
-
|
48
|
-
end
|
113
|
+
result.free
|
114
|
+
return nil
|
49
115
|
end
|
50
|
-
return true # if we made it this far
|
51
116
|
end
|
52
117
|
|
53
118
|
end
|
54
119
|
|
120
|
+
##
|
121
|
+
# Determine whether two rectangles intersect.
|
55
122
|
api :SDL_HasIntersection, [Rect.by_ref, Rect.by_ref], :bool
|
123
|
+
##
|
124
|
+
# Calculate the intersection of two rectangles.
|
56
125
|
api :SDL_IntersectRect, [Rect.by_ref, Rect.by_ref, Rect.by_ref], :bool
|
126
|
+
##
|
127
|
+
# Calculate the union of two rectangles.
|
57
128
|
api :SDL_UnionRect, [Rect.by_ref, Rect.by_ref, Rect.by_ref], :void
|
129
|
+
##
|
130
|
+
# Calculate a minimal rectangle enclosing a set of points
|
58
131
|
api :SDL_EnclosePoints, [Point.by_ref, :count, Rect.by_ref, Rect.by_ref], :bool
|
132
|
+
##
|
133
|
+
# Calculate the intersection of a rectangle and a line segment.
|
59
134
|
api :SDL_IntersectRectAndLine, [Rect.by_ref, :int, :int, :int, :int], :bool
|
60
135
|
|
61
136
|
end
|
data/lib/sdl2/render.rb
CHANGED
@@ -36,58 +36,162 @@ module SDL2
|
|
36
36
|
|
37
37
|
typedef :int, :render_driver_index
|
38
38
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
39
|
+
##
|
40
|
+
#
|
41
|
+
api :SDL_GetNumRenderDrivers, [], :int
|
42
|
+
##
|
43
|
+
#
|
44
|
+
api :SDL_GetRenderDriverInfo, [:render_driver_index, RendererInfo.by_ref], :int
|
45
|
+
##
|
46
|
+
#
|
47
|
+
api :SDL_CreateWindowAndRenderer, [:int, :int, :window_flags, Window.by_ref, Renderer.by_ref], :int
|
48
|
+
##
|
49
|
+
#
|
50
|
+
api :SDL_CreateRenderer, [Window.by_ref, :render_driver_index, :renderer_flags], Renderer.auto_ptr
|
51
|
+
##
|
52
|
+
#
|
53
|
+
api :SDL_CreateSoftwareRenderer, [Surface.by_ref], Renderer.auto_ptr
|
54
|
+
##
|
55
|
+
#
|
56
|
+
api :SDL_GetRenderer, [Window.by_ref], Renderer.auto_ptr
|
57
|
+
##
|
58
|
+
#
|
59
|
+
api :SDL_GetRendererInfo, [Renderer.by_ref, RendererInfo.by_ref], :int
|
60
|
+
##
|
61
|
+
#
|
62
|
+
api :SDL_GetRendererOutputSize, [Renderer.by_ref, IntStruct.by_ref, IntStruct.by_ref], :int
|
63
|
+
##
|
64
|
+
#
|
65
|
+
api :SDL_CreateTexture, [Renderer.by_ref, :pixel_format, :texture_access, :int, :int], Texture.auto_ptr
|
66
|
+
##
|
67
|
+
#
|
68
|
+
api :SDL_CreateTextureFromSurface, [Renderer.by_ref, Surface.by_ref], Texture.auto_ptr
|
69
|
+
##
|
70
|
+
#
|
71
|
+
api :SDL_QueryTexture, [Texture.by_ref, UInt32Struct.by_ref, IntStruct.by_ref, IntStruct.by_ref, IntStruct.by_ref], :int
|
72
|
+
##
|
73
|
+
#
|
74
|
+
api :SDL_SetTextureColorMod, [Texture.by_ref, :uint8, :uint8, :uint8], :int
|
75
|
+
##
|
76
|
+
#
|
77
|
+
api :SDL_GetTextureColorMod, [Texture.by_ref, UInt8Struct.by_ref, UInt8Struct.by_ref, UInt8Struct.by_ref], :int
|
78
|
+
##
|
79
|
+
#
|
80
|
+
api :SDL_SetTextureAlphaMod, [Texture.by_ref, :uint8], :int
|
81
|
+
##
|
82
|
+
#
|
83
|
+
api :SDL_GetTextureAlphaMod, [Texture.by_ref, UInt8Struct.by_ref], :int
|
84
|
+
##
|
85
|
+
#
|
86
|
+
api :SDL_SetTextureBlendMode, [Texture.by_ref, :blend_mode], :int
|
87
|
+
##
|
88
|
+
#
|
89
|
+
api :SDL_GetTextureBlendMode, [Texture.by_ref, BlendModeStruct.by_ref], :int
|
90
|
+
##
|
91
|
+
#
|
92
|
+
api :SDL_UpdateTexture, [Texture.by_ref, Rect.by_ref, :pointer, :int], :int
|
93
|
+
##
|
94
|
+
#
|
95
|
+
api :SDL_LockTexture, [Texture.by_ref, Rect.by_ref, :pointer, IntStruct.by_ref], :int
|
96
|
+
##
|
97
|
+
#
|
98
|
+
api :SDL_UnlockTexture, [Texture.by_ref], :void
|
99
|
+
##
|
100
|
+
#
|
101
|
+
api :SDL_RenderTargetSupported, [Renderer.by_ref], :bool
|
102
|
+
##
|
103
|
+
#
|
104
|
+
api :SDL_GetRenderTarget, [Renderer.by_ref], Texture.by_ref
|
105
|
+
##
|
106
|
+
#
|
107
|
+
api :SDL_SetRenderTarget, [Renderer.by_ref, Texture.by_ref], :int
|
108
|
+
##
|
109
|
+
#
|
110
|
+
api :SDL_RenderSetLogicalSize, [Renderer.by_ref, :int, :int],:int
|
111
|
+
##
|
112
|
+
#
|
113
|
+
api :SDL_RenderGetLogicalSize, [Renderer.by_ref, IntStruct.by_ref, IntStruct.by_ref], :void
|
114
|
+
##
|
115
|
+
#
|
116
|
+
api :SDL_RenderSetViewport, [Renderer.by_ref, Rect.by_ref], :int
|
117
|
+
##
|
118
|
+
#
|
119
|
+
api :SDL_RenderGetViewport, [Renderer.by_ref, Rect.by_ref], :int
|
120
|
+
##
|
121
|
+
#
|
122
|
+
api :SDL_RenderSetClipRect, [Renderer.by_ref, Rect.by_ref], :int
|
123
|
+
##
|
124
|
+
#
|
125
|
+
api :SDL_RenderGetClipRect, [Renderer.by_ref, Rect.by_ref], :int
|
126
|
+
##
|
127
|
+
#
|
128
|
+
api :SDL_RenderSetScale, [Renderer.by_ref, :float, :float], :int
|
129
|
+
##
|
130
|
+
#
|
131
|
+
api :SDL_RenderGetScale, [Renderer.by_ref, FloatPointer.by_ref, FloatPointer.by_ref], :int
|
132
|
+
##
|
133
|
+
#
|
134
|
+
api :SDL_SetRenderDrawColor, [Renderer.by_ref, :uint8, :uint8, :uint8, :uint8], :int
|
135
|
+
##
|
136
|
+
#
|
137
|
+
api :SDL_GetRenderDrawColor, [Renderer.by_ref, UInt8Struct.by_ref,UInt8Struct.by_ref,UInt8Struct.by_ref,UInt8Struct.by_ref], :int
|
138
|
+
##
|
139
|
+
#
|
140
|
+
api :SDL_SetRenderDrawBlendMode, [Renderer.by_ref, :blend_mode], :int
|
141
|
+
##
|
142
|
+
#
|
143
|
+
api :SDL_GetRenderDrawBlendMode, [Renderer.by_ref, BlendModeStruct.by_ref], :int
|
144
|
+
##
|
145
|
+
#
|
146
|
+
api :SDL_RenderClear, [Renderer.by_ref], :int
|
147
|
+
##
|
148
|
+
#
|
149
|
+
api :SDL_RenderDrawPoint, [Renderer.by_ref, :int, :int], :int
|
150
|
+
##
|
151
|
+
#
|
152
|
+
api :SDL_RenderDrawPoints, [Renderer.by_ref, Point.by_ref, :count], :int
|
153
|
+
##
|
154
|
+
#
|
155
|
+
api :SDL_RenderDrawLine, [Renderer.by_ref, :int, :int, :int, :int], :int
|
156
|
+
##
|
157
|
+
#
|
158
|
+
api :SDL_RenderDrawLines, [Renderer.by_ref, Point.by_ref, :count], :int
|
159
|
+
##
|
160
|
+
#
|
161
|
+
api :SDL_RenderDrawRect, [Renderer.by_ref, Rect.by_ref], :int
|
162
|
+
##
|
163
|
+
#
|
164
|
+
api :SDL_RenderDrawRects, [Renderer.by_ref, Rect.by_ref, :count], :int
|
165
|
+
##
|
166
|
+
#
|
167
|
+
api :SDL_RenderFillRect, [Renderer.by_ref, Rect.by_ref], :int
|
168
|
+
##
|
169
|
+
#
|
170
|
+
api :SDL_RenderFillRects, [Renderer.by_ref, Rect.by_ref, :count], :int
|
171
|
+
##
|
172
|
+
#
|
173
|
+
api :SDL_RenderCopy, [Renderer.by_ref, Texture.by_ref, Rect.by_ref, Rect.by_ref], :int
|
174
|
+
##
|
175
|
+
#
|
176
|
+
api :SDL_RenderCopyEx, [Renderer.by_ref, Texture.by_ref, Rect.by_ref, Rect.by_ref, :double, Point.by_ref, :renderer_flip], :int
|
177
|
+
##
|
178
|
+
#
|
179
|
+
api :SDL_RenderReadPixels, [Renderer.by_ref, Rect.by_ref, :pixel_format, :pointer, :int], :int #TODO: Review linking.
|
180
|
+
##
|
181
|
+
#
|
182
|
+
api :SDL_RenderPresent, [Renderer.by_ref], :void
|
183
|
+
##
|
184
|
+
#
|
185
|
+
api :SDL_DestroyTexture, [Texture.by_ref], :void
|
186
|
+
##
|
187
|
+
#
|
188
|
+
api :SDL_DestroyRenderer, [Renderer.by_ref], :void
|
189
|
+
##
|
190
|
+
#
|
191
|
+
api :SDL_GL_BindTexture, [Texture.by_ref, FloatPointer.by_ref, FloatPointer.by_ref], :int
|
192
|
+
##
|
193
|
+
#
|
194
|
+
api :SDL_GL_UnbindTexture, [Texture.by_ref], :int
|
91
195
|
|
92
196
|
|
93
197
|
end
|