mirror of
https://github.com/ocornut/imgui.git
synced 2026-11-10 00:15:57 +01:00
Backend improvements (imgui_impl_android.h/.cpp): - Moved JNI soft-keyboard and Unicode char polling from the example into the backend. The application no longer needs any JNI boilerplate. - Added clipboard support via JNI to Android ClipboardManager. (#7259) - Added display metrics (DPI, density, refresh rate, orientation) via JNI. Used by the example to set main_scale from actual device density instead of hardcoded 2.0f. - BREAKING CHANGE: ImGui_ImplAndroid_Init() now takes additional asset_manager and native_activity parameters. See before/after in header. Example (main.cpp): - Removed ShowSoftKeyboardInput() and PollUnicodeChars() JNI helpers (~120 lines). - Removed their forward declarations and per-frame calls. - Updated Init() call to new signature. - Use ImGui_ImplAndroid_GetDisplayMetrics() for main_scale. - All other comments, EGL block, GetAssetData, APP_CMD cases unchanged. MainActivity.kt: unchanged (same 3 JNI bridge methods, now called by backend). docs/CHANGELOG.txt: Added entries for backend and example changes.
42 lines
1.1 KiB
CMake
42 lines
1.1 KiB
CMake
cmake_minimum_required(VERSION 3.6)
|
|
|
|
project(ImGuiExample)
|
|
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
|
|
add_library(${CMAKE_PROJECT_NAME} SHARED
|
|
${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../imgui.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../imgui_demo.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../imgui_draw.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../imgui_tables.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../imgui_widgets.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../backends/imgui_impl_android.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../backends/imgui_impl_opengl3.cpp
|
|
${ANDROID_NDK}/sources/android/native_app_glue/android_native_app_glue.c
|
|
)
|
|
|
|
set(CMAKE_SHARED_LINKER_FLAGS
|
|
"${CMAKE_SHARED_LINKER_FLAGS} -u ANativeActivity_onCreate"
|
|
)
|
|
|
|
target_compile_definitions(${CMAKE_PROJECT_NAME} PRIVATE
|
|
IMGUI_IMPL_OPENGL_ES3
|
|
)
|
|
|
|
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../..
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../backends
|
|
${ANDROID_NDK}/sources/android/native_app_glue
|
|
)
|
|
|
|
target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE
|
|
android
|
|
EGL
|
|
GLESv3
|
|
log
|
|
sensor
|
|
)
|