Skip to content

Commit

Permalink
sokol.sapp,gg: add support for drag & drop events (#11359)
Browse files Browse the repository at this point in the history
  • Loading branch information
penguindark committed Sep 1, 2021
1 parent 56993b9 commit 63ff569
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 0 deletions.
4 changes: 4 additions & 0 deletions vlib/gg/gg.c.v
Expand Up @@ -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
Expand Down
4 changes: 4 additions & 0 deletions vlib/gg/gg.v
Expand Up @@ -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 {
Expand Down
1 change: 1 addition & 0 deletions vlib/sokol/sapp/enums.v
Expand Up @@ -23,6 +23,7 @@ pub enum EventType {
update_cursor
quit_requested
clipboard_pasted
files_droped
num
}

Expand Down
12 changes: 12 additions & 0 deletions vlib/sokol/sapp/sapp.c.v
Expand Up @@ -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))
}
}
6 changes: 6 additions & 0 deletions vlib/sokol/sapp/sapp_funcs.c.v
Expand Up @@ -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

0 comments on commit 63ff569

Please sign in to comment.