add import dialog on windows
This commit is contained in:
@@ -3,6 +3,8 @@
|
|||||||
|
|
||||||
#ifdef __ANDROID__
|
#ifdef __ANDROID__
|
||||||
void displayKeyboard(android_app* mApplication, bool pShow);
|
void displayKeyboard(android_app* mApplication, bool pShow);
|
||||||
|
#elif _WIN32
|
||||||
|
std::string win32_open_file();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@@ -51,6 +53,10 @@ void App::pick_image(std::function<void(std::string path)> callback)
|
|||||||
callback(path);
|
callback(path);
|
||||||
#elif __ANDROID__
|
#elif __ANDROID__
|
||||||
//displayKeyboard(and_app, false);
|
//displayKeyboard(and_app, false);
|
||||||
|
#elif _WIN32
|
||||||
|
std::string path = win32_open_file();
|
||||||
|
if (!path.empty())
|
||||||
|
callback(path);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -81,6 +81,26 @@ void async_unlock()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string win32_open_file()
|
||||||
|
{
|
||||||
|
OPENFILENAMEA ofn;
|
||||||
|
char fileName[MAX_PATH] = "";
|
||||||
|
ZeroMemory(&ofn, sizeof(ofn));
|
||||||
|
ofn.lStructSize = sizeof(OPENFILENAME);
|
||||||
|
ofn.hwndOwner = hWnd;
|
||||||
|
ofn.lpstrFilter = "Image Files (*.jpg, *.png)\0*.jpg;*.png";
|
||||||
|
ofn.lpstrFile = fileName;
|
||||||
|
ofn.nMaxFile = MAX_PATH;
|
||||||
|
ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
|
||||||
|
ofn.lpstrDefExt = "";
|
||||||
|
ofn.lpstrInitialDir = "Missions\\";
|
||||||
|
if (GetOpenFileNameA(&ofn) != NULL)
|
||||||
|
{
|
||||||
|
return fileName;
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
struct async_locker
|
struct async_locker
|
||||||
{
|
{
|
||||||
async_locker() { async_lock(); }
|
async_locker() { async_lock(); }
|
||||||
|
|||||||
Reference in New Issue
Block a user