Commit Graph
21 Commits
Author SHA1 Message Date
SpaiR bb411ff549 chore(api): tweak ImGuiListClipper API 2025-01-30 09:11:24 +02:00
SpaiR 08a8626554 feat(api): expose some internal Table API (#318)
resolves #230
2025-01-30 08:45:38 +02:00
SpaiR d27e3aa10b feat(api): make ImVec2/ImVec4 math operations immutable (#317)
resolves #302 

Updated math operations (`plus`, `minus`, `times`, `div`) for `ImVec2` and `ImVec4` to return new instances instead of modifying the existing ones, ensuring immutability.
2025-01-29 20:35:53 +02:00
SpaiR e70576f322 feat(api): bump Dear ImGui from 1.88 to 1.89.9
resolves #134
resolves #135
resolves #145
resolves #220
resolves #310

- Bump imgui-node-editor to the latest coomit
- Bump implot from 0.13 to 0.16
2025-01-29 15:24:43 +02:00
SpaiR 666d1112ab feat(api): bump Dear ImGui from 1.87 to 1.88 (#309) 2024-12-27 18:02:10 +02:00
SpaiR deb6b9bcfa chore(api): remove ImGuiInputTextFlags usage from "raw" module
Cleaned up the code by eliminating the usage of ImGuiInputTextFlags from the "raw" module to streamline the API.
2024-12-27 14:00:58 +02:00
William Gray 92eba406ef feat: add more internal widgets & flags (#301) 2024-12-08 19:00:12 +02:00
SpaiR 5dab4bce55 feat(api): extend available API for imgui.internal.ImGui (#294)
Extending available API for imgui.internal.ImGui class.
This adds multiple new methods to manipulate windows, fonts etc.
2024-10-31 09:52:30 +02:00
Sebastian Erives 7be2a2942f feat(api): update imnodes bindings to latest version (#282)
resolve #193
fixes #290

* fix(api): fix imnodes getNode___Pos & generate latest bindings
* fix(api): add optional arguments for ImNodes style methods
2024-10-21 09:53:00 +03:00
SpaiR 6a66fb761f chore(api): tweak ImPlot api (#273)
- Added missing PlotBarGroups/PlotBarGroupsH methods
- Tweaked args for PlotBars/PlotBarsH
2024-09-23 10:28:27 +03:00
SpaiR 36d9e3a13c fix(api): fix incorrect ImDrawData#getCmdListCmdBufferTextureId return type (#272)
Method must return long to be consistent with API in general.
2024-09-23 09:51:41 +03:00
SpaiR 933a7c60b6 fix(api): missing bindings for TreePush and InputScalar (#268)
Add:
- TreePush with label arg
- InputScalar with dataType arg
2024-09-09 08:37:43 +03: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 9518b1cec6 feat: ArgVariant annotation and plot methods with count parameter (#264)
* feat(generator): introduce ArgVariant annotation

New annotation provides an ability to generate methods definitions for different types and names.

* feat(api): expose count param for plot* methods
2024-08-26 11:33:55 +03:00
SpaiR 2086b7977b feat(generator): create unwrapped methods for methods with dst arg (#263)
Also, minor fixes for binding declarations.
2024-08-21 14:31:05 +03:00
SpaiR 8f76b2083f fix: return methods lost during integration of binding generation API 2024-08-19 14:34:02 +03: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
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
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
SpaiR 746c4887b8 build(generator): create AST tree with all includes and type definitions 2024-08-11 12:08:35 +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