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}