summaryrefslogtreecommitdiff
path: root/c++
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2023-07-21 13:15:44 +0200
committerClaudius "keldu" Holeksa <mail@keldu.de>2023-07-21 13:15:44 +0200
commitdf31866b5a1661ce15401afacf2ee58ae9f5d5d4 (patch)
tree0873af1f2dcd91571d08bb37d6c5ea958f0ce76a /c++
parent99094047fa22540c82e870d804c7a09b68325a53 (diff)
c++,window: Implemented missing functionality
Diffstat (limited to 'c++')
-rw-r--r--c++/window/xcb.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/c++/window/xcb.cpp b/c++/window/xcb.cpp
index 0a27643..cd0e77c 100644
--- a/c++/window/xcb.cpp
+++ b/c++/window/xcb.cpp
@@ -218,21 +218,29 @@ window<backend::linux_xcb>::window(device<backend::linux_xcb>& dev_, xcb_window_
xcb_colormap_{xcb_colormap_},
video_mode_{vid_mode_},
window_title_{title_view_}
-{
- // TODO
-}
+{}
window<backend::linux_xcb>::~window(){
- // TODO
+ device_.window_destroyed(xcb_window_);
+ xcb_destroy_window(device_.xcb_connection, xcb_window_);
+ device_.flush();
}
void window<backend::linux_xcb>::show(){
- // TODO
+ assert(device_.xcb_connection);
+ xcb_map_window(device_.xcb_connection, xcb_window_);
}
void window<backend::linux_xcb>::hide(){
- // TODO
+ assert(device_.xcb_connection);
+ xcb_unmap_window(device_.xcb_connection, xcb_window_);
+}
+
+const video_mode& window<backend::linux_xcb::get_video_mode() const {
+ return video_mode_;
}
+
+
}
}