1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
use x11::xlib as x;

use Display;

/// A wrapper around a Visual
pub struct Visual {
    pub(super) inner: *mut x::Visual,
}

impl Visual {
    /// Gets the raw handle to the x11 Visual
    pub fn as_raw(&self) -> *mut x::Visual {
        self.inner
    }

    /// Gets the default visual
    pub fn default(display: &Display, screen: i32) -> Self {
        let inner = unsafe { x::XDefaultVisual(display.as_raw(), screen) };
        Visual { inner }
    }
}