{"_id":"@bun-win32/opengl32","_rev":"13-d2fcbc49e5fd8d212b06694ce8143950","name":"@bun-win32/opengl32","dist-tags":{"latest":"2.0.1"},"versions":{"1.4.2":{"name":"@bun-win32/opengl32","version":"1.4.2","keywords":["bun","ffi","windows","opengl","wgl","opengl32","graphics"],"author":"Stev Peifer <stev@bell.net>","license":"MIT","_id":"@bun-win32/opengl32@1.4.2","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/obscuritysrl/bun-opengl32#readme","bugs":{"url":"https://github.com/obscuritysrl/bun-opengl32/issues"},"dist":{"shasum":"630ad11d73afe2ae2c9a71ea6c7e9674366f0509","tarball":"https://registry.npmjs.org/@bun-win32/opengl32/-/opengl32-1.4.2.tgz","fileCount":6,"integrity":"sha512-IVd/3UZqbSp3ZVIvv4XPO6GHCpCFE4B2z60OdhC4eZD3SULQf4k6cBIctFLwC8QT1n3t+YoqL5o7EBWiHsToVg==","signatures":[{"sig":"MEUCIBwURZjUgGO5GPkr4C5faJaGDjIAtcOvcJy5HxOop4MvAiEAzdbaBzZzKSt8DlEIR+6V4DAdEPulC4E7VUBikNU4Ne4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":174076},"main":"./index.ts","type":"module","module":"index.ts","shasum":"630ad11d73afe2ae2c9a71ea6c7e9674366f0509","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example":"bun ./example/openGL32.ts","example:circle":"bun ./example/bouncingCircle.ts","example:physics":"bun ./example/physicsDemo.ts","example:pendulum":"bun ./example/nPendulum.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-IVd/3UZqbSp3ZVIvv4XPO6GHCpCFE4B2z60OdhC4eZD3SULQf4k6cBIctFLwC8QT1n3t+YoqL5o7EBWiHsToVg==","repository":{"url":"git://github.com/obscuritysrl/bun-opengl32.git","type":"git"},"_npmVersion":"10.8.3","description":"Direct OpenGL 1.1 + WGL bindings for Bun on Windows via FFI.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opengl32_1.4.2_1775355797814_0.6998035210250346","host":"s3://npm-registry-packages-npm-production"}},"1.4.3":{"name":"@bun-win32/opengl32","version":"1.4.3","keywords":["bun","ffi","windows","opengl","wgl","opengl32","graphics"],"author":"Stev Peifer <stev@bell.net>","license":"MIT","_id":"@bun-win32/opengl32@1.4.3","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/bun-win32/opengl32#readme","bugs":{"url":"https://github.com/bun-win32/opengl32/issues"},"dist":{"shasum":"46f63dcb9630f4fe3b3d41af3d9556c5ea2914b7","tarball":"https://registry.npmjs.org/@bun-win32/opengl32/-/opengl32-1.4.3.tgz","fileCount":6,"integrity":"sha512-N3Mk+kI6cDUzZ77UG9O+BT1ZZm3MOZQdmAKhkXixx+F7lzmkQ1hu5VzZzhnmmO26wPHiK76P3BrX+muv8RGgwg==","signatures":[{"sig":"MEYCIQDnfV1pFyz8ftsAaZbBmVn+bnRcJwqKLc01LBW1T1cYGwIhANrRfXYMSLYQi13R4sx0lc/SEiOYqfQM85FrwMU/d7B8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":174083},"main":"./index.ts","type":"module","module":"index.ts","shasum":"46f63dcb9630f4fe3b3d41af3d9556c5ea2914b7","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example":"bun ./example/openGL32.ts","example:circle":"bun ./example/bouncingCircle.ts","example:physics":"bun ./example/physicsDemo.ts","example:pendulum":"bun ./example/nPendulum.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-N3Mk+kI6cDUzZ77UG9O+BT1ZZm3MOZQdmAKhkXixx+F7lzmkQ1hu5VzZzhnmmO26wPHiK76P3BrX+muv8RGgwg==","repository":{"url":"git://github.com/bun-win32/opengl32.git","type":"git"},"_npmVersion":"10.8.3","description":"Direct OpenGL 1.1 + WGL bindings for Bun on Windows via FFI.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opengl32_1.4.3_1775356700094_0.5022922905395886","host":"s3://npm-registry-packages-npm-production"}},"1.4.4":{"name":"@bun-win32/opengl32","version":"1.4.4","keywords":["bun","ffi","win32","windows","opengl32","bindings","typescript","dll"],"author":"Stev Peifer <stev@bell.net>","license":"MIT","_id":"@bun-win32/opengl32@1.4.4","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/bun-win32/opengl32#readme","bugs":{"url":"https://github.com/bun-win32/opengl32/issues"},"dist":{"shasum":"e21f7232812aad63f79532f8e09eb38e98becb6e","tarball":"https://registry.npmjs.org/@bun-win32/opengl32/-/opengl32-1.4.4.tgz","fileCount":6,"integrity":"sha512-x5+koBoi/Phr48gTAjswU6T7gj9Yvq/0WLrveQynLNwVN7yIjlOiTcRUY7O8do5wDNL0aqyQabjTI6ER/2XPhw==","signatures":[{"sig":"MEUCIHQqLz3BaPeeNJj5ptlttNNrQggRUQlJIGuIHERPr5dqAiEAxpMo6vbdW9UWzJCCb2l7rp3pjaWK4S0Brs9Mz/Xaj98=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":172136},"main":"./index.ts","type":"module","module":"index.ts","shasum":"e21f7232812aad63f79532f8e09eb38e98becb6e","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example":"bun ./example/openGL32.ts","example:circle":"bun ./example/bouncingCircle.ts","example:physics":"bun ./example/physicsDemo.ts","example:pendulum":"bun ./example/nPendulum.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-x5+koBoi/Phr48gTAjswU6T7gj9Yvq/0WLrveQynLNwVN7yIjlOiTcRUY7O8do5wDNL0aqyQabjTI6ER/2XPhw==","repository":{"url":"git://github.com/bun-win32/opengl32.git","type":"git"},"_npmVersion":"10.8.3","description":"Zero-dependency, zero-overhead Win32 OpenGL32 bindings for Bun (FFI) on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opengl32_1.4.4_1775357804585_0.4464093009768151","host":"s3://npm-registry-packages-npm-production"}},"1.4.6":{"name":"@bun-win32/opengl32","version":"1.4.6","keywords":["bun","ffi","win32","windows","opengl32","bindings","typescript","dll"],"author":"Stev Peifer <stev@bell.net>","license":"MIT","_id":"@bun-win32/opengl32@1.4.6","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dist":{"shasum":"ff66b518934891f2f20d0368d2b3804509591355","tarball":"https://registry.npmjs.org/@bun-win32/opengl32/-/opengl32-1.4.6.tgz","fileCount":5,"integrity":"sha512-yBM9cVcuXSmj7RTzLzAu4yF63470l3zcFfWgSczq1GY25BScOpfbfv9A4wSJMVpGFSGsfwPF+9cmbq1op8wBNA==","signatures":[{"sig":"MEYCIQCYu5IUB7Y/nMsSznk16QndyIg2PoxBvKvt9adKNZsmpQIhAIoYXOlIhNVDSB0QSyNR/YIM1LIOdt/JVDHdZ78jcMMG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164649},"main":"./index.ts","type":"module","module":"index.ts","shasum":"ff66b518934891f2f20d0368d2b3804509591355","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example":"bun ./example/openGL32.ts","example:circle":"bun ./example/bouncingCircle.ts","example:physics":"bun ./example/physicsDemo.ts","example:pendulum":"bun ./example/nPendulum.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-yBM9cVcuXSmj7RTzLzAu4yF63470l3zcFfWgSczq1GY25BScOpfbfv9A4wSJMVpGFSGsfwPF+9cmbq1op8wBNA==","repository":{"url":"git://github.com/ObscuritySRL/bun-win32.git","type":"git","directory":"packages/opengl32"},"_npmVersion":"10.8.3","description":"Zero-dependency, zero-overhead Win32 OpenGL32 bindings for Bun (FFI) on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"@bun-win32/core":"1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opengl32_1.4.6_1775407790996_0.07658890957724829","host":"s3://npm-registry-packages-npm-production"}},"1.4.7":{"name":"@bun-win32/opengl32","version":"1.4.7","keywords":["bun","ffi","win32","windows","opengl32","bindings","typescript","dll"],"author":"Stev Peifer <stev@bell.net>","license":"MIT","_id":"@bun-win32/opengl32@1.4.7","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dist":{"shasum":"714ab0c0d0a59e5e1ab6a0e27a86967800b7181f","tarball":"https://registry.npmjs.org/@bun-win32/opengl32/-/opengl32-1.4.7.tgz","fileCount":6,"integrity":"sha512-L4y9SOQW18zNnKrowQaJqgiFZfpASBBmWuu3wzY2YpzYVYmul07hrxEa6BHGE6yEUMUo4LgMOh1Py1aPkCh3iw==","signatures":[{"sig":"MEUCIADZWLJSUkH22NUApJ+5Uzcz+bw6n0hBebhpB+JmvPfvAiEA+s4e5mQg4NId8dx7sBFpykTIE46kf00nSqHfNP67arQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163479},"main":"./index.ts","type":"module","module":"index.ts","shasum":"714ab0c0d0a59e5e1ab6a0e27a86967800b7181f","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example":"bun ./example/openGL32.ts","example:circle":"bun ./example/bouncingCircle.ts","example:physics":"bun ./example/physicsDemo.ts","example:pendulum":"bun ./example/nPendulum.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-L4y9SOQW18zNnKrowQaJqgiFZfpASBBmWuu3wzY2YpzYVYmul07hrxEa6BHGE6yEUMUo4LgMOh1Py1aPkCh3iw==","repository":{"url":"git://github.com/ObscuritySRL/bun-win32.git","type":"git","directory":"packages/opengl32"},"_npmVersion":"10.8.3","description":"Zero-dependency, zero-overhead Win32 OpenGL32 bindings for Bun (FFI) on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"@bun-win32/core":"1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opengl32_1.4.7_1775514760815_0.33949412004325263","host":"s3://npm-registry-packages-npm-production"}},"1.4.8":{"name":"@bun-win32/opengl32","version":"1.4.8","keywords":["bun","ffi","win32","windows","opengl32","bindings","typescript","dll"],"author":{"name":"Stev Peifer","email":"stev@bell.net"},"license":"MIT","_id":"@bun-win32/opengl32@1.4.8","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dist":{"shasum":"caaf2772e8ea23a3977275f1973cbf335220fe6a","tarball":"https://registry.npmjs.org/@bun-win32/opengl32/-/opengl32-1.4.8.tgz","fileCount":6,"integrity":"sha512-S6oRbXbLxXxL6Oynbz9UTbp+ZLT5WyRaUBXtB/JotxPnO0DRUc/O6yIyx3hrIOIgZ1Wnb3BH4Tou7xfBXkG5Sg==","signatures":[{"sig":"MEUCIQCXIx+hXqcagRO+YF9MOhp1EmVkVY1JJE/WWTUjp2dcgQIgP3/2nTBs35nyGRxYrCVT5b5V+tJiKG7Mm2MYE9Qo0wc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163827},"main":"./index.ts","type":"module","module":"index.ts","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"gitHead":"f86f0df557aa6cfee8907bf3af5592855a854c15","private":false,"scripts":{"example":"bun ./example/openGL32.ts","example:circle":"bun ./example/bouncingCircle.ts","example:physics":"bun ./example/physicsDemo.ts","example:pendulum":"bun ./example/nPendulum.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"repository":{"url":"git://github.com/ObscuritySRL/bun-win32.git","type":"git","directory":"packages/opengl32"},"_npmVersion":"10.1.0","description":"Zero-dependency, zero-overhead Win32 OpenGL32 bindings for Bun (FFI) on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"20.8.0","dependencies":{"@bun-win32/core":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opengl32_1.4.8_1775584510279_0.7472426182833796","host":"s3://npm-registry-packages-npm-production"}},"1.4.9":{"name":"@bun-win32/opengl32","version":"1.4.9","keywords":["bun","ffi","win32","windows","opengl32","bindings","typescript","dll"],"author":"Stev Peifer <stev@bell.net>","license":"MIT","_id":"@bun-win32/opengl32@1.4.9","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dist":{"shasum":"a7a5411ca21812f839ea7083f43bd07c33feb487","tarball":"https://registry.npmjs.org/@bun-win32/opengl32/-/opengl32-1.4.9.tgz","fileCount":6,"integrity":"sha512-KLOWyMpK1GrbiqAXAmIuaZgPhx/QvkghqrKiEzgu0Fl+E6M/msD45jaLgMR/SFihGioevbMn3+o8NTm0DUxxSw==","signatures":[{"sig":"MEYCIQCLcgmKj8VSXvqcTwhn65CUrLQAe06wRGSQw2Bt68J7gAIhAMYEhUL5ZNwgmNTD0dE+GUdYsIJAVDi5dCsP8D1WDr1T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163884},"main":"./index.ts","type":"module","module":"index.ts","shasum":"a7a5411ca21812f839ea7083f43bd07c33feb487","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example":"bun ./example/openGL32.ts","example:circle":"bun ./example/bouncingCircle.ts","example:physics":"bun ./example/physicsDemo.ts","example:pendulum":"bun ./example/nPendulum.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-KLOWyMpK1GrbiqAXAmIuaZgPhx/QvkghqrKiEzgu0Fl+E6M/msD45jaLgMR/SFihGioevbMn3+o8NTm0DUxxSw==","repository":{"url":"git://github.com/ObscuritySRL/bun-win32.git","type":"git","directory":"packages/opengl32"},"_npmVersion":"10.8.3","description":"Zero-dependency, zero-overhead Win32 OpenGL32 bindings for Bun (FFI) on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"@bun-win32/core":"1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opengl32_1.4.9_1775616191632_0.9685861354536613","host":"s3://npm-registry-packages-npm-production"}},"1.4.10":{"name":"@bun-win32/opengl32","version":"1.4.10","keywords":["bun","ffi","win32","windows","opengl32","bindings","typescript","dll"],"author":"Stev Peifer <stev@bell.net>","license":"MIT","_id":"@bun-win32/opengl32@1.4.10","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dist":{"shasum":"7813217fabad6f8be1f634ac946f1927c4c3eb63","tarball":"https://registry.npmjs.org/@bun-win32/opengl32/-/opengl32-1.4.10.tgz","fileCount":6,"integrity":"sha512-DD3xpPBvf1G69eQYcEh5NWkKyGbjZAwWppUxRRG4GPYVmloSR5/rpQ+xgmESJLakRhFYPkme8cj4Nhew/xj/lA==","signatures":[{"sig":"MEYCIQDCqTs8eo8bJd6o6NWnsNGJTJrCrYaPX2XgKquPghJ04gIhALzgKvcnTBmP+VA1wm0e1M1mkqwN/fM3BiOp+FM0yq+v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163895},"main":"./index.ts","type":"module","module":"index.ts","shasum":"7813217fabad6f8be1f634ac946f1927c4c3eb63","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example:pendulum":"bun ./example/pendulum.ts","example:capabilities":"bun ./example/capabilities.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-DD3xpPBvf1G69eQYcEh5NWkKyGbjZAwWppUxRRG4GPYVmloSR5/rpQ+xgmESJLakRhFYPkme8cj4Nhew/xj/lA==","repository":{"url":"git://github.com/ObscuritySRL/bun-win32.git","type":"git","directory":"packages/opengl32"},"_npmVersion":"10.8.3","description":"Zero-dependency, zero-overhead Win32 OpenGL32 bindings for Bun (FFI) on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"@bun-win32/core":"1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@bun-win32/gdi32":"1.0.11","@bun-win32/user32":"3.0.19","@bun-win32/kernel32":"1.0.20"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opengl32_1.4.10_1775687630079_0.4539264246567789","host":"s3://npm-registry-packages-npm-production"}},"1.4.11":{"name":"@bun-win32/opengl32","version":"1.4.11","keywords":["bun","ffi","win32","windows","opengl32","bindings","typescript","dll"],"author":"Stev Peifer <stev@bell.net>","license":"MIT","_id":"@bun-win32/opengl32@1.4.11","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dist":{"shasum":"bf5efcc02950b16c3548f3b0e4124447a7ecf282","tarball":"https://registry.npmjs.org/@bun-win32/opengl32/-/opengl32-1.4.11.tgz","fileCount":6,"integrity":"sha512-aKlpbPqsa77qLxhliju92xT73wlNpMZGxhXcI32clVMxrEdoliW8SzCAvgwBWGTCi5Q99FO375UYBZjPgmsALw==","signatures":[{"sig":"MEUCIEgRc0LQ6QoVUBIt76AmsZwwZCMyPxUGR7D7tQl1+4XnAiEA1cS5M63P9yIJ4giCPgD+/F4u8xR3fDaMJh6qGyDICBg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163902},"main":"./index.ts","type":"module","module":"index.ts","shasum":"bf5efcc02950b16c3548f3b0e4124447a7ecf282","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example:pendulum":"bun ./example/pendulum.ts","example:capabilities":"bun ./example/capabilities.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-aKlpbPqsa77qLxhliju92xT73wlNpMZGxhXcI32clVMxrEdoliW8SzCAvgwBWGTCi5Q99FO375UYBZjPgmsALw==","repository":{"url":"git://github.com/ObscuritySRL/bun-win32.git","type":"git","directory":"packages/opengl32"},"_npmVersion":"10.8.3","description":"Zero-dependency, zero-overhead Win32 OpenGL32 bindings for Bun (FFI) on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"@bun-win32/core":"1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@bun-win32/gdi32":"1.0.13","@bun-win32/user32":"3.0.21","@bun-win32/kernel32":"1.0.25"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opengl32_1.4.11_1780581917803_0.3915443216212622","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@bun-win32/opengl32","version":"2.0.0","keywords":["bun","ffi","win32","windows","opengl32","bindings","typescript","dll"],"author":"Stev Peifer <stev.p@outlook.com>","license":"MIT","_id":"@bun-win32/opengl32@2.0.0","maintainers":[{"name":"obscuritysrl","email":"stev.p@outlook.com"}],"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dist":{"shasum":"39cfede8037bcfc4c53d6415e382f9f8517c1219","tarball":"https://registry.npmjs.org/@bun-win32/opengl32/-/opengl32-2.0.0.tgz","fileCount":6,"integrity":"sha512-4QYKJvrYqHwp8Vsg9qmL9AIs1wk8RkFFR+UCNGHqfFKPA/bn21yNssIcaMed7ho1U9rXnCFFjQpcSnZlCUxMYw==","signatures":[{"sig":"MEUCIQDcNCDwPEUN5Zt4djap4mj20imSDrqiwCT2hKeaAxGf6QIgaH4WU4nMLUgACipzF1+/9o89f4MpLiJkuyzEB8Gmsng=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164979},"main":"./index.ts","type":"module","module":"index.ts","shasum":"39cfede8037bcfc4c53d6415e382f9f8517c1219","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example:pendulum":"bun ./example/pendulum.ts","example:capabilities":"bun ./example/capabilities.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev.p@outlook.com"},"_integrity":"sha512-4QYKJvrYqHwp8Vsg9qmL9AIs1wk8RkFFR+UCNGHqfFKPA/bn21yNssIcaMed7ho1U9rXnCFFjQpcSnZlCUxMYw==","repository":{"url":"git://github.com/ObscuritySRL/bun-win32.git","type":"git","directory":"packages/opengl32"},"_npmVersion":"10.8.3","description":"Zero-dependency, zero-overhead Win32 OpenGL32 bindings for Bun (FFI) on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"26.3.0","dependencies":{"@bun-win32/core":"2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@bun-win32/gdi32":"2.0.0","@bun-win32/user32":"4.0.0","@bun-win32/kernel32":"2.0.0"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opengl32_2.0.0_1782435488481_0.7330031295313413","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"author":"Stev Peifer <stev.p@outlook.com>","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dependencies":{"@bun-win32/core":"2.0.1"},"description":"Zero-dependency, zero-overhead Win32 OpenGL32 bindings for Bun (FFI) on Windows.","devDependencies":{"@bun-win32/gdi32":"2.0.1","@bun-win32/kernel32":"2.0.1","@bun-win32/user32":"4.0.1","@types/bun":"latest"},"exports":{".":"./index.ts"},"license":"MIT","module":"index.ts","name":"@bun-win32/opengl32","peerDependencies":{"typescript":"^5"},"private":false,"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","repository":{"type":"git","url":"git://github.com/ObscuritySRL/bun-win32.git","directory":"packages/opengl32"},"type":"module","version":"2.0.1","main":"./index.ts","keywords":["bun","ffi","win32","windows","opengl32","bindings","typescript","dll"],"sideEffects":false,"engines":{"bun":">=1.1.0"},"scripts":{"example:pendulum":"bun ./example/pendulum.ts","example:capabilities":"bun ./example/capabilities.ts"},"_id":"@bun-win32/opengl32@2.0.1","_integrity":"sha512-v39msnFT7uRAfZ+rfWGpd5WdDwsPBwOCBqfTCiC1DFHgKGCk1zeZcRdfKp6MxvW8yR/t8sU9kqzc14drKEwIvA==","_nodeVersion":"26.3.0","_npmVersion":"10.8.3","shasum":"43236f4500009007f2b2456502f962d2ef1aef03","dist":{"integrity":"sha512-v39msnFT7uRAfZ+rfWGpd5WdDwsPBwOCBqfTCiC1DFHgKGCk1zeZcRdfKp6MxvW8yR/t8sU9kqzc14drKEwIvA==","shasum":"43236f4500009007f2b2456502f962d2ef1aef03","tarball":"https://registry.npmjs.org/@bun-win32/opengl32/-/opengl32-2.0.1.tgz","fileCount":6,"unpackedSize":164979,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDBWu2P6PQ0HYN5pidT4ygjh4H8jmmmI1sgLReVtJv4gwIgPSWEtRkThxPeUYP6AbPNujcQdy9eRRVOVT1sSwRrRJs="}]},"_npmUser":{"name":"obscuritysrl","email":"stev.p@outlook.com"},"directories":{},"maintainers":[{"name":"obscuritysrl","email":"stev.p@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/opengl32_2.0.1_1782438148629_0.34465737194060386"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-05T02:23:17.731Z","modified":"2026-06-26T01:42:28.877Z","1.4.2":"2026-04-05T02:23:17.980Z","1.4.3":"2026-04-05T02:38:20.257Z","1.4.4":"2026-04-05T02:56:44.754Z","1.4.5":"2026-04-05T16:47:39.000Z","1.4.6":"2026-04-05T16:49:51.131Z","1.4.7":"2026-04-06T22:32:40.971Z","1.4.8":"2026-04-07T17:55:10.413Z","1.4.9":"2026-04-08T02:43:11.781Z","1.4.10":"2026-04-08T22:33:50.242Z","1.4.11":"2026-06-04T14:05:17.968Z","2.0.0":"2026-06-26T00:58:08.624Z","2.0.1":"2026-06-26T01:42:28.765Z"},"bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"author":"Stev Peifer <stev.p@outlook.com>","license":"MIT","homepage":"https://github.com/ObscuritySRL/bun-win32#readme","keywords":["bun","ffi","win32","windows","opengl32","bindings","typescript","dll"],"repository":{"type":"git","url":"git://github.com/ObscuritySRL/bun-win32.git","directory":"packages/opengl32"},"description":"Zero-dependency, zero-overhead Win32 OpenGL32 bindings for Bun (FFI) on Windows.","maintainers":[{"name":"obscuritysrl","email":"stev.p@outlook.com"}],"readme":"# @bun-win32/opengl32\r\n\r\nZero-dependency, zero-overhead OpenGL 1.1 + WGL bindings for [Bun](https://bun.sh) on Windows.\r\n\r\n## Overview\r\n\r\n`@bun-win32/opengl32` exposes the OpenGL 1.1 and WGL entry points exported by `opengl32.dll` using [Bun](https://bun.sh)'s FFI. It provides a single class, `OpenGL32`, which lazily binds native symbols on first use. You can optionally preload a subset or all symbols up-front via `Preload()`.\r\n\r\nThe bindings are strongly typed for a smooth DX in TypeScript.\r\n\r\n## Features\r\n\r\n- [Bun](https://bun.sh)-first ergonomics on Windows 10/11.\r\n- Direct FFI to `opengl32.dll` (OpenGL 1.1 + WGL).\r\n- In-source docs in `structs/OpenGL32.ts` with links to Microsoft Docs.\r\n- Lazy binding on first call; optional eager preload (`OpenGL32.Preload()`).\r\n- No wrapper overhead; calls map 1:1 to native APIs.\r\n- Strongly-typed Win32 aliases (see `types/OpenGL32.ts`).\r\n\r\n## Requirements\r\n\r\n- A current OpenGL context for most `gl*` calls (via WGL or your windowing library)\r\n- [Bun](https://bun.sh) runtime\r\n- Windows 10 or later\r\n\r\n## Installation\r\n\r\n```sh\r\nbun add @bun-win32/opengl32\r\n```\r\n\r\n## Quick Start\r\n\r\n```ts\r\nimport OpenGL32, { GLenum } from '@bun-win32/opengl32';\r\n\r\n// Option A: call methods directly (lazy bind on first use)\r\nOpenGL32.glMatrixMode(GLenum.GL_MODELVIEW);\r\n\r\n// Option B: bind a subset (or everything) up-front\r\nOpenGL32.Preload(['glMatrixMode', 'glClear', 'wglGetProcAddress']);\r\n\r\n// If you already have a current context, you can query strings:\r\n// const vendorPtr = OpenGL32.glGetString(GLenum.GL_VENDOR);\r\n// Convert the returned C string pointer to a JS string with your FFI helper.\r\n```\r\n\r\n## OpenGL Extensions\r\n\r\nOpenGL extensions (OpenGL 1.5+, 2.0+, etc.) are not exported by `opengl32.dll` and must be loaded at runtime via `wglGetProcAddress`. This package provides built-in support for common extensions.\r\n\r\n**Important**: Extensions require an active OpenGL context. Call `PreloadExtensions()` only after `wglMakeCurrent()` succeeds.\r\n\r\n```ts\r\n// 1. Create and activate an OpenGL context first\r\nconst hglrc = OpenGL32.wglCreateContext(hdc);\r\nOpenGL32.wglMakeCurrent(hdc, hglrc);\r\n\r\n// 2. Now preload extensions (context must be current!)\r\nOpenGL32.PreloadExtensions(['wglSwapIntervalEXT', 'glGenBuffers', 'glCreateShader']);\r\n\r\n// Or preload all available extensions at once\r\nOpenGL32.PreloadExtensions();\r\n\r\n// 3. Use extensions directly\r\nOpenGL32.wglSwapIntervalEXT(1); // Enable VSync\r\n```\r\n\r\n### Available Extensions\r\n\r\n- **WGL**: `wglSwapIntervalEXT`, `wglGetSwapIntervalEXT`, `wglChoosePixelFormatARB`, `wglCreateContextAttribsARB`, `wglGetExtensionsStringARB`, `wglGetExtensionsStringEXT`\r\n- **VBO** (OpenGL 1.5+): `glGenBuffers`, `glBindBuffer`, `glBufferData`, `glDeleteBuffers`, `glMapBuffer`, `glUnmapBuffer`, etc.\r\n- **Shaders** (OpenGL 2.0+): `glCreateShader`, `glCompileShader`, `glCreateProgram`, `glLinkProgram`, `glUseProgram`, `glUniform*`, etc.\r\n- **VAO** (OpenGL 3.0+): `glGenVertexArrays`, `glBindVertexArray`, `glDeleteVertexArrays`\r\n- **FBO** (OpenGL 3.0+): `glGenFramebuffers`, `glBindFramebuffer`, `glFramebufferTexture2D`, `glCheckFramebufferStatus`, etc.\r\n\r\n> [!NOTE]\r\n> AI agents: see `AI.md` for the package binding contract and source-navigation guidance. It explains how to use the package without scanning the entire implementation.\r\n\r\n## Examples\r\n\r\nRun the included examples:\r\n\r\n```sh\r\nbun run example              # Basic OpenGL32 usage\r\nbun run example:circle       # Bouncing circle demo\r\nbun run example:physics      # Physics simulation\r\nbun run example:pendulum     # N-pendulum demo\r\n```\r\n\r\n## Notes\r\n\r\n- Either rely on lazy binding or call `OpenGL32.Preload()`.\r\n- Most `gl*` entry points require a current context; without one they may no-op or fail.\r\n- Extensions and newer functionality must be loaded via `wglGetProcAddress`.\r\n- Windows only. Bun runtime required.\n- **SAL types & naming:** nullability is in the **type** — `Optional<T>` (formally optional, SAL `_*opt_`) and `Nullable<T>` (plain `[in]`/`[out]` the docs say can be NULL), the null sentinel derived from `T` (`null` for pointers `LP*`/`P*`, `0n` for handles/by-value addresses); direction is in the **parameter name** — `_out` (`_Out_`), `_in_out` (`_Inout_`), `_In_` bare. See `AI.md` and the repo `AGENTS.md`.\n","readmeFilename":"README.md"}