tge 0.0.4

A lightweight cross-platform 2D game framework written in pure Rust and based on OpenGL 3.3+.
Documentation
use crate::error::GameResult;
use crate::math::Vector;

pub struct Touchpad {
    scroll_delta: Vector,
    pressure: f32,
    click_stage: i64,
}

impl Touchpad {
    pub(crate) fn new(_: TouchpadConfig) -> GameResult<Self> {
        Ok(Self {
            scroll_delta: Vector::zero(),
            pressure: 0.0,
            click_stage: 0,
        })
    }

    pub(crate) fn handle_scroll_event(&mut self, delta: Vector) {
        self.scroll_delta += delta;
    }

    pub(crate) fn handle_press_event(&mut self, pressure: f32, click_stage: i64) {
        self.pressure = pressure;
        self.click_stage = click_stage;
    }

    pub(crate) fn clear_states(&mut self) {
        self.scroll_delta = Vector::zero();
    }

    pub fn scroll_delta(&self) -> Vector {
        self.scroll_delta
    }

    pub fn pressure(&self) -> f32 {
        self.pressure
    }

    pub fn click_stage(&self) -> i64 {
        self.click_stage
    }
}

#[derive(Debug, Clone)]
pub struct TouchpadConfig {}

impl TouchpadConfig {
    pub fn new() -> Self {
        Self {}
    }
}