public static string GtkSave(IntPtr parent, FileDialogFilters filters) { if (!gtk_init_check(IntPtr.Zero, IntPtr.Zero)) { throw new Exception(); } var dlg = gtk_file_chooser_dialog_new("Save File", IntPtr.Zero, GTK_FILE_CHOOSER_ACTION_SAVE, IntPtr.Zero); gtk_dialog_add_button(dlg, "_Cancel", GTK_RESPONSE_CANCEL); gtk_dialog_add_button(dlg, "_Accept", GTK_RESPONSE_ACCEPT); SetFilters(dlg, filters); gtk_widget_realize(dlg); XSetTransientForHint(gdk_x11_get_default_xdisplay(), gdk_x11_drawable_get_xid(gtk_widget_get_window(dlg)), parent); string result = null; if (gtk_dialog_run(dlg) == GTK_RESPONSE_ACCEPT) { result = UnsafeHelpers.PtrToStringUTF8(gtk_file_chooser_get_filename(dlg)); } WaitCleanup(); gtk_widget_destroy(dlg); WaitCleanup(); return(result); }
public Dictionary <string, object> DoString(string str, string name = "[string]") { if (!thn_compile(str, name, out IntPtr buf, out int sz)) { var err = thn_geterror(); var errstring = UnsafeHelpers.PtrToStringUTF8(err); thn_free(err); throw new Exception(errstring); } var compiled = new byte[sz]; Marshal.Copy(buf, compiled, 0, sz); thn_free(buf); using (var stream = new MemoryStream(compiled)) { LuaPrototype p; if (!Undump.Load(stream, out p)) { throw new Exception("Undump failed"); } var runtime = new LuaBinaryRuntime(p); runtime.Env = Env; runtime.Run(); return(runtime.Globals); } }
public static string GetString(this Encoding encoding, byte *ptr, int length) { if (encoding == Encoding.UTF8) { return(UnsafeHelpers.PtrToStringUTF8((IntPtr)ptr, length)); } throw new Exception("Invalid encoding GetString(byte*,int)"); }
public string GetText() { var ptr = igExtTextEditorGetText(textedit); var str = UnsafeHelpers.PtrToStringUTF8(ptr); igExtFree(ptr); return(str); }
public static string GtkFolder() { if (!gtk_init_check(IntPtr.Zero, IntPtr.Zero)) { throw new Exception(); } var dlg = gtk_file_chooser_dialog_new("Open Directory", IntPtr.Zero, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, IntPtr.Zero); gtk_dialog_add_button(dlg, "_Cancel", GTK_RESPONSE_CANCEL); gtk_dialog_add_button(dlg, "_Accept", GTK_RESPONSE_ACCEPT); string result = null; if (gtk_dialog_run_HACK(dlg) == GTK_RESPONSE_ACCEPT) { result = UnsafeHelpers.PtrToStringUTF8(gtk_file_chooser_get_filename(dlg)); } WaitCleanup(); gtk_widget_destroy(dlg); WaitCleanup(); return(result); }
public static string GtkSave(FileDialogFilters filters) { if (!gtk_init_check(IntPtr.Zero, IntPtr.Zero)) { throw new Exception(); } var dlg = gtk_file_chooser_dialog_new("Save File", IntPtr.Zero, GTK_FILE_CHOOSER_ACTION_SAVE, IntPtr.Zero); gtk_dialog_add_button(dlg, "_Cancel", GTK_RESPONSE_CANCEL); gtk_dialog_add_button(dlg, "_Accept", GTK_RESPONSE_ACCEPT); SetFilters(dlg, filters); string result = null; if (gtk_dialog_run_HACK(dlg) == GTK_RESPONSE_ACCEPT) { result = UnsafeHelpers.PtrToStringUTF8(gtk_file_chooser_get_filename(dlg)); } WaitCleanup(); gtk_widget_destroy(dlg); WaitCleanup(); return(result); }
static unsafe void SetClipboardText(IntPtr userdata, IntPtr text) { instance.game.SetClipboardText(UnsafeHelpers.PtrToStringUTF8(text)); }
public string GetText() { return(UnsafeHelpers.PtrToStringUTF8(Pointer, Size)); }