use super::UndoAction;
use crate::document::Document;
use crate::gpu::compositor::Compositor;
use crate::gpu::region_store::UndoRegionEntry;
use crate::layer::LayerId;
use std::collections::{HashMap, HashSet};
pub struct GpuRegionAction {
entry: UndoRegionEntry,
}
impl GpuRegionAction {
pub fn new(entry: UndoRegionEntry) -> Self {
GpuRegionAction { entry }
}
}
impl UndoAction for GpuRegionAction {
fn undo(&mut self, _doc: &mut Document) -> HashMap<LayerId, HashSet<(i32, i32)>> {
HashMap::new()
}
fn redo(&mut self, _doc: &mut Document) -> HashMap<LayerId, HashSet<(i32, i32)>> {
HashMap::new()
}
fn gpu_region_entry_mut(&mut self) -> Option<&mut UndoRegionEntry> {
Some(&mut self.entry)
}
fn byte_cost(&self) -> u64 {
self.entry.byte_size
}
fn on_evict(&mut self, _compositor: &mut Compositor) {
}
}