opengl-bindings 1.6.14 → 1.6.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0deefb2c81590ad74fba31b0b2c1d744a3db960d276bbc7e3203c128a8c73c7a
4
- data.tar.gz: af1cf6dce05b92f6be98f8359f1714d419af0a54bb738649401661c7a3f4f28e
3
+ metadata.gz: fe04e11bb81eb11d48c6d16731b8d759668fb1260f0d7a6d4fd9fcf58afc5cd4
4
+ data.tar.gz: c466a60d4176b2be705f2f15bdd4d203316fc160586e4613edcc384b34e72516
5
5
  SHA512:
6
- metadata.gz: 79dc42da66d606cd38e57acadd92ed1d1452d6d15d2282ec3e4aafa4b43b494de1953d3fb72dc355202a4a31105c10fca552a32520bdd2531089c072c244ee0a
7
- data.tar.gz: 8da7b1af3855c7774a6d902ed3b62f85d82d3458ea880580d668b399c8ea5e058f6a955613ed3918595053cd2bc9d632fbe3f853eadf2c408eacbbf5cba0eac4
6
+ metadata.gz: ed806ca800e516018b89afb66a77d7589b426f93f68026e350f4e589cbe9f3783cf72f0b0476ebb3b2f3dfaa092fc9283fde14700839a2717dcb5cdf1240d810
7
+ data.tar.gz: 8be4cf96175bd0cba6e1e916c1446d89fb07439ee059114614f38663851e8e90fc436bb4fe234f6b268531714ba181927aa23c13591cf5e4fd2224d2ee61e9c4
data/ChangeLog CHANGED
@@ -1,3 +1,11 @@
1
+ 2025-01-01 vaiorabbit <http://twitter.com/vaiorabbit>
2
+
3
+ * glfw.rb: Fixed warnings
4
+
5
+ 2024-02-25 vaiorabbit <http://twitter.com/vaiorabbit>
6
+
7
+ * GLFW 3.4
8
+
1
9
  2024-01-05 vaiorabbit <http://twitter.com/vaiorabbit>
2
10
 
3
11
  * Updated using latest gl.xml
data/LICENSE.txt CHANGED
@@ -1,5 +1,5 @@
1
1
  Ruby-OpenGL : Yet another OpenGL wrapper for Ruby (and wrapper code generator)
2
- Copyright (c) 2013-2024 vaiorabbit <http://twitter.com/vaiorabbit>
2
+ Copyright (c) 2013-2025 vaiorabbit <http://twitter.com/vaiorabbit>
3
3
 
4
4
  This software is provided 'as-is', without any express or implied
5
5
  warranty. In no event will the authors be held liable for any damages
data/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  ...and wrapper code generator.
6
6
 
7
7
  * Created : 2013-08-28
8
- * Last modified : 2024-01-05
8
+ * Last modified : 2025-01-01
9
9
 
10
10
  ---
11
11
 
@@ -73,7 +73,7 @@ module GL
73
73
 
74
74
  <img src="https://raw.githubusercontent.com/vaiorabbit/ruby-opengl/master/doc/simple_rb.jpg" width="200"> <img src="https://raw.githubusercontent.com/vaiorabbit/ruby-opengl/master/doc/nehe_lesson36_rb.jpg" width="200"> <img src="https://raw.githubusercontent.com/vaiorabbit/ruby-opengl/master/doc/brick_rb.jpg" width="200"> <img src="https://raw.githubusercontent.com/vaiorabbit/ruby-opengl/master/doc/glxs_rb.jpg" width="200">
75
75
 
