mod events;
mod image_slice;
mod trackball;
pub use events::{
InteractionContext, InteractionResult, Key, KeyEvent, Modifiers, MouseButton, MouseEvent,
MouseEventKind,
};
pub use image_slice::ImageSliceStyle;
pub use trackball::TrackballStyle;
use crate::camera::Camera;
pub trait InteractionStyle: Send + Sync {
fn on_mouse_event(
&mut self,
event: &MouseEvent,
ctx: &InteractionContext,
camera: &mut Camera,
) -> InteractionResult;
fn on_key_event(
&mut self,
event: &KeyEvent,
ctx: &InteractionContext,
camera: &mut Camera,
) -> InteractionResult;
}