ruby2d 0.9.3 → 0.9.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.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/assets/README.md +7 -9
  3. data/assets/Rakefile +85 -0
  4. data/assets/include/SDL2/SDL.h +1 -1
  5. data/assets/include/SDL2/SDL_assert.h +1 -1
  6. data/assets/include/SDL2/SDL_atomic.h +20 -2
  7. data/assets/include/SDL2/SDL_audio.h +47 -14
  8. data/assets/include/SDL2/SDL_bits.h +10 -1
  9. data/assets/include/SDL2/SDL_blendmode.h +7 -7
  10. data/assets/include/SDL2/SDL_clipboard.h +1 -1
  11. data/assets/include/SDL2/SDL_config.h +24 -390
  12. data/assets/include/SDL2/SDL_config_android.h +178 -0
  13. data/assets/include/SDL2/SDL_config_iphoneos.h +201 -0
  14. data/assets/include/SDL2/SDL_config_macosx.h +240 -0
  15. data/assets/include/SDL2/SDL_config_minimal.h +85 -0
  16. data/assets/include/SDL2/SDL_config_os2.h +170 -0
  17. data/assets/include/SDL2/SDL_config_pandora.h +133 -0
  18. data/assets/include/SDL2/SDL_config_psp.h +164 -0
  19. data/assets/include/SDL2/SDL_config_windows.h +257 -0
  20. data/assets/include/SDL2/SDL_config_winrt.h +240 -0
  21. data/assets/include/SDL2/SDL_config_wiz.h +146 -0
  22. data/assets/include/SDL2/SDL_copying.h +20 -0
  23. data/assets/include/SDL2/SDL_cpuinfo.h +90 -8
  24. data/assets/include/SDL2/SDL_egl.h +1 -1
  25. data/assets/include/SDL2/SDL_endian.h +1 -1
  26. data/assets/include/SDL2/SDL_error.h +1 -1
  27. data/assets/include/SDL2/SDL_events.h +4 -1
  28. data/assets/include/SDL2/SDL_filesystem.h +1 -1
  29. data/assets/include/SDL2/SDL_gamecontroller.h +1 -1
  30. data/assets/include/SDL2/SDL_gesture.h +1 -1
  31. data/assets/include/SDL2/SDL_haptic.h +1 -1
  32. data/assets/include/SDL2/SDL_hints.h +145 -14
  33. data/assets/include/SDL2/SDL_image.h +2 -2
  34. data/assets/include/SDL2/SDL_joystick.h +1 -1
  35. data/assets/include/SDL2/SDL_keyboard.h +1 -1
  36. data/assets/include/SDL2/SDL_keycode.h +1 -1
  37. data/assets/include/SDL2/SDL_loadso.h +1 -1
  38. data/assets/include/SDL2/SDL_log.h +1 -1
  39. data/assets/include/SDL2/SDL_main.h +28 -16
  40. data/assets/include/SDL2/SDL_messagebox.h +1 -1
  41. data/assets/include/SDL2/SDL_mouse.h +1 -1
  42. data/assets/include/SDL2/SDL_mutex.h +1 -1
  43. data/assets/include/SDL2/SDL_name.h +1 -1
  44. data/assets/include/SDL2/SDL_opengl.h +1 -1
  45. data/assets/include/SDL2/SDL_opengles.h +1 -1
  46. data/assets/include/SDL2/SDL_opengles2.h +1 -1
  47. data/assets/include/SDL2/SDL_pixels.h +3 -3
  48. data/assets/include/SDL2/SDL_platform.h +1 -1
  49. data/assets/include/SDL2/SDL_power.h +1 -1
  50. data/assets/include/SDL2/SDL_quit.h +1 -1
  51. data/assets/include/SDL2/SDL_rect.h +29 -3
  52. data/assets/include/SDL2/SDL_render.h +168 -1
  53. data/assets/include/SDL2/SDL_revision.h +2 -2
  54. data/assets/include/SDL2/SDL_rwops.h +50 -13
  55. data/assets/include/SDL2/SDL_scancode.h +2 -2
  56. data/assets/include/SDL2/SDL_sensor.h +4 -4
  57. data/assets/include/SDL2/SDL_shape.h +1 -1
  58. data/assets/include/SDL2/SDL_stdinc.h +1 -1
  59. data/assets/include/SDL2/SDL_surface.h +2 -1
  60. data/assets/include/SDL2/SDL_system.h +1 -1
  61. data/assets/include/SDL2/SDL_syswm.h +11 -8
  62. data/assets/include/SDL2/SDL_test.h +1 -1
  63. data/assets/include/SDL2/SDL_test_assert.h +1 -1
  64. data/assets/include/SDL2/SDL_test_common.h +22 -5
  65. data/assets/include/SDL2/SDL_test_compare.h +1 -1
  66. data/assets/include/SDL2/SDL_test_crc32.h +1 -1
  67. data/assets/include/SDL2/SDL_test_font.h +1 -1
  68. data/assets/include/SDL2/SDL_test_fuzzer.h +1 -1
  69. data/assets/include/SDL2/SDL_test_harness.h +1 -1
  70. data/assets/include/SDL2/SDL_test_images.h +1 -1
  71. data/assets/include/SDL2/SDL_test_log.h +1 -1
  72. data/assets/include/SDL2/SDL_test_md5.h +1 -1
  73. data/assets/include/SDL2/SDL_test_memory.h +3 -3
  74. data/assets/include/SDL2/SDL_test_random.h +1 -1
  75. data/assets/include/SDL2/SDL_thread.h +1 -1
  76. data/assets/include/SDL2/SDL_timer.h +1 -1
  77. data/assets/include/SDL2/SDL_touch.h +17 -1
  78. data/assets/include/SDL2/SDL_types.h +1 -1
  79. data/assets/include/SDL2/SDL_version.h +2 -2
  80. data/assets/include/SDL2/SDL_video.h +1 -1
  81. data/assets/include/SDL2/SDL_vulkan.h +3 -3
  82. data/assets/include/SDL2/begin_code.h +4 -1
  83. data/assets/include/SDL2/close_code.h +4 -1
  84. data/assets/include/simple2d.h +22 -0
  85. data/assets/linux/simple2d/Makefile +11 -8
  86. data/assets/linux/simple2d/bin/simple2d.sh +13 -7
  87. data/assets/linux/simple2d/include/simple2d.h +22 -0
  88. data/assets/linux/simple2d/src/gl.c +17 -13
  89. data/assets/linux/simple2d/src/gl3.c +105 -32
  90. data/assets/linux/simple2d/src/sound.c +37 -0
  91. data/assets/linux/simple2d/src/window.c +11 -0
  92. data/assets/macos/lib/libFLAC.a +0 -0
  93. data/assets/macos/lib/libSDL2.a +0 -0
  94. data/assets/macos/lib/libSDL2_image.a +0 -0
  95. data/assets/macos/lib/libSDL2_mixer.a +0 -0
  96. data/assets/macos/lib/libSDL2_ttf.a +0 -0
  97. data/assets/macos/lib/libfreetype.a +0 -0
  98. data/assets/macos/lib/libjpeg.a +0 -0
  99. data/assets/macos/lib/libmpg123.a +0 -0
  100. data/assets/macos/lib/libogg.a +0 -0
  101. data/assets/macos/lib/libpng16.a +0 -0
  102. data/assets/macos/lib/libsimple2d.a +0 -0
  103. data/assets/macos/lib/libtiff.a +0 -0
  104. data/assets/macos/lib/libwebp.a +0 -0
  105. data/assets/mingw/bin/SDL2.dll +0 -0
  106. data/assets/mingw/bin/SDL2_image.dll +0 -0
  107. data/assets/mingw/bin/libpng16-16.dll +0 -0
  108. data/assets/mingw/bin/libtiff-5.dll +0 -0
  109. data/assets/mingw/bin/libwebp-7.dll +0 -0
  110. data/assets/mingw/lib/libSDL2.a +0 -0
  111. data/assets/mingw/lib/libSDL2.dll.a +0 -0
  112. data/assets/mingw/lib/libSDL2_image.a +0 -0
  113. data/assets/mingw/lib/libSDL2_image.dll.a +0 -0
  114. data/assets/mingw/lib/libSDL2_test.a +0 -0
  115. data/assets/mingw/lib/libSDL2main.a +0 -0
  116. data/assets/mingw/lib/libsimple2d.a +0 -0
  117. data/ext/ruby2d/extconf.rb +1 -1
  118. data/lib/ruby2d/version.rb +1 -1
  119. metadata +14 -2
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  SDL_image: An example image loading library for use with SDL
3
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 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
@@ -37,7 +37,7 @@ extern "C" {
37
37
  */
38
38
  #define SDL_IMAGE_MAJOR_VERSION 2
39
39
  #define SDL_IMAGE_MINOR_VERSION 0
40
- #define SDL_IMAGE_PATCHLEVEL 4
40
+ #define SDL_IMAGE_PATCHLEVEL 5
41
41
 
42
42
  /* This macro can be used to fill a version structure with the compile-time
43
43
  * version of the SDL_image library.
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 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-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 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-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 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-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 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-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 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-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 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
@@ -55,6 +55,10 @@
55
55
  /* On iOS SDL provides a main function that creates an application delegate
56
56
  and starts the iOS application run loop.
57
57
 
58
+ If you link with SDL dynamically on iOS, the main function can't be in a
59
+ shared library, so you need to link with libSDLmain.a, which includes a
60
+ stub main function that calls into the shared library to start execution.
61
+
58
62
  See src/video/uikit/SDL_uikitappdelegate.m for more details.
59
63
  */
60
64
  #define SDL_MAIN_NEEDED
@@ -82,12 +86,6 @@
82
86
  #endif
83
87
  #endif /* SDL_MAIN_HANDLED */
84
88
 
85
- #ifdef __cplusplus
86
- #define C_LINKAGE "C"
87
- #else
88
- #define C_LINKAGE
89
- #endif /* __cplusplus */
90
-
91
89
  #ifndef SDLMAIN_DECLSPEC
92
90
  #define SDLMAIN_DECLSPEC
93
91
  #endif
@@ -111,17 +109,18 @@
111
109
  #define main SDL_main
112
110
  #endif
113
111
 
114
- /**
115
- * The prototype for the application's main() function
116
- */
117
- extern C_LINKAGE SDLMAIN_DECLSPEC int SDL_main(int argc, char *argv[]);
118
-
119
-
120
112
  #include "begin_code.h"
121
113
  #ifdef __cplusplus
122
114
  extern "C" {
123
115
  #endif
124
116
 
117
+ /**
118
+ * The prototype for the application's main() function
119
+ */
120
+ typedef int (*SDL_main_func)(int argc, char *argv[]);
121
+ extern SDLMAIN_DECLSPEC int SDL_main(int argc, char *argv[]);
122
+
123
+
125
124
  /**
126
125
  * This is called by the real SDL main function to let the rest of the
127
126
  * library know that initialization was done properly.
@@ -136,8 +135,7 @@ extern DECLSPEC void SDLCALL SDL_SetMainReady(void);
136
135
  /**
137
136
  * This can be called to set the application class at startup
138
137
  */
139
- extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style,
140
- void *hInst);
138
+ extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style, void *hInst);
141
139
  extern DECLSPEC void SDLCALL SDL_UnregisterApp(void);
