Browse Source

LibWeb: Add WebGLUniformLocation

Jelle Raaijmakers 8 tháng trước cách đây
mục cha
commit
889e7942fa

+ 1 - 0
Libraries/LibWeb/CMakeLists.txt

@@ -788,6 +788,7 @@ set(SOURCES
     WebGL/WebGLRenderingContextBase.cpp
     WebGL/WebGLShader.cpp
     WebGL/WebGLTexture.cpp
+    WebGL/WebGLUniformLocation.cpp
     WebIDL/AbstractOperations.cpp
     WebIDL/Buffers.cpp
     WebIDL/CallbackType.cpp

+ 21 - 0
Libraries/LibWeb/WebGL/WebGLUniformLocation.cpp

@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2024, Jelle Raaijmakers <jelle@ladybird.org>
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
+#include <LibWeb/Bindings/WebGLUniformLocationPrototype.h>
+#include <LibWeb/WebGL/WebGLUniformLocation.h>
+
+namespace Web::WebGL {
+
+JS_DEFINE_ALLOCATOR(WebGLUniformLocation);
+
+WebGLUniformLocation::WebGLUniformLocation(JS::Realm& realm)
+    : WebGLObject(realm)
+{
+}
+
+WebGLUniformLocation::~WebGLUniformLocation() = default;
+
+}

+ 24 - 0
Libraries/LibWeb/WebGL/WebGLUniformLocation.h

@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2024, Jelle Raaijmakers <jelle@ladybird.org>
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
+#pragma once
+
+#include <LibWeb/WebGL/WebGLObject.h>
+
+namespace Web::WebGL {
+
+class WebGLUniformLocation final : public WebGLObject {
+    WEB_PLATFORM_OBJECT(WebGLUniformLocation, WebGLObject);
+    JS_DECLARE_ALLOCATOR(WebGLUniformLocation);
+
+public:
+    virtual ~WebGLUniformLocation();
+
+protected:
+    explicit WebGLUniformLocation(JS::Realm&);
+};
+
+}

+ 6 - 0
Libraries/LibWeb/WebGL/WebGLUniformLocation.idl

@@ -0,0 +1,6 @@
+#import <WebGL/WebGLObject.idl>
+
+// https://registry.khronos.org/webgl/specs/latest/1.0/#5.10
+[Exposed=(Window,Worker)]
+interface WebGLUniformLocation {
+};

+ 1 - 0
Libraries/LibWeb/idl_files.cmake

@@ -368,6 +368,7 @@ libweb_js_bindings(WebGL/WebGLRenderbuffer)
 libweb_js_bindings(WebGL/WebGLRenderingContext)
 libweb_js_bindings(WebGL/WebGLShader)
 libweb_js_bindings(WebGL/WebGLTexture)
+libweb_js_bindings(WebGL/WebGLUniformLocation)
 libweb_js_bindings(WebIDL/DOMException)
 libweb_js_bindings(WebSockets/WebSocket)
 libweb_js_bindings(WebVTT/VTTCue)

+ 1 - 0
Meta/gn/secondary/Userland/Libraries/LibWeb/idl_files.gni

@@ -380,6 +380,7 @@ standard_idl_files = [
   "//Userland/Libraries/LibWeb/WebGL/WebGLRenderingContext.idl",
   "//Userland/Libraries/LibWeb/WebGL/WebGLShader.idl",
   "//Userland/Libraries/LibWeb/WebGL/WebGLTexture.idl",
+  "//Userland/Libraries/LibWeb/WebGL/WebGLUniformLocation.idl",
   "//Userland/Libraries/LibWeb/WebIDL/DOMException.idl",
   "//Userland/Libraries/LibWeb/WebSockets/WebSocket.idl",
   "//Userland/Libraries/LibWeb/WebVTT/VTTCue.idl",

+ 1 - 0
Tests/LibWeb/Text/expected/all-window-properties.txt

@@ -399,6 +399,7 @@ WebGLRenderbuffer
 WebGLRenderingContext
 WebGLShader
 WebGLTexture
+WebGLUniformLocation
 WebKitCSSMatrix
 WebSocket
 WheelEvent