HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
gfx_device.hpp
1// Copyright Take Vos 2021.
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
4
5#pragma once
6
7#include "../GUI/gui_window.hpp"
8#include "gfx_system_globals.hpp"
9#include "../exception.hpp"
10#include "../cast.hpp"
11#include "../bigint.hpp"
12#include "../unfair_recursive_mutex.hpp"
13#include <unordered_set>
14#include <mutex>
15#include <tuple>
16
17namespace hi::inline v1 {
18class gfx_system;
19
23public:
24 gfx_system &system;
25
26 std::string deviceName = "<no device>";
27 uint32_t vendorID = 0;
28 uint32_t deviceID = 0;
29 uuid deviceUUID = {};
30
31 std::string string() const noexcept;
32
33 gfx_device(gfx_system &system) noexcept;
34 virtual ~gfx_device();
35
36 gfx_device(const gfx_device &) = delete;
37 gfx_device &operator=(const gfx_device &) = delete;
38 gfx_device(gfx_device &&) = delete;
39 gfx_device &operator=(gfx_device &&) = delete;
40
48 virtual int score(gfx_surface const &surface) const = 0;
49
50 virtual void log_memory_usage() const noexcept {}
51};
52
53} // namespace hi::inline v1
DOXYGEN BUG.
Definition algorithm.hpp:15
Definition gfx_device.hpp:22
virtual int score(gfx_surface const &surface) const =0
Definition gfx_surface.hpp:16
Graphics system.
Definition gfx_system.hpp:21