Commit Graph
28 Commits
Author SHA1 Message Date
SpaiR 666d1112ab feat(api): bump Dear ImGui from 1.87 to 1.88 (#309) 2024-12-27 18:02:10 +02:00
SpaiR c4c03bee9f feat(api): use uintptr_t instead of intptr_t for pointers (#265)
Image methods now accept the `long` type instead of `int`,
as they are expected to work with pointers as well.
2024-08-29 16:54:43 +03: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
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 9026dcd4ad [API] Dear ImGui v1.84.1 2021-08-29 11:17:15 +03:00
SpaiR 3725ddf2f9 [Build] Add a "one include" header files 2021-04-10 15:30:00 +03:00
SpaiR 0ed891f391 [API] Dear ImGui v1.82 2021-03-27 20:03:16 +02:00
SpaiR 51cfb7ef3d [API] Add ImGuiStyle#getColors to return float[][]
Same is applied to NodeEditorStyle
2021-02-27 16:16:08 +02:00
SpaiR 36415d60f3 [API] Add API to directly return ImVec2/ImVec4 2021-02-27 16:16:03 +02:00
SpaiR 33309088a2 [API] Dear ImGui v1.80 2021-01-23 20:03:49 +02:00
SpaiR 8ac8a0719b [API] Add API for Dear ImGui v1.79 2020-10-17 14:58:04 +03:00
SpaiR 0b4aa25b1d [API] Add API for Dear ImGui v1.78 2020-08-30 23:04:23 +03:00
SpaiR 1dcf2328a4 Refactor mapping to the native structs 2020-08-23 16:49:16 +03:00
SpaiR fc8f0b0a2f Add ImGuiStyle helper methods to get ImVec2 values 2020-07-08 13:05:33 +03:00
SpaiR 6c008e6e8c Update binding to Dear ImGui v1.77 2020-07-03 16:38:18 +03:00
SpaiR 1235a8d478 Fix build for windows 2020-06-08 03:40:42 +03:00
SpaiR 8ac87a9606 Add ImColor helper. Increase flexibility of the color API
In most of the places it's now possible to provide a simple int value, instead of float numbers.
2020-06-06 17:47:14 +03:00
SpaiR fbe0ed5a08 Fix getBackgroundDrawList() and getForegroundDrawList(). Add methods to create draw list objects with constant pointer 2020-06-06 16:01:02 +03:00
SpaiR ed7bf3601a Update binding API to Dear ImGui v1.76 2020-05-16 17:39:52 +03:00
SpaiR 162c1cd0dd Fix javadoc 2020-04-09 11:17:50 +03:00
SpaiR 42262e1a68 Remove unnecessary cast to long, which breaks builds for Win x64 2020-04-09 10:34:31 +03:00
SpaiR 7ddf242ab4 Natively mapped ImGuiStyle class 2020-02-14 22:43:37 +03:00
SpaiR 8571a01abd Add methods to provide and get separate ImGuiStyle.Colors values 2020-02-11 22:03:07 +03:00
SpaiR eed23dbd39 Update binding API to Dear ImGui v1.75 2020-02-10 23:18:12 +03:00
SpaiR 3f18a8ef51 [fonts] Add forgotten ImGuiStyle method 2020-02-10 22:50:51 +03:00
SpaiR 2b8828dda4 Add checkstyle to imgui-binding and make everything compliant to Java codestyle 2020-01-01 15:50:24 +03:00
SpaiR fcecffa5fa ImGui API 2019-12-29 23:59:38 +03:00
SpaiR dc59810566 Add rendering implementation for LWJGL 2019-12-29 23:59:34 +03:00