use drm::control::{property, connector, crtc, plane};
use std::collections::HashMap;
use crate::types::DisplayRotation;
pub const DRM_MODE_ROTATE_0: u64 = 1 << 0;
pub const DRM_MODE_ROTATE_90: u64 = 1 << 1;
pub const DRM_MODE_ROTATE_180: u64 = 1 << 2;
pub const DRM_MODE_ROTATE_270: u64 = 1 << 3;
pub fn rotation_to_drm_value(rotation: DisplayRotation) -> u64 {
match rotation {
DisplayRotation::Rotate0 => DRM_MODE_ROTATE_0,
DisplayRotation::Rotate90 => DRM_MODE_ROTATE_90,
DisplayRotation::Rotate180 => DRM_MODE_ROTATE_180,
DisplayRotation::Rotate270 => DRM_MODE_ROTATE_270,
}
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct DrmResourceIds {
pub connector_id: connector::Handle,
pub crtc_id: crtc::Handle,
pub primary_plane_id: plane::Handle,
}
#[derive(Debug, Clone, Default)]
pub struct DrmPropertyCache {
pub props: HashMap<connector::Handle, HashMap<String, property::Handle>>,
}