pub fn xlib_xi_event(&self) -> Option<&xi2::XIEvent> {
        match self.os_event {
            OsUnprocessedEvent::LinuxdevUnprocessedEvent(_) => None,
            OsUnprocessedEvent::X11UnprocessedEvent(ref e) => match e {
                X11UnprocessedEvent::XEvent(_) => None,
                X11UnprocessedEvent::XIBarrierEvent       (ref e) => Some(unsafe { &*(e as *const _ as *const xi2::XIEvent) }),
                X11UnprocessedEvent::XIDeviceChangedEvent (ref e) => Some(unsafe { &*(e as *const _ as *const xi2::XIEvent) }),
                X11UnprocessedEvent::XIDeviceEvent        (ref e) => Some(unsafe { &*(e as *const _ as *const xi2::XIEvent) }),
                X11UnprocessedEvent::XIEnterEvent         (ref e) => Some(unsafe { &*(e as *const _ as *const xi2::XIEvent) }),
                X11UnprocessedEvent::XIEvent              (ref e) => Some(unsafe { &*(e as *const _ as *const xi2::XIEvent) }),
                X11UnprocessedEvent::XIHierarchyEvent     (ref e) => Some(unsafe { &*(e as *const _ as *const xi2::XIEvent) }),
                X11UnprocessedEvent::XIPropertyEvent      (ref e) => Some(unsafe { &*(e as *const _ as *const xi2::XIEvent) }),
                X11UnprocessedEvent::XIRawEvent           (ref e) => Some(unsafe { &*(e as *const _ as *const xi2::XIEvent) }),
                X11UnprocessedEvent::XITouchOwnershipEvent(ref e) => Some(unsafe { &*(e as *const _ as *const xi2::XIEvent) }),
            },
        }
    }
/// (Linux, X11-specific) Gets the `XIEvent` that caused this `UnprocessedEvent`, if any.
/// This returns an `Option` because on Linux, events may originate from other APIs than X11.
/// 
/// You may treat the returned pointer as the appropriate `XIEvent` variant.
(Linux, X11-specific) Gets the `XIEvent` that caused this `UnprocessedEvent`, if any.
This returns an `Option` because on Linux, events may originate from other APIs than X11.

You may treat the returned pointer as the appropriate `XIEvent` variant.
( Linux X11 - specific ) Gets the ` XIEvent ` that caused this ` UnprocessedEvent ` if any . This returns an ` Option ` because on Linux events may originate from other APIs than X11 . You may treat the returned pointer as the appropriate ` XIEvent ` variant .
pub fn xlib_xi_event(&self) -> Option<&xi2::XIEvent> {
        match self.os_event {
            OsUnprocessedEvent::LinuxdevUnprocessedEvent(_) => None,
            OsUnprocessedEvent::X11UnprocessedEvent(ref e) => match e {
                X11UnprocessedEvent::XEvent(_) => None,
                X11UnprocessedEvent::XIBarrierEvent       (ref e) => Some(unsafe { &*(e as *const _ as *const xi2::XIEvent) }),
                X11UnprocessedEvent::XIDeviceChangedEvent (ref e) => Some(unsafe { &*(e as *const _ as *const xi2::XIEvent) }),
                X11UnprocessedEvent::XIDeviceEvent        (ref e) => Some(unsafe { &*(e as *const _ as *const xi2::XIEvent) }),
                X11UnprocessedEvent::XIEnterEvent         (ref e) => Some(unsafe { &*(e as *const _ as *const xi2::XIEvent) }),
                X11UnprocessedEvent::XIEvent              (ref e) => Some(unsafe { &*(e as *const _ as *const xi2::XIEvent) }),
                X11UnprocessedEvent::XIHierarchyEvent     (ref e) => Some(unsafe { &*(e as *const _ as *const xi2::XIEvent) }),
                X11UnprocessedEvent::XIPropertyEvent      (ref e) => Some(unsafe { &*(e as *const _ as *const xi2::XIEvent) }),
                X11UnprocessedEvent::XIRawEvent           (ref e) => Some(unsafe { &*(e as *const _ as *const xi2::XIEvent) }),
                X11UnprocessedEvent::XITouchOwnershipEvent(ref e) => Some(unsafe { &*(e as *const _ as *const xi2::XIEvent) }),
            },
        }
    }
pub fn xlib_xi_event ( & self ) -> Option < & xi2 :: XIEvent > { match self . os_event { OsUnprocessedEvent :: LinuxdevUnprocessedEvent ( _ ) => None , OsUnprocessedEvent :: X11UnprocessedEvent ( ref e ) => match e { X11UnprocessedEvent :: XEvent ( _ ) => None , X11UnprocessedEvent :: XIBarrierEvent ( ref e ) => Some ( unsafe { & * ( e as * const _ as * const xi2 :: XIEvent ) } ) , X11UnprocessedEvent :: XIDeviceChangedEvent ( ref e ) => Some ( unsafe { & * ( e as * const _ as * const xi2 :: XIEvent ) } ) , X11UnprocessedEvent :: XIDeviceEvent ( ref e ) => Some ( unsafe { & * ( e as * const _ as * const xi2 :: XIEvent ) } ) , X11UnprocessedEvent :: XIEnterEvent ( ref e ) => Some ( unsafe { & * ( e as * const _ as * const xi2 :: XIEvent ) } ) , X11UnprocessedEvent :: XIEvent ( ref e ) => Some ( unsafe { & * ( e as * const _ as * const xi2 :: XIEvent ) } ) , X11UnprocessedEvent :: XIHierarchyEvent ( ref e ) => Some ( unsafe { & * ( e as * const _ as * const xi2 :: XIEvent ) } ) , X11UnprocessedEvent :: XIPropertyEvent ( ref e ) => Some ( unsafe { & * ( e as * const _ as * const xi2 :: XIEvent ) } ) , X11UnprocessedEvent :: XIRawEvent ( ref e ) => Some ( unsafe { & * ( e as * const _ as * const xi2 :: XIEvent ) } ) , X11UnprocessedEvent :: XITouchOwnershipEvent ( ref e ) => Some ( unsafe { & * ( e as * const _ as * const xi2 :: XIEvent ) } ) , } , } }
(Linux, X11-specific) Gets the `XIEvent` that caused this `UnprocessedEvent`, if any.
( Linux X11 - specific ) Gets the ` XIEvent ` that caused this ` UnprocessedEvent ` if any .
&self
&self