summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKostadin Damyanov <maxmight@gmail.com>2015-06-20 15:35:54 +0300
committerKostadin Damyanov <maxmight@gmail.com>2015-06-20 15:35:54 +0300
commitb59e95ce1c9905af8c7d44b74082ac489520e9b2 (patch)
treeff25b4ac76b8708b05fc4cfa14a1fadd18a47082
parentd44dfc244099eafe40ff0d48abbcefd4271d029b (diff)
Haiku: implemet get_widow_size() get/set_window_position()
-rw-r--r--platform/haiku/os_haiku.cpp13
-rw-r--r--platform/haiku/os_haiku.h2
2 files changed, 14 insertions, 1 deletions
diff --git a/platform/haiku/os_haiku.cpp b/platform/haiku/os_haiku.cpp
index 7e4bb83177..1dc16f7e1c 100644
--- a/platform/haiku/os_haiku.cpp
+++ b/platform/haiku/os_haiku.cpp
@@ -185,7 +185,18 @@ void OS_Haiku::set_window_title(const String& p_title) {
}
Size2 OS_Haiku::get_window_size() const {
- ERR_PRINT("get_window_size() NOT IMPLEMENTED");
+ BSize size = window->Size();
+ return Size2i(size.IntegerWidth(), size.IntegerHeight());
+}
+
+Point2 OS_Haiku::get_window_position() const {
+ BPoint point(0, 0);
+ window->ConvertToScreen(&point);
+ return Point2i(point.x, point.y);
+}
+
+void OS_Haiku::set_window_position(const Point2& p_position) {
+ window->MoveTo(p_position.x, p_position.y);
}
void OS_Haiku::set_video_mode(const VideoMode& p_video_mode, int p_screen) {
diff --git a/platform/haiku/os_haiku.h b/platform/haiku/os_haiku.h
index b741ae7da0..59f47fa11f 100644
--- a/platform/haiku/os_haiku.h
+++ b/platform/haiku/os_haiku.h
@@ -71,6 +71,8 @@ public:
virtual void set_window_title(const String& p_title);
virtual Size2 get_window_size() const;
+ virtual Point2 get_window_position() const;
+ virtual void set_window_position(const Point2& p_position);
virtual void set_video_mode(const VideoMode& p_video_mode, int p_screen=0);
virtual VideoMode get_video_mode(int p_screen=0) const;