Monitor

Struct Monitor 

Source
pub struct Monitor { /* private fields */ }
Expand description

Represents a display monitor.

§Example

use windows_capture::monitor::Monitor;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let monitor = Monitor::primary()?;
    println!("Primary Monitor: {}", monitor.name()?);

    Ok(())
}

Implementations§

Source§

impl Monitor

Source

pub fn primary() -> Result<Self, Error>

Returns the primary monitor.

§Errors

Returns Error::NotFound if the primary monitor cannot be found.

Source

pub fn from_index(index: usize) -> Result<Self, Error>

Returns the monitor at the specified index.

§Arguments
  • index - The one-based index of the monitor to retrieve.
§Errors
  • Error::IndexIsLowerThanOne - If the index is less than 1.
  • Error::NotFound - If no monitor is found at the specified index.
Source

pub fn index(&self) -> Result<usize, Error>

Returns the one-based index of the monitor.

§Errors

Returns an Error if the monitor’s device name cannot be parsed to determine the index.

Source

pub fn name(&self) -> Result<String, Error>

Returns the friendly name of the monitor.

§Errors

Returns an Error if the monitor’s name cannot be retrieved.

Source

pub fn device_name(&self) -> Result<String, Error>

Returns the device name of the monitor (e.g., \\.\DISPLAY1).

§Errors

Returns an Error if the monitor’s device name cannot be retrieved.

Source

pub fn device_string(&self) -> Result<String, Error>

Returns the device string of the monitor (e.g., NVIDIA GeForce RTX 4090).

§Errors

Returns an Error if the monitor’s device string cannot be retrieved.

Source

pub fn refresh_rate(&self) -> Result<u32, Error>

Returns the refresh rate of the monitor in hertz (Hz).

§Errors

Returns an Error if the monitor’s refresh rate cannot be retrieved.

Source

pub fn width(&self) -> Result<u32, Error>

Returns the width of the monitor in pixels.

§Errors

Returns an Error if the monitor’s width cannot be retrieved.

Source

pub fn height(&self) -> Result<u32, Error>

Returns the height of the monitor in pixels.

§Errors

Returns an Error if the monitor’s height cannot be retrieved.

Source

pub fn enumerate() -> Result<Vec<Self>, Error>

Returns a list of all available monitors.

§Errors

Returns an Error if the monitor enumeration fails.

Source

pub const fn from_raw_hmonitor(monitor: *mut c_void) -> Self

Creates a Monitor instance from a raw HMONITOR handle.

§Arguments
  • hmonitor - The raw HMONITOR handle.
Source

pub const fn as_raw_hmonitor(&self) -> *mut c_void

Returns the raw HMONITOR handle of the monitor.

Trait Implementations§

Source§

impl Clone for Monitor

Source§

fn clone(&self) -> Monitor

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Monitor

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Monitor

Source§

fn eq(&self, other: &Monitor) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl TryIntoCaptureItemWithType for Monitor

Source§

fn try_into_capture_item( self, ) -> Result<(GraphicsCaptureItem, CaptureItemTypes), Error>

Attempts to convert the object into a GraphicsCaptureItem and its corresponding CaptureItemTypes variant.
Source§

impl Copy for Monitor

Source§

impl Eq for Monitor

Source§

impl Send for Monitor

Source§

impl StructuralPartialEq for Monitor

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.