/* * Copyright (c) 2022, Luke Wilde * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include namespace Web::WebGL { class WebGLRenderingContext : public WebGLRenderingContextBase , public Bindings::Wrappable { public: using WrapperType = Bindings::WebGLRenderingContextWrapper; static JS::ThrowCompletionOr> create(HTML::HTMLCanvasElement& canvas_element, JS::Value options); virtual ~WebGLRenderingContext() override = default; private: WebGLRenderingContext(HTML::HTMLCanvasElement& canvas_element, NonnullOwnPtr context, WebGLContextAttributes context_creation_parameters, WebGLContextAttributes actual_context_parameters) : WebGLRenderingContextBase(canvas_element, move(context), move(context_creation_parameters), move(actual_context_parameters)) { } }; }