76
- * Uses Fiddle (One of the Ruby standard libraries that wraps libffi)
76
+ * Uses Fiddle (One of the Ruby libraries that wraps libffi)
77
77
  * Unlike opengl ( https://rubygems.org/gems/opengl ), you don't need to build C extension library
78
78
 
79
79
  * Uses Khronos XML API registry ( https://github.com/KhronosGroup/OpenGL-Registry )
@@ -148,7 +148,6 @@ https://github.com/vaiorabbit/ruby-opengl
148
148
 
149
149
  * Fiddle
150
150
  * A libffi wrapper
151
- * Standard library since Ruby 2.0.0
152
151
  * I recommend you to use Ruby 2.1.2 and later, which fixed Fiddle's memory leak issue (https://bugs.ruby-lang.org/issues/9599).
153
152
 
154
153
  ### For sample ###
@@ -167,27 +166,24 @@ Use GLFW or GLUT for creating windows and OpenGL rendering contexts.
167
166
  ## Tested Environment ##
168
167
 
169
168
  * Ruby
170
- * ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [arm64-darwin23]
169
+ * ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +PRISM [x64-mingw-ucrt]
170
+ * ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +PRISM [arm64-darwin24]
171
171
 
172
- * Windows 10 Home, 64-bit (Version 1909, OS Build 18363.778)
173
- * NVIDIA GeForce RTX 2060 SUPER
174
- * OpenGL 4.5
172
+ * Windows 11 Pro (Version 24H2, OS Build 26100.2605)
175
173
 
176
- > ruby report_env.rb
177
- Version : 4.5.0 NVIDIA 436.30
178
- Vendor : NVIDIA Corporation
179
- Renderer : GeForce RTX 2060 SUPER/PCIe/SSE2
180
- Shader : 4.50 NVIDIA
174
+ > ruby report_env.rb
175
+ Version : 4.5.0 NVIDIA 560.94
176
+ Vendor : NVIDIA Corporation
177
+ Renderer : NVIDIA GeForce RTX 4080 Laptop GPU/PCIe/SSE2
178
+ Shader : 4.50 NVIDIA
181
179
 
182
- * macOS 12.5.1, 64-bit
183
- * Mac mini (M1 2020)
184
- * OpenGL 4.1
180
+ * macOS 15.2 / Mac mini (M1 2020)
185
181
 
186
- $ ruby report_env.rb
187
- Version : 4.1 Metal - 76.3
188
- Vendor : Apple
189
- Renderer : Apple M1
190
- Shader : 4.10
182
+ $ ruby report_env.rb
183
+ Version : 4.1 Metal - 89.3
184
+ Vendor : Apple
185
+ Renderer : Apple M1
186
+ Shader : 4.10
191
187
 
192
188
  * Arch Linux kernel 4.1.2-2-ARCH, Nvidia Driver, x86_64
193
189
  * NVIDIA GeForce GTS 450
@@ -207,6 +203,7 @@ Use GLFW or GLUT for creating windows and OpenGL rendering contexts.
207
203
  <summary>Older versions</summary>
208
204
 
209
205
  * Ruby
206
+ * ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [arm64-darwin23]
210
207
  * ruby 3.2.0 (2022-12-25 revision a528908271) [arm64-darwin21]
211
208
  * ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [arm64-darwin20]
212
209
  * ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x64-mingw32]
@@ -238,6 +235,16 @@ Use GLFW or GLUT for creating windows and OpenGL rendering contexts.
238
235
  * ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin13.0.0]
239
236
  * ruby 2.0.0p247 (2013-06-27) [i386-mingw32]
240
237
 
238
+ * Windows 10 Home, 64-bit (Version 1909, OS Build 18363.778)
239
+ * NVIDIA GeForce RTX 2060 SUPER
240
+ * OpenGL 4.5
241
+
242
+ > ruby report_env.rb
243
+ Version : 4.5.0 NVIDIA 436.30
244
+ Vendor : NVIDIA Corporation
245
+ Renderer : GeForce RTX 2060 SUPER/PCIe/SSE2
246
+ Shader : 4.50 NVIDIA
247
+
241
248
  * Windows 10 Home, 64-bit (Version 1511, OS Build 10586.164)
242
249
  * NVIDIA GeForce GTX 960
243
250
  * OpenGL 4.5
@@ -283,6 +290,16 @@ Use GLFW or GLUT for creating windows and OpenGL rendering contexts.
283
290
  Renderer : Intel Iris OpenGL Engine
284
291
  Shader : 4.10
285
292
 
293
+ * macOS 12.5.1, 64-bit
294
+ * Mac mini (M1 2020)
295
+ * OpenGL 4.1
296
+
297
+ $ ruby report_env.rb
298
+ Version : 4.1 Metal - 76.3
299
+ Vendor : Apple
300
+ Renderer : Apple M1
301
+ Shader : 4.10
302
+
286
303
  </details>
