Line data Source code
1 : // Copyright (c) 2025 Milton McDonald
2 : // This source code is licensed under the MIT License. See LICENSE file in the
3 : // project root for details.
4 :
5 : #include "gl-clear-flags.h"
6 :
7 : using graphics_engine::gl_types::GLClearBit;
8 :
9 : using std::to_underlying;
10 :
11 : namespace graphics_engine::gl_clear_flags {
12 :
13 5 : auto GLClearFlags::Set(GLClearBit bit) -> GLClearFlags& {
14 5 : flags_.set(to_underlying(bit));
15 3 : return *this;
16 : }
17 :
18 5 : auto GLClearFlags::Reset(GLClearBit bit) -> GLClearFlags& {
19 5 : flags_.reset(to_underlying(bit));
20 3 : return *this;
21 : }
22 :
23 11 : auto GLClearFlags::Test(GLClearBit bit) const -> bool {
24 11 : return flags_.test(to_underlying(bit));
25 : }
26 :
27 1 : auto CreateIGLClearFlags() -> IGLClearFlagsPtr {
28 1 : return std::make_unique<GLClearFlags>();
29 : }
30 :
31 : } // namespace graphics_engine::gl_clear_flags
|