mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-25 00:50:22 +00:00
LibWeb: Add WebGLObject interface
This commit is contained in:
parent
e8d91f2234
commit
e6ee7f3e64
Notes:
github-actions[bot]
2024-11-13 10:43:42 +00:00
Author: https://github.com/gmta Commit: https://github.com/LadybirdBrowser/ladybird/commit/e6ee7f3e642 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2308
7 changed files with 59 additions and 0 deletions
|
@ -779,6 +779,7 @@ set(SOURCES
|
|||
WebGL/OpenGLContext.cpp
|
||||
WebGL/WebGLContextAttributes.cpp
|
||||
WebGL/WebGLContextEvent.cpp
|
||||
WebGL/WebGLObject.cpp
|
||||
WebGL/WebGLRenderingContext.cpp
|
||||
WebGL/WebGLRenderingContextBase.cpp
|
||||
WebIDL/AbstractOperations.cpp
|
||||
|
|
18
Libraries/LibWeb/WebGL/WebGLObject.cpp
Normal file
18
Libraries/LibWeb/WebGL/WebGLObject.cpp
Normal file
|
@ -0,0 +1,18 @@
|
|||
/*
|
||||
* Copyright (c) 2024, Jelle Raaijmakers <jelle@ladybird.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include <LibWeb/WebGL/WebGLObject.h>
|
||||
|
||||
namespace Web::WebGL {
|
||||
|
||||
WebGLObject::WebGLObject(JS::Realm& realm)
|
||||
: Bindings::PlatformObject(realm)
|
||||
{
|
||||
}
|
||||
|
||||
WebGLObject::~WebGLObject() = default;
|
||||
|
||||
}
|
32
Libraries/LibWeb/WebGL/WebGLObject.h
Normal file
32
Libraries/LibWeb/WebGL/WebGLObject.h
Normal file
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
* Copyright (c) 2024, Jelle Raaijmakers <jelle@ladybird.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <LibWeb/Bindings/PlatformObject.h>
|
||||
|
||||
namespace Web::WebGL {
|
||||
|
||||
class WebGLObject : public Bindings::PlatformObject {
|
||||
WEB_PLATFORM_OBJECT(WebGLRenderingContextBase, Bindings::PlatformObject);
|
||||
|
||||
public:
|
||||
virtual ~WebGLObject();
|
||||
|
||||
String label() const { return m_label; }
|
||||
void set_label(String const& label) { m_label = label; }
|
||||
|
||||
protected:
|
||||
explicit WebGLObject(JS::Realm&);
|
||||
|
||||
bool invalidated() const { return m_invalidated; }
|
||||
|
||||
private:
|
||||
bool m_invalidated { false };
|
||||
String m_label;
|
||||
};
|
||||
|
||||
}
|
5
Libraries/LibWeb/WebGL/WebGLObject.idl
Normal file
5
Libraries/LibWeb/WebGL/WebGLObject.idl
Normal file
|
@ -0,0 +1,5 @@
|
|||
// https://registry.khronos.org/webgl/specs/latest/1.0/#5.3
|
||||
[Exposed=(Window,Worker)]
|
||||
interface WebGLObject {
|
||||
attribute USVString label;
|
||||
};
|
|
@ -360,6 +360,7 @@ libweb_js_bindings(WebAudio/OfflineAudioContext)
|
|||
libweb_js_bindings(WebAudio/OscillatorNode)
|
||||
libweb_js_bindings(WebAudio/PeriodicWave)
|
||||
libweb_js_bindings(WebGL/WebGLContextEvent)
|
||||
libweb_js_bindings(WebGL/WebGLObject)
|
||||
libweb_js_bindings(WebGL/WebGLRenderingContext)
|
||||
libweb_js_bindings(WebIDL/DOMException)
|
||||
libweb_js_bindings(WebSockets/WebSocket)
|
||||
|
|
|
@ -372,6 +372,7 @@ standard_idl_files = [
|
|||
"//Userland/Libraries/LibWeb/WebAudio/OscillatorNode.idl",
|
||||
"//Userland/Libraries/LibWeb/WebAudio/PeriodicWave.idl",
|
||||
"//Userland/Libraries/LibWeb/WebGL/WebGLContextEvent.idl",
|
||||
"//Userland/Libraries/LibWeb/WebGL/WebGLObject.idl",
|
||||
"//Userland/Libraries/LibWeb/WebGL/WebGLRenderingContext.idl",
|
||||
"//Userland/Libraries/LibWeb/WebIDL/DOMException.idl",
|
||||
"//Userland/Libraries/LibWeb/WebSockets/WebSocket.idl",
|
||||
|
|
|
@ -391,6 +391,7 @@ WeakMap
|
|||
WeakRef
|
||||
WeakSet
|
||||
WebGLContextEvent
|
||||
WebGLObject
|
||||
WebGLRenderingContext
|
||||
WebKitCSSMatrix
|
||||
WebSocket
|
||||
|
|
Loading…
Reference in a new issue