WebGLRenderingContext.h [plain text]
#pragma once
#if ENABLE(WEBGL)
#include "WebGLRenderingContextBase.h"
#include <memory>
namespace WebCore {
class WebGLRenderingContext final : public WebGLRenderingContextBase {
WTF_MAKE_ISO_ALLOCATED(WebGLRenderingContext);
public:
static std::unique_ptr<WebGLRenderingContext> create(CanvasBase&, GraphicsContextGLAttributes);
static std::unique_ptr<WebGLRenderingContext> create(CanvasBase&, Ref<GraphicsContextGL>&&, GraphicsContextGLAttributes);
bool isWebGL1() const final { return true; }
WebGLExtension* getExtension(const String&) final;
Optional<Vector<String>> getSupportedExtensions() final;
WebGLAny getFramebufferAttachmentParameter(GCGLenum target, GCGLenum attachment, GCGLenum pname) final;
GCGLint getMaxDrawBuffers() final;
GCGLint getMaxColorAttachments() final;
void initializeVertexArrayObjects() final;
bool validateIndexArrayConservative(GCGLenum type, unsigned& numElementsRequired) final;
bool validateBlendEquation(const char* functionName, GCGLenum mode) final;
private:
WebGLRenderingContext(CanvasBase&, GraphicsContextGLAttributes);
WebGLRenderingContext(CanvasBase&, Ref<GraphicsContextGL>&&, GraphicsContextGLAttributes);
};
}
SPECIALIZE_TYPE_TRAITS_CANVASRENDERINGCONTEXT(WebCore::WebGLRenderingContext, isWebGL1())
#endif