HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
Window_vulkan_macos.hpp
1// Copyright 2019 Pokitec
2// All rights reserved.
3
4#pragma once
5
6#include "TTauri/GUI/Window_vulkan.hpp"
7#include <unordered_map>
8
9namespace tt {
10class Application_macos;
11}
12
13namespace tt {
14
15class Window_vulkan_macos final : public Window_vulkan {
16public:
17 //HWND win32Window = nullptr;
18
21
23 Window_vulkan_macos &operator=(const Window_vulkan_macos &) = delete;
25 Window_vulkan_macos &operator=(Window_vulkan_macos &&) = delete;
26
27 void closingWindow() override;
28 void openingWindow() override;
29
30 void createWindow(const std::string &title, ivec extent);
31 //LRESULT windowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
32
33 static void createWindowClass();
34
35 //static const wchar_t *win32WindowClassName;
36 //static WNDCLASSW win32WindowClass;
37 //static bool win32WindowClassIsRegistered;
38 //static std::unordered_map<HWND, Window_vulkan_macos *> win32WindowMap;
39 static bool firstWindowHasBeenOpened;
40
41 vk::SurfaceKHR getSurface() const override;
42
43 void setCursor(Cursor cursor) noexcept override;
44
45 void closeWindow() override;
46
47 void minimizeWindow() override;
48
49 void maximizeWindow() override;
50
51 void normalizeWindow() override;
52
53 void setWindowSize(ivec extent) override {}
54
55 [[nodiscard]] std::string getTextFromClipboard() const noexcept override {
56 return "<clipboard>";
57 }
58
59 void setTextOnClipboard(std::string str) noexcept override { }
60
61
62private:
63 //void setOSWindowRectangleFromRECT(RECT aarect) noexcept;
64
65 //TRACKMOUSEEVENT trackMouseLeaveEventParameters;
66 bool trackingMouseLeaveEvent = false;
67
68 //static LRESULT CALLBACK _WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
69
74};
75
76}
Definition Application_macos.hpp:10
Definition Label.hpp:12
A 4D vector.
Definition ivec.hpp:37
Definition Window_vulkan.hpp:29
Definition Window_vulkan_macos.hpp:15
void closingWindow() override
void openingWindow() override
vk::SurfaceKHR getSurface() const override