Capturer

Struct Capturer 

Source
pub struct Capturer {
    pub image: Option<Image>,
    /* private fields */
}
Expand description

A screen capturer.

Can capture video frames with reasonable performance for screenshooting, recording, streaming, etc.

Fields§

§image: Option<Image>

Implementations§

Source§

impl Capturer

Source

pub fn new(capture_src: usize) -> Result<Capturer, String>

Construct a new capturer for a given capture source, e.g. a display.

Source

pub fn geometry(&self) -> (u32, u32)

Returns the width and height of the area to capture

Source

pub fn position(&self) -> (i32, i32)

Returns the horizontal and vertical offset of the capture source from the primary display.

Source

pub fn capture_frame(&mut self) -> Result<Vec<Bgr8>, CaptureError>

Capture screen and return an owned Vec of the image color data

Worse performance than self.capture_store_frame(); self.get_stored_frame() due to an extra .to_vec() call.

Source

pub fn capture_store_frame(&mut self) -> Result<(), CaptureError>

Capture screen and store in self for later retreival

Performs no unnecessary allocations or copies, and is as such faster than Self::capture_frame.

Recommended over Self::capture_frame unless an owned Vec is required.

Source

pub fn get_stored_frame(&self) -> Option<&[Bgr8]>

Get the last frame stored in self by Self::capture_store_frame, if one has ever been stored.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.