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
|
high_dpi: true
|
||||||
fullscreen: cfg.fullscreen
|
fullscreen: cfg.fullscreen
|
||||||
__v_native_render: cfg.native_rendering
|
__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
|
g.window = window
|
||||||
return g
|
return g
|
||||||
|
|
|
@ -77,6 +77,10 @@ pub:
|
||||||
font_bytes_mono []byte
|
font_bytes_mono []byte
|
||||||
font_bytes_italic []byte
|
font_bytes_italic []byte
|
||||||
native_rendering bool // Cocoa on macOS/iOS, GDI+ on Windows
|
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 {
|
pub struct PenConfig {
|
||||||
|
|
|
@ -23,6 +23,7 @@ pub enum EventType {
|
||||||
update_cursor
|
update_cursor
|
||||||
quit_requested
|
quit_requested
|
||||||
clipboard_pasted
|
clipboard_pasted
|
||||||
|
files_droped
|
||||||
num
|
num
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -245,3 +245,15 @@ pub fn toggle_fullscreen() {
|
||||||
pub fn is_fullscreen() bool {
|
pub fn is_fullscreen() bool {
|
||||||
return C.sapp_is_fullscreen()
|
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
|
// Check if full screen rendering
|
||||||
fn C.sapp_is_fullscreen() bool
|
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