Commit Graph
529 Commits
Author SHA1 Message Date
github-actions 400dc4d2bc [ci skip] update native binaries 2024-08-18 07:54:11 +00:00
SpaiR d252c145c5 feat(api): make FreeType a toggleable option which is disabled by default (#254)
* deps(build): bump FreeType from 2.12.1 to 2.13.3

* fix(generator): add missing ImGuiFreeTypeBuilderFlags

* feat(generator): add possibility to provide additional defines specifically for AST

* feat(api): make FreeType optional and disabled by default

FreeType renderer is still included in the final build.
Its usage is toggleable and DISABLED by default.
2024-08-18 10:45:27 +03:00
github-actions 887e3d9c85 [ci skip] update native binaries 2024-08-16 12:44:00 +00:00
SpaiR 47d97102f7 feat(api): Dear ImGui v1.87 + ImPlot v0.13 (#252)
* build(deps): bump Dear ImGui from 1.86 to 1.87

* build(deps): bump implot from 0.12 to 0.13

* feat(api,binding): adapt API to Dear ImGui v1.87

* feat(api,binding): adapt API to implot v0.13

* build: generate API for latest changes

* chore(binding): add missing super call for ImGuiStructDestroyable constructor

* chore: minor code style

* feat: adapt ImGuiImplGlfw to 1.87

* feat: adapt ImGuiImplGl3 to 1.87

* feat: adapt imgui-app module to 1.87

* fix: javadoc for updated imgui-binding

* fix: loosing data when setting struct field of char* type

Since we manually release chars, to store them in field we need to do a local copy.

* fix: invalid methods to check program linking in OpenGL

* chore: remove dedicated method to check GLFW version

* fix: add missing include
2024-08-16 15:35:42 +03:00
dependabot[bot] 341b0af179 build(deps): bump com.fasterxml.jackson.core:jackson-databind (#250)
Bumps [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) from 2.14.2 to 2.17.2.
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-12 16:53:29 +03:00
dependabot[bot] 4f6da8181d build(deps): bump com.fasterxml.jackson.core:jackson-core from 2.14.2 to 2.17.2 (#251)
* build(deps): bump fr.inria.gforge.spoon:spoon-core from 10.3.0 to 11.1.0 (#249)

Bumps fr.inria.gforge.spoon:spoon-core from 10.3.0 to 11.1.0.

---
updated-dependencies:
- dependency-name: fr.inria.gforge.spoon:spoon-core
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump com.fasterxml.jackson.core:jackson-core

Bumps [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) from 2.14.2 to 2.17.2.
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.14.2...jackson-core-2.17.2)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-12 16:52:33 +03:00
github-actions c41681f61e [ci skip] update native binaries 2024-08-12 13:42:49 +00:00
Emanuel RabinaandSpaiR 9ca6d97489 feat(api): add missing ImGui.TableGetSortSpecs API (and related objects) (#246)
* Add missing GetTableSortSpecs API

* Add binding for TreeNodeEx(const char* label, ImGuiTreeNodeFlags flags)

* Add generated files

* Wrap > character in code block

Co-authored-by: SpaiR <klimbetoo@gmail.com>

* Wrap > character in code block

Co-authored-by: SpaiR <klimbetoo@gmail.com>

---------

Co-authored-by: SpaiR <klimbetoo@gmail.com>
2024-08-12 16:35:02 +03:00
github-actions aef257f0bd [ci skip] update native binaries 2024-08-11 09:17:16 +00:00
SpaiR 6ee9625e3f build(generator): make evaluatedValue to be an Int instead of String 2024-08-11 12:08:35 +03:00
SpaiR 746c4887b8 build(generator): create AST tree with all includes and type definitions 2024-08-11 12:08:35 +03:00
SpaiR 7b8ca029c0 build(generator): ast enum content for numbers
Take into account cases, when enum value can be a number.
2024-08-11 12:08:35 +03:00
SpaiR 588903f7f7 feat: remove offset property from GenerateAst JSON (#243)
* fix: GenerateAst task didn't work

* feat: remove offset property from GenerateAst JSON
2024-08-09 11:13:36 +03:00
SpaiR 555b3d4aba build(deps): bump com.badlogicgames.gdx:gdx-jnigen from 2.4.0 to 2.5.1 (#242) 2024-08-08 16:32:46 +03:00
SpaiR ed6f0922a2 build(deps): bump com.gradleup.shadow from 7.1.2 to 8.3.0 (#241)
The plugin has also moved to the new id.
2024-08-08 16:32:35 +03:00
github-actions ad70e60e49 [ci skip] update native binaries 2024-08-08 11:54:43 +00:00
SpaiR 1c396fb82a build(ci): adapt build pipeline for the generator API
build(ci): make "Compare Binding Hash" job also took into account generated and include folders

build(ci): add JDK 11 to the setup-java pipeline

This is required for the buildSrc module, since it uses "spoon" library, which is compiled for JDK11.

build(ci): keep only JDK11

- Add source ant target compatibility output to the MANIFEST.mf file

build: add auto-provisioning for JDK

just in case
2024-08-08 14:46:23 +03:00
SpaiR 4e884a1a17 build(deps): bump Gradle from 7.4.2 to 8.9 2024-08-08 14:46:23 +03:00
SpaiR 8a8cd22ed6 feat: introduce binding generator
A squash of hundreds of commits with a binding API generator.

The API generator works with a hybrid model:
1. We define methods and fields in the code.
2. Mark them with API annotations.
3. For specific use cases, we use the old approach with JNI generation comments.

There is also an API to generate an AST tree, which is saved to JSON.
This JSON can be used for full API generation by declaring only field/method names.
Currently, it is used to generate constants.

By eyeballing, 95% of the API has been converted to the new approach.
This is sufficient for the current moment. Only edge cases with specific API calls are left.

fix: ambiguous call for ImGui::GetColorU32

build: disable checkstyle for imgui-binding module

Since the module is heavily generated, checkstyle for it doesn't make sense.

build: make buildSrc to use JDK 11

build: make generateApi optional when compiling project

Initially generated module was not included to the project VCS.
Since it's now in the separate src folder, we don't need to call generator every time.
Only when a new generation result is required.
2024-08-08 14:46:23 +03:00
SpaiR e64df5a433 doc: revamp available commit type names
- Remove excessive commit types
- Add `ci` scope
2024-08-07 16:14:58 +03:00
SpaiR 4ad5032c1c doc: fix maven link in README 2024-08-07 16:03:12 +03:00
SpaiR d00f7b5a12 v1.86.12 2024-08-07 11:54:43 +03:00
dependabot[bot] 54812d48a3 build(deps): bump org.junit.jupiter:junit-jupiter-api (#234)
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5) from 5.10.2 to 5.10.3.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.2...r5.10.3)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-07 10:05:41 +03:00
dependabot[bot] 363eaf7071 build(deps): bump org.lwjgl:lwjgl-bom from 3.3.3 to 3.3.4 (#238)
Bumps [org.lwjgl:lwjgl-bom](https://github.com/LWJGL/lwjgl3) from 3.3.3 to 3.3.4.
- [Release notes](https://github.com/LWJGL/lwjgl3/releases)
- [Commits](https://github.com/LWJGL/lwjgl3/compare/3.3.3...3.3.4)

---
updated-dependencies:
- dependency-name: org.lwjgl:lwjgl-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-07 10:00:24 +03:00
dependabot[bot] f545026cc5 build(deps): bump org.junit.jupiter:junit-jupiter-engine (#233)
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5) from 5.10.2 to 5.10.3.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.2...r5.10.3)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-07 09:57:12 +03:00
github-actions 066cbe591f [ci skip] update native binaries 2024-08-07 06:46:59 +00:00
SpaiR 46c008eb02 build(binding): add universal macOS ARM64 dylib and static FreeType compilation
- Static FreeType linking flow for all OS
- Flow to build universal binaries for macOS (x86_64, aarch64)
- Simplified CI workflow by removing FreeType branches from the build matrix

Added 2 new scripts:
1. `buildSrc/scripts/vendor_freetype.sh`
2. `buildSrc/scripts/build.sh`

The first script prepares FreeType for usage in the build process.
The result of this script is used in the `GenerateLibs` task.
Other ways of building with FreeType are removed.
If it's impossible to build with FreeType, it is recommended to set `freetype=false`.

The second script aggregates commands to build native binaries.
It includes specific steps, such as creating a universal library for macOS and copying the result to the specific folder `/tmp/imgui/dst`.

Script 1 can be used for local builds. Script 2 is primarily intended for use in CI.
2024-08-07 09:41:09 +03:00
github-actions 66522fa265 [ci skip] update native binaries 2024-08-05 06:40:23 +00:00
Rex Fleischerand@Tom-Ski @zly2006 be4734090e build(binding): macOS ARM64 native binaries (#223)
Co-authored-by: @Tom-Ski @zly2006
2024-08-05 00:37:32 +03:00
dependabot[bot] 3d75eb3da0 build(deps): bump org.junit.jupiter:junit-jupiter-api (#221)
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5) from 5.10.1 to 5.10.2.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.1...r5.10.2)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-13 07:55:58 +02:00
dependabot[bot] 4b0879e4d2 build(deps): bump softprops/action-gh-release from 1 to 2 (#225)
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 1 to 2.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/v1...v2)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-12 09:41:21 +02:00
dependabot[bot] 3eaf77de88 build(deps): bump org.junit.jupiter:junit-jupiter-engine (#222)
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5) from 5.10.1 to 5.10.2.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.1...r5.10.2)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-12 09:40:36 +02:00
github-actions 3e33dde643 [ci skip] update native binaries 2024-01-09 08:41:05 +00:00
ΔeltaandSpaiR 194381c44e feat(api): add bindings for imgui-knobs (#211)
* feat(api): add bindings for imgui-knobs

Add bindings for the imgui-knobs extension

* Update example/src/main/java/Extra.java

Update styling

Co-authored-by: SpaiR <klimbetoo@gmail.com>

* Update example/src/main/java/Extra.java

Update styling

Co-authored-by: SpaiR <klimbetoo@gmail.com>

* Update .gitignore

Remove gradle.properties from git ignore

* Update styling

Update styling, field names set to UPPER_CASE, remove throwing exceptions from constructors, refactored flags to general style

---------

Co-authored-by: SpaiR <klimbetoo@gmail.com>
2024-01-09 10:34:10 +02:00
dependabot[bot] 89cbacbf97 build(deps): bump actions/setup-java from 3 to 4 (#213)
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3 to 4.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 14:51:36 +02:00
dependabot[bot] b8f5001442 build(deps): bump org.junit.jupiter:junit-jupiter-engine (#208)
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5) from 5.10.0 to 5.10.1.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.0...r5.10.1)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-10 12:51:09 +02:00
dependabot[bot] b0add80135 build(deps): bump org.junit.jupiter:junit-jupiter-api (#209)
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5) from 5.10.0 to 5.10.1.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.0...r5.10.1)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-10 12:47:04 +02:00
dependabot[bot] 85e198f581 build(deps): bump actions/checkout from 3 to 4 (#206)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-02 13:09:36 +03:00
SpaiR e2222f45d3 doc: add conventional commits naming and move to MIT License
- Add conventional commits naming.
- Move imgui-java to a more straightforward MIT License.
  Apache license is ok, yet MIT license is easier to read and understand.
2023-10-01 20:57:31 +03:00
SpaiR 1288f119a8 build: add signing key password 2023-09-29 12:47:09 +03:00
SpaiR 2cef96d993 v1.86.11 2023-09-29 11:35:13 +03:00
SpaiR f683e6c595 build(deps): bump org.lwjgl:lwjgl from 3.3.2 to 3.3.3 (#205)
fixes #201
2023-09-29 11:03:58 +03:00
dependabot[bot] 4b69030f41 build(deps): bump org.junit.jupiter:junit-jupiter-api from 5.9.3 to 5.10.0 (#191)
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5) from 5.9.3 to 5.10.0.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.9.3...r5.10.0)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-29 10:48:32 +03:00
dependabot[bot] de88bdb27e build(deps): bump org.junit.jupiter:junit-jupiter-engine from 5.9.3 to 5.10.0 (#192)
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5) from 5.9.3 to 5.10.0.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.9.3...r5.10.0)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-29 10:35:40 +03:00
github-actions 7ce1b36f92 [ci skip] update native binaries 2023-09-29 07:13:31 +00:00
SpaiR 49fffaf02d tweak(api): simplify version get from imgui-java.properties file (#204)
Instead of generating `properties` file we make it always.
To provide version value we replace specific token.

Also, small tweaks in code which gets the version
2023-09-29 10:02:21 +03:00
SpaiR 3f2532a478 tweak(build): move LICENSE into META-INF folder (#203) 2023-09-29 09:59:37 +03:00
github-actions a704140930 [ci skip] update native binaries 2023-09-18 06:26:52 +00:00
Kusaanko c46830a3b7 fix(api): native loading by stopping creating tmpDir every time (#197)
* [API] Stop creating tmpDir every time

* [API] Add a whitespace after catch

* [API] Fix getting imgui-java version

* [API] Add final to properties variable

* [API] Make it brief to generate properties

* [API] Fix the path of imgui-java.properties

* [API] Change the order of loading native library

1.imgui.library.path
2.java.library.path
3.extract from resources

* [API] Remove debugging codes

* [API] Move extraction code before it is loaded
2023-09-18 09:19:01 +03:00
github-actions f9a152d49f [ci skip] update native binaries 2023-08-28 11:56:31 +00:00