summaryrefslogtreecommitdiff
path: root/plugingui/nativewindow.h
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2019-10-09 18:02:19 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2019-10-09 18:02:19 +0200
commit2d6cbf8a0bb81bfe55a7d4e04d53a704f93c6b2e (patch)
tree80bab0705a6d5aec8569a3ed626a33a6224cf4f0 /plugingui/nativewindow.h
parent9b7299412d10e68c8aacc5f0debb7c80bf874120 (diff)
Make FileBrowser window always-on-top and try to position it inside the plugin gui window rectangle.
Diffstat (limited to 'plugingui/nativewindow.h')
-rw-r--r--plugingui/nativewindow.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/plugingui/nativewindow.h b/plugingui/nativewindow.h
index 3995d43..400ff57 100644
--- a/plugingui/nativewindow.h
+++ b/plugingui/nativewindow.h
@@ -37,6 +37,8 @@
namespace GUI
{
+struct Point;
+
//! Interface class for native window implementations.
class NativeWindow
{
@@ -48,6 +50,9 @@ public:
//! It resizes the window and disallows user resizing.
virtual void setFixedSize(std::size_t width, std::size_t height) = 0;
+ //! Force window to stay on top of other windows
+ virtual void setAlwaysOnTop(bool always_on_top) = 0;
+
//! Set a new size of the window.
virtual void resize(std::size_t width, std::size_t height) = 0;
@@ -84,8 +89,12 @@ public:
//! \return A queue of shared pointers to events.
virtual EventQueue getEvents() = 0;
- // \returns the native window handle, it HWND on Win32 or Window id on X11
+ //! \returns the native window handle, it HWND on Win32 or Window id on X11
virtual void* getNativeWindowHandle() const = 0;
+
+ //! Translate a the local native window coordinate to a global screen
+ //! coordinate.
+ virtual Point translateToScreen(const Point& point) = 0;
};
} // GUI::