#include "include/FLTK_pm.h" SV * file_chooser_cb; void _cb_f (const char * file) { // Callback for file_chooser dTHX; if ( ! SvOK( file_chooser_cb ) ) return; dSP; ENTER; SAVETMPS; PUSHMARK( sp ); XPUSHs( newSVpv( file, strlen( file ) ) ); PUTBACK; call_sv( file_chooser_cb, G_DISCARD ); FREETMPS; LEAVE; } MODULE = FLTK::file_chooser PACKAGE = FLTK::file_chooser #ifndef DISABLE_FILE_CHOOSER #include MODULE = FLTK::file_chooser PACKAGE = FLTK const char * dir_chooser( char * message, char * directory, int relative = 0 ) CODE: RETVAL = fltk::dir_chooser( message, directory, relative ); OUTPUT: RETVAL BOOT: export_tag("dir_chooser", "dialog"); export_tag("dir_chooser", "default"); const char * file_chooser( char * message, char * pattern, char * filename, int relative = 0 ) CODE: RETVAL = fltk::file_chooser( message, pattern, filename, relative ); OUTPUT: RETVAL BOOT: export_tag("alert", "dialog"); export_tag("alert", "default"); MODULE = FLTK::file_chooser PACKAGE = FLTK::file_chooser MODULE = FLTK::file_chooser PACKAGE = FLTK void file_chooser_callback( CV * coderef ) CODE: file_chooser_cb = newSVsv( ST( 0 ) ); fltk::file_chooser_callback(_cb_f); BOOT: export_tag("file_chooser_callback", "dialog"); export_tag("file_chooser_callback", "default"); #endif // ifndef DISABLE_FILE_CHOOSER