LibWeb/WebGL: Implement drawingBufferWidth and drawingBufferHeight

This commit is contained in:
Aliaksandr Kalenik 2024-12-10 04:52:05 +01:00 committed by Alexander Kalenik
parent 4dc65c57a0
commit c199be061a
Notes: github-actions[bot] 2024-12-13 08:21:09 +00:00
5 changed files with 32 additions and 2 deletions

View file

@ -155,4 +155,16 @@ JS::Object* WebGL2RenderingContext::get_extension(String const&)
return nullptr;
}
WebIDL::Long WebGL2RenderingContext::drawing_buffer_width() const
{
auto size = canvas_for_binding()->bitmap_size_for_canvas();
return size.width();
}
WebIDL::Long WebGL2RenderingContext::drawing_buffer_height() const
{
auto size = canvas_for_binding()->bitmap_size_for_canvas();
return size.height();
}
}

View file

@ -44,6 +44,9 @@ public:
Optional<Vector<String>> get_supported_extensions() const;
JS::Object* get_extension(String const& name);
WebIDL::Long drawing_buffer_width() const;
WebIDL::Long drawing_buffer_height() const;
private:
virtual void initialize(JS::Realm&) override;

View file

@ -171,4 +171,16 @@ JS::Object* WebGLRenderingContext::get_extension(String const&)
return nullptr;
}
WebIDL::Long WebGLRenderingContext::drawing_buffer_width() const
{
auto size = canvas_for_binding()->bitmap_size_for_canvas();
return size.width();
}
WebIDL::Long WebGLRenderingContext::drawing_buffer_height() const
{
auto size = canvas_for_binding()->bitmap_size_for_canvas();
return size.height();
}
}

View file

@ -43,6 +43,9 @@ public:
Optional<Vector<String>> get_supported_extensions() const;
JS::Object* get_extension(String const& name);
WebIDL::Long drawing_buffer_width() const;
WebIDL::Long drawing_buffer_height() const;
private:
virtual void initialize(JS::Realm&) override;

View file

@ -32,8 +32,8 @@ interface mixin WebGLRenderingContextBase {
// FIXME: The type should be (HTMLCanvasElement or OffscreenCanvas).
[ImplementedAs=canvas_for_binding] readonly attribute HTMLCanvasElement canvas;
[FIXME] readonly attribute GLsizei drawingBufferWidth;
[FIXME] readonly attribute GLsizei drawingBufferHeight;
readonly attribute GLsizei drawingBufferWidth;
readonly attribute GLsizei drawingBufferHeight;
[FIXME] readonly attribute GLenum drawingBufferFormat;
[FIXME] attribute PredefinedColorSpace drawingBufferColorSpace;