sokol.sapp,gg: add support for drag & drop events (#11359)
parent
56993b9e2d
commit
63ff5690ff
|
@ -194,6 +194,10 @@ pub fn new_context(cfg Config) &Context {
|
|||
high_dpi: true
|
||||
fullscreen: cfg.fullscreen
|
||||
__v_native_render: cfg.native_rendering
|
||||
// drag&drop
|
||||
enable_dragndrop: cfg.enable_dragndrop
|
||||
max_dropped_files: cfg.max_dropped_files
|
||||
max_dropped_file_path_length: cfg.max_dropped_file_path_length
|
||||
}
|
||||
g.window = window
|
||||
return g
|
||||
|
|
|
@ -77,6 +77,10 @@ pub:
|
|||
font_bytes_mono []byte
|
||||
font_bytes_italic []byte
|
||||
native_rendering bool // Cocoa on macOS/iOS, GDI+ on Windows
|
||||
// drag&drop
|
||||
enable_dragndrop bool // enable file dropping (drag'n'drop), default is false
|
||||
max_dropped_files int = 1 // max number of dropped files to process (default: 1)
|
||||
max_dropped_file_path_length int = 2048 // max length in bytes of a dropped UTF-8 file path (default: 2048)
|
||||
}
|
||||
|
||||
pub struct PenConfig {
|
||||
|
|
|
@ -23,6 +23,7 @@ pub enum EventType {
|
|||
update_cursor
|
||||
quit_requested
|
||||
clipboard_pasted
|
||||
files_droped
|
||||
num
|
||||
}
|
||||
|
||||
|
|
|
@ -245,3 +245,15 @@ pub fn toggle_fullscreen() {
|
|||
pub fn is_fullscreen() bool {
|
||||
return C.sapp_is_fullscreen()
|
||||
}
|
||||
|
||||
[inline]
|
||||
pub fn get_num_dropped_files() int {
|
||||
return C.sapp_get_num_dropped_files()
|
||||
}
|
||||
|
||||
[inline]
|
||||
pub fn get_dropped_file_path(index int) string {
|
||||
unsafe {
|
||||
return cstring_to_vstring(C.sapp_get_dropped_file_path(index))
|
||||
}
|
||||
}
|
||||
|
|
|
@ -109,3 +109,9 @@ fn C.sapp_toggle_fullscreen()
|
|||
|
||||
// Check if full screen rendering
|
||||
fn C.sapp_is_fullscreen() bool
|
||||
|
||||
// Get number of droped files
|
||||
fn C.sapp_get_num_dropped_files() int
|
||||
|
||||
// Get the file path of the droped file
|
||||
fn C.sapp_get_dropped_file_path(int) &byte
|
||||
|
|
Loading…
Reference in New Issue