blob: 196d1798fba5e3be298de0c83a89aeccedb04c07 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
/*
* Copyright (c) 2022, Luke Wilde <lukew@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibJS/Forward.h>
namespace Web::WebGL {
enum class WebGLPowerPreference {
Default,
LowPower,
HighPerformance,
};
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#WEBGLCONTEXTATTRIBUTES
struct WebGLContextAttributes {
bool alpha { true };
bool depth { true };
bool stencil { false };
bool antialias { true };
bool premultiplied_alpha { true };
bool preserve_drawing_buffer { false };
WebGLPowerPreference power_preference { WebGLPowerPreference::Default };
bool fail_if_major_performance_caveat { false };
bool desynchronized { false };
};
JS::ThrowCompletionOr<WebGLContextAttributes> convert_value_to_context_attributes_dictionary(JS::VM&, JS::Value value);
}
|