aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/x11/ffi.rs11
-rw-r--r--src/x11/mod.rs6
2 files changed, 17 insertions, 0 deletions
diff --git a/src/x11/ffi.rs b/src/x11/ffi.rs
index b636b99..5caabc5 100644
--- a/src/x11/ffi.rs
+++ b/src/x11/ffi.rs
@@ -241,6 +241,17 @@ pub struct XClientMessageEvent {
pub l: [libc::c_long, ..5],
}
+#[reprc(C)]
+pub struct XResizeRequestEvent {
+ pub type_: libc::c_int,
+ pub serial: libc::c_ulong,
+ pub send_event: Bool,
+ pub display: *mut Display,
+ pub window: Window,
+ pub width: libc::c_int,
+ pub height: libc::c_int,
+}
+
#[link(name = "GL")]
#[link(name = "X11")]
extern "C" {
diff --git a/src/x11/mod.rs b/src/x11/mod.rs
index 1c91e2d..3f17ca4 100644
--- a/src/x11/mod.rs
+++ b/src/x11/mod.rs
@@ -162,6 +162,12 @@ impl Window {
}
},
+ ffi::ResizeRequest => {
+ use SizeChanged;
+ let rs_event: &ffi::XResizeRequestEvent = unsafe { mem::transmute(&xev) };
+ events.push(SizeChanged(rs_event.width as uint, rs_event.height as uint));
+ },
+
_ => ()
}