summaryrefslogtreecommitdiff
path: root/c++
diff options
context:
space:
mode:
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_;
}
+
+
}
}