287
304
 
288
305
  * You can use any lib/path names by passing as arguments like:
@@ -322,7 +339,7 @@ Use GLFW or GLUT for creating windows and OpenGL rendering contexts.
322
339
  * https://github.com/mirichi/dxsdl2r
323
340
  * mittsu - A direct port of THREE.js from JavaScript/WebGL to Ruby/OpenGL
324
341
  * https://rubygems.org/gems/mittsu
325
- * https://github.com/jellymann/mittsu
342
+ * https://github.com/danini-the-panini/mittsu
326
343
  * opencl-bindings - A Ruby binding for OpenCL 1.2
327
344
  * https://rubygems.org/gems/opencl-bindings
328
345
  * https://github.com/vaiorabbit/ruby-opencl
@@ -341,7 +358,7 @@ Use GLFW or GLUT for creating windows and OpenGL rendering contexts.
341
358
 
342
359
  The zlib/libpng License ( http://opensource.org/licenses/Zlib ).
343
360
 
344
- Copyright (c) 2013-2024 vaiorabbit <http://twitter.com/vaiorabbit>
361
+ Copyright (c) 2013-2025 vaiorabbit <http://twitter.com/vaiorabbit>
345
362
 
346
363
  This software is provided 'as-is', without any express or implied
347
364
  warranty. In no event will the authors be held liable for any damages
@@ -502,7 +519,6 @@ https://github.com/vaiorabbit/ruby-opengl
502
519
 
503
520
  * Fiddle
504
521
  * libffi のラッパーです
505
- * Ruby 2.0.0 以降で標準ライブラリになりました
506
522
  * Fiddle のメモリリーク問題 (https://bugs.ruby-lang.org/issues/9599) が修正された Ruby 2.1.2 以降での利用を推奨します
507
523
 
508
524
  ### サンプル用 ###
@@ -521,27 +537,24 @@ GLFW か GLUT を用意してください。ウィンドウやレンダリング
521
537
  ## テストした環境 ##
522
538
 
523
539
  * Ruby
524
- * ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [arm64-darwin23]
540
+ * ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +PRISM [x64-mingw-ucrt]
541
+ * ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +PRISM [arm64-darwin24]
525
542
 
526
- * Windows 10 Home, 64-bit (Version 1909, OS Build 18363.778)
527
- * NVIDIA GeForce RTX 2060 SUPER
528
- * OpenGL 4.5
543
+ * Windows 11 Pro (Version 24H2, OS Build 26100.2605)
529
544
 
530
- > ruby report_env.rb
531
- Version : 4.5.0 NVIDIA 436.30
532
- Vendor : NVIDIA Corporation
533
- Renderer : GeForce RTX 2060 SUPER/PCIe/SSE2
534
- Shader : 4.50 NVIDIA
545
+ > ruby report_env.rb
546
+ Version : 4.5.0 NVIDIA 560.94
547
+ Vendor : NVIDIA Corporation
548
+ Renderer : NVIDIA GeForce RTX 4080 Laptop GPU/PCIe/SSE2
549
+ Shader : 4.50 NVIDIA
535
550
 
536
- * macOS 12.5.1, 64-bit
537
- * Mac mini (M1 2020)
538
- * OpenGL 4.1
551
+ * macOS 15.2 / Mac mini (M1 2020)
539
552
 
540
- $ ruby report_env.rb
541
- Version : 4.1 Metal - 76.3
542
- Vendor : Apple
543
- Renderer : Apple M1
544
- Shader : 4.10
553
+ $ ruby report_env.rb
554
+ Version : 4.1 Metal - 89.3
555
+ Vendor : Apple
556
+ Renderer : Apple M1
557
+ Shader : 4.10
545
558
 
546
559
  * Arch Linux kernel 4.1.2-2-ARCH, Nvidia Driver, x86_64
547
560
  * NVIDIA GeForce GTS 450
@@ -592,6 +605,16 @@ GLFW か GLUT を用意してください。ウィンドウやレンダリング
592
605
  * ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin13.0.0]
593
606
  * ruby 2.0.0p247 (2013-06-27) [i386-mingw32]
594
607
 
608
+ * Windows 10 Home, 64-bit (Version 1909, OS Build 18363.778)
609
+ * NVIDIA GeForce RTX 2060 SUPER
610
+ * OpenGL 4.5
611
+
612
+ > ruby report_env.rb
613
+ Version : 4.5.0 NVIDIA 436.30
614
+ Vendor : NVIDIA Corporation
615
+ Renderer : GeForce RTX 2060 SUPER/PCIe/SSE2
616
+ Shader : 4.50 NVIDIA
617
+
595
618
  * Windows 10 Home, 64-bit (Version 1511, OS Build 10586.164)
596
619
  * NVIDIA GeForce GTX 960
597
620
  * OpenGL 4.5
@@ -637,6 +660,16 @@ GLFW か GLUT を用意してください。ウィンドウやレンダリング
637
660
  Renderer : Intel Iris OpenGL Engine
638
661
  Shader : 4.10
639
662
 
663
+ * macOS 12.5.1, 64-bit
664
+ * Mac mini (M1 2020)
665
+ * OpenGL 4.1
666
+
667
+ $ ruby report_env.rb
668
+ Version : 4.1 Metal - 76.3
669
+ Vendor : Apple
670
+ Renderer : Apple M1
671
+ Shader : 4.10
672
+
640
673
  </details>
641
674
 
642
675
  ## メモ ##
data/lib/glfw.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # A GLFW wrapper (for version 3.0 - 3.3)
2
+ # A GLFW wrapper (for version 3.4)
3
3
  require 'fiddle/import'
4
4
 
5
5
  module GLFW
@@ -24,7 +24,6 @@ module GLFW
24
24
  rescue
25
25
  file, line = __FILE__, __LINE__+3
26
26
  end
27
- args_str="*args"
28
27
  module_eval(<<-EOS, file, line)
29
28
  def #{name}(*args, &block)
30
29
  GLFW_FUNCTIONS_MAP['#{name}'].call(*args,&block)
@@ -245,17 +244,21 @@ module GLFW
245
244
  GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER = 5 # Available since GLFW 3.3
246
245
  GLFW_GAMEPAD_AXIS_LAST = GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER # Available since GLFW 3.3
247
246
 
248
- GLFW_NO_ERROR = 0 # Available since GLFW 3.3
249
- GLFW_NOT_INITIALIZED = 0x00010001
250
- GLFW_NO_CURRENT_CONTEXT = 0x00010002
251
- GLFW_INVALID_ENUM = 0x00010003
252
- GLFW_INVALID_VALUE = 0x00010004
253
- GLFW_OUT_OF_MEMORY = 0x00010005
254
- GLFW_API_UNAVAILABLE = 0x00010006
255
- GLFW_VERSION_UNAVAILABLE = 0x00010007
256
- GLFW_PLATFORM_ERROR = 0x00010008
257
- GLFW_FORMAT_UNAVAILABLE = 0x00010009
258
- GLFW_NO_WINDOW_CONTEXT = 0x0001000A # Available since GLFW 3.2
247
+ GLFW_NO_ERROR = 0 # Available since GLFW 3.3
248
+ GLFW_NOT_INITIALIZED = 0x00010001
249
+ GLFW_NO_CURRENT_CONTEXT = 0x00010002
250
+ GLFW_INVALID_ENUM = 0x00010003
251
+ GLFW_INVALID_VALUE = 0x00010004
252
+ GLFW_OUT_OF_MEMORY = 0x00010005
253
+ GLFW_API_UNAVAILABLE = 0x00010006
254
+ GLFW_VERSION_UNAVAILABLE = 0x00010007
255
+ GLFW_PLATFORM_ERROR = 0x00010008
256
+ GLFW_FORMAT_UNAVAILABLE = 0x00010009
257
+ GLFW_NO_WINDOW_CONTEXT = 0x0001000A # Available since GLFW 3.2
258
+ GLFW_CURSOR_UNAVAILABLE = 0x0001000B # Available since GLFW 3.4
259
+ GLFW_FEATURE_UNAVAILABLE = 0x0001000C # Available since GLFW 3.4
260
+ GLFW_FEATURE_UNIMPLEMENTED = 0x0001000D # Available since GLFW 3.4
261
+ GLFW_PLATFORM_UNAVAILABLE = 0x0001000E # Available since GLFW 3.4
259
262
 
260
263
  GLFW_FOCUSED = 0x00020001
261
264
  GLFW_ICONIFIED = 0x00020002
@@ -269,6 +272,9 @@ module GLFW
269
272
  GLFW_TRANSPARENT_FRAMEBUFFER = 0x0002000A # Available since GLFW 3.3
270
273
  GLFW_HOVERED = 0x0002000B # Available since GLFW 3.3
271
274
  GLFW_FOCUS_ON_SHOW = 0x0002000C # Available since GLFW 3.3
275
+ GLFW_MOUSE_PASSTHROUGH = 0x0002000D # Available since GLFW 3.4
276
+ GLFW_POSITION_X = 0x0002000E # Available since GLFW 3.4
277
+ GLFW_POSITION_Y = 0x0002000F # Available since GLFW 3.4
272
278
 
273
279
  GLFW_RED_BITS = 0x00021001
274
280
  GLFW_GREEN_BITS = 0x00021002
@@ -293,12 +299,14 @@ module GLFW
293
299
  GLFW_CONTEXT_REVISION = 0x00022004
294
300
  GLFW_CONTEXT_ROBUSTNESS = 0x00022005
295
301
  GLFW_OPENGL_FORWARD_COMPAT = 0x00022006
296
- GLFW_OPENGL_DEBUG_CONTEXT = 0x00022007
302
+ GLFW_CONTEXT_DEBUG = 0x00022007 # Renamed from GLFW_OPENGL_DEBUG_CONTEXT since GLFW 3.4
303
+ GLFW_OPENGL_DEBUG_CONTEXT = GLFW_CONTEXT_DEBUG # Legacy name for compatibility added since GLFW 3.4
297
304
  GLFW_OPENGL_PROFILE = 0x00022008
298
305
  GLFW_CONTEXT_RELEASE_BEHAVIOR = 0x00022009
299
306
  GLFW_CONTEXT_NO_ERROR = 0x0002200A
300
307
  GLFW_CONTEXT_CREATION_API = 0x0002200B # Available since GLFW 3.2
301
308
  GLFW_SCALE_TO_MONITOR = 0x0002200C # Available since GLFW 3.3
309
+ GLFW_SCALE_FRAMEBUFFER = 0x0002200D # Available since GLFW 3.4
302
310
 
303
311
  GLFW_COCOA_RETINA_FRAMEBUFFER = 0x00023001 # Available since GLFW 3.3
304
312
  GLFW_COCOA_FRAME_NAME = 0x00023002 # Available since GLFW 3.3
@@ -306,6 +314,9 @@ module GLFW
306
314
 
307
315
  GLFW_X11_CLASS_NAME = 0x00024001 # Available since GLFW 3.3
308
316
  GLFW_X11_INSTANCE_NAME = 0x00024002 # Available since GLFW 3.3
317
+ GLFW_WIN32_KEYBOARD_MENU = 0x00025001 # Available since GLFW 3.4
318
+ GLFW_WIN32_SHOWDEFAULT = 0x00025002 # Available since GLFW 3.4
319
+ GLFW_WAYLAND_APP_ID = 0x00026001 # Available since GLFW 3.4
309
320
 
310
321
  GLFW_NO_API = 0 # Available since GLFW 3.2
311
322
  GLFW_OPENGL_API = 0x00030001
@@ -328,6 +339,7 @@ module GLFW
328
339
  GLFW_CURSOR_NORMAL = 0x00034001
329
340
  GLFW_CURSOR_HIDDEN = 0x00034002
330
341
  GLFW_CURSOR_DISABLED = 0x00034003
342
+ GLFW_CURSOR_CAPTURED = 0x00034004 # Available since GLFW 3.4
331
343
 
332
344
  GLFW_ANY_RELEASE_BEHAVIOR = 0
333
345
  GLFW_RELEASE_BEHAVIOR_FLUSH = 0x00035001
@@ -337,26 +349,56 @@ module GLFW
337
349
  GLFW_EGL_CONTEXT_API = 0x00036002 # Available since GLFW 3.2
338
350
  GLFW_OSMESA_CONTEXT_API = 0x00036003 # Available since GLFW 3.3
339
351
 
352
+ GLFW_ANGLE_PLATFORM_TYPE_NONE = 0x00037001 # Available since GLFW 3.4
353
+ GLFW_ANGLE_PLATFORM_TYPE_OPENGL = 0x00037002 # Available since GLFW 3.4
354
+ GLFW_ANGLE_PLATFORM_TYPE_OPENGLES = 0x00037003 # Available since GLFW 3.4
355
+ GLFW_ANGLE_PLATFORM_TYPE_D3D9 = 0x00037004 # Available since GLFW 3.4
356
+ GLFW_ANGLE_PLATFORM_TYPE_D3D11 = 0x00037005 # Available since GLFW 3.4
357
+ GLFW_ANGLE_PLATFORM_TYPE_VULKAN = 0x00037007 # Available since GLFW 3.4
358
+ GLFW_ANGLE_PLATFORM_TYPE_METAL = 0x00037008 # Available since GLFW 3.4
359
+
340
360
  GLFW_WAYLAND_PREFER_LIBDECOR = 0x00038001 # Available since GLFW 3.3.9
341
361
  GLFW_WAYLAND_DISABLE_LIBDECOR = 0x00038002 # Available since GLFW 3.3.9
342
362
 
363
+ GLFW_ANY_POSITION = 0x80000000 # Available since GLFW 3.4
364
+
343
365
  GLFW_ARROW_CURSOR = 0x00036001
344
366
  GLFW_IBEAM_CURSOR = 0x00036002
345
367
  GLFW_CROSSHAIR_CURSOR = 0x00036003
346
- GLFW_HAND_CURSOR = 0x00036004
347
- GLFW_HRESIZE_CURSOR = 0x00036005
348
- GLFW_VRESIZE_CURSOR = 0x00036006
368
+ GLFW_POINTING_HAND_CURSOR = 0x00036004 # Renamed from GLFW_HAND_CURSOR since GLFW 3.4
369
+ GLFW_RESIZE_EW_CURSOR = 0x00036005 # Renamed from GLFW_HRESIZE_CURSOR since GLFW 3.4
370
+ GLFW_RESIZE_NS_CURSOR = 0x00036006 # Renamed from GLFW_VRESIZE_CURSOR since GLFW 3.4
371
+ GLFW_RESIZE_NWSE_CURSOR = 0x00036007 # Available since GLFW 3.4
372
+ GLFW_RESIZE_NESW_CURSOR = 0x00036008 # Available since GLFW 3.4
373
+ GLFW_RESIZE_ALL_CURSOR = 0x00036009 # Available since GLFW 3.4
374
+ GLFW_NOT_ALLOWED_CURSOR = 0x0003600A # Available since GLFW 3.4
375
+
376
+ GLFW_HRESIZE_CURSOR = GLFW_RESIZE_EW_CURSOR # Legacy name for compatibility added since GLFW 3.4
377
+ GLFW_VRESIZE_CURSOR = GLFW_RESIZE_NS_CURSOR # Legacy name for compatibility added since GLFW 3.4
378
+ GLFW_HAND_CURSOR = GLFW_POINTING_HAND_CURSOR # Legacy name for compatibility added since GLFW 3.4
349
379
 
350
380
  GLFW_CONNECTED = 0x00040001
351
381
  GLFW_DISCONNECTED = 0x00040002
352
382
 
353
383
  GLFW_JOYSTICK_HAT_BUTTONS = 0x00050001 # Available since GLFW 3.3
384
+ GLFW_ANGLE_PLATFORM_TYPE = 0x00050002 # Available since GLFW 3.4
385
+ GLFW_PLATFORM = 0x00050003 # Available since GLFW 3.4
386
+
354
387
 
355
388
  GLFW_COCOA_CHDIR_RESOURCES = 0x00051001 # Available since GLFW 3.3
356
389
  GLFW_COCOA_MENUBAR = 0x00051002 # Available since GLFW 3.3
357
390
 
391
+ GLFW_X11_XCB_VULKAN_SURFACE = 0x00052001 # Available since GLFW 3.4
392
+
358
393
  GLFW_WAYLAND_LIBDECOR = 0x00053001 # Available since GLFW 3.3.9
359
394
 
395
+ GLFW_ANY_PLATFORM = 0x00060000 # Available since GLFW 3.4
396
+ GLFW_PLATFORM_WIN32 = 0x00060001 # Available since GLFW 3.4
397
+ GLFW_PLATFORM_COCOA = 0x00060002 # Available since GLFW 3.4
398
+ GLFW_PLATFORM_WAYLAND = 0x00060003 # Available since GLFW 3.4
399
+ GLFW_PLATFORM_X11 = 0x00060004 # Available since GLFW 3.4
400
+ GLFW_PLATFORM_NULL = 0x00060005 # Available since GLFW 3.4
401
+
360
402
  GLFW_DONT_CARE = -1
361
403
 
362
404
  # typedefs
@@ -469,6 +511,10 @@ module GLFW
469
511
  return self.create_callback_closure( sym, proc, &blk )
470
512
  end
471
513
 
514
+ # NOTE : Memory allocation callbacks addin in GLFW 3.4
515
+ # (GLFWallocatefun, GLFWreallocatefun, GLFWdeallocatefun and struct GLFWallocator)
516
+ # will not be supported in this bindings.
517
+
472
518
  # struct
473
519
  GLFWvidmode = struct(["int width",
474
520
  "int height",
@@ -527,6 +573,8 @@ module GLFW
527
573
  'const char* glfwGetVersionString()',
528
574
  'int glfwGetError(const char**)', # Available since GLFW 3.3
529
575
  'void* glfwSetErrorCallback(void*)',
576
+ 'int glfwGetPlatform()', # Available since GLFW 3.4
577
+ 'int glfwPlatformSupported(int)', # Available since GLFW 3.4
530
578
  'void** glfwGetMonitors(int*)',
531
579
  'void* glfwGetPrimaryMonitor()',
532
580
  'void glfwGetMonitorPos(void*, int*, int*)',
@@ -549,6 +597,7 @@ module GLFW
549
597
  'void glfwDestroyWindow(void*)', # Available since GLFW 3.0
550
598
  'int glfwWindowShouldClose(void*)', # Available since GLFW 3.0
551
599
  'void glfwSetWindowShouldClose(void* window, int)', # Available since GLFW 3.0
600
+ 'const char* glfwGetWindowTitle(void*)', # Available since GLFW 3.4
552
601
  'void glfwSetWindowTitle(void*, const char*)',
553
602
  'void glfwSetWindowIcon(void*, int, void*)', # Available since GLFW 3.2
554
603
  'void glfwGetWindowPos(void*, int*, int*)', # Available since GLFW 3.0
@@ -653,6 +702,7 @@ module GLFW
653
702
  when :OPENGL_PLATFORM_MACOSX
654
703
  @@lib_signature << 'unsigned int glfwGetCocoaMonitor(void*)'
655
704
  @@lib_signature << 'void* glfwGetCocoaWindow(void*)'
705
+ @@lib_signature << 'void* glfwGetCocoaView(void*)'
656
706
  @@lib_signature << 'void* glfwGetNSGLContext(void*)'
657
707
  when :OPENGL_PLATFORM_LINUX
658
708
  @@lib_signature << 'void* glfwGetX11Display()'
@@ -692,7 +742,7 @@ end
692
742
 
693
743
  =begin
694
744
  Ruby-OpenGL : Yet another OpenGL wrapper for Ruby (and wrapper code generator)
695
- Copyright (c) 2013-2024 vaiorabbit <http://twitter.com/vaiorabbit>
745
+ Copyright (c) 2013-2025 vaiorabbit <http://twitter.com/vaiorabbit>
696
746
 
697
747
  This software is provided 'as-is', without any express or implied
698
748
  warranty. In no event will the authors be held liable for any damages