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 "../utility/module.hpp"
10#include "../bigint.hpp"
11#include <unordered_set>
12#include <mutex>
13#include <tuple>
14
15namespace hi::inline v1 {
16class gfx_system;
17
21public:
22 gfx_system &system;
23
24 std::string deviceName = "<no device>";
25 uint32_t vendorID = 0;
26 uint32_t deviceID = 0;
27 uuid deviceUUID = {};
28
29 std::string string() const noexcept;
30
31 gfx_device(gfx_system &system) noexcept;
32 virtual ~gfx_device();
33
34 gfx_device(const gfx_device &) = delete;
35 gfx_device &operator=(const gfx_device &) = delete;
36 gfx_device(gfx_device &&) = delete;
37 gfx_device &operator=(gfx_device &&) = delete;
38
46 virtual int score(gfx_surface const &surface) const = 0;
47
48 virtual void log_memory_usage() const noexcept {}
49};
50
51} // namespace hi::inline v1
DOXYGEN BUG.
Definition algorithm.hpp:13
Definition gfx_device.hpp:20
virtual int score(gfx_surface const &surface) const =0
Definition gfx_surface.hpp:16
Graphics system.
Definition gfx_system.hpp:20