ruby2d 0.9.3 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/assets/README.md +7 -9
- data/assets/Rakefile +85 -0
- data/assets/include/SDL2/SDL.h +4 -1
- data/assets/include/SDL2/SDL_assert.h +3 -1
- data/assets/include/SDL2/SDL_atomic.h +20 -2
- data/assets/include/SDL2/SDL_audio.h +47 -14
- data/assets/include/SDL2/SDL_bits.h +10 -1
- data/assets/include/SDL2/SDL_blendmode.h +10 -7
- data/assets/include/SDL2/SDL_clipboard.h +1 -1
- data/assets/include/SDL2/SDL_config.h +24 -390
- data/assets/include/SDL2/SDL_config_android.h +182 -0
- data/assets/include/SDL2/SDL_config_iphoneos.h +207 -0
- data/assets/include/SDL2/SDL_config_macosx.h +266 -0
- data/assets/include/SDL2/SDL_config_minimal.h +85 -0
- data/assets/include/SDL2/SDL_config_os2.h +188 -0
- data/assets/include/SDL2/SDL_config_pandora.h +135 -0
- data/assets/include/SDL2/SDL_config_psp.h +165 -0
- data/assets/include/SDL2/SDL_config_windows.h +288 -0
- data/assets/include/SDL2/SDL_config_winrt.h +243 -0
- data/assets/include/SDL2/SDL_config_wiz.h +149 -0
- data/assets/include/SDL2/SDL_copying.h +20 -0
- data/assets/include/SDL2/SDL_cpuinfo.h +119 -8
- data/assets/include/SDL2/SDL_egl.h +4 -1
- data/assets/include/SDL2/SDL_endian.h +6 -3
- data/assets/include/SDL2/SDL_error.h +38 -2
- data/assets/include/SDL2/SDL_events.h +67 -28
- data/assets/include/SDL2/SDL_filesystem.h +1 -1
- data/assets/include/SDL2/SDL_gamecontroller.h +160 -9
- data/assets/include/SDL2/SDL_gesture.h +1 -1
- data/assets/include/SDL2/SDL_haptic.h +10 -1
- data/assets/include/SDL2/SDL_hints.h +460 -17
- data/assets/include/SDL2/SDL_image.h +2 -2
- data/assets/include/SDL2/SDL_joystick.h +115 -24
- data/assets/include/SDL2/SDL_keyboard.h +1 -1
- data/assets/include/SDL2/SDL_keycode.h +11 -9
- data/assets/include/SDL2/SDL_loadso.h +1 -1
- data/assets/include/SDL2/SDL_locale.h +101 -0
- data/assets/include/SDL2/SDL_log.h +3 -3
- data/assets/include/SDL2/SDL_main.h +28 -16
- data/assets/include/SDL2/SDL_messagebox.h +6 -4
- data/assets/include/SDL2/SDL_metal.h +117 -0
- data/assets/include/SDL2/SDL_misc.h +75 -0
- data/assets/include/SDL2/SDL_mouse.h +1 -1
- data/assets/include/SDL2/SDL_mutex.h +1 -1
- data/assets/include/SDL2/SDL_name.h +1 -1
- data/assets/include/SDL2/SDL_opengl.h +1 -1
- data/assets/include/SDL2/SDL_opengl_glext.h +3 -0
- data/assets/include/SDL2/SDL_opengles.h +1 -1
- data/assets/include/SDL2/SDL_opengles2.h +1 -1
- data/assets/include/SDL2/SDL_pixels.h +27 -18
- data/assets/include/SDL2/SDL_platform.h +1 -1
- data/assets/include/SDL2/SDL_power.h +1 -1
- data/assets/include/SDL2/SDL_quit.h +1 -1
- data/assets/include/SDL2/SDL_rect.h +29 -3
- data/assets/include/SDL2/SDL_render.h +230 -3
- data/assets/include/SDL2/SDL_revision.h +2 -2
- data/assets/include/SDL2/SDL_rwops.h +51 -22
- data/assets/include/SDL2/SDL_scancode.h +2 -2
- data/assets/include/SDL2/SDL_sensor.h +28 -12
- data/assets/include/SDL2/SDL_shape.h +1 -1
- data/assets/include/SDL2/SDL_stdinc.h +44 -4
- data/assets/include/SDL2/SDL_surface.h +12 -2
- data/assets/include/SDL2/SDL_system.h +50 -4
- data/assets/include/SDL2/SDL_syswm.h +39 -9
- data/assets/include/SDL2/SDL_test.h +1 -1
- data/assets/include/SDL2/SDL_test_assert.h +1 -1
- data/assets/include/SDL2/SDL_test_common.h +32 -2
- data/assets/include/SDL2/SDL_test_compare.h +1 -1
- data/assets/include/SDL2/SDL_test_crc32.h +1 -1
- data/assets/include/SDL2/SDL_test_font.h +1 -1
- data/assets/include/SDL2/SDL_test_fuzzer.h +1 -1
- data/assets/include/SDL2/SDL_test_harness.h +1 -1
- data/assets/include/SDL2/SDL_test_images.h +1 -1
- data/assets/include/SDL2/SDL_test_log.h +1 -1
- data/assets/include/SDL2/SDL_test_md5.h +1 -1
- data/assets/include/SDL2/SDL_test_memory.h +3 -3
- data/assets/include/SDL2/SDL_test_random.h +1 -1
- data/assets/include/SDL2/SDL_thread.h +34 -11
- data/assets/include/SDL2/SDL_timer.h +1 -1
- data/assets/include/SDL2/SDL_touch.h +17 -1
- data/assets/include/SDL2/SDL_types.h +1 -1
- data/assets/include/SDL2/SDL_version.h +2 -2
- data/assets/include/SDL2/SDL_video.h +11 -5
- data/assets/include/SDL2/SDL_vulkan.h +9 -11
- data/assets/include/SDL2/begin_code.h +8 -9
- data/assets/include/SDL2/close_code.h +4 -1
- data/assets/macos/lib/libFLAC.a +0 -0
- data/assets/macos/lib/libSDL2.a +0 -0
- data/assets/macos/lib/libSDL2_image.a +0 -0
- data/assets/macos/lib/libSDL2_mixer.a +0 -0
- data/assets/macos/lib/libSDL2_ttf.a +0 -0
- data/assets/macos/lib/libfreetype.a +0 -0
- data/assets/macos/lib/libjpeg.a +0 -0
- data/assets/macos/lib/libmpg123.a +0 -0
- data/assets/macos/lib/libogg.a +0 -0
- data/assets/macos/lib/libpng16.a +0 -0
- data/assets/macos/lib/libtiff.a +0 -0
- data/assets/macos/lib/libvorbis.a +0 -0
- data/assets/macos/lib/libvorbisfile.a +0 -0
- data/assets/macos/lib/libwebp.a +0 -0
- data/assets/mingw/bin/SDL2.dll +0 -0
- data/assets/mingw/bin/SDL2_image.dll +0 -0
- data/assets/mingw/bin/libpng16-16.dll +0 -0
- data/assets/mingw/bin/libtiff-5.dll +0 -0
- data/assets/mingw/bin/libwebp-7.dll +0 -0
- data/assets/mingw/lib/libSDL2.a +0 -0
- data/assets/mingw/lib/libSDL2.dll.a +0 -0
- data/assets/mingw/lib/libSDL2_image.a +0 -0
- data/assets/mingw/lib/libSDL2_image.dll.a +0 -0
- data/assets/mingw/lib/libSDL2_test.a +0 -0
- data/assets/mingw/lib/libSDL2main.a +0 -0
- data/bin/ruby2d +1 -0
- data/{assets/linux/simple2d/src/simple2d.c → ext/ruby2d/common.c} +32 -32
- data/{assets/linux/simple2d/src → ext/ruby2d}/controllers.c +17 -17
- data/ext/ruby2d/extconf.rb +36 -58
- data/ext/ruby2d/font.c +35 -0
- data/{assets/linux/simple2d/src → ext/ruby2d}/gl.c +72 -100
- data/ext/ruby2d/gl2.c +86 -0
- data/ext/ruby2d/gl3.c +305 -0
- data/{assets/linux/simple2d/src → ext/ruby2d}/gles.c +22 -81
- data/ext/ruby2d/image.c +58 -0
- data/{assets/linux/simple2d/src → ext/ruby2d}/input.c +8 -8
- data/{assets/linux/simple2d/src → ext/ruby2d}/music.c +30 -17
- data/ext/ruby2d/ruby2d.c +449 -439
- data/ext/ruby2d/ruby2d.h +652 -0
- data/{assets/linux/simple2d/src → ext/ruby2d}/shapes.c +18 -18
- data/ext/ruby2d/sound.c +118 -0
- data/ext/ruby2d/text.c +22 -0
- data/{assets/linux/simple2d/src → ext/ruby2d}/window.c +73 -62
- data/lib/ruby2d/circle.rb +21 -3
- data/lib/ruby2d/cli/build.rb +4 -7
- data/lib/ruby2d/dsl.rb +16 -9
- data/lib/ruby2d/entity.rb +17 -0
- data/lib/ruby2d/font.rb +23 -3
- data/lib/ruby2d/image.rb +35 -7
- data/lib/ruby2d/line.rb +23 -1
- data/lib/ruby2d/music.rb +5 -0
- data/lib/ruby2d/pixel.rb +17 -0
- data/lib/ruby2d/quad.rb +21 -1
- data/lib/ruby2d/rectangle.rb +12 -3
- data/lib/ruby2d/renderable.rb +4 -20
- data/lib/ruby2d/sound.rb +30 -0
- data/lib/ruby2d/sprite.rb +57 -75
- data/lib/ruby2d/square.rb +10 -1
- data/lib/ruby2d/text.rb +55 -12
- data/lib/ruby2d/texture.rb +28 -0
- data/lib/ruby2d/tileset.rb +87 -0
- data/lib/ruby2d/triangle.rb +19 -1
- data/lib/ruby2d/version.rb +1 -1
- data/lib/ruby2d/vertices.rb +84 -0
- data/lib/ruby2d/window.rb +259 -22
- data/lib/ruby2d.rb +6 -1
- metadata +41 -26
- data/assets/include/simple2d.h +0 -735
- data/assets/linux/simple2d/Makefile +0 -257
- data/assets/linux/simple2d/bin/simple2d.sh +0 -1312
- data/assets/linux/simple2d/include/simple2d.h +0 -735
- data/assets/linux/simple2d/src/gl2.c +0 -146
- data/assets/linux/simple2d/src/gl3.c +0 -275
- data/assets/linux/simple2d/src/image.c +0 -138
- data/assets/linux/simple2d/src/sound.c +0 -56
- data/assets/linux/simple2d/src/sprite.c +0 -147
- data/assets/linux/simple2d/src/text.c +0 -129
- data/assets/macos/lib/libsimple2d.a +0 -0
- data/assets/mingw/lib/libsimple2d.a +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
Simple DirectMedia Layer
|
3
|
-
Copyright (C) 1997-
|
3
|
+
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
4
4
|
|
5
5
|
This software is provided 'as-is', without any express or implied
|
6
6
|
warranty. In no event will the authors be held liable for any damages
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
Simple DirectMedia Layer
|
3
|
-
Copyright (C) 1997-
|
3
|
+
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
4
4
|
|
5
5
|
This software is provided 'as-is', without any express or implied
|
6
6
|
warranty. In no event will the authors be held liable for any damages
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
Simple DirectMedia Layer
|
3
|
-
Copyright (C) 1997-
|
3
|
+
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
4
4
|
|
5
5
|
This software is provided 'as-is', without any express or implied
|
6
6
|
warranty. In no event will the authors be held liable for any damages
|
@@ -140,11 +140,30 @@ SDLTest_CommonState *SDLTest_CommonCreateState(char **argv, Uint32 flags);
|
|
140
140
|
*/
|
141
141
|
int SDLTest_CommonArg(SDLTest_CommonState * state, int index);
|
142
142
|
|
143
|
+
|
144
|
+
/**
|
145
|
+
* \brief Logs command line usage info.
|
146
|
+
*
|
147
|
+
* This logs the appropriate command line options for the subsystems in use
|
148
|
+
* plus other common options, and then any application-specific options.
|
149
|
+
* This uses the SDL_Log() function and splits up output to be friendly to
|
150
|
+
* 80-character-wide terminals.
|
151
|
+
*
|
152
|
+
* \param state The common state describing the test window for the app.
|
153
|
+
* \param argv0 argv[0], as passed to main/SDL_main.
|
154
|
+
* \param options an array of strings for application specific options. The last element of the array should be NULL.
|
155
|
+
*/
|
156
|
+
void SDLTest_CommonLogUsage(SDLTest_CommonState * state, const char *argv0, const char **options);
|
157
|
+
|
143
158
|
/**
|
144
159
|
* \brief Returns common usage information
|
145
160
|
*
|
146
|
-
*
|
161
|
+
* You should (probably) be using SDLTest_CommonLogUsage() instead, but this
|
162
|
+
* function remains for binary compatibility. Strings returned from this
|
163
|
+
* function are valid until SDLTest_CommonQuit() is called, in which case
|
164
|
+
* those strings' memory is freed and can no longer be used.
|
147
165
|
*
|
166
|
+
* \param state The common state describing the test window to create.
|
148
167
|
* \returns String with usage information
|
149
168
|
*/
|
150
169
|
const char *SDLTest_CommonUsage(SDLTest_CommonState * state);
|
@@ -158,6 +177,17 @@ const char *SDLTest_CommonUsage(SDLTest_CommonState * state);
|
|
158
177
|
*/
|
159
178
|
SDL_bool SDLTest_CommonInit(SDLTest_CommonState * state);
|
160
179
|
|
180
|
+
/**
|
181
|
+
* \brief Easy argument handling when test app doesn't need any custom args.
|
182
|
+
*
|
183
|
+
* \param state The common state describing the test window to create.
|
184
|
+
* \param argc argc, as supplied to SDL_main
|
185
|
+
* \param argv argv, as supplied to SDL_main
|
186
|
+
*
|
187
|
+
* \returns False if app should quit, true otherwise.
|
188
|
+
*/
|
189
|
+
SDL_bool SDLTest_CommonDefaultArgs(SDLTest_CommonState * state, const int argc, char **argv);
|
190
|
+
|
161
191
|
/**
|
162
192
|
* \brief Common event handler for test windows.
|
163
193
|
*
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
Simple DirectMedia Layer
|
3
|
-
Copyright (C) 1997-
|
3
|
+
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
4
4
|
|
5
5
|
This software is provided 'as-is', without any express or implied
|
6
6
|
warranty. In no event will the authors be held liable for any damages
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
Simple DirectMedia Layer
|
3
|
-
Copyright (C) 1997-
|
3
|
+
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
4
4
|
|
5
5
|
This software is provided 'as-is', without any express or implied
|
6
6
|
warranty. In no event will the authors be held liable for any damages
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
Simple DirectMedia Layer
|
3
|
-
Copyright (C) 1997-
|
3
|
+
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
4
4
|
|
5
5
|
This software is provided 'as-is', without any express or implied
|
6
6
|
warranty. In no event will the authors be held liable for any damages
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
Simple DirectMedia Layer
|
3
|
-
Copyright (C) 1997-
|
3
|
+
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
4
4
|
|
5
5
|
This software is provided 'as-is', without any express or implied
|
6
6
|
warranty. In no event will the authors be held liable for any damages
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
Simple DirectMedia Layer
|
3
|
-
Copyright (C) 1997-
|
3
|
+
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
4
4
|
|
5
5
|
This software is provided 'as-is', without any express or implied
|
6
6
|
warranty. In no event will the authors be held liable for any damages
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
Simple DirectMedia Layer
|
3
|
-
Copyright (C) 1997-
|
3
|
+
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
4
4
|
|
5
5
|
This software is provided 'as-is', without any express or implied
|
6
6
|
warranty. In no event will the authors be held liable for any damages
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
Simple DirectMedia Layer
|
3
|
-
Copyright (C) 1997-
|
3
|
+
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
4
4
|
|
5
5
|
This software is provided 'as-is', without any express or implied
|
6
6
|
warranty. In no event will the authors be held liable for any damages
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
Simple DirectMedia Layer
|
3
|
-
Copyright (C) 1997-
|
3
|
+
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
4
4
|
|
5
5
|
This software is provided 'as-is', without any express or implied
|
6
6
|
warranty. In no event will the authors be held liable for any damages
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
Simple DirectMedia Layer
|
3
|
-
Copyright (C) 1997-
|
3
|
+
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
4
4
|
|
5
5
|
This software is provided 'as-is', without any express or implied
|
6
6
|
warranty. In no event will the authors be held liable for any damages
|
@@ -42,14 +42,14 @@ extern "C" {
|
|
42
42
|
*
|
43
43
|
* \note This should be called before any other SDL functions for complete tracking coverage
|
44
44
|
*/
|
45
|
-
int SDLTest_TrackAllocations();
|
45
|
+
int SDLTest_TrackAllocations(void);
|
46
46
|
|
47
47
|
/**
|
48
48
|
* \brief Print a log of any outstanding allocations
|
49
49
|
*
|
50
50
|
* \note This can be called after SDL_Quit()
|
51
51
|
*/
|
52
|
-
void SDLTest_LogAllocations();
|
52
|
+
void SDLTest_LogAllocations(void);
|
53
53
|
|
54
54
|
|
55
55
|
/* Ends C function definitions when using C++ */
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
Simple DirectMedia Layer
|
3
|
-
Copyright (C) 1997-
|
3
|
+
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
4
4
|
|
5
5
|
This software is provided 'as-is', without any express or implied
|
6
6
|
warranty. In no event will the authors be held liable for any damages
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
Simple DirectMedia Layer
|
3
|
-
Copyright (C) 1997-
|
3
|
+
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
4
4
|
|
5
5
|
This software is provided 'as-is', without any express or implied
|
6
6
|
warranty. In no event will the authors be held liable for any damages
|
@@ -54,6 +54,11 @@ typedef unsigned int SDL_TLSID;
|
|
54
54
|
/**
|
55
55
|
* The SDL thread priority.
|
56
56
|
*
|
57
|
+
* SDL will make system changes as necessary in order to apply the thread priority.
|
58
|
+
* Code which attempts to control thread state related to priority should be aware
|
59
|
+
* that calling SDL_SetThreadPriority may alter such state.
|
60
|
+
* SDL_HINT_THREAD_PRIORITY_POLICY can be used to control aspects of this behavior.
|
61
|
+
*
|
57
62
|
* \note On many systems you require special privileges to set high or time critical priority.
|
58
63
|
*/
|
59
64
|
typedef enum {
|
@@ -69,7 +74,7 @@ typedef enum {
|
|
69
74
|
*/
|
70
75
|
typedef int (SDLCALL * SDL_ThreadFunction) (void *data);
|
71
76
|
|
72
|
-
#if defined(__WIN32__)
|
77
|
+
#if defined(__WIN32__)
|
73
78
|
/**
|
74
79
|
* \file SDL_thread.h
|
75
80
|
*
|
@@ -93,11 +98,18 @@ typedef int (SDLCALL * SDL_ThreadFunction) (void *data);
|
|
93
98
|
#define SDL_PASSED_BEGINTHREAD_ENDTHREAD
|
94
99
|
#include <process.h> /* _beginthreadex() and _endthreadex() */
|
95
100
|
|
96
|
-
typedef uintptr_t(__cdecl * pfnSDL_CurrentBeginThread)
|
101
|
+
typedef uintptr_t (__cdecl * pfnSDL_CurrentBeginThread)
|
97
102
|
(void *, unsigned, unsigned (__stdcall *func)(void *),
|
98
103
|
void * /*arg*/, unsigned, unsigned * /* threadID */);
|
99
104
|
typedef void (__cdecl * pfnSDL_CurrentEndThread) (unsigned code);
|
100
105
|
|
106
|
+
#ifndef SDL_beginthread
|
107
|
+
#define SDL_beginthread _beginthreadex
|
108
|
+
#endif
|
109
|
+
#ifndef SDL_endthread
|
110
|
+
#define SDL_endthread _endthreadex
|
111
|
+
#endif
|
112
|
+
|
101
113
|
/**
|
102
114
|
* Create a thread.
|
103
115
|
*/
|
@@ -118,12 +130,12 @@ SDL_CreateThreadWithStackSize(int (SDLCALL * fn) (void *),
|
|
118
130
|
*/
|
119
131
|
#if defined(SDL_CreateThread) && SDL_DYNAMIC_API
|
120
132
|
#undef SDL_CreateThread
|
121
|
-
#define SDL_CreateThread(fn, name, data) SDL_CreateThread_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)
|
133
|
+
#define SDL_CreateThread(fn, name, data) SDL_CreateThread_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
|
122
134
|
#undef SDL_CreateThreadWithStackSize
|
123
|
-
#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)
|
135
|
+
#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
|
124
136
|
#else
|
125
|
-
#define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)
|
126
|
-
#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, data, (pfnSDL_CurrentBeginThread)_beginthreadex, (pfnSDL_CurrentEndThread)
|
137
|
+
#define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
|
138
|
+
#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, data, (pfnSDL_CurrentBeginThread)_beginthreadex, (pfnSDL_CurrentEndThread)SDL_endthread)
|
127
139
|
#endif
|
128
140
|
|
129
141
|
#elif defined(__OS2__)
|
@@ -132,13 +144,23 @@ SDL_CreateThreadWithStackSize(int (SDLCALL * fn) (void *),
|
|
132
144
|
* into a dll with Watcom's runtime statically linked.
|
133
145
|
*/
|
134
146
|
#define SDL_PASSED_BEGINTHREAD_ENDTHREAD
|
147
|
+
|
135
148
|
#ifndef __EMX__
|
136
149
|
#include <process.h>
|
137
150
|
#else
|
138
151
|
#include <stdlib.h>
|
139
152
|
#endif
|
153
|
+
|
140
154
|
typedef int (*pfnSDL_CurrentBeginThread)(void (*func)(void *), void *, unsigned, void * /*arg*/);
|
141
155
|
typedef void (*pfnSDL_CurrentEndThread)(void);
|
156
|
+
|
157
|
+
#ifndef SDL_beginthread
|
158
|
+
#define SDL_beginthread _beginthread
|
159
|
+
#endif
|
160
|
+
#ifndef SDL_endthread
|
161
|
+
#define SDL_endthread _endthread
|
162
|
+
#endif
|
163
|
+
|
142
164
|
extern DECLSPEC SDL_Thread *SDLCALL
|
143
165
|
SDL_CreateThread(SDL_ThreadFunction fn, const char *name, void *data,
|
144
166
|
pfnSDL_CurrentBeginThread pfnBeginThread,
|
@@ -147,14 +169,15 @@ extern DECLSPEC SDL_Thread *SDLCALL
|
|
147
169
|
SDL_CreateThreadWithStackSize(SDL_ThreadFunction fn, const char *name, const size_t stacksize, void *data,
|
148
170
|
pfnSDL_CurrentBeginThread pfnBeginThread,
|
149
171
|
pfnSDL_CurrentEndThread pfnEndThread);
|
172
|
+
|
150
173
|
#if defined(SDL_CreateThread) && SDL_DYNAMIC_API
|
151
174
|
#undef SDL_CreateThread
|
152
|
-
#define SDL_CreateThread(fn, name, data) SDL_CreateThread_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)
|
175
|
+
#define SDL_CreateThread(fn, name, data) SDL_CreateThread_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
|
153
176
|
#undef SDL_CreateThreadWithStackSize
|
154
|
-
#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)
|
177
|
+
#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
|
155
178
|
#else
|
156
|
-
#define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)
|
157
|
-
#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)
|
179
|
+
#define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
|
180
|
+
#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
|
158
181
|
#endif
|
159
182
|
|
160
183
|
#else
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
Simple DirectMedia Layer
|
3
|
-
Copyright (C) 1997-
|
3
|
+
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
4
4
|
|
5
5
|
This software is provided 'as-is', without any express or implied
|
6
6
|
warranty. In no event will the authors be held liable for any damages
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
Simple DirectMedia Layer
|
3
|
-
Copyright (C) 1997-
|
3
|
+
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
4
4
|
|
5
5
|
This software is provided 'as-is', without any express or implied
|
6
6
|
warranty. In no event will the authors be held liable for any damages
|
@@ -41,6 +41,14 @@ extern "C" {
|
|
41
41
|
typedef Sint64 SDL_TouchID;
|
42
42
|
typedef Sint64 SDL_FingerID;
|
43
43
|
|
44
|
+
typedef enum
|
45
|
+
{
|
46
|
+
SDL_TOUCH_DEVICE_INVALID = -1,
|
47
|
+
SDL_TOUCH_DEVICE_DIRECT, /* touch screen with window-relative coordinates */
|
48
|
+
SDL_TOUCH_DEVICE_INDIRECT_ABSOLUTE, /* trackpad with absolute device coordinates */
|
49
|
+
SDL_TOUCH_DEVICE_INDIRECT_RELATIVE /* trackpad with screen cursor-relative coordinates */
|
50
|
+
} SDL_TouchDeviceType;
|
51
|
+
|
44
52
|
typedef struct SDL_Finger
|
45
53
|
{
|
46
54
|
SDL_FingerID id;
|
@@ -52,6 +60,9 @@ typedef struct SDL_Finger
|
|
52
60
|
/* Used as the device ID for mouse events simulated with touch input */
|
53
61
|
#define SDL_TOUCH_MOUSEID ((Uint32)-1)
|
54
62
|
|
63
|
+
/* Used as the SDL_TouchID for touch events simulated with mouse input */
|
64
|
+
#define SDL_MOUSE_TOUCHID ((Sint64)-1)
|
65
|
+
|
55
66
|
|
56
67
|
/* Function prototypes */
|
57
68
|
|
@@ -65,6 +76,11 @@ extern DECLSPEC int SDLCALL SDL_GetNumTouchDevices(void);
|
|
65
76
|
*/
|
66
77
|
extern DECLSPEC SDL_TouchID SDLCALL SDL_GetTouchDevice(int index);
|
67
78
|
|
79
|
+
/**
|
80
|
+
* \brief Get the type of the given touch device.
|
81
|
+
*/
|
82
|
+
extern DECLSPEC SDL_TouchDeviceType SDLCALL SDL_GetTouchDeviceType(SDL_TouchID touchID);
|
83
|
+
|
68
84
|
/**
|
69
85
|
* \brief Get the number of active fingers for a given touch device.
|
70
86
|
*/
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
Simple DirectMedia Layer
|
3
|
-
Copyright (C) 1997-
|
3
|
+
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
4
4
|
|
5
5
|
This software is provided 'as-is', without any express or implied
|
6
6
|
warranty. In no event will the authors be held liable for any damages
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
Simple DirectMedia Layer
|
3
|
-
Copyright (C) 1997-
|
3
|
+
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
4
4
|
|
5
5
|
This software is provided 'as-is', without any express or implied
|
6
6
|
warranty. In no event will the authors be held liable for any damages
|
@@ -59,7 +59,7 @@ typedef struct SDL_version
|
|
59
59
|
*/
|
60
60
|
#define SDL_MAJOR_VERSION 2
|
61
61
|
#define SDL_MINOR_VERSION 0
|
62
|
-
#define SDL_PATCHLEVEL
|
62
|
+
#define SDL_PATCHLEVEL 14
|
63
63
|
|
64
64
|
/**
|
65
65
|
* \brief Macro to determine SDL version program was compiled against.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
Simple DirectMedia Layer
|
3
|
-
Copyright (C) 1997-
|
3
|
+
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
4
4
|
|
5
5
|
This software is provided 'as-is', without any express or implied
|
6
6
|
warranty. In no event will the authors be held liable for any damages
|
@@ -96,7 +96,6 @@ typedef struct SDL_Window SDL_Window;
|
|
96
96
|
*/
|
97
97
|
typedef enum
|
98
98
|
{
|
99
|
-
/* !!! FIXME: change this to name = (1<<x). */
|
100
99
|
SDL_WINDOW_FULLSCREEN = 0x00000001, /**< fullscreen window */
|
101
100
|
SDL_WINDOW_OPENGL = 0x00000002, /**< window usable with OpenGL context */
|
102
101
|
SDL_WINDOW_SHOWN = 0x00000004, /**< window is visible */
|
@@ -119,7 +118,8 @@ typedef enum
|
|
119
118
|
SDL_WINDOW_UTILITY = 0x00020000, /**< window should be treated as a utility window */
|
120
119
|
SDL_WINDOW_TOOLTIP = 0x00040000, /**< window should be treated as a tooltip */
|
121
120
|
SDL_WINDOW_POPUP_MENU = 0x00080000, /**< window should be treated as a popup menu */
|
122
|
-
SDL_WINDOW_VULKAN = 0x10000000
|
121
|
+
SDL_WINDOW_VULKAN = 0x10000000, /**< window usable for Vulkan surface */
|
122
|
+
SDL_WINDOW_METAL = 0x20000000 /**< window usable for Metal view */
|
123
123
|
} SDL_WindowFlags;
|
124
124
|
|
125
125
|
/**
|
@@ -175,7 +175,9 @@ typedef enum
|
|
175
175
|
typedef enum
|
176
176
|
{
|
177
177
|
SDL_DISPLAYEVENT_NONE, /**< Never used */
|
178
|
-
SDL_DISPLAYEVENT_ORIENTATION
|
178
|
+
SDL_DISPLAYEVENT_ORIENTATION, /**< Display orientation has changed to data1 */
|
179
|
+
SDL_DISPLAYEVENT_CONNECTED, /**< Display has been added to the system */
|
180
|
+
SDL_DISPLAYEVENT_DISCONNECTED /**< Display has been removed from the system */
|
179
181
|
} SDL_DisplayEventID;
|
180
182
|
|
181
183
|
typedef enum
|
@@ -485,7 +487,8 @@ extern DECLSPEC Uint32 SDLCALL SDL_GetWindowPixelFormat(SDL_Window * window);
|
|
485
487
|
* ::SDL_WINDOW_HIDDEN, ::SDL_WINDOW_BORDERLESS,
|
486
488
|
* ::SDL_WINDOW_RESIZABLE, ::SDL_WINDOW_MAXIMIZED,
|
487
489
|
* ::SDL_WINDOW_MINIMIZED, ::SDL_WINDOW_INPUT_GRABBED,
|
488
|
-
* ::SDL_WINDOW_ALLOW_HIGHDPI, ::SDL_WINDOW_VULKAN
|
490
|
+
* ::SDL_WINDOW_ALLOW_HIGHDPI, ::SDL_WINDOW_VULKAN
|
491
|
+
* ::SDL_WINDOW_METAL.
|
489
492
|
*
|
490
493
|
* \return The created window, or NULL if window creation failed.
|
491
494
|
*
|
@@ -504,6 +507,9 @@ extern DECLSPEC Uint32 SDLCALL SDL_GetWindowPixelFormat(SDL_Window * window);
|
|
504
507
|
* If SDL_WINDOW_VULKAN is specified and there isn't a working Vulkan driver,
|
505
508
|
* SDL_CreateWindow() will fail because SDL_Vulkan_LoadLibrary() will fail.
|
506
509
|
*
|
510
|
+
* If SDL_WINDOW_METAL is specified on an OS that does not support Metal,
|
511
|
+
* SDL_CreateWindow() will fail.
|
512
|
+
*
|
507
513
|
* \note On non-Apple devices, SDL requires you to either not link to the
|
508
514
|
* Vulkan loader or link to a dynamic library version. This limitation
|
509
515
|
* may be removed in a future version of SDL.
|
@@ -98,8 +98,8 @@ typedef VkSurfaceKHR SDL_vulkanSurface; /* for compatibility with Tizen */
|
|
98
98
|
* applications to link with libvulkan (and historically MoltenVK was
|
99
99
|
* provided as a static library). If it is not found then, on macOS, SDL
|
100
100
|
* will attempt to load \c vulkan.framework/vulkan, \c libvulkan.1.dylib,
|
101
|
-
*
|
102
|
-
* On iOS SDL will attempt to load \c
|
101
|
+
* followed by \c libvulkan.dylib, in that order.
|
102
|
+
* On iOS SDL will attempt to load \c libvulkan.dylib only. Applications
|
103
103
|
* using a dynamic framework or .dylib must ensure it is included in its
|
104
104
|
* application bundle.
|
105
105
|
*
|
@@ -153,7 +153,7 @@ extern DECLSPEC void SDLCALL SDL_Vulkan_UnloadLibrary(void);
|
|
153
153
|
* is smaller than the number of required extensions, \c SDL_FALSE will be
|
154
154
|
* returned instead of \c SDL_TRUE, to indicate that not all the required
|
155
155
|
* extensions were returned.
|
156
|
-
*
|
156
|
+
*
|
157
157
|
* \note If \c window is not NULL, it will be checked against its creation
|
158
158
|
* flags to ensure that the Vulkan flag is present. This parameter
|
159
159
|
* will be removed in a future major release.
|
@@ -204,10 +204,9 @@ extern DECLSPEC void SDLCALL SDL_Vulkan_UnloadLibrary(void);
|
|
204
204
|
*
|
205
205
|
* \sa SDL_Vulkan_CreateSurface()
|
206
206
|
*/
|
207
|
-
extern DECLSPEC SDL_bool SDLCALL SDL_Vulkan_GetInstanceExtensions(
|
208
|
-
|
209
|
-
|
210
|
-
const char **pNames);
|
207
|
+
extern DECLSPEC SDL_bool SDLCALL SDL_Vulkan_GetInstanceExtensions(SDL_Window *window,
|
208
|
+
unsigned int *pCount,
|
209
|
+
const char **pNames);
|
211
210
|
|
212
211
|
/**
|
213
212
|
* \brief Create a Vulkan rendering surface for a window.
|
@@ -238,10 +237,9 @@ extern DECLSPEC SDL_bool SDLCALL SDL_Vulkan_GetInstanceExtensions(
|
|
238
237
|
*
|
239
238
|
* \sa SDL_Vulkan_GetInstanceExtensions()
|
240
239
|
*/
|
241
|
-
extern DECLSPEC SDL_bool SDLCALL SDL_Vulkan_CreateSurface(
|
242
|
-
|
243
|
-
|
244
|
-
VkSurfaceKHR* surface);
|
240
|
+
extern DECLSPEC SDL_bool SDLCALL SDL_Vulkan_CreateSurface(SDL_Window *window,
|
241
|
+
VkInstance instance,
|
242
|
+
VkSurfaceKHR* surface);
|
245
243
|
|
246
244
|
/**
|
247
245
|
* \brief Get the size of a window's underlying drawable in pixels (for use
|