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