summaryrefslogblamecommitdiffstats
path: root/native/src/window/event.rs
blob: 691af29a27b3a6d1d2f148539525d55dc56a942e (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13

                       
                           
                                  
                







                                                    
                             
             
                                               
                   
                                                

                    
 





                                                                             





                               













                                                                               


                                                                         
 
use std::path::PathBuf;

/// A window-related event.
#[derive(PartialEq, Clone, Debug)]
pub enum Event {
    /// A window was moved.
    Moved {
        /// The new logical x location of the window
        x: i32,
        /// The new logical y location of the window
        y: i32,
    },

    /// A window was resized.
    Resized {
        /// The new logical width of the window
        width: u32,
        /// The new logical height of the window
        height: u32,
    },

    /// The user has requested for the window to close.
    ///
    /// Usually, you will want to terminate the execution whenever this event
    /// occurs.
    CloseRequested,

    /// A window was focused.
    Focused,

    /// A window was unfocused.
    Unfocused,

    /// A file is being hovered over the window.
    ///
    /// When the user hovers multiple files at once, this event will be emitted
    /// for each file separately.
    FileHovered(PathBuf),

    /// A file has beend dropped into the window.
    ///
    /// When the user drops multiple files at once, this event will be emitted
    /// for each file separately.
    FileDropped(PathBuf),

    /// A file was hovered, but has exited the window.
    ///
    /// There will be a single `FilesHoveredLeft` event triggered even if
    /// multiple files were hovered.
    FilesHoveredLeft,
}