Struct libwayshot::WayshotConnection
source · pub struct WayshotConnection {
pub conn: Connection,
pub globals: GlobalList,
/* private fields */
}
Expand description
Struct to store wayland connection and globals list.
Example usage
let wayshot_connection = WayshotConnection::new().unwrap();
let image_buffer = wayshot_connection.screenshot_all().unwrap();
Fields§
§conn: Connection
§globals: GlobalList
Implementations§
source§impl WayshotConnection
impl WayshotConnection
pub fn new() -> Result<Self>
sourcepub fn from_connection(conn: Connection) -> Result<Self>
pub fn from_connection(conn: Connection) -> Result<Self>
Recommended if you already have a wayland_client::Connection
.
sourcepub fn get_all_outputs(&self) -> &Vec<OutputInfo>
pub fn get_all_outputs(&self) -> &Vec<OutputInfo>
Fetch all accessible wayland outputs.
sourcepub fn refresh_outputs(&mut self) -> Result<()>
pub fn refresh_outputs(&mut self) -> Result<()>
refresh the outputs, to get new outputs
sourcepub fn capture_output_frame_shm_fd<T: AsFd>(
&self,
cursor_overlay: i32,
output: &WlOutput,
fd: T,
capture_region: Option<CaptureRegion>
) -> Result<FrameFormat>
pub fn capture_output_frame_shm_fd<T: AsFd>( &self, cursor_overlay: i32, output: &WlOutput, fd: T, capture_region: Option<CaptureRegion> ) -> Result<FrameFormat>
Get a FrameCopy instance with screenshot pixel data for any wl_output object. Data will be written to fd.
sourcepub fn screenshot(
&self,
capture_region: CaptureRegion,
cursor_overlay: bool
) -> Result<RgbaImage>
pub fn screenshot( &self, capture_region: CaptureRegion, cursor_overlay: bool ) -> Result<RgbaImage>
Take a screenshot from the specified region.
sourcepub fn screenshot_single_output(
&self,
output_info: &OutputInfo,
cursor_overlay: bool
) -> Result<RgbaImage>
pub fn screenshot_single_output( &self, output_info: &OutputInfo, cursor_overlay: bool ) -> Result<RgbaImage>
shot one ouput
sourcepub fn screenshot_outputs(
&self,
outputs: &Vec<OutputInfo>,
cursor_overlay: bool
) -> Result<RgbaImage>
pub fn screenshot_outputs( &self, outputs: &Vec<OutputInfo>, cursor_overlay: bool ) -> Result<RgbaImage>
Take a screenshot from all of the specified outputs.
sourcepub fn screenshot_all(&self, cursor_overlay: bool) -> Result<RgbaImage>
pub fn screenshot_all(&self, cursor_overlay: bool) -> Result<RgbaImage>
Take a screenshot from all accessible outputs.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for WayshotConnection
impl Send for WayshotConnection
impl Sync for WayshotConnection
impl Unpin for WayshotConnection
impl !UnwindSafe for WayshotConnection
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
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.