summaryrefslogtreecommitdiffstats
path: root/lib/imgui-1.90.7/examples/example_android_opengl3/android/app
diff options
context:
space:
mode:
authorgramanas <anastasis.gramm2@gmail.com>2024-06-05 19:04:25 +0300
committergramanas <anastasis.gramm2@gmail.com>2024-06-05 19:04:25 +0300
commita6501b5d7ad204c3b998c843c7ed68ef7be323ba (patch)
tree1a442e6095abf160e36baa31a319858774cd1178 /lib/imgui-1.90.7/examples/example_android_opengl3/android/app
parent6af7e785890a322f60c21a51e3d41cd9015e6773 (diff)
downloadcgame-a6501b5d7ad204c3b998c843c7ed68ef7be323ba.tar.gz
cgame-a6501b5d7ad204c3b998c843c7ed68ef7be323ba.tar.bz2
cgame-a6501b5d7ad204c3b998c843c7ed68ef7be323ba.zip
more vks, stupid mutlistep build, and imgui
Diffstat (limited to 'lib/imgui-1.90.7/examples/example_android_opengl3/android/app')
-rw-r--r--lib/imgui-1.90.7/examples/example_android_opengl3/android/app/build.gradle46
-rw-r--r--lib/imgui-1.90.7/examples/example_android_opengl3/android/app/src/main/AndroidManifest.xml24
-rw-r--r--lib/imgui-1.90.7/examples/example_android_opengl3/android/app/src/main/java/MainActivity.kt40
3 files changed, 110 insertions, 0 deletions
diff --git a/lib/imgui-1.90.7/examples/example_android_opengl3/android/app/build.gradle b/lib/imgui-1.90.7/examples/example_android_opengl3/android/app/build.gradle
new file mode 100644
index 0000000..53181ba
--- /dev/null
+++ b/lib/imgui-1.90.7/examples/example_android_opengl3/android/app/build.gradle
@@ -0,0 +1,46 @@
+apply plugin: 'com.android.application'
+apply plugin: 'kotlin-android'
+
+android {
+ compileSdkVersion 33
+ buildToolsVersion "33.0.2"
+ ndkVersion "25.2.9519653"
+
+ defaultConfig {
+ applicationId "imgui.example.android"
+ namespace "imgui.example.android"
+ minSdkVersion 24
+ targetSdkVersion 33
+ versionCode 1
+ versionName "1.0"
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt')
+ }
+ }
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_11
+ targetCompatibility JavaVersion.VERSION_11
+ }
+
+ kotlinOptions {
+ jvmTarget="11"
+ }
+
+ externalNativeBuild {
+ cmake {
+ path "../../CMakeLists.txt"
+ version '3.22.1'
+ }
+ }
+}
+repositories {
+ mavenCentral()
+}
+dependencies {
+ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
+}
diff --git a/lib/imgui-1.90.7/examples/example_android_opengl3/android/app/src/main/AndroidManifest.xml b/lib/imgui-1.90.7/examples/example_android_opengl3/android/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..a87b95b
--- /dev/null
+++ b/lib/imgui-1.90.7/examples/example_android_opengl3/android/app/src/main/AndroidManifest.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <application
+ android:label="ImGuiExample"
+ android:allowBackup="false"
+ android:fullBackupContent="false"
+ android:hasCode="true">
+
+ <activity
+ android:name="imgui.example.android.MainActivity"
+ android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
+ android:configChanges="orientation|keyboardHidden|screenSize"
+ android:exported="false">
+ <meta-data android:name="android.app.lib_name"
+ android:value="ImGuiExample" />
+
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+</manifest>
diff --git a/lib/imgui-1.90.7/examples/example_android_opengl3/android/app/src/main/java/MainActivity.kt b/lib/imgui-1.90.7/examples/example_android_opengl3/android/app/src/main/java/MainActivity.kt
new file mode 100644
index 0000000..896a88c
--- /dev/null
+++ b/lib/imgui-1.90.7/examples/example_android_opengl3/android/app/src/main/java/MainActivity.kt
@@ -0,0 +1,40 @@
+package imgui.example.android
+
+import android.app.NativeActivity
+import android.os.Bundle
+import android.content.Context
+import android.view.inputmethod.InputMethodManager
+import android.view.KeyEvent
+import java.util.concurrent.LinkedBlockingQueue
+
+class MainActivity : NativeActivity() {
+ public override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ }
+
+ fun showSoftInput() {
+ val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
+ inputMethodManager.showSoftInput(this.window.decorView, 0)
+ }
+
+ fun hideSoftInput() {
+ val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
+ inputMethodManager.hideSoftInputFromWindow(this.window.decorView.windowToken, 0)
+ }
+
+ // Queue for the Unicode characters to be polled from native code (via pollUnicodeChar())
+ private var unicodeCharacterQueue: LinkedBlockingQueue<Int> = LinkedBlockingQueue()
+
+ // We assume dispatchKeyEvent() of the NativeActivity is actually called for every
+ // KeyEvent and not consumed by any View before it reaches here
+ override fun dispatchKeyEvent(event: KeyEvent): Boolean {
+ if (event.action == KeyEvent.ACTION_DOWN) {
+ unicodeCharacterQueue.offer(event.getUnicodeChar(event.metaState))
+ }
+ return super.dispatchKeyEvent(event)
+ }
+
+ fun pollUnicodeChar(): Int {
+ return unicodeCharacterQueue.poll() ?: 0
+ }
+}