uefi/
pointer.rs

1use crate::prelude::*;
2
3#[derive(Clone, Copy, Debug)]
4#[repr(C)]
5pub struct SimplePointerMode {
6    pub ResolutionX: u64,
7    pub ResolutionY: u64,
8    pub ResolutionZ: u64,
9    pub LeftButton: bool,
10    pub RightButton: bool,
11}
12
13#[derive(Clone, Copy, Debug, Default)]
14#[repr(C)]
15pub struct SimplePointerState {
16    pub RelativeMovementX: i32,
17    pub RelativeMovementY: i32,
18    pub RelativeMovementZ: i32,
19    pub LeftButton: bool,
20    pub RightButton: bool,
21}
22
23#[repr(C)]
24pub struct SimplePointer {
25    pub Reset: extern "efiapi" fn(&mut SimplePointer, ExtendedVerification: bool) -> Status,
26    pub GetState: extern "efiapi" fn(&mut SimplePointer, State: &mut SimplePointerState) -> Status,
27    pub WaitForInput: Event,
28    pub Mode: &'static mut SimplePointerMode,
29}
30
31impl SimplePointer {
32    pub const GUID: Guid = guid!("31878c87-0b75-11d5-9a4f-0090273fc14d");
33}