Open3D (C++ API)  0.19.0
Loading...
Searching...
No Matches
GLFWWindowSystem.h
Go to the documentation of this file.
1// ----------------------------------------------------------------------------
2// - Open3D: www.open3d.org -
3// ----------------------------------------------------------------------------
4// Copyright (c) 2018-2024 www.open3d.org
5// SPDX-License-Identifier: MIT
6// ----------------------------------------------------------------------------
7
8#pragma once
9
11
12struct GLFWwindow;
13
14namespace open3d {
15namespace visualization {
16namespace gui {
17
19public:
22
23 void Initialize() override;
24 void Uninitialize() override;
25
26 void WaitEventsTimeout(double timeout_secs) override;
27
28 Size GetScreenSize(OSWindow w) override;
29
31 int width,
32 int height,
33 const char* title,
34 int flags) override;
35 void DestroyWindow(OSWindow w) override;
36
37 void PostRedrawEvent(OSWindow w) override;
38
39 bool GetWindowIsVisible(OSWindow w) const override;
40 void ShowWindow(OSWindow w, bool show) override;
41
42 void RaiseWindowToTop(OSWindow w) override;
43 bool IsActiveWindow(OSWindow w) const override;
44
45 Point GetWindowPos(OSWindow w) const override;
46 void SetWindowPos(OSWindow w, int x, int y) override;
47
48 Size GetWindowSize(OSWindow w) const override;
49 void SetWindowSize(OSWindow w, int width, int height) override;
50
51 Size GetWindowFrameSize(OSWindow w) const override;
52
53 Size GetWindowSizePixels(OSWindow w) const override;
54 void SetWindowSizePixels(OSWindow w, const Size& size) override;
55
56 float GetWindowScaleFactor(OSWindow w) const override;
57 float GetUIScaleFactor(OSWindow w) const override;
58
59 void SetWindowTitle(OSWindow w, const char* title) override;
60
61 Point GetMousePosInWindow(OSWindow w) const override;
62 int GetMouseButtons(OSWindow w) const override;
63
64 void CancelUserClose(OSWindow w) override;
65
66 void* GetNativeDrawable(OSWindow w) override;
67
69
71 rendering::FilamentRenderer* renderer) override;
72
73 MenuBase* CreateOSMenu() override;
74
75 void SetClipboardText(OSWindow w, const char* text) override;
76 std::string GetClipboardText(OSWindow w) override;
77
78private:
79 static void DrawCallback(GLFWwindow* window);
80 static void ResizeCallback(GLFWwindow* window, int os_width, int os_height);
81 static void WindowMovedCallback(GLFWwindow* window, int os_x, int os_y);
82 static void RescaleCallback(GLFWwindow* window, float xscale, float yscale);
83 static void MouseMoveCallback(GLFWwindow* window, double x, double y);
84 static void MouseButtonCallback(GLFWwindow* window,
85 int button,
86 int action,
87 int mods);
88 static void MouseScrollCallback(GLFWwindow* window, double dx, double dy);
89 static void KeyCallback(
90 GLFWwindow* window, int key, int scancode, int action, int mods);
91 static void CharCallback(GLFWwindow* window, unsigned int utf32char);
92 static void DragDropCallback(GLFWwindow*, int count, const char* paths[]);
93 static void CloseCallback(GLFWwindow* window);
94};
95
96} // namespace gui
97} // namespace visualization
98} // namespace open3d
Window * o3d_window
Definition BitmapWindowSystem.cpp:30
Definition GLFWWindowSystem.h:18
Point GetWindowPos(OSWindow w) const override
Definition GLFWWindowSystem.cpp:232
void SetClipboardText(OSWindow w, const char *text) override
Definition GLFWWindowSystem.cpp:580
Size GetWindowFrameSize(OSWindow w) const override
Definition GLFWWindowSystem.cpp:260
std::string GetClipboardText(OSWindow w) override
Definition GLFWWindowSystem.cpp:584
void WaitEventsTimeout(double timeout_secs) override
Definition GLFWWindowSystem.cpp:134
Point GetMousePosInWindow(OSWindow w) const override
Definition GLFWWindowSystem.cpp:303
void SetWindowTitle(OSWindow w, const char *title) override
Definition GLFWWindowSystem.cpp:299
bool IsActiveWindow(OSWindow w) const override
Definition GLFWWindowSystem.cpp:228
void SetWindowSize(OSWindow w, int width, int height) override
Definition GLFWWindowSystem.cpp:256
void CancelUserClose(OSWindow w) override
Definition GLFWWindowSystem.cpp:325
void * GetNativeDrawable(OSWindow w) override
Definition GLFWWindowSystem.cpp:545
Size GetWindowSize(OSWindow w) const override
Definition GLFWWindowSystem.cpp:250
rendering::FilamentRenderer * CreateRenderer(OSWindow w) override
Definition GLFWWindowSystem.cpp:549
bool GetWindowIsVisible(OSWindow w) const override
Definition GLFWWindowSystem.cpp:212
Size GetScreenSize(OSWindow w) override
Definition GLFWWindowSystem.cpp:142
GLFWWindowSystem()
Definition GLFWWindowSystem.cpp:98
void ShowWindow(OSWindow w, bool show) override
Definition GLFWWindowSystem.cpp:216
~GLFWWindowSystem()
Definition GLFWWindowSystem.cpp:100
void SetWindowSizePixels(OSWindow w, const Size &size) override
Definition GLFWWindowSystem.cpp:273
void RaiseWindowToTop(OSWindow w) override
Definition GLFWWindowSystem.cpp:224
void SetWindowPos(OSWindow w, int x, int y) override
Definition GLFWWindowSystem.cpp:242
int GetMouseButtons(OSWindow w) const override
Definition GLFWWindowSystem.cpp:310
Size GetWindowSizePixels(OSWindow w) const override
Definition GLFWWindowSystem.cpp:267
void Initialize() override
Definition GLFWWindowSystem.cpp:102
float GetUIScaleFactor(OSWindow w) const override
Definition GLFWWindowSystem.cpp:293
void ResizeRenderer(OSWindow w, rendering::FilamentRenderer *renderer) override
Definition GLFWWindowSystem.cpp:555
void Uninitialize() override
Definition GLFWWindowSystem.cpp:132
void PostRedrawEvent(OSWindow w) override
Definition GLFWWindowSystem.cpp:194
float GetWindowScaleFactor(OSWindow w) const override
Definition GLFWWindowSystem.cpp:278
MenuBase * CreateOSMenu() override
Definition GLFWWindowSystem.cpp:572
OSWindow CreateOSWindow(Window *o3d_window, int width, int height, const char *title, int flags) override
Definition GLFWWindowSystem.cpp:157
void DestroyWindow(OSWindow w) override
Definition GLFWWindowSystem.cpp:190
Definition MenuBase.h:26
Definition WindowSystem.h:29
void * OSWindow
Definition WindowSystem.h:31
int width
Definition FilePCD.cpp:53
int size
Definition FilePCD.cpp:41
int height
Definition FilePCD.cpp:54
int count
Definition FilePCD.cpp:43
Definition PinholeCameraIntrinsic.cpp:16