My Project
 
Loading...
Searching...
No Matches
i-gl-clear-flags.h
Go to the documentation of this file.
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#ifndef ENGINE_LIB_I_GL_CLEAR_FLAGS_H_
6#define ENGINE_LIB_I_GL_CLEAR_FLAGS_H_
7
8#include <memory>
9
10#include "dll-export.h"
11#include "gl-types.h"
12
14
16 public:
17 virtual ~IGLClearFlags() = default;
18
19 virtual auto Set(gl_types::GLClearBit bit) -> IGLClearFlags& = 0;
20 virtual auto Reset(gl_types::GLClearBit bit) -> IGLClearFlags& = 0;
21 [[nodiscard]] virtual auto Test(gl_types::GLClearBit bit) const -> bool = 0;
22};
23
24using IGLClearFlagsPtr = std::unique_ptr<IGLClearFlags>;
26
27} // namespace graphics_engine::gl_clear_flags
28
29#endif // ENGINE_LIB_I_GL_CLEAR_FLAGS_H_
Definition i-gl-clear-flags.h:15
virtual auto Set(gl_types::GLClearBit bit) -> IGLClearFlags &=0
virtual auto Reset(gl_types::GLClearBit bit) -> IGLClearFlags &=0
virtual auto Test(gl_types::GLClearBit bit) const -> bool=0
#define DLLEXPORT
Definition dll-export.h:19
Definition i-gl-clear-flags.h:13
DLLEXPORT auto CreateIGLClearFlags() -> IGLClearFlagsPtr
std::unique_ptr< IGLClearFlags > IGLClearFlagsPtr
Definition i-gl-clear-flags.h:24
GLClearBit
Definition gl-types.h:24