142
140
 
143
141
  #endif /* __WIN32__ */
@@ -153,10 +151,24 @@ extern DECLSPEC void SDLCALL SDL_UnregisterApp(void);
153
151
  * \return 0 on success, -1 on failure. On failure, use SDL_GetError to retrieve more
154
152
  * information on the failure.
155
153
  */
156
- extern DECLSPEC int SDLCALL SDL_WinRTRunApp(int (*mainFunction)(int, char **), void * reserved);
154
+ extern DECLSPEC int SDLCALL SDL_WinRTRunApp(SDL_main_func mainFunction, void * reserved);
157
155
 
158
156
  #endif /* __WINRT__ */
159
157
 
158
+ #if defined(__IPHONEOS__)
159
+
160
+ /**
161
+ * \brief Initializes and launches an SDL application.
162
+ *
163
+ * \param argc The argc parameter from the application's main() function
164
+ * \param argv The argv parameter from the application's main() function
165
+ * \param mainFunction The SDL app's C-style main().
166
+ * \return the return value from mainFunction
167
+ */
168
+ extern DECLSPEC int SDLCALL SDL_UIKitRunApp(int argc, char *argv[], SDL_main_func mainFunction);
169
+
170
+ #endif /* __IPHONEOS__ */
171
+
160
172
 
