use serde::{Deserialize, Serialize};
#[cfg(not(feature = "std"))]
use alloc::string::String;
#[derive(Serialize, Deserialize, Debug, Clone)]
#[serde(rename_all = "camelCase")]
pub struct DigitizerSessionPacket {
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
pub width: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
pub height: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
pub resolution_x: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
pub resolution_y: Option<u64>,
}
#[derive(Serialize, Deserialize, Debug, Clone)]
#[serde(rename_all = "camelCase")]
pub struct DigitizerPacket {
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
pub active: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
pub touching: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
pub tool: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
pub x: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
pub y: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
pub pressure: Option<f64>,
}