Struct x11::xlib::ClientMessageData
source · #[repr(C)]pub struct ClientMessageData { /* private fields */ }
Implementations§
source§impl ClientMessageData
impl ClientMessageData
pub fn as_bytes(&self) -> &[c_char]
pub fn as_bytes_mut(&mut self) -> &mut [c_char]
pub fn as_longs(&self) -> &[c_long]
pub fn as_longs_mut(&mut self) -> &mut [c_long]
pub fn as_shorts(&self) -> &[c_short]
pub fn as_shorts_mut(&mut self) -> &mut [c_short]
pub fn get_byte(&self, index: usize) -> c_char
sourcepub fn get_long(&self, index: usize) -> c_long
pub fn get_long(&self, index: usize) -> c_long
Examples found in repository?
examples/input.rs (line 121)
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
pub fn run_event_loop<EventHandler>(&mut self, mut event_handler: EventHandler)
where
EventHandler: FnMut(&xlib::XEvent),
{
let mut event: xlib::XEvent = unsafe { zeroed() };
loop {
unsafe { xlib::XNextEvent(self.display, &mut event) };
match event.get_type() {
xlib::ClientMessage => {
let xclient: xlib::XClientMessageEvent = From::from(event);
// WM_PROTOCOLS client message
if xclient.message_type == self.wm_protocols && xclient.format == 32 {
let protocol = xclient.data.get_long(0) as xlib::Atom;
// WM_DELETE_WINDOW (close event)
if protocol == self.wm_delete_window {
break;
}
}
}
_ => event_handler(&event),
}
}
}
pub fn get_short(&self, index: usize) -> c_short
pub fn new() -> ClientMessageData
pub fn set_byte(&mut self, index: usize, value: c_char)
pub fn set_long(&mut self, index: usize, value: c_long)
pub fn set_short(&mut self, index: usize, value: c_short)
Trait Implementations§
source§impl AsMut<[i16]> for ClientMessageData
impl AsMut<[i16]> for ClientMessageData
source§impl AsMut<[i32]> for ClientMessageData
impl AsMut<[i32]> for ClientMessageData
source§impl AsMut<[i8]> for ClientMessageData
impl AsMut<[i8]> for ClientMessageData
source§impl AsMut<[u16]> for ClientMessageData
impl AsMut<[u16]> for ClientMessageData
source§impl AsMut<[u32]> for ClientMessageData
impl AsMut<[u32]> for ClientMessageData
source§impl AsMut<[u8]> for ClientMessageData
impl AsMut<[u8]> for ClientMessageData
source§impl AsRef<[i16]> for ClientMessageData
impl AsRef<[i16]> for ClientMessageData
source§impl AsRef<[i32]> for ClientMessageData
impl AsRef<[i32]> for ClientMessageData
source§impl AsRef<[i8]> for ClientMessageData
impl AsRef<[i8]> for ClientMessageData
source§impl AsRef<[u16]> for ClientMessageData
impl AsRef<[u16]> for ClientMessageData
source§impl AsRef<[u32]> for ClientMessageData
impl AsRef<[u32]> for ClientMessageData
source§impl AsRef<[u8]> for ClientMessageData
impl AsRef<[u8]> for ClientMessageData
source§impl Clone for ClientMessageData
impl Clone for ClientMessageData
source§fn clone(&self) -> ClientMessageData
fn clone(&self) -> ClientMessageData
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ClientMessageData
impl Debug for ClientMessageData
source§impl Default for ClientMessageData
impl Default for ClientMessageData
source§fn default() -> ClientMessageData
fn default() -> ClientMessageData
Returns the “default value” for a type. Read more
source§impl PartialEq<ClientMessageData> for ClientMessageData
impl PartialEq<ClientMessageData> for ClientMessageData
source§fn eq(&self, other: &ClientMessageData) -> bool
fn eq(&self, other: &ClientMessageData) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.