ruby2d 0.9.2 → 0.10.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 -8
- 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 +2 -1
- 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 +6 -36
- data/{assets/linux/simple2d/src → ext/ruby2d}/gl.c +106 -85
- data/{assets/linux/simple2d/src → ext/ruby2d}/gl2.c +35 -20
- data/{assets/linux/simple2d/src → ext/ruby2d}/gl3.c +146 -58
- data/{assets/linux/simple2d/src → ext/ruby2d}/gles.c +41 -26
- data/{assets/linux/simple2d/src → ext/ruby2d}/image.c +16 -16
- 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 +427 -290
- data/ext/ruby2d/ruby2d.h +789 -0
- data/{assets/linux/simple2d/src → ext/ruby2d}/shapes.c +18 -18
- data/ext/ruby2d/sound.c +118 -0
- data/{assets/linux/simple2d/src → ext/ruby2d}/sprite.c +16 -16
- data/{assets/linux/simple2d/src → ext/ruby2d}/text.c +22 -22
- data/ext/ruby2d/tileset.c +30 -0
- data/{assets/linux/simple2d/src → ext/ruby2d}/window.c +71 -60
- data/lib/ruby2d.rb +5 -2
- data/lib/ruby2d/circle.rb +18 -2
- data/lib/ruby2d/cli/build.rb +3 -8
- data/lib/ruby2d/cli/colorize.rb +10 -0
- data/lib/ruby2d/dsl.rb +16 -9
- data/lib/ruby2d/entity.rb +17 -0
- data/lib/ruby2d/font.rb +4 -3
- data/lib/ruby2d/image.rb +24 -1
- data/lib/ruby2d/line.rb +20 -0
- data/lib/ruby2d/music.rb +5 -0
- data/lib/ruby2d/pixel.rb +17 -0
- data/lib/ruby2d/quad.rb +18 -0
- data/lib/ruby2d/rectangle.rb +11 -2
- data/lib/ruby2d/renderable.rb +4 -8
- data/lib/ruby2d/sound.rb +5 -0
- data/lib/ruby2d/sprite.rb +35 -3
- data/lib/ruby2d/square.rb +9 -0
- data/lib/ruby2d/text.rb +22 -1
- data/lib/ruby2d/tileset.rb +69 -0
- data/lib/ruby2d/triangle.rb +16 -0
- data/lib/ruby2d/version.rb +1 -1
- data/lib/ruby2d/window.rb +249 -22
- metadata +41 -27
- data/assets/include/simple2d.h +0 -735
- data/assets/linux/simple2d/Makefile +0 -250
- data/assets/linux/simple2d/bin/simple2d.sh +0 -1249
- data/assets/linux/simple2d/include/simple2d.h +0 -735
- data/assets/linux/simple2d/src/sound.c +0 -56
- data/assets/macos/lib/libsimple2d.a +0 -0
- data/assets/mingw/lib/libsimple2d.a +0 -0
- data/lib/ruby2d/colorize.rb +0 -10
@@ -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
|
@@ -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
|
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-
|
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
|
@@ -85,6 +85,16 @@ typedef struct SDL_RendererInfo
|
|
85
85
|
int max_texture_height; /**< The maximum texture height */
|
86
86
|
} SDL_RendererInfo;
|
87
87
|
|
88
|
+
/**
|
89
|
+
* \brief The scaling mode for a texture.
|
90
|
+
*/
|
91
|
+
typedef enum
|
92
|
+
{
|
93
|
+
SDL_ScaleModeNearest, /**< nearest pixel sampling */
|
94
|
+
SDL_ScaleModeLinear, /**< linear filtering */
|
95
|
+
SDL_ScaleModeBest /**< anisotropic filtering */
|
96
|
+
} SDL_ScaleMode;
|
97
|
+
|
88
98
|
/**
|
89
99
|
* \brief The access pattern allowed for a texture.
|
90
100
|
*/
|
@@ -366,6 +376,35 @@ extern DECLSPEC int SDLCALL SDL_SetTextureBlendMode(SDL_Texture * texture,
|
|
366
376
|
extern DECLSPEC int SDLCALL SDL_GetTextureBlendMode(SDL_Texture * texture,
|
367
377
|
SDL_BlendMode *blendMode);
|
368
378
|
|
379
|
+
/**
|
380
|
+
* \brief Set the scale mode used for texture scale operations.
|
381
|
+
*
|
382
|
+
* \param texture The texture to update.
|
383
|
+
* \param scaleMode ::SDL_ScaleMode to use for texture scaling.
|
384
|
+
*
|
385
|
+
* \return 0 on success, or -1 if the texture is not valid.
|
386
|
+
*
|
387
|
+
* \note If the scale mode is not supported, the closest supported mode is
|
388
|
+
* chosen.
|
389
|
+
*
|
390
|
+
* \sa SDL_GetTextureScaleMode()
|
391
|
+
*/
|
392
|
+
extern DECLSPEC int SDLCALL SDL_SetTextureScaleMode(SDL_Texture * texture,
|
393
|
+
SDL_ScaleMode scaleMode);
|
394
|
+
|
395
|
+
/**
|
396
|
+
* \brief Get the scale mode used for texture scale operations.
|
397
|
+
*
|
398
|
+
* \param texture The texture to query.
|
399
|
+
* \param scaleMode A pointer filled in with the current scale mode.
|
400
|
+
*
|
401
|
+
* \return 0 on success, or -1 if the texture is not valid.
|
402
|
+
*
|
403
|
+
* \sa SDL_SetTextureScaleMode()
|
404
|
+
*/
|
405
|
+
extern DECLSPEC int SDLCALL SDL_GetTextureScaleMode(SDL_Texture * texture,
|
406
|
+
SDL_ScaleMode *scaleMode);
|
407
|
+
|
369
408
|
/**
|
370
409
|
* \brief Update the given texture rectangle with new pixel data.
|
371
410
|
*
|
@@ -430,10 +469,31 @@ extern DECLSPEC int SDLCALL SDL_LockTexture(SDL_Texture * texture,
|
|
430
469
|
const SDL_Rect * rect,
|
431
470
|
void **pixels, int *pitch);
|
432
471
|
|
472
|
+
/**
|
473
|
+
* \brief Lock a portion of the texture for write-only pixel access.
|
474
|
+
* Expose it as a SDL surface.
|
475
|
+
*
|
476
|
+
* \param texture The texture to lock for access, which was created with
|
477
|
+
* ::SDL_TEXTUREACCESS_STREAMING.
|
478
|
+
* \param rect A pointer to the rectangle to lock for access. If the rect
|
479
|
+
* is NULL, the entire texture will be locked.
|
480
|
+
* \param surface This is filled in with a SDL surface representing the locked area
|
481
|
+
* Surface is freed internally after calling SDL_UnlockTexture or SDL_DestroyTexture.
|
482
|
+
*
|
483
|
+
* \return 0 on success, or -1 if the texture is not valid or was not created with ::SDL_TEXTUREACCESS_STREAMING.
|
484
|
+
*
|
485
|
+
* \sa SDL_UnlockTexture()
|
486
|
+
*/
|
487
|
+
extern DECLSPEC int SDLCALL SDL_LockTextureToSurface(SDL_Texture *texture,
|
488
|
+
const SDL_Rect *rect,
|
489
|
+
SDL_Surface **surface);
|
490
|
+
|
433
491
|
/**
|
434
492
|
* \brief Unlock a texture, uploading the changes to video memory, if needed.
|
493
|
+
* If SDL_LockTextureToSurface() was called for locking, the SDL surface is freed.
|
435
494
|
*
|
436
495
|
* \sa SDL_LockTexture()
|
496
|
+
* \sa SDL_LockTextureToSurface()
|
437
497
|
*/
|
438
498
|
extern DECLSPEC void SDLCALL SDL_UnlockTexture(SDL_Texture * texture);
|
439
499
|
|
@@ -558,8 +618,8 @@ extern DECLSPEC void SDLCALL SDL_RenderGetViewport(SDL_Renderer * renderer,
|
|
558
618
|
* \brief Set the clip rectangle for the current target.
|
559
619
|
*
|
560
620
|
* \param renderer The renderer for which clip rectangle should be set.
|
561
|
-
* \param rect A pointer to the rectangle to set as the clip rectangle,
|
562
|
-
* NULL to disable clipping.
|
621
|
+
* \param rect A pointer to the rectangle to set as the clip rectangle,
|
622
|
+
* relative to the viewport, or NULL to disable clipping.
|
563
623
|
*
|
564
624
|
* \return 0 on success, or -1 on error
|
565
625
|
*
|
@@ -835,6 +895,148 @@ extern DECLSPEC int SDLCALL SDL_RenderCopyEx(SDL_Renderer * renderer,
|
|
835
895
|
const SDL_Point *center,
|
836
896
|
const SDL_RendererFlip flip);
|
837
897
|
|
898
|
+
|
899
|
+
/**
|
900
|
+
* \brief Draw a point on the current rendering target.
|
901
|
+
*
|
902
|
+
* \param renderer The renderer which should draw a point.
|
903
|
+
* \param x The x coordinate of the point.
|
904
|
+
* \param y The y coordinate of the point.
|
905
|
+
*
|
906
|
+
* \return 0 on success, or -1 on error
|
907
|
+
*/
|
908
|
+
extern DECLSPEC int SDLCALL SDL_RenderDrawPointF(SDL_Renderer * renderer,
|
909
|
+
float x, float y);
|
910
|
+
|
911
|
+
/**
|
912
|
+
* \brief Draw multiple points on the current rendering target.
|
913
|
+
*
|
914
|
+
* \param renderer The renderer which should draw multiple points.
|
915
|
+
* \param points The points to draw
|
916
|
+
* \param count The number of points to draw
|
917
|
+
*
|
918
|
+
* \return 0 on success, or -1 on error
|
919
|
+
*/
|
920
|
+
extern DECLSPEC int SDLCALL SDL_RenderDrawPointsF(SDL_Renderer * renderer,
|
921
|
+
const SDL_FPoint * points,
|
922
|
+
int count);
|
923
|
+
|
924
|
+
/**
|
925
|
+
* \brief Draw a line on the current rendering target.
|
926
|
+
*
|
927
|
+
* \param renderer The renderer which should draw a line.
|
928
|
+
* \param x1 The x coordinate of the start point.
|
929
|
+
* \param y1 The y coordinate of the start point.
|
930
|
+
* \param x2 The x coordinate of the end point.
|
931
|
+
* \param y2 The y coordinate of the end point.
|
932
|
+
*
|
933
|
+
* \return 0 on success, or -1 on error
|
934
|
+
*/
|
935
|
+
extern DECLSPEC int SDLCALL SDL_RenderDrawLineF(SDL_Renderer * renderer,
|
936
|
+
float x1, float y1, float x2, float y2);
|
937
|
+
|
938
|
+
/**
|
939
|
+
* \brief Draw a series of connected lines on the current rendering target.
|
940
|
+
*
|
941
|
+
* \param renderer The renderer which should draw multiple lines.
|
942
|
+
* \param points The points along the lines
|
943
|
+
* \param count The number of points, drawing count-1 lines
|
944
|
+
*
|
945
|
+
* \return 0 on success, or -1 on error
|
946
|
+
*/
|
947
|
+
extern DECLSPEC int SDLCALL SDL_RenderDrawLinesF(SDL_Renderer * renderer,
|
948
|
+
const SDL_FPoint * points,
|
949
|
+
int count);
|
950
|
+
|
951
|
+
/**
|
952
|
+
* \brief Draw a rectangle on the current rendering target.
|
953
|
+
*
|
954
|
+
* \param renderer The renderer which should draw a rectangle.
|
955
|
+
* \param rect A pointer to the destination rectangle, or NULL to outline the entire rendering target.
|
956
|
+
*
|
957
|
+
* \return 0 on success, or -1 on error
|
958
|
+
*/
|
959
|
+
extern DECLSPEC int SDLCALL SDL_RenderDrawRectF(SDL_Renderer * renderer,
|
960
|
+
const SDL_FRect * rect);
|
961
|
+
|
962
|
+
/**
|
963
|
+
* \brief Draw some number of rectangles on the current rendering target.
|
964
|
+
*
|
965
|
+
* \param renderer The renderer which should draw multiple rectangles.
|
966
|
+
* \param rects A pointer to an array of destination rectangles.
|
967
|
+
* \param count The number of rectangles.
|
968
|
+
*
|
969
|
+
* \return 0 on success, or -1 on error
|
970
|
+
*/
|
971
|
+
extern DECLSPEC int SDLCALL SDL_RenderDrawRectsF(SDL_Renderer * renderer,
|
972
|
+
const SDL_FRect * rects,
|
973
|
+
int count);
|
974
|
+
|
975
|
+
/**
|
976
|
+
* \brief Fill a rectangle on the current rendering target with the drawing color.
|
977
|
+
*
|
978
|
+
* \param renderer The renderer which should fill a rectangle.
|
979
|
+
* \param rect A pointer to the destination rectangle, or NULL for the entire
|
980
|
+
* rendering target.
|
981
|
+
*
|
982
|
+
* \return 0 on success, or -1 on error
|
983
|
+
*/
|
984
|
+
extern DECLSPEC int SDLCALL SDL_RenderFillRectF(SDL_Renderer * renderer,
|
985
|
+
const SDL_FRect * rect);
|
986
|
+
|
987
|
+
/**
|
988
|
+
* \brief Fill some number of rectangles on the current rendering target with the drawing color.
|
989
|
+
*
|
990
|
+
* \param renderer The renderer which should fill multiple rectangles.
|
991
|
+
* \param rects A pointer to an array of destination rectangles.
|
992
|
+
* \param count The number of rectangles.
|
993
|
+
*
|
994
|
+
* \return 0 on success, or -1 on error
|
995
|
+
*/
|
996
|
+
extern DECLSPEC int SDLCALL SDL_RenderFillRectsF(SDL_Renderer * renderer,
|
997
|
+
const SDL_FRect * rects,
|
998
|
+
int count);
|
999
|
+
|
1000
|
+
/**
|
1001
|
+
* \brief Copy a portion of the texture to the current rendering target.
|
1002
|
+
*
|
1003
|
+
* \param renderer The renderer which should copy parts of a texture.
|
1004
|
+
* \param texture The source texture.
|
1005
|
+
* \param srcrect A pointer to the source rectangle, or NULL for the entire
|
1006
|
+
* texture.
|
1007
|
+
* \param dstrect A pointer to the destination rectangle, or NULL for the
|
1008
|
+
* entire rendering target.
|
1009
|
+
*
|
1010
|
+
* \return 0 on success, or -1 on error
|
1011
|
+
*/
|
1012
|
+
extern DECLSPEC int SDLCALL SDL_RenderCopyF(SDL_Renderer * renderer,
|
1013
|
+
SDL_Texture * texture,
|
1014
|
+
const SDL_Rect * srcrect,
|
1015
|
+
const SDL_FRect * dstrect);
|
1016
|
+
|
1017
|
+
/**
|
1018
|
+
* \brief Copy a portion of the source texture to the current rendering target, rotating it by angle around the given center
|
1019
|
+
*
|
1020
|
+
* \param renderer The renderer which should copy parts of a texture.
|
1021
|
+
* \param texture The source texture.
|
1022
|
+
* \param srcrect A pointer to the source rectangle, or NULL for the entire
|
1023
|
+
* texture.
|
1024
|
+
* \param dstrect A pointer to the destination rectangle, or NULL for the
|
1025
|
+
* entire rendering target.
|
1026
|
+
* \param angle An angle in degrees that indicates the rotation that will be applied to dstrect, rotating it in a clockwise direction
|
1027
|
+
* \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).
|
1028
|
+
* \param flip An SDL_RendererFlip value stating which flipping actions should be performed on the texture
|
1029
|
+
*
|
1030
|
+
* \return 0 on success, or -1 on error
|
1031
|
+
*/
|
1032
|
+
extern DECLSPEC int SDLCALL SDL_RenderCopyExF(SDL_Renderer * renderer,
|
1033
|
+
SDL_Texture * texture,
|
1034
|
+
const SDL_Rect * srcrect,
|
1035
|
+
const SDL_FRect * dstrect,
|
1036
|
+
const double angle,
|
1037
|
+
const SDL_FPoint *center,
|
1038
|
+
const SDL_RendererFlip flip);
|
1039
|
+
|
838
1040
|
/**
|
839
1041
|
* \brief Read pixels from the current rendering target.
|
840
1042
|
*
|
@@ -876,6 +1078,31 @@ extern DECLSPEC void SDLCALL SDL_DestroyTexture(SDL_Texture * texture);
|
|
876
1078
|
*/
|
877
1079
|
extern DECLSPEC void SDLCALL SDL_DestroyRenderer(SDL_Renderer * renderer);
|
878
1080
|
|
1081
|
+
/**
|
1082
|
+
* \brief Force the rendering context to flush any pending commands to the
|
1083
|
+
* underlying rendering API.
|
1084
|
+
*
|
1085
|
+
* You do not need to (and in fact, shouldn't) call this function unless
|
1086
|
+
* you are planning to call into OpenGL/Direct3D/Metal/whatever directly
|
1087
|
+
* in addition to using an SDL_Renderer.
|
1088
|
+
*
|
1089
|
+
* This is for a very-specific case: if you are using SDL's render API,
|
1090
|
+
* you asked for a specific renderer backend (OpenGL, Direct3D, etc),
|
1091
|
+
* you set SDL_HINT_RENDER_BATCHING to "1", and you plan to make
|
1092
|
+
* OpenGL/D3D/whatever calls in addition to SDL render API calls. If all of
|
1093
|
+
* this applies, you should call SDL_RenderFlush() between calls to SDL's
|
1094
|
+
* render API and the low-level API you're using in cooperation.
|
1095
|
+
*
|
1096
|
+
* In all other cases, you can ignore this function. This is only here to
|
1097
|
+
* get maximum performance out of a specific situation. In all other cases,
|
1098
|
+
* SDL will do the right thing, perhaps at a performance loss.
|
1099
|
+
*
|
1100
|
+
* This function is first available in SDL 2.0.10, and is not needed in
|
1101
|
+
* 2.0.9 and earlier, as earlier versions did not queue rendering commands
|
1102
|
+
* at all, instead flushing them to the OS immediately.
|
1103
|
+
*/
|
1104
|
+
extern DECLSPEC int SDLCALL SDL_RenderFlush(SDL_Renderer * renderer);
|
1105
|
+
|
879
1106
|
|
880
1107
|
/**
|
881
1108
|
* \brief Bind the texture to the current OpenGL/ES/ES2 context for use with
|
@@ -1,2 +1,2 @@
|
|
1
|
-
#define SDL_REVISION "hg-
|
2
|
-
#define SDL_REVISION_NUMBER
|
1
|
+
#define SDL_REVISION "hg-14525:e52d96ea04fc"
|
2
|
+
#define SDL_REVISION_NUMBER 14525
|
@@ -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,15 +96,7 @@ typedef struct SDL_RWops
|
|
96
96
|
#if defined(__ANDROID__)
|
97
97
|
struct
|
98
98
|
{
|
99
|
-
void *
|
100
|
-
void *inputStreamRef;
|
101
|
-
void *readableByteChannelRef;
|
102
|
-
void *readMethod;
|
103
|
-
void *assetFileDescriptorRef;
|
104
|
-
long position;
|
105
|
-
long size;
|
106
|
-
long offset;
|
107
|
-
int fd;
|
99
|
+
void *asset;
|
108
100
|
} androidio;
|
109
101
|
#elif defined(__WIN32__)
|
110
102
|
struct
|
@@ -176,19 +168,48 @@ extern DECLSPEC void SDLCALL SDL_FreeRW(SDL_RWops * area);
|
|
176
168
|
#define RW_SEEK_END 2 /**< Seek relative to the end of data */
|
177
169
|
|
178
170
|
/**
|
179
|
-
*
|
171
|
+
* Return the size of the file in this rwops, or -1 if unknown
|
172
|
+
*/
|
173
|
+
extern DECLSPEC Sint64 SDLCALL SDL_RWsize(SDL_RWops *context);
|
174
|
+
|
175
|
+
/**
|
176
|
+
* Seek to \c offset relative to \c whence, one of stdio's whence values:
|
177
|
+
* RW_SEEK_SET, RW_SEEK_CUR, RW_SEEK_END
|
180
178
|
*
|
181
|
-
*
|
179
|
+
* \return the final offset in the data stream, or -1 on error.
|
182
180
|
*/
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
/* @} *//* Read/write macros */
|
181
|
+
extern DECLSPEC Sint64 SDLCALL SDL_RWseek(SDL_RWops *context,
|
182
|
+
Sint64 offset, int whence);
|
183
|
+
|
184
|
+
/**
|
185
|
+
* Return the current offset in the data stream, or -1 on error.
|
186
|
+
*/
|
187
|
+
extern DECLSPEC Sint64 SDLCALL SDL_RWtell(SDL_RWops *context);
|
191
188
|
|
189
|
+
/**
|
190
|
+
* Read up to \c maxnum objects each of size \c size from the data
|
191
|
+
* stream to the area pointed at by \c ptr.
|
192
|
+
*
|
193
|
+
* \return the number of objects read, or 0 at error or end of file.
|
194
|
+
*/
|
195
|
+
extern DECLSPEC size_t SDLCALL SDL_RWread(SDL_RWops *context,
|
196
|
+
void *ptr, size_t size, size_t maxnum);
|
197
|
+
|
198
|
+
/**
|
199
|
+
* Write exactly \c num objects each of size \c size from the area
|
200
|
+
* pointed at by \c ptr to data stream.
|
201
|
+
*
|
202
|
+
* \return the number of objects written, or 0 at error or end of file.
|
203
|
+
*/
|
204
|
+
extern DECLSPEC size_t SDLCALL SDL_RWwrite(SDL_RWops *context,
|
205
|
+
const void *ptr, size_t size, size_t num);
|
206
|
+
|
207
|
+
/**
|
208
|
+
* Close and free an allocated SDL_RWops structure.
|
209
|
+
*
|
210
|
+
* \return 0 if successful or -1 on write error when flushing data.
|
211
|
+
*/
|
212
|
+
extern DECLSPEC int SDLCALL SDL_RWclose(SDL_RWops *context);
|
192
213
|
|
193
214
|
/**
|
194
215
|
* Load all the data from an SDL data stream.
|
@@ -209,9 +230,17 @@ extern DECLSPEC void *SDLCALL SDL_LoadFile_RW(SDL_RWops * src, size_t *datasize,
|
|
209
230
|
/**
|
210
231
|
* Load an entire file.
|
211
232
|
*
|
212
|
-
*
|
233
|
+
* The data is allocated with a zero byte at the end (null terminated)
|
234
|
+
*
|
235
|
+
* If \c datasize is not NULL, it is filled with the size of the data read.
|
236
|
+
*
|
237
|
+
* If \c freesrc is non-zero, the stream will be closed after being read.
|
238
|
+
*
|
239
|
+
* The data should be freed with SDL_free().
|
240
|
+
*
|
241
|
+
* \return the data, or NULL if there was an error.
|
213
242
|
*/
|
214
|
-
|
243
|
+
extern DECLSPEC void *SDLCALL SDL_LoadFile(const char *file, size_t *datasize);
|
215
244
|
|
216
245
|
/**
|
217
246
|
* \name Read endian functions
|