161
173
  #ifdef __cplusplus
162
174
  }
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 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-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 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-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 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-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 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-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 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-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 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-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 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-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 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
@@ -168,7 +168,7 @@ enum
168
168
  ((format) && (SDL_PIXELFLAG(format) != 1))
169
169
 
170
170
  /* Note: If you modify this list, update SDL_GetPixelFormatName() */
171
- enum
171
+ typedef enum
172
172
  {
173
173
  SDL_PIXELFORMAT_UNKNOWN,
174
174
  SDL_PIXELFORMAT_INDEX1LSB =
@@ -290,7 +290,7 @@ enum
290
290
  SDL_DEFINE_PIXELFOURCC('N', 'V', '2', '1'),
291
291
  SDL_PIXELFORMAT_EXTERNAL_OES = /**< Android video texture format */
292
292
  SDL_DEFINE_PIXELFOURCC('O', 'E', 'S', ' ')
293
- };
293
+ } SDL_PixelFormatEnum;
294
294
 
295
295
  typedef struct SDL_Color
296
296
  {
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 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-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 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-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 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-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 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
@@ -40,7 +40,7 @@ extern "C" {
40
40
  #endif
41
41
 
42
42
  /**
43
- * \brief The structure that defines a point
43
+ * \brief The structure that defines a point (integer)
44
44
  *
45
45
  * \sa SDL_EnclosePoints
46
46
  * \sa SDL_PointInRect
@@ -52,7 +52,20 @@ typedef struct SDL_Point
52
52
  } SDL_Point;
53
53
 
54
54
  /**
55
- * \brief A rectangle, with the origin at the upper left.
55
+ * \brief The structure that defines a point (floating point)
56
+ *
57
+ * \sa SDL_EnclosePoints
58
+ * \sa SDL_PointInRect
59
+ */
60
+ typedef struct SDL_FPoint
61
+ {
62
+ float x;
63
+ float y;
64
+ } SDL_FPoint;
65
+
66
+
67
+ /**
68
+ * \brief A rectangle, with the origin at the upper left (integer).
56
69
  *
57
70
  * \sa SDL_RectEmpty
58
71
  * \sa SDL_RectEquals
@@ -67,6 +80,19 @@ typedef struct SDL_Rect
67
80
  int w, h;
68
81
  } SDL_Rect;
69
82
 
83
+
84
+ /**
85
+ * \brief A rectangle, with the origin at the upper left (floating point).
86
+ */
87
+ typedef struct SDL_FRect
88
+ {
89
+ float x;
90
+ float y;
91
+ float w;
92
+ float h;
93
+ } SDL_FRect;
94
+
95
+
70
96
  /**
71
97
  * \brief Returns true if point resides inside a rectangle.
72
98
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 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
@@ -835,6 +835,148 @@ extern DECLSPEC int SDLCALL SDL_RenderCopyEx(SDL_Renderer * renderer,
835
835
  const SDL_Point *center,
836
836
  const SDL_RendererFlip flip);
837
837
 
838
+
839
+ /**
840
+ * \brief Draw a point on the current rendering target.
841
+ *
842
+ * \param renderer The renderer which should draw a point.
843
+ * \param x The x coordinate of the point.
844
+ * \param y The y coordinate of the point.
845
+ *
846
+ * \return 0 on success, or -1 on error
847
+ */
848
+ extern DECLSPEC int SDLCALL SDL_RenderDrawPointF(SDL_Renderer * renderer,
849
+ float x, float y);
850
+
851
+ /**
852
+ * \brief Draw multiple points on the current rendering target.
853
+ *
854
+ * \param renderer The renderer which should draw multiple points.
855
+ * \param points The points to draw
856
+ * \param count The number of points to draw
857
+ *
858
+ * \return 0 on success, or -1 on error
859
+ */
860
+ extern DECLSPEC int SDLCALL SDL_RenderDrawPointsF(SDL_Renderer * renderer,
861
+ const SDL_FPoint * points,
862
+ int count);
863
+
864
+ /**
865
+ * \brief Draw a line on the current rendering target.
866
+ *
867
+ * \param renderer The renderer which should draw a line.
868
+ * \param x1 The x coordinate of the start point.
869
+ * \param y1 The y coordinate of the start point.
870
+ * \param x2 The x coordinate of the end point.
871
+ * \param y2 The y coordinate of the end point.
872
+ *
873
+ * \return 0 on success, or -1 on error
874
+ */
875
+ extern DECLSPEC int SDLCALL SDL_RenderDrawLineF(SDL_Renderer * renderer,
876
+ float x1, float y1, float x2, float y2);
877
+
878
+ /**
879
+ * \brief Draw a series of connected lines on the current rendering target.
880
+ *
881
+ * \param renderer The renderer which should draw multiple lines.
882
+ * \param points The points along the lines
883
+ * \param count The number of points, drawing count-1 lines
884
+ *
885
+ * \return 0 on success, or -1 on error
886
+ */
887
+ extern DECLSPEC int SDLCALL SDL_RenderDrawLinesF(SDL_Renderer * renderer,
888
+ const SDL_FPoint * points,
889
+ int count);
890
+
891
+ /**
892
+ * \brief Draw a rectangle on the current rendering target.
893
+ *
894
+ * \param renderer The renderer which should draw a rectangle.
895
+ * \param rect A pointer to the destination rectangle, or NULL to outline the entire rendering target.
896
+ *
897
+ * \return 0 on success, or -1 on error
898
+ */
899
+ extern DECLSPEC int SDLCALL SDL_RenderDrawRectF(SDL_Renderer * renderer,
900
+ const SDL_FRect * rect);
901
+
902
+ /**
903
+ * \brief Draw some number of rectangles on the current rendering target.
904
+ *
905
+ * \param renderer The renderer which should draw multiple rectangles.
906
+ * \param rects A pointer to an array of destination rectangles.
907
+ * \param count The number of rectangles.
908
+ *
909
+ * \return 0 on success, or -1 on error
910
+ */
911
+ extern DECLSPEC int SDLCALL SDL_RenderDrawRectsF(SDL_Renderer * renderer,
912
+ const SDL_FRect * rects,
913
+ int count);
914
+
915
+ /**
916
+ * \brief Fill a rectangle on the current rendering target with the drawing color.
917
+ *
918
+ * \param renderer The renderer which should fill a rectangle.
919
+ * \param rect A pointer to the destination rectangle, or NULL for the entire
920
+ * rendering target.
921
+ *
922
+ * \return 0 on success, or -1 on error
923
+ */
924
+ extern DECLSPEC int SDLCALL SDL_RenderFillRectF(SDL_Renderer * renderer,
925
+ const SDL_FRect * rect);
926
+
927
+ /**
928
+ * \brief Fill some number of rectangles on the current rendering target with the drawing color.
929
+ *
930
+ * \param renderer The renderer which should fill multiple rectangles.
931
+ * \param rects A pointer to an array of destination rectangles.
932
+ * \param count The number of rectangles.
933
+ *
934
+ * \return 0 on success, or -1 on error
935
+ */
936
+ extern DECLSPEC int SDLCALL SDL_RenderFillRectsF(SDL_Renderer * renderer,
937
+ const SDL_FRect * rects,
938
+ int count);
939
+
940
+ /**
941
+ * \brief Copy a portion of the texture to the current rendering target.
942
+ *
943
+ * \param renderer The renderer which should copy parts of a texture.
944
+ * \param texture The source texture.
945
+ * \param srcrect A pointer to the source rectangle, or NULL for the entire
946
+ * texture.
947
+ * \param dstrect A pointer to the destination rectangle, or NULL for the
948
+ * entire rendering target.
949
+ *
950
+ * \return 0 on success, or -1 on error
951
+ */
952
+ extern DECLSPEC int SDLCALL SDL_RenderCopyF(SDL_Renderer * renderer,
953
+ SDL_Texture * texture,
954
+ const SDL_Rect * srcrect,
955
+ const SDL_FRect * dstrect);
956
+
957
+ /**
958
+ * \brief Copy a portion of the source texture to the current rendering target, rotating it by angle around the given center
959
+ *
960
+ * \param renderer The renderer which should copy parts of a texture.
961
+ * \param texture The source texture.
962
+ * \param srcrect A pointer to the source rectangle, or NULL for the entire
963
+ * texture.
964
+ * \param dstrect A pointer to the destination rectangle, or NULL for the
965
+ * entire rendering target.
966
+ * \param angle An angle in degrees that indicates the rotation that will be applied to dstrect, rotating it in a clockwise direction
967
+ * \param center A pointer to a point indicating the point around which dstrect will be rotated (if NULL, rotation will be done around dstrect.w/2, dstrect.h/2).
968
+ * \param flip An SDL_RendererFlip value stating which flipping actions should be performed on the texture
969
+ *
970
+ * \return 0 on success, or -1 on error
971
+ */
972
+ extern DECLSPEC int SDLCALL SDL_RenderCopyExF(SDL_Renderer * renderer,
973
+ SDL_Texture * texture,
974
+ const SDL_Rect * srcrect,
975
+ const SDL_FRect * dstrect,
976
+ const double angle,
977
+ const SDL_FPoint *center,
978
+ const SDL_RendererFlip flip);
979
+
838
980
  /**
839
981
  * \brief Read pixels from the current rendering target.
840
982
  *
@@ -876,6 +1018,31 @@ extern DECLSPEC void SDLCALL SDL_DestroyTexture(SDL_Texture * texture);
876
1018
  */
877
1019
  extern DECLSPEC void SDLCALL SDL_DestroyRenderer(SDL_Renderer * renderer);
878
1020
 
1021
+ /**
1022
+ * \brief Force the rendering context to flush any pending commands to the
1023
+ * underlying rendering API.
1024
+ *
1025
+ * You do not need to (and in fact, shouldn't) call this function unless
1026
+ * you are planning to call into OpenGL/Direct3D/Metal/whatever directly
1027
+ * in addition to using an SDL_Renderer.
1028
+ *
1029
+ * This is for a very-specific case: if you are using SDL's render API,
1030
+ * you asked for a specific renderer backend (OpenGL, Direct3D, etc),
1031
+ * you set SDL_HINT_RENDER_BATCHING to "1", and you plan to make
1032
+ * OpenGL/D3D/whatever calls in addition to SDL render API calls. If all of
1033
+ * this applies, you should call SDL_RenderFlush() between calls to SDL's
1034
+ * render API and the low-level API you're using in cooperation.
1035
+ *
1036
+ * In all other cases, you can ignore this function. This is only here to
1037
+ * get maximum performance out of a specific situation. In all other cases,
1038
+ * SDL will do the right thing, perhaps at a performance loss.
1039
+ *
1040
+ * This function is first available in SDL 2.0.10, and is not needed in
1041
+ * 2.0.9 and earlier, as earlier versions did not queue rendering commands
1042
+ * at all, instead flushing them to the OS immediately.
1043
+ */
1044
+ extern DECLSPEC int SDLCALL SDL_RenderFlush(SDL_Renderer * renderer);
1045
+
879
1046
 
880
1047
  /**
881
1048
  * \brief Bind the texture to the current OpenGL/ES/ES2 context for use with