sdl3-bindings 1.0.0 → 1.0.1

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 (5) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +4 -0
  3. data/README.md +9 -3
  4. data/lib/sdl3_image.rb +61 -13
  5. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7b774bb4f1ac6496e89db960c4bc6e75bc78c6a63169f746f769d00901478bc7
4
- data.tar.gz: 7ee1b499852bba110c501dd9c052ee9707f8f954c076b67e3e7211453b6be4bb
3
+ metadata.gz: 140695d0f4ad5c83d7e3d540a342b59095c023359b1996c8c81bb27e088e7d62
4
+ data.tar.gz: 03f89f6425e377791349118060be030401cba9fee24bb5f7a719b364dbd832c5
5
5
  SHA512:
6
- metadata.gz: a6c94bdaba07ec88ace683965cdfdcaa50a96c8f147487c944fc0c5e5158a8ad0af5de3f2de924f979fb3cafd9c119179e8dddb174be4dd26bc4901b81a850e4
7
- data.tar.gz: 1cd02de85363f81d2da049668008b4511d4fb9cbede8967262fb66db1c3a8a6bbd9e687c69b0f49c409b82d3935d871de33c43ba57a66ad9380f2aaeb3cf9912
6
+ metadata.gz: 71501f010adc16d3c008fbc4672a6683d3a1811196463455d2b1b8d054b06f4ae9517d3d7f583ed4aa5706b504f53f18dbf0d2024e55f462bcf8e17b934d6273
7
+ data.tar.gz: a80b7562c52cf4654f95381c994cca32e81f790cf8ea0d580be6221781b7f51e3e907169dc0b2fe9a95cbcf76352a2a94c70c734569c2294bd54ef14615f323e
data/ChangeLog CHANGED
@@ -1,3 +1,7 @@
1
+ 2026-01-24 vaiorabbit <http://twitter.com/vaiorabbit>
2
+
3
+ * SDL_image 3.4.0 ( https://github.com/libsdl-org/SDL_image/releases/tag/release-3.4.0 )
4
+
1
5
  2026-01-10 vaiorabbit <http://twitter.com/vaiorabbit>
2
6
 
3
7
  * SDL 3.4.0 ( https://github.com/libsdl-org/SDL/releases/tag/release-3.4.0 )
data/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  # sdl3-bindings : SDL3 wrapper for Ruby #
4
4
 
5
5
  * Created : 2015-09-19
6
- * Last modified : 2026-01-10
6
+ * Last modified : 2026-01-24
7
7
 
8
8
  ## Features ##
9
9
 
@@ -23,9 +23,9 @@ See the project below to learn how to use this library:
23
23
 
24
24
  ## Target version ##
25
25
 
26
- * [2026-01-20]
26
+ * [2026-01-24]
27
27
  * SDL : [3.4.0](https://github.com/libsdl-org/SDL/releases/tag/release-3.4.0)
28
- * SDL_image : [3.2.6](https://github.com/libsdl-org/SDL_image/releases/tag/release-3.2.6)
28
+ * SDL_image : [3.4.0](https://github.com/libsdl-org/SDL_image/releases/tag/release-3.4.0)
29
29
  * SDL_mixer : [63f2c5a21760e3f1ad406ec8a8b18c6346f204b3](https://github.com/libsdl-org/SDL_mixer/commit/63f2c5a21760e3f1ad406ec8a8b18c6346f204b3)
30
30
  * SDL_sound : [0d55b53a78f2c82683b8723c4c8cecdc20396f7d](https://github.com/icculus/SDL_sound/commit/0d55b53a78f2c82683b8723c4c8cecdc20396f7d)
31
31
  * SDL_ttf : [24990fdfd68936022d9b9f6158f80a48ad3c30ab](https://github.com/libsdl-org/SDL_ttf/commit/24990fdfd68936022d9b9f6158f80a48ad3c30ab)
@@ -120,6 +120,12 @@ See the project below to learn how to use this library:
120
120
  * SDL_mixer : dd801fdd9af752c99c32a2356d2ebdf1ebb7ebaa
121
121
  * SDL_sound : 68d18fe0a1105d1043b9f62d5e37fca19c0cd2c1
122
122
  * SDL_ttf : 3.2.2
123
+ * [2026-01-10]
124
+ * SDL : [3.4.0](https://github.com/libsdl-org/SDL/releases/tag/release-3.4.0)
125
+ * SDL_image : [3.2.6](https://github.com/libsdl-org/SDL_image/releases/tag/release-3.2.6)
126
+ * SDL_mixer : [63f2c5a21760e3f1ad406ec8a8b18c6346f204b3](https://github.com/libsdl-org/SDL_mixer/commit/63f2c5a21760e3f1ad406ec8a8b18c6346f204b3)
127
+ * SDL_sound : [0d55b53a78f2c82683b8723c4c8cecdc20396f7d](https://github.com/icculus/SDL_sound/commit/0d55b53a78f2c82683b8723c4c8cecdc20396f7d)
128
+ * SDL_ttf : [24990fdfd68936022d9b9f6158f80a48ad3c30ab](https://github.com/libsdl-org/SDL_ttf/commit/24990fdfd68936022d9b9f6158f80a48ad3c30ab)
123
129
 
124
130
  </details>
125
131
 
data/lib/sdl3_image.rb CHANGED
@@ -11,14 +11,19 @@ module SDL
11
11
  # Define/Macro
12
12
 
13
13
  IMAGE_MAJOR_VERSION = 3
14
- IMAGE_MINOR_VERSION = 2
15
- IMAGE_MICRO_VERSION = 6
14
+ IMAGE_MINOR_VERSION = 4
15
+ IMAGE_MICRO_VERSION = 0
16
16
 
17
17
  # Enum
18
18
 
19
+ IMG_DECODER_STATUS_INVALID = -1
20
+ IMG_DECODER_STATUS_OK = 0
21
+ IMG_DECODER_STATUS_FAILED = 1
22
+ IMG_DECODER_STATUS_COMPLETE = 2
19
23
 
20
24
  # Typedef
21
25
 
26
+ typedef :int, :IMG_AnimationDecoderStatus
22
27
 
23
28
  # Struct
24
29
 
@@ -38,35 +43,40 @@ module SDL
38
43
  def self.setup_image_symbols(output_error = false)
39
44
  entries = [
40
45
  [:IMG_Version, :IMG_Version, [], :int],
41
- [:IMG_LoadTyped_IO, :IMG_LoadTyped_IO, [:pointer, :bool, :pointer], :pointer],
42
46
  [:IMG_Load, :IMG_Load, [:pointer], :pointer],
43
47
  [:IMG_Load_IO, :IMG_Load_IO, [:pointer, :bool], :pointer],
48
+ [:IMG_LoadTyped_IO, :IMG_LoadTyped_IO, [:pointer, :bool, :pointer], :pointer],
44
49
  [:IMG_LoadTexture, :IMG_LoadTexture, [:pointer, :pointer], :pointer],
45
50
  [:IMG_LoadTexture_IO, :IMG_LoadTexture_IO, [:pointer, :pointer, :bool], :pointer],
46
51
  [:IMG_LoadTextureTyped_IO, :IMG_LoadTextureTyped_IO, [:pointer, :pointer, :bool, :pointer], :pointer],
52
+ [:IMG_LoadGPUTexture, :IMG_LoadGPUTexture, [:pointer, :pointer, :pointer, :pointer, :pointer], :pointer],
53
+ [:IMG_LoadGPUTexture_IO, :IMG_LoadGPUTexture_IO, [:pointer, :pointer, :pointer, :bool, :pointer, :pointer], :pointer],
54
+ [:IMG_LoadGPUTextureTyped_IO, :IMG_LoadGPUTextureTyped_IO, [:pointer, :pointer, :pointer, :bool, :pointer, :pointer, :pointer], :pointer],
55
+ [:IMG_GetClipboardImage, :IMG_GetClipboardImage, [], :pointer],
56
+ [:IMG_isANI, :IMG_isANI, [:pointer], :bool],
47
57
  [:IMG_isAVIF, :IMG_isAVIF, [:pointer], :bool],
48
- [:IMG_isICO, :IMG_isICO, [:pointer], :bool],
49
58
  [:IMG_isCUR, :IMG_isCUR, [:pointer], :bool],
50
59
  [:IMG_isBMP, :IMG_isBMP, [:pointer], :bool],
51
60
  [:IMG_isGIF, :IMG_isGIF, [:pointer], :bool],
61
+ [:IMG_isICO, :IMG_isICO, [:pointer], :bool],
52
62
  [:IMG_isJPG, :IMG_isJPG, [:pointer], :bool],
53
63
  [:IMG_isJXL, :IMG_isJXL, [:pointer], :bool],
54
64
  [:IMG_isLBM, :IMG_isLBM, [:pointer], :bool],
55
65
  [:IMG_isPCX, :IMG_isPCX, [:pointer], :bool],
56
66
  [:IMG_isPNG, :IMG_isPNG, [:pointer], :bool],
57
67
  [:IMG_isPNM, :IMG_isPNM, [:pointer], :bool],
58
- [:IMG_isSVG, :IMG_isSVG, [:pointer], :bool],
59
68
  [:IMG_isQOI, :IMG_isQOI, [:pointer], :bool],
69
+ [:IMG_isSVG, :IMG_isSVG, [:pointer], :bool],
60
70
  [:IMG_isTIF, :IMG_isTIF, [:pointer], :bool],
71
+ [:IMG_isWEBP, :IMG_isWEBP, [:pointer], :bool],
61
72
  [:IMG_isXCF, :IMG_isXCF, [:pointer], :bool],
62
73
  [:IMG_isXPM, :IMG_isXPM, [:pointer], :bool],
63
74
  [:IMG_isXV, :IMG_isXV, [:pointer], :bool],
64
- [:IMG_isWEBP, :IMG_isWEBP, [:pointer], :bool],
65
75
  [:IMG_LoadAVIF_IO, :IMG_LoadAVIF_IO, [:pointer], :pointer],
66
- [:IMG_LoadICO_IO, :IMG_LoadICO_IO, [:pointer], :pointer],
67
- [:IMG_LoadCUR_IO, :IMG_LoadCUR_IO, [:pointer], :pointer],
68
76
  [:IMG_LoadBMP_IO, :IMG_LoadBMP_IO, [:pointer], :pointer],
77
+ [:IMG_LoadCUR_IO, :IMG_LoadCUR_IO, [:pointer], :pointer],
69
78
  [:IMG_LoadGIF_IO, :IMG_LoadGIF_IO, [:pointer], :pointer],
79
+ [:IMG_LoadICO_IO, :IMG_LoadICO_IO, [:pointer], :pointer],
70
80
  [:IMG_LoadJPG_IO, :IMG_LoadJPG_IO, [:pointer], :pointer],
71
81
  [:IMG_LoadJXL_IO, :IMG_LoadJXL_IO, [:pointer], :pointer],
72
82
  [:IMG_LoadLBM_IO, :IMG_LoadLBM_IO, [:pointer], :pointer],
@@ -74,28 +84,66 @@ module SDL
74
84
  [:IMG_LoadPNG_IO, :IMG_LoadPNG_IO, [:pointer], :pointer],
75
85
  [:IMG_LoadPNM_IO, :IMG_LoadPNM_IO, [:pointer], :pointer],
76
86
  [:IMG_LoadSVG_IO, :IMG_LoadSVG_IO, [:pointer], :pointer],
87
+ [:IMG_LoadSizedSVG_IO, :IMG_LoadSizedSVG_IO, [:pointer, :int, :int], :pointer],
77
88
  [:IMG_LoadQOI_IO, :IMG_LoadQOI_IO, [:pointer], :pointer],
78
89
  [:IMG_LoadTGA_IO, :IMG_LoadTGA_IO, [:pointer], :pointer],
79
90
  [:IMG_LoadTIF_IO, :IMG_LoadTIF_IO, [:pointer], :pointer],
91
+ [:IMG_LoadWEBP_IO, :IMG_LoadWEBP_IO, [:pointer], :pointer],
80
92
  [:IMG_LoadXCF_IO, :IMG_LoadXCF_IO, [:pointer], :pointer],
81
93
  [:IMG_LoadXPM_IO, :IMG_LoadXPM_IO, [:pointer], :pointer],
82
94
  [:IMG_LoadXV_IO, :IMG_LoadXV_IO, [:pointer], :pointer],
83
- [:IMG_LoadWEBP_IO, :IMG_LoadWEBP_IO, [:pointer], :pointer],
84
- [:IMG_LoadSizedSVG_IO, :IMG_LoadSizedSVG_IO, [:pointer, :int, :int], :pointer],
85
95
  [:IMG_ReadXPMFromArray, :IMG_ReadXPMFromArray, [:pointer], :pointer],
86
96
  [:IMG_ReadXPMFromArrayToRGB888, :IMG_ReadXPMFromArrayToRGB888, [:pointer], :pointer],
97
+ [:IMG_Save, :IMG_Save, [:pointer, :pointer], :bool],
98
+ [:IMG_SaveTyped_IO, :IMG_SaveTyped_IO, [:pointer, :pointer, :bool, :pointer], :bool],
87
99
  [:IMG_SaveAVIF, :IMG_SaveAVIF, [:pointer, :pointer, :int], :bool],
88
100
  [:IMG_SaveAVIF_IO, :IMG_SaveAVIF_IO, [:pointer, :pointer, :bool, :int], :bool],
89
- [:IMG_SavePNG, :IMG_SavePNG, [:pointer, :pointer], :bool],
90
- [:IMG_SavePNG_IO, :IMG_SavePNG_IO, [:pointer, :pointer, :bool], :bool],
101
+ [:IMG_SaveBMP, :IMG_SaveBMP, [:pointer, :pointer], :bool],
102
+ [:IMG_SaveBMP_IO, :IMG_SaveBMP_IO, [:pointer, :pointer, :bool], :bool],
103
+ [:IMG_SaveCUR, :IMG_SaveCUR, [:pointer, :pointer], :bool],
104
+ [:IMG_SaveCUR_IO, :IMG_SaveCUR_IO, [:pointer, :pointer, :bool], :bool],
105
+ [:IMG_SaveGIF, :IMG_SaveGIF, [:pointer, :pointer], :bool],
106
+ [:IMG_SaveGIF_IO, :IMG_SaveGIF_IO, [:pointer, :pointer, :bool], :bool],
107
+ [:IMG_SaveICO, :IMG_SaveICO, [:pointer, :pointer], :bool],
108
+ [:IMG_SaveICO_IO, :IMG_SaveICO_IO, [:pointer, :pointer, :bool], :bool],
91
109
  [:IMG_SaveJPG, :IMG_SaveJPG, [:pointer, :pointer, :int], :bool],
92
110
  [:IMG_SaveJPG_IO, :IMG_SaveJPG_IO, [:pointer, :pointer, :bool, :int], :bool],
111
+ [:IMG_SavePNG, :IMG_SavePNG, [:pointer, :pointer], :bool],
112
+ [:IMG_SavePNG_IO, :IMG_SavePNG_IO, [:pointer, :pointer, :bool], :bool],
113
+ [:IMG_SaveTGA, :IMG_SaveTGA, [:pointer, :pointer], :bool],
114
+ [:IMG_SaveTGA_IO, :IMG_SaveTGA_IO, [:pointer, :pointer, :bool], :bool],
115
+ [:IMG_SaveWEBP, :IMG_SaveWEBP, [:pointer, :pointer, :float], :bool],
116
+ [:IMG_SaveWEBP_IO, :IMG_SaveWEBP_IO, [:pointer, :pointer, :bool, :float], :bool],
93
117
  [:IMG_LoadAnimation, :IMG_LoadAnimation, [:pointer], :pointer],
94
118
  [:IMG_LoadAnimation_IO, :IMG_LoadAnimation_IO, [:pointer, :bool], :pointer],
95
119
  [:IMG_LoadAnimationTyped_IO, :IMG_LoadAnimationTyped_IO, [:pointer, :bool, :pointer], :pointer],
96
- [:IMG_FreeAnimation, :IMG_FreeAnimation, [:pointer], :void],
120
+ [:IMG_LoadANIAnimation_IO, :IMG_LoadANIAnimation_IO, [:pointer], :pointer],
121
+ [:IMG_LoadAPNGAnimation_IO, :IMG_LoadAPNGAnimation_IO, [:pointer], :pointer],
122
+ [:IMG_LoadAVIFAnimation_IO, :IMG_LoadAVIFAnimation_IO, [:pointer], :pointer],
97
123
  [:IMG_LoadGIFAnimation_IO, :IMG_LoadGIFAnimation_IO, [:pointer], :pointer],
98
124
  [:IMG_LoadWEBPAnimation_IO, :IMG_LoadWEBPAnimation_IO, [:pointer], :pointer],
125
+ [:IMG_SaveAnimation, :IMG_SaveAnimation, [:pointer, :pointer], :bool],
126
+ [:IMG_SaveAnimationTyped_IO, :IMG_SaveAnimationTyped_IO, [:pointer, :pointer, :bool, :pointer], :bool],
127
+ [:IMG_SaveANIAnimation_IO, :IMG_SaveANIAnimation_IO, [:pointer, :pointer, :bool], :bool],
128
+ [:IMG_SaveAPNGAnimation_IO, :IMG_SaveAPNGAnimation_IO, [:pointer, :pointer, :bool], :bool],
129
+ [:IMG_SaveAVIFAnimation_IO, :IMG_SaveAVIFAnimation_IO, [:pointer, :pointer, :bool, :int], :bool],
130
+ [:IMG_SaveGIFAnimation_IO, :IMG_SaveGIFAnimation_IO, [:pointer, :pointer, :bool], :bool],
131
+ [:IMG_SaveWEBPAnimation_IO, :IMG_SaveWEBPAnimation_IO, [:pointer, :pointer, :bool, :int], :bool],
132
+ [:IMG_CreateAnimatedCursor, :IMG_CreateAnimatedCursor, [:pointer, :int, :int], :pointer],
133
+ [:IMG_FreeAnimation, :IMG_FreeAnimation, [:pointer], :void],
134
+ [:IMG_CreateAnimationEncoder, :IMG_CreateAnimationEncoder, [:pointer], :pointer],
135
+ [:IMG_CreateAnimationEncoder_IO, :IMG_CreateAnimationEncoder_IO, [:pointer, :bool, :pointer], :pointer],
136
+ [:IMG_CreateAnimationEncoderWithProperties, :IMG_CreateAnimationEncoderWithProperties, [:uint], :pointer],
137
+ [:IMG_AddAnimationEncoderFrame, :IMG_AddAnimationEncoderFrame, [:pointer, :pointer, :ulong_long], :bool],
138
+ [:IMG_CloseAnimationEncoder, :IMG_CloseAnimationEncoder, [:pointer], :bool],
139
+ [:IMG_CreateAnimationDecoder, :IMG_CreateAnimationDecoder, [:pointer], :pointer],
140
+ [:IMG_CreateAnimationDecoder_IO, :IMG_CreateAnimationDecoder_IO, [:pointer, :bool, :pointer], :pointer],
141
+ [:IMG_CreateAnimationDecoderWithProperties, :IMG_CreateAnimationDecoderWithProperties, [:uint], :pointer],
142
+ [:IMG_GetAnimationDecoderProperties, :IMG_GetAnimationDecoderProperties, [:pointer], :uint],
143
+ [:IMG_GetAnimationDecoderFrame, :IMG_GetAnimationDecoderFrame, [:pointer, :pointer, :pointer], :bool],
144
+ [:IMG_GetAnimationDecoderStatus, :IMG_GetAnimationDecoderStatus, [:pointer], :int],
145
+ [:IMG_ResetAnimationDecoder, :IMG_ResetAnimationDecoder, [:pointer], :bool],
146
+ [:IMG_CloseAnimationDecoder, :IMG_CloseAnimationDecoder, [:pointer], :bool],
99
147
  ]
100
148
  entries.each do |entry|
101
149
  attach_function entry[0], entry[1], entry[2], entry[3]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sdl3-bindings
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - vaiorabbit