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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8be28ad160c53b7d6a78228b54f51b52cdd3f23f
|
4
|
+
data.tar.gz: 614dda38c426b697ab56834290ac2aea6eff897d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 71725da19c1cd8fa51d6f0fbbbe3ff956beb69b84443539c9935a46935b8ed7f4e07bbd1c4085ba38288ea132a8c7aaff9579168aa0729d86b7c93992120110e
|
7
|
+
data.tar.gz: ba822728cec706ca7a4401e81db8fc6f230d5ce156dee6a8bc40785022b215207b3ace9450c9eebcd5c5bea4f20cc80d629b43d669e0c26ddf7dc606caf3503a
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -1,41 +1,46 @@
|
|
1
1
|
# sdl2_ffi
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
[](http://badge.fury.io/rb/sdl2_ffi)
|
4
|
+
|
5
|
+
This is a simple interface to SDL2 for Ruby using FFI.
|
6
|
+
It also supports SDL_image and SDL_ttf.
|
7
|
+
While a lot of the SDLlib, SDL_image, and SDL_ttf are linked, not all prototypes
|
8
|
+
have been tested. Large sections, such as "SDL_opengl<x>.h" have not been translated
|
9
|
+
at all.
|
10
|
+
|
5
11
|
The "Object Oriented" part of this interface has barely started.
|
6
12
|
|
7
13
|
# Documentation/API Reference:
|
8
14
|
|
9
|
-
|
15
|
+
For the latest released gem, [rubydoc.info](http://rubydoc.info/) has the
|
16
|
+
[automatically generated documentation](http://rubydoc.info/gems/sdl2_ffi/frames).
|
10
17
|
|
18
|
+
Otherwise, you can use RDoc to generate current source documentation.
|
19
|
+
|
11
20
|
# How to start:
|
12
21
|
|
13
22
|
The GEM is organized to the same structure as the SDL header files. Where in C/C++ you would need to:
|
14
23
|
|
15
|
-
include 'SDL
|
16
|
-
include '
|
24
|
+
include 'SDL'
|
25
|
+
include 'SDL_image'
|
26
|
+
include 'SDL_ttf'
|
17
27
|
|
18
28
|
with this rubygem, you would instead:
|
19
29
|
|
20
30
|
require 'sdl2'
|
21
|
-
require 'sdl2/
|
31
|
+
require 'sdl2/image'
|
32
|
+
require 'sdl2/ttf'
|
22
33
|
|
23
34
|
The SDL2 module is defined and it is where the raw SDL API is loaded and linked. The Raw API can be called like so:
|
24
35
|
|
25
|
-
SDL2.init(
|
36
|
+
SDL2.init!(:EVERYTHING)
|
37
|
+
SDL2.was_init?(:EVERYTHING)
|
26
38
|
|
39
|
+
## More Examples:
|
27
40
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
* Remember that SDL uses the 'SDL_Bool' enum instead of actual ruby Boolean, so instead of 'true' and 'false', you get ':true' and ':false'
|
32
|
-
* Whenever SDL returns an SDL_Bool in the RAW API, I will always endevour to ensure there is a xxx? equivalent helper that converts the response to Ruby Booleans.
|
33
|
-
|
34
|
-
## Updates
|
41
|
+
As a means of validating functionality, I am in the process of translating
|
42
|
+
existing SDL Examples into Minitest [functional tests](https://github.com/BadQuanta/sdl2_ffi/tree/master/test/functional/examples).
|
35
43
|
|
36
|
-
### Imported APIs
|
37
|
-
|
38
|
-
I'm working my way through the SDL API header files. I am attempting to make this GEM as modular as the SDL header files themselves so that the developer can load only the enum, typedefs and link to only the functionality needed.
|
39
44
|
|
40
45
|
## Dependencies
|
41
46
|
|
@@ -67,6 +72,15 @@ Run the tests with rake:
|
|
67
72
|
Verbose options are nice:
|
68
73
|
|
69
74
|
$ rake test TESTOPTS="--verbose"
|
75
|
+
|
76
|
+
|
77
|
+
### Testing Under *nix & X11
|
78
|
+
|
79
|
+
If you are testing under some kind of unix system with X11 and have Xnest available,
|
80
|
+
I'd recommend starting up Xnest and changing your testing terminal DISPLAY value
|
81
|
+
so that the tests do not throw around a bunch of Windows on your scren.
|
82
|
+
|
83
|
+
|
70
84
|
|
71
85
|
### I need your help!
|
72
86
|
|
data/bin/yard
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# This file was generated by Bundler.
|
4
|
+
#
|
5
|
+
# The application 'yard' is installed as part of a gem, and
|
6
|
+
# this file is here to facilitate running it.
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'pathname'
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
11
|
+
Pathname.new(__FILE__).realpath)
|
12
|
+
|
13
|
+
require 'rubygems'
|
14
|
+
require 'bundler/setup'
|
15
|
+
|
16
|
+
load Gem.bin_path('yard', 'yard')
|
data/bin/yardoc
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# This file was generated by Bundler.
|
4
|
+
#
|
5
|
+
# The application 'yardoc' is installed as part of a gem, and
|
6
|
+
# this file is here to facilitate running it.
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'pathname'
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
11
|
+
Pathname.new(__FILE__).realpath)
|
12
|
+
|
13
|
+
require 'rubygems'
|
14
|
+
require 'bundler/setup'
|
15
|
+
|
16
|
+
load Gem.bin_path('yard', 'yardoc')
|
data/bin/yri
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# This file was generated by Bundler.
|
4
|
+
#
|
5
|
+
# The application 'yri' is installed as part of a gem, and
|
6
|
+
# this file is here to facilitate running it.
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'pathname'
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
11
|
+
Pathname.new(__FILE__).realpath)
|
12
|
+
|
13
|
+
require 'rubygems'
|
14
|
+
require 'bundler/setup'
|
15
|
+
|
16
|
+
load Gem.bin_path('yard', 'yri')
|
data/graph
ADDED
@@ -0,0 +1,566 @@
|
|
1
|
+
digraph yard {
|
2
|
+
graph [rankdir=BT rank=sink outputMode=nodesfirst packMode="graph" splines=true];
|
3
|
+
node [shape=record rank=sink rankType=sink];
|
4
|
+
Root [label="{root root}" rank=sink];
|
5
|
+
subgraph cluster_ {
|
6
|
+
label = ""; labelloc=b;
|
7
|
+
SDL2 [label="{module SDL2}" rank=sink];
|
8
|
+
SDL2_Struct [label="{class Struct}" rank=sink];
|
9
|
+
subgraph cluster_SDL2_Struct {
|
10
|
+
label = "Struct"; labelloc=b;
|
11
|
+
}
|
12
|
+
SDL2_Struct -> FFI_Struct;
|
13
|
+
SDL2_ManagedStruct [label="{class ManagedStruct}" rank=sink];
|
14
|
+
subgraph cluster_SDL2_ManagedStruct {
|
15
|
+
label = "ManagedStruct"; labelloc=b;
|
16
|
+
}
|
17
|
+
SDL2_ManagedStruct -> FFI_ManagedStruct;
|
18
|
+
SDL2_TypedPointer [label="{class TypedPointer}" rank=sink];
|
19
|
+
subgraph cluster_SDL2_TypedPointer {
|
20
|
+
label = "TypedPointer"; labelloc=b;
|
21
|
+
}
|
22
|
+
SDL2_TypedPointer -> SDL2_Struct;
|
23
|
+
SDL2_FloatPointer [label="{class FloatPointer}" rank=sink];
|
24
|
+
subgraph cluster_SDL2_FloatPointer {
|
25
|
+
label = "FloatPointer"; labelloc=b;
|
26
|
+
}
|
27
|
+
SDL2_FloatPointer -> SDL2_TypedPointer;
|
28
|
+
SDL2_IntStruct [label="{class IntStruct}" rank=sink];
|
29
|
+
subgraph cluster_SDL2_IntStruct {
|
30
|
+
label = "IntStruct"; labelloc=b;
|
31
|
+
}
|
32
|
+
SDL2_IntStruct -> SDL2_TypedPointer;
|
33
|
+
SDL2_UInt16Struct [label="{class UInt16Struct}" rank=sink];
|
34
|
+
subgraph cluster_SDL2_UInt16Struct {
|
35
|
+
label = "UInt16Struct"; labelloc=b;
|
36
|
+
}
|
37
|
+
SDL2_UInt16Struct -> SDL2_TypedPointer;
|
38
|
+
SDL2_UInt32Struct [label="{class UInt32Struct}" rank=sink];
|
39
|
+
subgraph cluster_SDL2_UInt32Struct {
|
40
|
+
label = "UInt32Struct"; labelloc=b;
|
41
|
+
}
|
42
|
+
SDL2_UInt32Struct -> SDL2_TypedPointer;
|
43
|
+
SDL2_UInt8Struct [label="{class UInt8Struct}" rank=sink];
|
44
|
+
subgraph cluster_SDL2_UInt8Struct {
|
45
|
+
label = "UInt8Struct"; labelloc=b;
|
46
|
+
}
|
47
|
+
SDL2_UInt8Struct -> SDL2_TypedPointer;
|
48
|
+
SDL2_BlendModeStruct [label="{class BlendModeStruct}" rank=sink];
|
49
|
+
subgraph cluster_SDL2_BlendModeStruct {
|
50
|
+
label = "BlendModeStruct"; labelloc=b;
|
51
|
+
}
|
52
|
+
SDL2_BlendModeStruct -> SDL2_Struct;
|
53
|
+
SDL2_Log [label="{class Log}" rank=sink];
|
54
|
+
subgraph cluster_SDL2_Log {
|
55
|
+
label = "Log"; labelloc=b;
|
56
|
+
}
|
57
|
+
SDL2_Rect [label="{class Rect}" rank=sink];
|
58
|
+
subgraph cluster_SDL2_Rect {
|
59
|
+
label = "Rect"; labelloc=b;
|
60
|
+
}
|
61
|
+
SDL2_Rect -> FFI_Struct;
|
62
|
+
SDL2_RWops [label="{class RWops}" rank=sink];
|
63
|
+
SDL2_RWops_AndroidIO [label="{class AndroidIO}" rank=sink];
|
64
|
+
subgraph cluster_SDL2_RWops_AndroidIO {
|
65
|
+
label = "AndroidIO"; labelloc=b;
|
66
|
+
}
|
67
|
+
SDL2_RWops_AndroidIO -> SDL2_Struct;
|
68
|
+
SDL2_RWops_WindowsIO [label="{class WindowsIO}" rank=sink];
|
69
|
+
SDL2_RWops_WindowsIO_Buffer [label="{class Buffer}" rank=sink];
|
70
|
+
subgraph cluster_SDL2_RWops_WindowsIO_Buffer {
|
71
|
+
label = "Buffer"; labelloc=b;
|
72
|
+
}
|
73
|
+
SDL2_RWops_WindowsIO_Buffer -> SDL2_Struct;
|
74
|
+
subgraph cluster_SDL2_RWops_WindowsIO {
|
75
|
+
label = "WindowsIO"; labelloc=b;
|
76
|
+
}
|
77
|
+
SDL2_RWops_WindowsIO -> SDL2_Struct;
|
78
|
+
SDL2_RWops_STDIO [label="{class STDIO}" rank=sink];
|
79
|
+
subgraph cluster_SDL2_RWops_STDIO {
|
80
|
+
label = "STDIO"; labelloc=b;
|
81
|
+
}
|
82
|
+
SDL2_RWops_STDIO -> SDL2_Struct;
|
83
|
+
SDL2_RWops_Mem [label="{class Mem}" rank=sink];
|
84
|
+
subgraph cluster_SDL2_RWops_Mem {
|
85
|
+
label = "Mem"; labelloc=b;
|
86
|
+
}
|
87
|
+
SDL2_RWops_Mem -> SDL2_Struct;
|
88
|
+
SDL2_RWops_Unkown [label="{class Unkown}" rank=sink];
|
89
|
+
subgraph cluster_SDL2_RWops_Unkown {
|
90
|
+
label = "Unkown"; labelloc=b;
|
91
|
+
}
|
92
|
+
SDL2_RWops_Unkown -> SDL2_Struct;
|
93
|
+
SDL2_RWops_Hidden [label="{class Hidden}" rank=sink];
|
94
|
+
subgraph cluster_SDL2_RWops_Hidden {
|
95
|
+
label = "Hidden"; labelloc=b;
|
96
|
+
}
|
97
|
+
SDL2_RWops_Hidden -> FFI_Union;
|
98
|
+
subgraph cluster_SDL2_RWops {
|
99
|
+
label = "RWops"; labelloc=b;
|
100
|
+
}
|
101
|
+
SDL2_RWops -> SDL2_Struct;
|
102
|
+
SDL2_Point [label="{class Point}" rank=sink];
|
103
|
+
subgraph cluster_SDL2_Point {
|
104
|
+
label = "Point"; labelloc=b;
|
105
|
+
}
|
106
|
+
SDL2_Point -> FFI_Struct;
|
107
|
+
SDL2_Hint [label="{class Hint}" rank=sink];
|
108
|
+
subgraph cluster_SDL2_Hint {
|
109
|
+
label = "Hint"; labelloc=b;
|
110
|
+
}
|
111
|
+
SDL2_Finger [label="{class Finger}" rank=sink];
|
112
|
+
subgraph cluster_SDL2_Finger {
|
113
|
+
label = "Finger"; labelloc=b;
|
114
|
+
}
|
115
|
+
SDL2_Finger -> SDL2_Struct;
|
116
|
+
SDL2_Cursor [label="{class Cursor}" rank=sink];
|
117
|
+
subgraph cluster_SDL2_Cursor {
|
118
|
+
label = "Cursor"; labelloc=b;
|
119
|
+
}
|
120
|
+
SDL2_Cursor -> SDL2_Struct;
|
121
|
+
SDL2_Color [label="{class Color}" rank=sink];
|
122
|
+
subgraph cluster_SDL2_Color {
|
123
|
+
label = "Color"; labelloc=b;
|
124
|
+
}
|
125
|
+
SDL2_Color -> SDL2_Struct;
|
126
|
+
SDL2_CommonEvent [label="{class CommonEvent}" rank=sink];
|
127
|
+
subgraph cluster_SDL2_CommonEvent {
|
128
|
+
label = "CommonEvent"; labelloc=b;
|
129
|
+
}
|
130
|
+
SDL2_CommonEvent -> SDL2_Struct;
|
131
|
+
SDL2_WindowEvent [label="{class WindowEvent}" rank=sink];
|
132
|
+
subgraph cluster_SDL2_WindowEvent {
|
133
|
+
label = "WindowEvent"; labelloc=b;
|
134
|
+
}
|
135
|
+
SDL2_WindowEvent -> SDL2_Struct;
|
136
|
+
SDL2_KeyboardEvent [label="{class KeyboardEvent}" rank=sink];
|
137
|
+
subgraph cluster_SDL2_KeyboardEvent {
|
138
|
+
label = "KeyboardEvent"; labelloc=b;
|
139
|
+
}
|
140
|
+
SDL2_KeyboardEvent -> SDL2_Struct;
|
141
|
+
SDL2_TextEditingEvent [label="{class TextEditingEvent}" rank=sink];
|
142
|
+
subgraph cluster_SDL2_TextEditingEvent {
|
143
|
+
label = "TextEditingEvent"; labelloc=b;
|
144
|
+
}
|
145
|
+
SDL2_TextEditingEvent -> SDL2_Struct;
|
146
|
+
SDL2_TextInputEvent [label="{class TextInputEvent}" rank=sink];
|
147
|
+
subgraph cluster_SDL2_TextInputEvent {
|
148
|
+
label = "TextInputEvent"; labelloc=b;
|
149
|
+
}
|
150
|
+
SDL2_TextInputEvent -> SDL2_Struct;
|
151
|
+
SDL2_MouseMotionEvent [label="{class MouseMotionEvent}" rank=sink];
|
152
|
+
subgraph cluster_SDL2_MouseMotionEvent {
|
153
|
+
label = "MouseMotionEvent"; labelloc=b;
|
154
|
+
}
|
155
|
+
SDL2_MouseMotionEvent -> SDL2_Struct;
|
156
|
+
SDL2_MouseButtonEvent [label="{class MouseButtonEvent}" rank=sink];
|
157
|
+
subgraph cluster_SDL2_MouseButtonEvent {
|
158
|
+
label = "MouseButtonEvent"; labelloc=b;
|
159
|
+
}
|
160
|
+
SDL2_MouseButtonEvent -> SDL2_Struct;
|
161
|
+
SDL2_MouseWheelEvent [label="{class MouseWheelEvent}" rank=sink];
|
162
|
+
subgraph cluster_SDL2_MouseWheelEvent {
|
163
|
+
label = "MouseWheelEvent"; labelloc=b;
|
164
|
+
}
|
165
|
+
SDL2_MouseWheelEvent -> SDL2_Struct;
|
166
|
+
SDL2_JoyAxisEvent [label="{class JoyAxisEvent}" rank=sink];
|
167
|
+
subgraph cluster_SDL2_JoyAxisEvent {
|
168
|
+
label = "JoyAxisEvent"; labelloc=b;
|
169
|
+
}
|
170
|
+
SDL2_JoyAxisEvent -> SDL2_Struct;
|
171
|
+
SDL2_JoyBallEvent [label="{class JoyBallEvent}" rank=sink];
|
172
|
+
subgraph cluster_SDL2_JoyBallEvent {
|
173
|
+
label = "JoyBallEvent"; labelloc=b;
|
174
|
+
}
|
175
|
+
SDL2_JoyBallEvent -> SDL2_Struct;
|
176
|
+
SDL2_JoyHatEvent [label="{class JoyHatEvent}" rank=sink];
|
177
|
+
subgraph cluster_SDL2_JoyHatEvent {
|
178
|
+
label = "JoyHatEvent"; labelloc=b;
|
179
|
+
}
|
180
|
+
SDL2_JoyHatEvent -> SDL2_Struct;
|
181
|
+
SDL2_JoyButtonEvent [label="{class JoyButtonEvent}" rank=sink];
|
182
|
+
subgraph cluster_SDL2_JoyButtonEvent {
|
183
|
+
label = "JoyButtonEvent"; labelloc=b;
|
184
|
+
}
|
185
|
+
SDL2_JoyButtonEvent -> SDL2_Struct;
|
186
|
+
SDL2_JoyDeviceEvent [label="{class JoyDeviceEvent}" rank=sink];
|
187
|
+
subgraph cluster_SDL2_JoyDeviceEvent {
|
188
|
+
label = "JoyDeviceEvent"; labelloc=b;
|
189
|
+
}
|
190
|
+
SDL2_JoyDeviceEvent -> SDL2_Struct;
|
191
|
+
SDL2_ControllerAxisEvent [label="{class ControllerAxisEvent}" rank=sink];
|
192
|
+
subgraph cluster_SDL2_ControllerAxisEvent {
|
193
|
+
label = "ControllerAxisEvent"; labelloc=b;
|
194
|
+
}
|
195
|
+
SDL2_ControllerAxisEvent -> SDL2_Struct;
|
196
|
+
SDL2_ControllerButtonEvent [label="{class ControllerButtonEvent}" rank=sink];
|
197
|
+
subgraph cluster_SDL2_ControllerButtonEvent {
|
198
|
+
label = "ControllerButtonEvent"; labelloc=b;
|
199
|
+
}
|
200
|
+
SDL2_ControllerButtonEvent -> SDL2_Struct;
|
201
|
+
SDL2_ControllerDeviceEvent [label="{class ControllerDeviceEvent}" rank=sink];
|
202
|
+
subgraph cluster_SDL2_ControllerDeviceEvent {
|
203
|
+
label = "ControllerDeviceEvent"; labelloc=b;
|
204
|
+
}
|
205
|
+
SDL2_ControllerDeviceEvent -> SDL2_Struct;
|
206
|
+
SDL2_TouchFingerEvent [label="{class TouchFingerEvent}" rank=sink];
|
207
|
+
subgraph cluster_SDL2_TouchFingerEvent {
|
208
|
+
label = "TouchFingerEvent"; labelloc=b;
|
209
|
+
}
|
210
|
+
SDL2_TouchFingerEvent -> SDL2_Struct;
|
211
|
+
SDL2_MultiGestureEvent [label="{class MultiGestureEvent}" rank=sink];
|
212
|
+
subgraph cluster_SDL2_MultiGestureEvent {
|
213
|
+
label = "MultiGestureEvent"; labelloc=b;
|
214
|
+
}
|
215
|
+
SDL2_MultiGestureEvent -> SDL2_Struct;
|
216
|
+
SDL2_DollarGestureEvent [label="{class DollarGestureEvent}" rank=sink];
|
217
|
+
subgraph cluster_SDL2_DollarGestureEvent {
|
218
|
+
label = "DollarGestureEvent"; labelloc=b;
|
219
|
+
}
|
220
|
+
SDL2_DollarGestureEvent -> SDL2_Struct;
|
221
|
+
SDL2_DropEvent [label="{class DropEvent}" rank=sink];
|
222
|
+
subgraph cluster_SDL2_DropEvent {
|
223
|
+
label = "DropEvent"; labelloc=b;
|
224
|
+
}
|
225
|
+
SDL2_DropEvent -> SDL2_Struct;
|
226
|
+
SDL2_QuitEvent [label="{class QuitEvent}" rank=sink];
|
227
|
+
subgraph cluster_SDL2_QuitEvent {
|
228
|
+
label = "QuitEvent"; labelloc=b;
|
229
|
+
}
|
230
|
+
SDL2_QuitEvent -> SDL2_Struct;
|
231
|
+
SDL2_OSEvent [label="{class OSEvent}" rank=sink];
|
232
|
+
subgraph cluster_SDL2_OSEvent {
|
233
|
+
label = "OSEvent"; labelloc=b;
|
234
|
+
}
|
235
|
+
SDL2_OSEvent -> SDL2_Struct;
|
236
|
+
SDL2_UserEvent [label="{class UserEvent}" rank=sink];
|
237
|
+
subgraph cluster_SDL2_UserEvent {
|
238
|
+
label = "UserEvent"; labelloc=b;
|
239
|
+
}
|
240
|
+
SDL2_UserEvent -> SDL2_Struct;
|
241
|
+
SDL2_SysWMEvent [label="{class SysWMEvent}" rank=sink];
|
242
|
+
subgraph cluster_SDL2_SysWMEvent {
|
243
|
+
label = "SysWMEvent"; labelloc=b;
|
244
|
+
}
|
245
|
+
SDL2_SysWMEvent -> SDL2_Struct;
|
246
|
+
SDL2_Event [label="{class Event}" rank=sink];
|
247
|
+
subgraph cluster_SDL2_Event {
|
248
|
+
label = "Event"; labelloc=b;
|
249
|
+
}
|
250
|
+
SDL2_Event -> FFI_Union;
|
251
|
+
SDL2_EventFilterStruct [label="{class EventFilterStruct}" rank=sink];
|
252
|
+
subgraph cluster_SDL2_EventFilterStruct {
|
253
|
+
label = "EventFilterStruct"; labelloc=b;
|
254
|
+
}
|
255
|
+
SDL2_EventFilterStruct -> SDL2_Struct;
|
256
|
+
SDL2_Window [label="{class Window}" rank=sink];
|
257
|
+
SDL2_Window_Data [label="{class Data}" rank=sink];
|
258
|
+
subgraph cluster_SDL2_Window_Data {
|
259
|
+
label = "Data"; labelloc=b;
|
260
|
+
}
|
261
|
+
subgraph cluster_SDL2_Window {
|
262
|
+
label = "Window"; labelloc=b;
|
263
|
+
}
|
264
|
+
SDL2_Window -> SDL2_Struct;
|
265
|
+
SDL2_Haptic [label="{class Haptic}" rank=sink];
|
266
|
+
SDL2_Haptic_Direction [label="{class Direction}" rank=sink];
|
267
|
+
subgraph cluster_SDL2_Haptic_Direction {
|
268
|
+
label = "Direction"; labelloc=b;
|
269
|
+
}
|
270
|
+
SDL2_Haptic_Direction -> SDL2_Struct;
|
271
|
+
SDL2_Haptic_Constant [label="{class Constant}" rank=sink];
|
272
|
+
subgraph cluster_SDL2_Haptic_Constant {
|
273
|
+
label = "Constant"; labelloc=b;
|
274
|
+
}
|
275
|
+
SDL2_Haptic_Constant -> SDL2_Struct;
|
276
|
+
SDL2_Haptic_Periodic [label="{class Periodic}" rank=sink];
|
277
|
+
subgraph cluster_SDL2_Haptic_Periodic {
|
278
|
+
label = "Periodic"; labelloc=b;
|
279
|
+
}
|
280
|
+
SDL2_Haptic_Periodic -> SDL2_Struct;
|
281
|
+
SDL2_Haptic_Condition [label="{class Condition}" rank=sink];
|
282
|
+
subgraph cluster_SDL2_Haptic_Condition {
|
283
|
+
label = "Condition"; labelloc=b;
|
284
|
+
}
|
285
|
+
SDL2_Haptic_Condition -> SDL2_Struct;
|
286
|
+
SDL2_Haptic_Ramp [label="{class Ramp}" rank=sink];
|
287
|
+
subgraph cluster_SDL2_Haptic_Ramp {
|
288
|
+
label = "Ramp"; labelloc=b;
|
289
|
+
}
|
290
|
+
SDL2_Haptic_Ramp -> SDL2_Struct;
|
291
|
+
SDL2_Haptic_LeftRight [label="{class LeftRight}" rank=sink];
|
292
|
+
subgraph cluster_SDL2_Haptic_LeftRight {
|
293
|
+
label = "LeftRight"; labelloc=b;
|
294
|
+
}
|
295
|
+
SDL2_Haptic_LeftRight -> SDL2_Struct;
|
296
|
+
SDL2_Haptic_Custom [label="{class Custom}" rank=sink];
|
297
|
+
subgraph cluster_SDL2_Haptic_Custom {
|
298
|
+
label = "Custom"; labelloc=b;
|
299
|
+
}
|
300
|
+
SDL2_Haptic_Custom -> SDL2_Struct;
|
301
|
+
SDL2_Haptic_Effect [label="{class Effect}" rank=sink];
|
302
|
+
subgraph cluster_SDL2_Haptic_Effect {
|
303
|
+
label = "Effect"; labelloc=b;
|
304
|
+
}
|
305
|
+
SDL2_Haptic_Effect -> FFI_Union;
|
306
|
+
subgraph cluster_SDL2_Haptic {
|
307
|
+
label = "Haptic"; labelloc=b;
|
308
|
+
}
|
309
|
+
SDL2_Haptic -> SDL2_Struct;
|
310
|
+
SDL2_Texture [label="{class Texture}" rank=sink];
|
311
|
+
subgraph cluster_SDL2_Texture {
|
312
|
+
label = "Texture"; labelloc=b;
|
313
|
+
}
|
314
|
+
SDL2_Texture -> FFI_Struct;
|
315
|
+
SDL2_Version [label="{class Version}" rank=sink];
|
316
|
+
subgraph cluster_SDL2_Version {
|
317
|
+
label = "Version"; labelloc=b;
|
318
|
+
}
|
319
|
+
SDL2_Version -> FFI_Struct;
|
320
|
+
SDL2_Surface [label="{class Surface}" rank=sink];
|
321
|
+
subgraph cluster_SDL2_Surface {
|
322
|
+
label = "Surface"; labelloc=b;
|
323
|
+
}
|
324
|
+
SDL2_Surface -> FFI_Struct;
|
325
|
+
SDL2_Palette [label="{class Palette}" rank=sink];
|
326
|
+
subgraph cluster_SDL2_Palette {
|
327
|
+
label = "Palette"; labelloc=b;
|
328
|
+
}
|
329
|
+
SDL2_Palette -> SDL2_Struct;
|
330
|
+
SDL2_Display [label="{class Display}" rank=sink];
|
331
|
+
SDL2_Display_Mode [label="{class Mode}" rank=sink];
|
332
|
+
subgraph cluster_SDL2_Display_Mode {
|
333
|
+
label = "Mode"; labelloc=b;
|
334
|
+
}
|
335
|
+
SDL2_Display_Mode -> SDL2_Struct;
|
336
|
+
SDL2_Display_Modes [label="{class Modes}" rank=sink];
|
337
|
+
subgraph cluster_SDL2_Display_Modes {
|
338
|
+
label = "Modes"; labelloc=b;
|
339
|
+
}
|
340
|
+
subgraph cluster_SDL2_Display {
|
341
|
+
label = "Display"; labelloc=b;
|
342
|
+
}
|
343
|
+
SDL2_Joystick [label="{class Joystick}" rank=sink];
|
344
|
+
subgraph cluster_SDL2_Joystick {
|
345
|
+
label = "Joystick"; labelloc=b;
|
346
|
+
}
|
347
|
+
SDL2_Joystick -> SDL2_Struct;
|
348
|
+
SDL2_JoystickGUID [label="{class JoystickGUID}" rank=sink];
|
349
|
+
subgraph cluster_SDL2_JoystickGUID {
|
350
|
+
label = "JoystickGUID"; labelloc=b;
|
351
|
+
}
|
352
|
+
SDL2_JoystickGUID -> SDL2_Struct;
|
353
|
+
SDL2_Keysym [label="{class Keysym}" rank=sink];
|
354
|
+
subgraph cluster_SDL2_Keysym {
|
355
|
+
label = "Keysym"; labelloc=b;
|
356
|
+
}
|
357
|
+
SDL2_Keysym -> SDL2_Struct;
|
358
|
+
SDL2_Renderer [label="{class Renderer}" rank=sink];
|
359
|
+
subgraph cluster_SDL2_Renderer {
|
360
|
+
label = "Renderer"; labelloc=b;
|
361
|
+
}
|
362
|
+
SDL2_Renderer -> SDL2_Struct;
|
363
|
+
SDL2_PixelFormat [label="{class PixelFormat}" rank=sink];
|
364
|
+
subgraph cluster_SDL2_PixelFormat {
|
365
|
+
label = "PixelFormat"; labelloc=b;
|
366
|
+
}
|
367
|
+
SDL2_PixelFormat -> FFI_Struct;
|
368
|
+
SDL2_RendererInfo [label="{class RendererInfo}" rank=sink];
|
369
|
+
subgraph cluster_SDL2_RendererInfo {
|
370
|
+
label = "RendererInfo"; labelloc=b;
|
371
|
+
}
|
372
|
+
SDL2_RendererInfo -> SDL2_Struct;
|
373
|
+
SDL2_GameController [label="{class GameController}" rank=sink];
|
374
|
+
SDL2_GameController_ButtonBind [label="{class ButtonBind}" rank=sink];
|
375
|
+
SDL2_GameController_ButtonBind_ValueUnion [label="{class ValueUnion}" rank=sink];
|
376
|
+
SDL2_GameController_ButtonBind_ValueUnion_HatStruct [label="{class HatStruct}" rank=sink];
|
377
|
+
subgraph cluster_SDL2_GameController_ButtonBind_ValueUnion_HatStruct {
|
378
|
+
label = "HatStruct"; labelloc=b;
|
379
|
+
}
|
380
|
+
SDL2_GameController_ButtonBind_ValueUnion_HatStruct -> FFI_Struct;
|
381
|
+
subgraph cluster_SDL2_GameController_ButtonBind_ValueUnion {
|
382
|
+
label = "ValueUnion"; labelloc=b;
|
383
|
+
}
|
384
|
+
SDL2_GameController_ButtonBind_ValueUnion -> FFI_Union;
|
385
|
+
subgraph cluster_SDL2_GameController_ButtonBind {
|
386
|
+
label = "ButtonBind"; labelloc=b;
|
387
|
+
}
|
388
|
+
SDL2_GameController_ButtonBind -> SDL2_Struct;
|
389
|
+
subgraph cluster_SDL2_GameController {
|
390
|
+
label = "GameController"; labelloc=b;
|
391
|
+
}
|
392
|
+
SDL2_GameController -> SDL2_Struct;
|
393
|
+
subgraph cluster_SDL2 {
|
394
|
+
label = "SDL2"; labelloc=b;
|
395
|
+
SDL2_TTF [label="{module TTF}" rank=sink];
|
396
|
+
SDL2_TTF_Font [label="{class Font}" rank=sink];
|
397
|
+
subgraph cluster_SDL2_TTF_Font {
|
398
|
+
label = "Font"; labelloc=b;
|
399
|
+
}
|
400
|
+
SDL2_TTF_Font -> SDL2_Struct;
|
401
|
+
subgraph cluster_SDL2_TTF {
|
402
|
+
label = "TTF"; labelloc=b;
|
403
|
+
}
|
404
|
+
SDL2_SysWM [label="{module SysWM}" rank=sink];
|
405
|
+
SDL2_SysWM_Msg [label="{class Msg}" rank=sink];
|
406
|
+
SDL2_SysWM_Msg_Win [label="{class Win}" rank=sink];
|
407
|
+
subgraph cluster_SDL2_SysWM_Msg_Win {
|
408
|
+
label = "Win"; labelloc=b;
|
409
|
+
}
|
410
|
+
SDL2_SysWM_Msg_Win -> SDL2_Struct;
|
411
|
+
SDL2_SysWM_Msg_X11 [label="{class X11}" rank=sink];
|
412
|
+
subgraph cluster_SDL2_SysWM_Msg_X11 {
|
413
|
+
label = "X11"; labelloc=b;
|
414
|
+
}
|
415
|
+
SDL2_SysWM_Msg_X11 -> SDL2_Struct;
|
416
|
+
SDL2_SysWM_Msg_DirectFB [label="{class DirectFB}" rank=sink];
|
417
|
+
subgraph cluster_SDL2_SysWM_Msg_DirectFB {
|
418
|
+
label = "DirectFB"; labelloc=b;
|
419
|
+
}
|
420
|
+
SDL2_SysWM_Msg_DirectFB -> SDL2_Struct;
|
421
|
+
SDL2_SysWM_Msg_Cocoa [label="{class Cocoa}" rank=sink];
|
422
|
+
subgraph cluster_SDL2_SysWM_Msg_Cocoa {
|
423
|
+
label = "Cocoa"; labelloc=b;
|
424
|
+
}
|
425
|
+
SDL2_SysWM_Msg_Cocoa -> SDL2_Struct;
|
426
|
+
SDL2_SysWM_Msg_UIKit [label="{class UIKit}" rank=sink];
|
427
|
+
subgraph cluster_SDL2_SysWM_Msg_UIKit {
|
428
|
+
label = "UIKit"; labelloc=b;
|
429
|
+
}
|
430
|
+
SDL2_SysWM_Msg_UIKit -> SDL2_Struct;
|
431
|
+
SDL2_SysWM_Msg_MsgUnion [label="{class MsgUnion}" rank=sink];
|
432
|
+
subgraph cluster_SDL2_SysWM_Msg_MsgUnion {
|
433
|
+
label = "MsgUnion"; labelloc=b;
|
434
|
+
}
|
435
|
+
SDL2_SysWM_Msg_MsgUnion -> FFI_Union;
|
436
|
+
subgraph cluster_SDL2_SysWM_Msg {
|
437
|
+
label = "Msg"; labelloc=b;
|
438
|
+
}
|
439
|
+
SDL2_SysWM_Msg -> SDL2_Struct;
|
440
|
+
SDL2_SysWM_Info [label="{class Info}" rank=sink];
|
441
|
+
SDL2_SysWM_Info_Win [label="{class Win}" rank=sink];
|
442
|
+
subgraph cluster_SDL2_SysWM_Info_Win {
|
443
|
+
label = "Win"; labelloc=b;
|
444
|
+
}
|
445
|
+
SDL2_SysWM_Info_Win -> SDL2_Struct;
|
446
|
+
SDL2_SysWM_Info_X11 [label="{class X11}" rank=sink];
|
447
|
+
subgraph cluster_SDL2_SysWM_Info_X11 {
|
448
|
+
label = "X11"; labelloc=b;
|
449
|
+
}
|
450
|
+
SDL2_SysWM_Info_X11 -> SDL2_Struct;
|
451
|
+
SDL2_SysWM_Info_DirectFB [label="{class DirectFB}" rank=sink];
|
452
|
+
subgraph cluster_SDL2_SysWM_Info_DirectFB {
|
453
|
+
label = "DirectFB"; labelloc=b;
|
454
|
+
}
|
455
|
+
SDL2_SysWM_Info_DirectFB -> SDL2_Struct;
|
456
|
+
SDL2_SysWM_Info_Cocoa [label="{class Cocoa}" rank=sink];
|
457
|
+
subgraph cluster_SDL2_SysWM_Info_Cocoa {
|
458
|
+
label = "Cocoa"; labelloc=b;
|
459
|
+
}
|
460
|
+
SDL2_SysWM_Info_Cocoa -> SDL2_Struct;
|
461
|
+
SDL2_SysWM_Info_UIKit [label="{class UIKit}" rank=sink];
|
462
|
+
subgraph cluster_SDL2_SysWM_Info_UIKit {
|
463
|
+
label = "UIKit"; labelloc=b;
|
464
|
+
}
|
465
|
+
SDL2_SysWM_Info_UIKit -> SDL2_Struct;
|
466
|
+
SDL2_SysWM_Info_InfoUnion [label="{class InfoUnion}" rank=sink];
|
467
|
+
subgraph cluster_SDL2_SysWM_Info_InfoUnion {
|
468
|
+
label = "InfoUnion"; labelloc=b;
|
469
|
+
}
|
470
|
+
SDL2_SysWM_Info_InfoUnion -> FFI_Union;
|
471
|
+
subgraph cluster_SDL2_SysWM_Info {
|
472
|
+
label = "Info"; labelloc=b;
|
473
|
+
}
|
474
|
+
SDL2_SysWM_Info -> SDL2_Struct;
|
475
|
+
subgraph cluster_SDL2_SysWM {
|
476
|
+
label = "SysWM"; labelloc=b;
|
477
|
+
}
|
478
|
+
SDL2_Audio [label="{module Audio}" rank=sink];
|
479
|
+
SDL2_Audio_Spec [label="{class Spec}" rank=sink];
|
480
|
+
subgraph cluster_SDL2_Audio_Spec {
|
481
|
+
label = "Spec"; labelloc=b;
|
482
|
+
}
|
483
|
+
SDL2_Audio_Spec -> SDL2_Struct;
|
484
|
+
SDL2_Audio_CVT [label="{class CVT}" rank=sink];
|
485
|
+
subgraph cluster_SDL2_Audio_CVT {
|
486
|
+
label = "CVT"; labelloc=b;
|
487
|
+
}
|
488
|
+
SDL2_Audio_CVT -> SDL2_Struct;
|
489
|
+
subgraph cluster_SDL2_Audio {
|
490
|
+
label = "Audio"; labelloc=b;
|
491
|
+
}
|
492
|
+
SDL2_Image [label="{module Image}" rank=sink];
|
493
|
+
subgraph cluster_SDL2_Image {
|
494
|
+
label = "Image"; labelloc=b;
|
495
|
+
}
|
496
|
+
SDL2_Mouse [label="{module Mouse}" rank=sink];
|
497
|
+
subgraph cluster_SDL2_Mouse {
|
498
|
+
label = "Mouse"; labelloc=b;
|
499
|
+
}
|
500
|
+
SDL2_Clipboard [label="{module Clipboard}" rank=sink];
|
501
|
+
subgraph cluster_SDL2_Clipboard {
|
502
|
+
label = "Clipboard"; labelloc=b;
|
503
|
+
}
|
504
|
+
SDL2_EnumerableConstants [label="{module EnumerableConstants}" rank=sink];
|
505
|
+
subgraph cluster_SDL2_EnumerableConstants {
|
506
|
+
label = "EnumerableConstants"; labelloc=b;
|
507
|
+
}
|
508
|
+
SDL2_INIT [label="{module INIT}" rank=sink];
|
509
|
+
subgraph cluster_SDL2_INIT {
|
510
|
+
label = "INIT"; labelloc=b;
|
511
|
+
}
|
512
|
+
SDL2_WINDOW [label="{module WINDOW}" rank=sink];
|
513
|
+
subgraph cluster_SDL2_WINDOW {
|
514
|
+
label = "WINDOW"; labelloc=b;
|
515
|
+
}
|
516
|
+
SDL2_WINDOWEVENT [label="{module WINDOWEVENT}" rank=sink];
|
517
|
+
subgraph cluster_SDL2_WINDOWEVENT {
|
518
|
+
label = "WINDOWEVENT"; labelloc=b;
|
519
|
+
}
|
520
|
+
SDL2_GLattr [label="{module GLattr}" rank=sink];
|
521
|
+
subgraph cluster_SDL2_GLattr {
|
522
|
+
label = "GLattr"; labelloc=b;
|
523
|
+
}
|
524
|
+
SDL2_GLprofile [label="{module GLprofile}" rank=sink];
|
525
|
+
subgraph cluster_SDL2_GLprofile {
|
526
|
+
label = "GLprofile"; labelloc=b;
|
527
|
+
}
|
528
|
+
SDL2_GLcontextFlag [label="{module GLcontextFlag}" rank=sink];
|
529
|
+
subgraph cluster_SDL2_GLcontextFlag {
|
530
|
+
label = "GLcontextFlag"; labelloc=b;
|
531
|
+
}
|
532
|
+
SDL2_TEXTUREACCESS [label="{module TEXTUREACCESS}" rank=sink];
|
533
|
+
subgraph cluster_SDL2_TEXTUREACCESS {
|
534
|
+
label = "TEXTUREACCESS"; labelloc=b;
|
535
|
+
}
|
536
|
+
SDL2_TEXTUREMODULATE [label="{module TEXTUREMODULATE}" rank=sink];
|
537
|
+
subgraph cluster_SDL2_TEXTUREMODULATE {
|
538
|
+
label = "TEXTUREMODULATE"; labelloc=b;
|
539
|
+
}
|
540
|
+
SDL2_FLIP [label="{module FLIP}" rank=sink];
|
541
|
+
subgraph cluster_SDL2_FLIP {
|
542
|
+
label = "FLIP"; labelloc=b;
|
543
|
+
}
|
544
|
+
SDL2_RENDERER [label="{module RENDERER}" rank=sink];
|
545
|
+
subgraph cluster_SDL2_RENDERER {
|
546
|
+
label = "RENDERER"; labelloc=b;
|
547
|
+
}
|
548
|
+
SDL2_EVENTTYPE [label="{module EVENTTYPE}" rank=sink];
|
549
|
+
subgraph cluster_SDL2_EVENTTYPE {
|
550
|
+
label = "EVENTTYPE"; labelloc=b;
|
551
|
+
}
|
552
|
+
SDL2_EVENTACTION [label="{module EVENTACTION}" rank=sink];
|
553
|
+
subgraph cluster_SDL2_EVENTACTION {
|
554
|
+
label = "EVENTACTION"; labelloc=b;
|
555
|
+
}
|
556
|
+
SDL2_EVENTSTATE [label="{module EVENTSTATE}" rank=sink];
|
557
|
+
subgraph cluster_SDL2_EVENTSTATE {
|
558
|
+
label = "EVENTSTATE"; labelloc=b;
|
559
|
+
}
|
560
|
+
}
|
561
|
+
EnumerableConstants [label="{module EnumerableConstants}" rank=sink];
|
562
|
+
subgraph cluster_EnumerableConstants {
|
563
|
+
label = "EnumerableConstants"; labelloc=b;
|
564
|
+
}
|
565
|
+
}
|
566
|
+
}
|