29 lines
1.9 KiB
Odin
29 lines
1.9 KiB
Odin
package tinyfiledialogs
|
|
|
|
import "base:builtin"
|
|
import "core:c"
|
|
import win32 "core:sys/windows"
|
|
|
|
foreign import lib {"./windows/tinyfiledialogs.lib", "system:User32.lib", "system:Shell32.lib", "system:Comdlg32.lib", "system:Ole32.lib"}
|
|
|
|
@(default_calling_convention = "c")
|
|
@(link_prefix = "tinyfd_")
|
|
foreign lib {
|
|
winUtf8: c.int
|
|
|
|
utf8toMbcs :: proc(aUtf8string: cstring) -> cstring ---
|
|
utf16toMbcs :: proc(aUtf16string: [^]win32.wchar_t) -> cstring ---
|
|
mbcsTo16 :: proc(aMbcsString: cstring) -> [^]win32.wchar_t ---
|
|
mbcsTo8 :: proc(aMbcsString: cstring) -> cstring ---
|
|
utf8to16 :: proc(aUtf8string: cstring) -> [^]win32.wchar_t ---
|
|
utf16to8 :: proc(aUtf16string: [^]win32.wchar_t) -> cstring ---
|
|
// Windows only utf-16 versions
|
|
notifyPopupW :: proc(aTitle: [^]win32.wchar_t, aMessage: [^]win32.wchar_t, aIconType: [^]win32.wchar_t) -> c.int ---
|
|
messageBoxW :: proc(aTitle: [^]win32.wchar_t, aMessage: [^]win32.wchar_t, aDialogType: [^]win32.wchar_t, aIconType: [^]win32.wchar_t, aDefaultButton: c.int) -> c.int ---
|
|
inputBoxW :: proc(aTitle: [^]win32.wchar_t, aMessage: [^]win32.wchar_t, aDefaultInput: [^]win32.wchar_t) -> [^]win32.wchar_t ---
|
|
saveFileDialogW :: proc(aTitle: [^]win32.wchar_t, aDefaultPathAndOrFile: [^]win32.wchar_t, aNumOfFilterPatterns: c.int, aFilterPatterns: [^]win32.wstring, aSingleFilterDescription: [^]win32.wchar_t) -> [^]win32.wchar_t ---
|
|
openFileDialogW :: proc(aTitle: [^]win32.wchar_t, aDefaultPathAndOrFile: [^]win32.wchar_t, aNumOfFilterPatterns: c.int, aFilterPatterns: [^]win32.wstring, aSingleFilterDescription: [^]win32.wchar_t, aAllowMultipleSelects: c.int) -> [^]win32.wchar_t ---
|
|
selectFolderDialogW :: proc(aTitle: [^]win32.wchar_t, aDefaultPath: [^]win32.wchar_t) -> [^]win32.wchar_t ---
|
|
colorChooserW :: proc(aTitle: [^]win32.wchar_t, aDefaultHexRGB: [^]win32.wchar_t, aDefaultRGB: [^]c.uchar, aoResultRGB: [^]c.uchar) -> win32.wchar_t ---
|
|
}
|