sdl2_ffi 0.0.3 → 0.0.4
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/.gitignore +2 -1
- data/README.md +31 -17
- data/bin/yard +16 -0
- data/bin/yardoc +16 -0
- data/bin/yri +16 -0
- data/graph +566 -0
- data/lib/enumerable_constants.rb +82 -0
- data/lib/sdl2.rb +74 -117
- data/lib/sdl2/audio.rb +10 -7
- data/lib/sdl2/clipboard.rb +3 -3
- data/lib/sdl2/events.rb +228 -168
- data/lib/sdl2/gem_version.rb +1 -1
- data/lib/sdl2/haptic.rb +366 -55
- data/lib/sdl2/hints.rb +36 -24
- data/lib/sdl2/image.rb +4 -10
- data/lib/sdl2/init.rb +21 -31
- data/lib/sdl2/joystick.rb +15 -12
- data/lib/sdl2/keycode.rb +261 -261
- data/lib/sdl2/library.rb +96 -0
- data/lib/sdl2/mouse.rb +22 -17
- data/lib/sdl2/pixel_format.rb +2 -1
- data/lib/sdl2/pixels.rb +114 -161
- data/lib/sdl2/rect.rb +14 -10
- data/lib/sdl2/render.rb +29 -13
- data/lib/sdl2/renderer.rb +9 -2
- data/lib/sdl2/rwops.rb +11 -7
- data/lib/sdl2/scancode.rb +246 -245
- data/lib/sdl2/stdinc.rb +213 -0
- data/lib/sdl2/surface.rb +23 -7
- data/lib/sdl2/ttf.rb +23 -19
- data/lib/sdl2/version.rb +8 -2
- data/lib/sdl2/video.rb +64 -73
- data/lib/sdl2/window.rb +143 -36
- data/lib/sdl2_ffi.rb +2 -1
- data/sdl2_ffi.gemspec +3 -1
- data/test/fixtures/an_example.png +0 -0
- data/test/fixtures/background.bmp +0 -0
- data/test/fixtures/hello.bmp +0 -0
- data/test/functional/examples/test_lazy_foo_examples.rb +123 -0
- data/test/functional/examples/test_readme_examples.rb +15 -0
- data/test/unit/sdl2/test_haptic.rb +17 -0
- data/test/unit/sdl2/test_hints.rb +9 -9
- data/test/unit/sdl2/test_init.rb +8 -8
- data/test/unit/sdl2/test_log.rb +1 -1
- data/test/unit/sdl2/test_pixel_format.rb +3 -1
- data/test/unit/sdl2/test_video.rb +3 -3
- data/test/unit/sdl2/test_window.rb +4 -4
- data/test/unit/test_scratch.rb +2 -2
- metadata +37 -16
data/lib/sdl2/library.rb
ADDED
@@ -0,0 +1,96 @@
|
|
1
|
+
require 'ffi'
|
2
|
+
|
3
|
+
module SDL2
|
4
|
+
|
5
|
+
# Extensions to FFI::Library
|
6
|
+
module Library
|
7
|
+
|
8
|
+
# This converts the SDL Function Prototype name "SDL_XxxYyyyyZzz" to ruby's
|
9
|
+
# "xxx_yyyy_zzz" convetion
|
10
|
+
def api(func_name, args, type, options = {})
|
11
|
+
|
12
|
+
options = {
|
13
|
+
:error => false,
|
14
|
+
:filter => type == :bool ? TRUE_WHEN_TRUE : TRUE_WHEN_ZERO
|
15
|
+
}.merge(options)
|
16
|
+
|
17
|
+
# TODO: Review ugly hack:
|
18
|
+
remove_part = case self.to_s
|
19
|
+
when "SDL2"
|
20
|
+
"SDL_"
|
21
|
+
when "SDL2::Image"
|
22
|
+
"IMG_"
|
23
|
+
when "SDL2::TTF"
|
24
|
+
"TTF_"
|
25
|
+
else
|
26
|
+
$stderr.puts("Library#api does not know how to handle module: #{self.to_s}")
|
27
|
+
/[A-Z][A-Z|0-9]*_/
|
28
|
+
end
|
29
|
+
|
30
|
+
camelCaseName = func_name.to_s.gsub(remove_part,'')
|
31
|
+
methodName = ActiveSupport::Inflector.underscore(camelCaseName).to_sym
|
32
|
+
|
33
|
+
attach_function methodName, func_name, args, type
|
34
|
+
|
35
|
+
if options[:error]
|
36
|
+
returns_error(methodName, options[:filter])
|
37
|
+
end
|
38
|
+
|
39
|
+
if type == :bool
|
40
|
+
boolean?(methodName)
|
41
|
+
end
|
42
|
+
|
43
|
+
return methodName
|
44
|
+
end
|
45
|
+
|
46
|
+
# Returns the 'singleton class' so we can define class-level methods on the
|
47
|
+
# fly.
|
48
|
+
# There may be a better place to put this.
|
49
|
+
def metaclass
|
50
|
+
|
51
|
+
class << self; self; end
|
52
|
+
end
|
53
|
+
|
54
|
+
# Generates an alternative version of methodName that will raise a SDL Error
|
55
|
+
# when the return value fails the filter test. The alternative version has
|
56
|
+
# the same name, but with an exclamation mark ("!") at the end, indicating the
|
57
|
+
# danger.
|
58
|
+
def returns_error(methodName, filter)
|
59
|
+
metaclass.instance_eval do
|
60
|
+
define_method "#{methodName}!".to_sym do |*args|
|
61
|
+
result = send(methodName, *args)
|
62
|
+
raise_error_unless filter.call(result)
|
63
|
+
result
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
# Generates an alternative ? version for methodName.
|
69
|
+
def boolean?(methodName, filter = nil)
|
70
|
+
metaclass.instance_eval do
|
71
|
+
if filter.nil?
|
72
|
+
alias_method "#{methodName}?".to_sym, methodName
|
73
|
+
else
|
74
|
+
define_method("#{methodName}?".to_sym) do |*args|
|
75
|
+
filter.call(send(methodName, *args))
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
# Raise the current error value as a RuntimeException
|
82
|
+
def raise_error
|
83
|
+
raise "SDL Error: #{SDL2.get_error()}"
|
84
|
+
end
|
85
|
+
|
86
|
+
# Conditionally raise an error, unless true
|
87
|
+
def raise_error_unless(condition)
|
88
|
+
raise_error unless condition
|
89
|
+
end
|
90
|
+
|
91
|
+
# Conditionally raise an error, unless false
|
92
|
+
def raise_error_if(condition)
|
93
|
+
raise_error if condition
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
data/lib/sdl2/mouse.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'sdl2'
|
2
|
-
|
2
|
+
|
3
3
|
|
4
4
|
module SDL2
|
5
5
|
|
@@ -32,22 +32,27 @@ module SDL2
|
|
32
32
|
def self.button(num)
|
33
33
|
1 << (num-1)
|
34
34
|
end
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
35
|
+
|
36
|
+
module BUTTON
|
37
|
+
include EnumerableConstants
|
38
|
+
LEFT = next_const_value
|
39
|
+
MIDDLE = next_const_value
|
40
|
+
RIGHT = next_const_value
|
41
|
+
X1 = next_const_value
|
42
|
+
X2 = next_const_value
|
43
|
+
end
|
44
|
+
|
45
|
+
module BUTTONMASK
|
46
|
+
def self.for_enum button_enum
|
47
|
+
1 << (button_enum-1)
|
48
|
+
end
|
49
|
+
include EnumerableConstants
|
50
|
+
LEFT = for_enum(BUTTON::LEFT)
|
51
|
+
MIDDLE = for_enum(BUTTON::MIDDLE)
|
52
|
+
RIGHT = for_enum(BUTTON::RIGHT)
|
53
|
+
X1 = for_enum(BUTTON::X1)
|
54
|
+
X2 = for_enum(BUTTON::X2)
|
55
|
+
end
|
51
56
|
|
52
57
|
end
|
53
58
|
|
data/lib/sdl2/pixel_format.rb
CHANGED
data/lib/sdl2/pixels.rb
CHANGED
@@ -1,81 +1,97 @@
|
|
1
1
|
require 'sdl2/error'
|
2
2
|
require 'sdl2/color'
|
3
3
|
require 'sdl2/pixel_format'
|
4
|
-
require 'yinum'
|
5
4
|
|
6
5
|
# SDL_pixels.h API
|
7
6
|
module SDL2
|
8
7
|
ALPHA_OPAQUE = 255
|
9
8
|
ALPHA_TRANSPARENT = 0
|
10
9
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
10
|
+
# Predefined pixel types.
|
11
|
+
module PIXELTYPE
|
12
|
+
include EnumerableConstants
|
13
|
+
UNKNOWN = next_const_value
|
14
|
+
INDEX1 = next_const_value
|
15
|
+
INDEX4 = next_const_value
|
16
|
+
INDEX8 = next_const_value
|
17
|
+
PACKED8 = next_const_value
|
18
|
+
PACKED16 = next_const_value
|
19
|
+
PACKED32 = next_const_value
|
20
|
+
ARRAYU8 = next_const_value
|
21
|
+
ARRAYU16 = next_const_value
|
22
|
+
ARRAYU32 = next_const_value
|
23
|
+
ARRAYF16 = next_const_value
|
24
|
+
ARRAYF32 = next_const_value
|
25
|
+
end
|
26
|
+
enum :pixeltype, PIXELTYPE.flatten_consts
|
27
|
+
|
28
|
+
# Bitmap pixel order, high bit -> low bit
|
29
|
+
module BITMAPORDER
|
30
|
+
include EnumerableConstants
|
31
|
+
NONE = next_const_value
|
32
|
+
N4321 = next_const_value
|
33
|
+
N1234 = next_const_value
|
34
|
+
end
|
26
35
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
36
|
+
enum :bitmaporder, BITMAPORDER.flatten_consts
|
37
|
+
|
38
|
+
# Packed component order, high bit -> low bit
|
39
|
+
module PACKEDORDER
|
40
|
+
include EnumerableConstants
|
41
|
+
NONE = next_const_value
|
42
|
+
XRGB = next_const_value
|
43
|
+
RGBX = next_const_value
|
44
|
+
ARGB = next_const_value
|
45
|
+
RGBA = next_const_value
|
46
|
+
XBGR = next_const_value
|
47
|
+
BGRX = next_const_value
|
48
|
+
ABGR = next_const_value
|
49
|
+
BGRA = next_const_value
|
50
|
+
end
|
33
51
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
52
|
+
enum :packedorder, PACKEDORDER.flatten_consts
|
53
|
+
|
54
|
+
# Array component order, low byte -> hight byte
|
55
|
+
module ARRAYORDER
|
56
|
+
include EnumerableConstants
|
57
|
+
NONE = next_const_value
|
58
|
+
RGB = next_const_value
|
59
|
+
RGBA = next_const_value
|
60
|
+
ARGB = next_const_value
|
61
|
+
BGR = next_const_value
|
62
|
+
BGRA = next_const_value
|
63
|
+
ABGR = next_const_value
|
64
|
+
end
|
46
65
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
66
|
+
enum :arrayorder, ARRAYORDER.flatten_consts
|
67
|
+
|
68
|
+
# Packed component layout
|
69
|
+
module PACKEDLAYOUT
|
70
|
+
include EnumerableConstants
|
71
|
+
NONE = next_const_value
|
72
|
+
N332 = next_const_value
|
73
|
+
N4444 = next_const_value
|
74
|
+
N1555 = next_const_value
|
75
|
+
N5551 = next_const_value
|
76
|
+
N565 = next_const_value
|
77
|
+
N8888 = next_const_value
|
78
|
+
N2101010 = next_const_value
|
79
|
+
N1010102 = next_const_value
|
80
|
+
end
|
57
81
|
|
58
|
-
|
59
|
-
NONE: 0,
|
60
|
-
_332: 1,
|
61
|
-
_4444: 2,
|
62
|
-
_1555: 3,
|
63
|
-
_5551: 4,
|
64
|
-
_565: 5,
|
65
|
-
_8888: 6,
|
66
|
-
_2101010: 7,
|
67
|
-
_1010102: 8
|
68
|
-
}
|
69
|
-
enum :packedlayout, PACKEDLAYOUT.by_name
|
82
|
+
enum :packedlayout, PACKEDLAYOUT.flatten_consts
|
70
83
|
|
71
84
|
#MACRO: SDL_DEFINE_PIXELFOURCC(A, B, C, D) SDL_FOURCC(A, B, C, D)
|
72
|
-
def self.define_pixelfourcc(a,b,c,d)
|
85
|
+
def self.define_pixelfourcc(a,b,c,d)
|
86
|
+
SDL2.fourcc(a,b,c,d);
|
87
|
+
end
|
73
88
|
|
74
89
|
#MACRO: SDL_DEFINE_PIXELFORMAT(type, order, layout, bits, bytes) \
|
75
90
|
# ((1 << 28) | ((type) << 24) | ((order) << 20) | ((layout) << 16) | \
|
76
91
|
# ((bits) << 8) | ((bytes) << 0))
|
77
92
|
def self.define_pixelformat(type, order, layout, bits, bytes)
|
78
|
-
((1 << 28) | ((type) << 24) | ((order) << 20) | ((layout) << 16) |
|
93
|
+
((1 << 28) | ((type) << 24) | ((order) << 20) | ((layout) << 16) |
|
94
|
+
((bits) << 8) | ((bytes) << 0))
|
79
95
|
end
|
80
96
|
|
81
97
|
#MACRO: SDL_PIXELFLAG(X) (((X) >> 28) & 0x0F)
|
@@ -137,109 +153,46 @@ module SDL2
|
|
137
153
|
((format) && (pixelflag(format) != 1))
|
138
154
|
end
|
139
155
|
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
define_pixelformat(PIXELTYPE
|
144
|
-
1, 0)
|
145
|
-
|
146
|
-
define_pixelformat(PIXELTYPE
|
147
|
-
|
148
|
-
|
149
|
-
define_pixelformat(PIXELTYPE
|
150
|
-
|
151
|
-
|
152
|
-
define_pixelformat(PIXELTYPE
|
153
|
-
|
154
|
-
|
155
|
-
define_pixelformat(PIXELTYPE
|
156
|
-
|
157
|
-
define_pixelformat(PIXELTYPE
|
158
|
-
|
159
|
-
|
160
|
-
define_pixelformat(PIXELTYPE
|
161
|
-
|
162
|
-
|
163
|
-
define_pixelformat(PIXELTYPE
|
164
|
-
|
165
|
-
|
166
|
-
define_pixelformat(PIXELTYPE
|
167
|
-
|
168
|
-
|
169
|
-
define_pixelformat(PIXELTYPE
|
170
|
-
|
171
|
-
|
172
|
-
define_pixelformat(PIXELTYPE
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
ARGB1555:
|
181
|
-
define_pixelformat(PIXELTYPE.PACKED16, PACKEDORDER.ARGB,
|
182
|
-
PACKEDLAYOUT._1555, 16, 2),
|
183
|
-
RGBA5551:
|
184
|
-
define_pixelformat(PIXELTYPE.PACKED16, PACKEDORDER.RGBA,
|
185
|
-
PACKEDLAYOUT._5551, 16, 2),
|
186
|
-
ABGR1555:
|
187
|
-
define_pixelformat(PIXELTYPE.PACKED16, PACKEDORDER.ABGR,
|
188
|
-
PACKEDLAYOUT._1555, 16, 2),
|
189
|
-
BGRA5551:
|
190
|
-
define_pixelformat(PIXELTYPE.PACKED16, PACKEDORDER.BGRA,
|
191
|
-
PACKEDLAYOUT._5551, 16, 2),
|
192
|
-
RGB565:
|
193
|
-
define_pixelformat(PIXELTYPE.PACKED16, PACKEDORDER.XRGB,
|
194
|
-
PACKEDLAYOUT._565, 16, 2),
|
195
|
-
BGR565:
|
196
|
-
define_pixelformat(PIXELTYPE.PACKED16, PACKEDORDER.XBGR,
|
197
|
-
PACKEDLAYOUT._565, 16, 2),
|
198
|
-
RGB24:
|
199
|
-
define_pixelformat(PIXELTYPE.ARRAYU8, ARRAYORDER.RGB, 0,
|
200
|
-
24, 3),
|
201
|
-
BGR24:
|
202
|
-
define_pixelformat(PIXELTYPE.ARRAYU8, ARRAYORDER.BGR, 0,
|
203
|
-
24, 3),
|
204
|
-
RGB888:
|
205
|
-
define_pixelformat(PIXELTYPE.PACKED32, PACKEDORDER.XRGB,
|
206
|
-
PACKEDLAYOUT._8888, 24, 4),
|
207
|
-
RGBX8888:
|
208
|
-
define_pixelformat(PIXELTYPE.PACKED32, PACKEDORDER.RGBX,
|
209
|
-
PACKEDLAYOUT._8888, 24, 4),
|
210
|
-
BGR888:
|
211
|
-
define_pixelformat(PIXELTYPE.PACKED32, PACKEDORDER.XBGR,
|
212
|
-
PACKEDLAYOUT._8888, 24, 4),
|
213
|
-
BGRX8888:
|
214
|
-
define_pixelformat(PIXELTYPE.PACKED32, PACKEDORDER.BGRX,
|
215
|
-
PACKEDLAYOUT._8888, 24, 4),
|
216
|
-
ARGB8888:
|
217
|
-
define_pixelformat(PIXELTYPE.PACKED32, PACKEDORDER.ARGB,
|
218
|
-
PACKEDLAYOUT._8888, 32, 4),
|
219
|
-
RGBA8888:
|
220
|
-
define_pixelformat(PIXELTYPE.PACKED32, PACKEDORDER.RGBA,
|
221
|
-
PACKEDLAYOUT._8888, 32, 4),
|
222
|
-
ABGR8888:
|
223
|
-
define_pixelformat(PIXELTYPE.PACKED32, PACKEDORDER.ABGR,
|
224
|
-
PACKEDLAYOUT._8888, 32, 4),
|
225
|
-
BGRA8888:
|
226
|
-
define_pixelformat(PIXELTYPE.PACKED32, PACKEDORDER.BGRA,
|
227
|
-
PACKEDLAYOUT._8888, 32, 4),
|
228
|
-
ARGB2101010:
|
229
|
-
define_pixelformat(PIXELTYPE.PACKED32, PACKEDORDER.ARGB,
|
230
|
-
PACKEDLAYOUT._2101010, 32, 4),
|
231
|
-
|
232
|
-
YV12:
|
233
|
-
define_pixelfourcc('Y', 'V', '1', '2'),
|
234
|
-
IYUV:
|
235
|
-
define_pixelfourcc('I', 'Y', 'U', 'V'),
|
236
|
-
YUY2:
|
237
|
-
define_pixelfourcc('Y', 'U', 'Y', '2'),
|
238
|
-
UYVY:
|
239
|
-
define_pixelfourcc('U', 'Y', 'V', 'Y'),
|
240
|
-
YVYU:
|
241
|
-
define_pixelfourcc('Y', 'V', 'Y', 'U')
|
242
|
-
})
|
156
|
+
module PIXELFORMAT
|
157
|
+
include EnumerableConstants
|
158
|
+
UNKNOWN = 0
|
159
|
+
INDEX1LSB = SDL2.define_pixelformat(PIXELTYPE::INDEX1, BITMAPORDER::N4321, 0, 1, 0)
|
160
|
+
INDEX1MSB = SDL2.define_pixelformat(PIXELTYPE::INDEX1, BITMAPORDER::N1234, 0, 1, 0)
|
161
|
+
INDEX4LSB = SDL2.define_pixelformat(PIXELTYPE::INDEX4, BITMAPORDER::N4321, 0, 4, 0)
|
162
|
+
INDEX4MSB = SDL2.define_pixelformat(PIXELTYPE::INDEX4, BITMAPORDER::N1234, 0, 4, 0)
|
163
|
+
INDEX8 = SDL2.define_pixelformat(PIXELTYPE::INDEX8, 0, 0, 8, 1)
|
164
|
+
RGB332 = SDL2.define_pixelformat(PIXELTYPE::PACKED8, PACKEDORDER::XRGB, PACKEDLAYOUT::N332, 8, 1)
|
165
|
+
RGB444 = SDL2.define_pixelformat(PIXELTYPE::PACKED16, PACKEDORDER::XRGB, PACKEDLAYOUT::N4444, 12, 2)
|
166
|
+
RGB555 = SDL2.define_pixelformat(PIXELTYPE::PACKED16, PACKEDORDER::XRGB, PACKEDLAYOUT::N1555, 15, 2)
|
167
|
+
BGR555 = SDL2.define_pixelformat(PIXELTYPE::PACKED16, PACKEDORDER::XBGR, PACKEDLAYOUT::N1555, 15, 2)
|
168
|
+
ARGB4444 = SDL2.define_pixelformat(PIXELTYPE::PACKED16, PACKEDORDER::ARGB, PACKEDLAYOUT::N4444, 16, 2)
|
169
|
+
RGBA4444 = SDL2.define_pixelformat(PIXELTYPE::PACKED16, PACKEDORDER::RGBA, PACKEDLAYOUT::N4444, 16, 2)
|
170
|
+
ABGR4444 = SDL2.define_pixelformat(PIXELTYPE::PACKED16, PACKEDORDER::ABGR, PACKEDLAYOUT::N4444, 16, 2)
|
171
|
+
BGRA4444 = SDL2.define_pixelformat(PIXELTYPE::PACKED16, PACKEDORDER::BGRA, PACKEDLAYOUT::N4444, 16, 2)
|
172
|
+
ARGB1555 = SDL2.define_pixelformat(PIXELTYPE::PACKED16, PACKEDORDER::ARGB, PACKEDLAYOUT::N1555, 16, 2)
|
173
|
+
RGBA5551 = SDL2.define_pixelformat(PIXELTYPE::PACKED16, PACKEDORDER::RGBA, PACKEDLAYOUT::N5551, 16, 2)
|
174
|
+
ABGR1555 = SDL2.define_pixelformat(PIXELTYPE::PACKED16, PACKEDORDER::ABGR, PACKEDLAYOUT::N1555, 16, 2)
|
175
|
+
BGRA5551 = SDL2.define_pixelformat(PIXELTYPE::PACKED16, PACKEDORDER::BGRA, PACKEDLAYOUT::N5551, 16, 2)
|
176
|
+
RGB565 = SDL2.define_pixelformat(PIXELTYPE::PACKED16, PACKEDORDER::XRGB, PACKEDLAYOUT::N565, 16, 2)
|
177
|
+
BGR565 = SDL2.define_pixelformat(PIXELTYPE::PACKED16, PACKEDORDER::XBGR, PACKEDLAYOUT::N565, 16, 2)
|
178
|
+
RGB24 = SDL2.define_pixelformat(PIXELTYPE::ARRAYU8, ARRAYORDER::RGB, 0, 24, 3)
|
179
|
+
BGR24 = SDL2.define_pixelformat(PIXELTYPE::ARRAYU8, ARRAYORDER::BGR, 0, 24, 3)
|
180
|
+
RGB888 = SDL2.define_pixelformat(PIXELTYPE::PACKED32, PACKEDORDER::XRGB, PACKEDLAYOUT::N8888, 24, 4)
|
181
|
+
RGBX8888 = SDL2.define_pixelformat(PIXELTYPE::PACKED32, PACKEDORDER::RGBX, PACKEDLAYOUT::N8888, 24, 4)
|
182
|
+
BGR888 = SDL2.define_pixelformat(PIXELTYPE::PACKED32, PACKEDORDER::XBGR, PACKEDLAYOUT::N8888, 24, 4)
|
183
|
+
BGRX8888 = SDL2.define_pixelformat(PIXELTYPE::PACKED32, PACKEDORDER::BGRX, PACKEDLAYOUT::N8888, 24, 4)
|
184
|
+
ARGB8888 = SDL2.define_pixelformat(PIXELTYPE::PACKED32, PACKEDORDER::ARGB, PACKEDLAYOUT::N8888, 32, 4)
|
185
|
+
RGBA8888 = SDL2.define_pixelformat(PIXELTYPE::PACKED32, PACKEDORDER::RGBA, PACKEDLAYOUT::N8888, 32, 4)
|
186
|
+
ABGR8888 = SDL2.define_pixelformat(PIXELTYPE::PACKED32, PACKEDORDER::ABGR, PACKEDLAYOUT::N8888, 32, 4)
|
187
|
+
BGRA8888 = SDL2.define_pixelformat(PIXELTYPE::PACKED32, PACKEDORDER::BGRA, PACKEDLAYOUT::N8888, 32, 4)
|
188
|
+
ARGB2101010 = SDL2.define_pixelformat(PIXELTYPE::PACKED32, PACKEDORDER::ARGB, PACKEDLAYOUT::N2101010, 32, 4)
|
189
|
+
|
190
|
+
YV12 = SDL2.define_pixelfourcc('Y', 'V', '1', '2')
|
191
|
+
IYUV = SDL2.define_pixelfourcc('I', 'Y', 'U', 'V')
|
192
|
+
YUY2 = SDL2.define_pixelfourcc('Y', 'U', 'Y', '2')
|
193
|
+
UYVY = SDL2.define_pixelfourcc('U', 'Y', 'V', 'Y')
|
194
|
+
YVYU = SDL2.define_pixelfourcc('Y', 'V', 'Y', 'U')
|
195
|
+
end
|
243
196
|
|
244
197
|
api :SDL_GetPixelFormatName, [:pixel_format], :string
|
245
198
|
api :SDL_PixelFormatEnumToMasks, [:pixel_format, IntStruct.by_ref, UInt32Struct.by_ref, UInt32Struct.by_ref,UInt32Struct.by_ref,UInt32Struct.by_ref,], :bool
|