fix some lambda ref, use global android_app variable instead of passing as argument, fix clipboard utf issue by using byte array
This commit is contained in:
12
src/app.cpp
12
src/app.cpp
@@ -12,9 +12,9 @@
|
||||
#include "settings.h"
|
||||
|
||||
#ifdef __ANDROID__
|
||||
void android_async_lock(struct engine* engine);
|
||||
void android_async_swap(struct engine* engine);
|
||||
void android_async_unlock(struct engine* engine);
|
||||
void android_async_lock();
|
||||
void android_async_swap();
|
||||
void android_async_unlock();
|
||||
void android_attach_jni();
|
||||
void android_detach_jni();
|
||||
#elif _WIN32
|
||||
@@ -418,7 +418,7 @@ void App::async_start()
|
||||
#elif __IOS__
|
||||
[ios_view async_lock];
|
||||
#elif __ANDROID__
|
||||
android_async_lock(and_engine);
|
||||
android_async_lock();
|
||||
#elif _WIN32
|
||||
async_lock();
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
||||
@@ -438,7 +438,7 @@ void App::async_end()
|
||||
#elif __IOS__
|
||||
[ios_view async_unlock];
|
||||
#elif __ANDROID__
|
||||
android_async_unlock(and_engine);
|
||||
android_async_unlock();
|
||||
#elif _WIN32
|
||||
async_unlock();
|
||||
#endif
|
||||
@@ -451,7 +451,7 @@ void App::async_swap()
|
||||
#elif __IOS__
|
||||
[ios_view async_swap];
|
||||
#elif __ANDROID__
|
||||
android_async_swap(and_engine);
|
||||
android_async_swap();
|
||||
#elif _WIN32
|
||||
win32_async_swap();
|
||||
#endif
|
||||
|
||||
@@ -2,8 +2,10 @@
|
||||
#include "app.h"
|
||||
|
||||
#ifdef __ANDROID__
|
||||
void displayKeyboard(android_app* mApplication, bool pShow);
|
||||
void android_pick_file(android_app* mApplication, std::function<void(std::string)> callback);
|
||||
void displayKeyboard(bool pShow);
|
||||
void android_pick_file(std::function<void(std::string)> callback);
|
||||
std::string android_get_clipboard();
|
||||
bool android_set_clipboard(const std::string& s);
|
||||
#elif _WIN32
|
||||
std::string win32_open_file(const char* filter);
|
||||
std::string win32_open_dir();
|
||||
@@ -21,6 +23,8 @@ std::string App::clipboard_get_text()
|
||||
return [ios_view clipboard_get_string];
|
||||
#elif __OSX__
|
||||
return [osx_view clipboard_get_string];
|
||||
#elif __ANDROID__
|
||||
return android_get_clipboard();
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -32,6 +36,8 @@ bool App::clipboard_set_text(const std::string& s)
|
||||
return [ios_view clipboard_set_string:s];
|
||||
#elif __OSX__
|
||||
return [osx_view clipboard_set_string:s];
|
||||
#elif __ANDROID__
|
||||
return android_set_clipboard(s);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -93,7 +99,7 @@ void App::showKeyboard()
|
||||
[ios_view becomeFirstResponder];
|
||||
});
|
||||
#elif __ANDROID__
|
||||
displayKeyboard(and_app, true);
|
||||
displayKeyboard(true);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -107,7 +113,7 @@ void App::hideKeyboard()
|
||||
// [ios_view unregisterForKeyboardNotifications];
|
||||
});
|
||||
#elif __ANDROID__
|
||||
displayKeyboard(and_app, false);
|
||||
displayKeyboard(false);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -126,7 +132,7 @@ void App::pick_image(std::function<void(std::string path)> callback)
|
||||
callback(path);
|
||||
});
|
||||
#elif __ANDROID__
|
||||
android_pick_file(and_app, callback);
|
||||
android_pick_file(callback);
|
||||
#elif _WIN32
|
||||
std::string path = win32_open_file("Image Files (*.jpg, *.png)\0*.jpg;*.png");
|
||||
if (!path.empty())
|
||||
@@ -154,7 +160,7 @@ void App::pick_file(std::vector<std::string> types, std::function<void (std::str
|
||||
callback(path);
|
||||
});
|
||||
#elif __ANDROID__
|
||||
android_pick_file(and_app, callback);
|
||||
android_pick_file(callback);
|
||||
#elif _WIN32
|
||||
std::string filter = "Supported Files (";
|
||||
bool first_type = true;
|
||||
|
||||
Reference in New Issue
Block a user