1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
//! All the data egui returns to the backend at the end of each frame. /// What egui emits each frame. /// The backend should use this. #[derive(Clone, Default)] pub struct Output { /// Set the cursor to this icon. pub cursor_icon: CursorIcon, /// If set, open this url. pub open_url: Option<String>, /// Response to [`crate::Event::Copy`] or [`crate::Event::Cut`]. Ignore if empty. pub copied_text: String, /// If `true`, egui is requesting immediate repaint (i.e. on the next frame). /// /// This happens for instance when there is an animation, or if a user has called `Context::request_repaint()`. /// /// As an egui user: don't set this value directly. /// Call `Context::request_repaint()` instead and it will do so for you. pub needs_repaint: bool, } /// A mouse cursor icon. /// /// egui emits a [`CursorIcon`] in [`Output`] each frame as a request to the integration. #[derive(Clone, Copy)] pub enum CursorIcon { Default, /// Pointing hand, used for e.g. web links PointingHand, ResizeHorizontal, ResizeNeSw, ResizeNwSe, ResizeVertical, Text, /// Used when moving Grab, Grabbing, } impl Default for CursorIcon { fn default() -> Self { Self::Default } }