Struct CreateWindowRequest
pub struct CreateWindowRequest<'input> {
pub depth: u8,
pub wid: u32,
pub parent: u32,
pub x: i16,
pub y: i16,
pub width: u16,
pub height: u16,
pub border_width: u16,
pub class: WindowClass,
pub visual: u32,
pub value_list: Cow<'input, CreateWindowAux>,
}
Expand description
Creates a window.
Creates an unmapped window as child of the specified parent
window. A
CreateNotify event will be generated. The new window is placed on top in the
stacking order with respect to siblings.
The coordinate system has the X axis horizontal and the Y axis vertical with the origin [0, 0] at the upper-left corner. Coordinates are integral, in terms of pixels, and coincide with pixel centers. Each window and pixmap has its own coordinate system. For a window, the origin is inside the border at the inside, upper-left corner.
The created window is not yet displayed (mapped), call xcb_map_window
to
display it.
The created window will initially use the same cursor as its parent.
§Fields
wid
- The ID with which you will refer to the new window, created byxcb_generate_id
.depth
- Specifies the new window’s depth (TODO: what unit?).
The special value XCB_COPY_FROM_PARENT
means the depth is taken from the
parent
window.
visual
- Specifies the id for the new window’s visual.
The special value XCB_COPY_FROM_PARENT
means the visual is taken from the
parent
window.
class
-parent
- The parent window of the new window.border_width
- TODO:
Must be zero if the class
is InputOnly
or a xcb_match_error_t
occurs.
x
- The X coordinate of the new window.y
- The Y coordinate of the new window.width
- The width of the new window.height
- The height of the new window.
§Errors
Colormap
- TODO: reasons?Match
- TODO: reasons?Cursor
- TODO: reasons?Pixmap
- TODO: reasons?Value
- TODO: reasons?Window
- TODO: reasons?Alloc
- The X server could not allocate the requested resources (no memory?).
§See
xcb_generate_id
: functionMapWindow
: requestCreateNotify
: event
Fields§
§depth: u8
§wid: u32
§parent: u32
§x: i16
§y: i16
§width: u16
§height: u16
§border_width: u16
§class: WindowClass
§visual: u32
§value_list: Cow<'input, CreateWindowAux>
Implementations§
§impl<'input> CreateWindowRequest<'input>
impl<'input> CreateWindowRequest<'input>
pub fn serialize(self) -> ([Cow<'input, [u8]>; 3], Vec<OwnedFd>)
pub fn serialize(self) -> ([Cow<'input, [u8]>; 3], Vec<OwnedFd>)
Serialize this request into bytes for the provided connection
pub fn into_owned(self) -> CreateWindowRequest<'static>
pub fn into_owned(self) -> CreateWindowRequest<'static>
Clone all borrowed data in this CreateWindowRequest.
Trait Implementations§
§impl<'input> Clone for CreateWindowRequest<'input>
impl<'input> Clone for CreateWindowRequest<'input>
§fn clone(&self) -> CreateWindowRequest<'input>
fn clone(&self) -> CreateWindowRequest<'input>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for CreateWindowRequest<'_>
impl Debug for CreateWindowRequest<'_>
§impl<'input> Default for CreateWindowRequest<'input>
impl<'input> Default for CreateWindowRequest<'input>
§fn default() -> CreateWindowRequest<'input>
fn default() -> CreateWindowRequest<'input>
§impl<'input> Request for CreateWindowRequest<'input>
impl<'input> Request for CreateWindowRequest<'input>
impl<'input> VoidRequest for CreateWindowRequest<'input>
Auto Trait Implementations§
impl<'input> Freeze for CreateWindowRequest<'input>
impl<'input> RefUnwindSafe for CreateWindowRequest<'input>
impl<'input> Send for CreateWindowRequest<'input>
impl<'input> Sync for CreateWindowRequest<'input>
impl<'input> Unpin for CreateWindowRequest<'input>
impl<'input> UnwindSafe for CreateWindowRequest<'input>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)