Commit Graph
199 Commits
Author SHA1 Message Date
SpaiR bf92f04c21 [API] Fix inputText with resizable ImString crashes if the ImGuiInputTextCallback is null
fixes #158
2023-03-01 11:01:09 +02:00
SpaiR d8f8f41a76 [API] Make classes from imgui.type which are represent numbers to extend Number class
- ImDouble
 - ImFloat
 - ImInt
 - ImLong
 - ImShort
2023-02-28 19:08:25 +02:00
SpaiR 25fc8bae8f [API] Make all imgui.type classes to implement Comparable<> interface 2023-02-28 19:02:41 +02:00
Kirill Boginskyandkirill-boginskiy e9f1b72043 [API] Added inputTextWithHint with ability to use callback (#159)
Co-authored-by: kirill-boginskiy <kirill.boginskiy@vizor-games.com>
2023-02-28 12:52:23 +02:00
墨恒andSpaiR 986aa532ff [API] Added callback binding for InputText (#156)
* Added callback binding for InputText

* Add JavaDoc

* Change

* Add Javadoc

* Fix Import

* Teaks and improvements

- Extended example;
- Added input text callback ImGuiInputTextFlags#CallbackEdit;
- Minor code improvements.

---------

Co-authored-by: SpaiR <klimbetoo@gmail.com>
2023-02-07 13:13:02 +02:00
Moulberry 667d6108b8 [API] Fix nHasDragDropPayload SIGSEGV when payload doesn't exist (#155)
`getDragDropPayload()` functions should simply return null when
the payload doesn't exist.

Currently, DearImGui will return NULL from `ImGui::GetDragDropPayload()`
when the payload does not exist. This causes a null dereference
since the nHasDragDropPayload function performs no NULL check
2023-02-03 19:11:47 +02:00
virusbear c71ed6f198 [API] Add missing ImNodes::EditorContextGetPanning (#152)
* Add editorContextGetPanning to ImNodes binding

* make editorContextGetPanning call by reference

* Fix typo
2022-12-26 12:58:54 +02:00
SpaiR d760b2b9ef [API] Tweak ImString tests 2022-12-19 11:36:10 +02:00
SpaiR 47baed3b42 [API] Add arithmetic ops to ImVec2 and ImVec4
- plus
- minus
- times
2022-12-19 11:30:51 +02:00
SpaiR 8a560ca439 [API] Fix dependency tree issue for imgui-java-app
resolve #75
resolve #127

Removed shadowing for `imgui-java-app.jar` which is published to Maven Central.
Shadow Jar now has a prefix `-all` - for those one who prefer to use raw jars instead dependencies in maven/gradle.
2022-12-14 12:01:50 +02:00
SpaiR 2957cb4b88 [Build] CI refactor (#149)
* [Build] CI refactor

* [Build] Fix GenerateLibs

* [Build] Up actions/checkout@v3

* [Build] Remove actions/gradle-build-action

* [Build] Uncomment publish/release jobs

* [Build] Delete obsolete jobs

* [Build] Add more info to the jar manifest

* [Build] Make checkout to fetch tags

* [Build] Return job to update binaries

* [Doc] Update README
2022-12-12 21:45:50 +02:00
davfsa 72e061637e [API] Fix calcTextSize to be used in a static context (#143) 2022-11-16 12:00:39 +02:00
SpaiR ff9b88ddbb [API] Add convenient methods to ImColor helper 2022-09-02 12:18:29 +03:00
SpaiR 142e312971 [API] Fix invalid setNextPlotFormatY
fixes #129
2022-05-12 13:15:11 +03:00
Duncan Calvert bfbe56c2d5 [API] ImPlot Performance Improvement (#115)
* Make native array method public to enable use of primitive arrays.

* Make public methods for the performance methods that are separate from the native ones.

* Finish adding performance methods.

* Add finals.

* Add final finals.
2022-03-01 21:35:09 +02:00
Trevor Flynn fefac80157 [API] Memory editor extension (#110)
* Working on memory editor bindings for SpaiR/imgui-java#109

* Initial working implementation

* Add mising entry for imgui_club in .gitmodules

* Sorry, fixing readme link type and description for memory editor.

* Rename .club package to .memedit

* Rename _club.h to _memedit.h
2022-02-02 13:17:07 +02:00
Trevor Flynn 8c1ef209ad [API] Automatic Module Names (#105)
* Initial implementation of Automatic Module Names

* Fix using java 17 for publishing

* Roll build back to jdk 1.8

* Fix package name for imgui.lwjgl3 module

* Reworking package change to prevent breaking backwards compatability
2022-01-21 09:34:38 +02:00
SpaiR 384e24a6c5 [API] Up OpenGL impl 2021-12-26 17:19:04 +02:00
SpaiR e972af840e [API] Dear ImGui v1.86 (#102) 2021-12-26 16:00:21 +02:00
Trevor FlynnandSpaiR 74203bc333 [API] Add a mechanism for Dear ImGui assertion callbacks (#100)
* Syncing wip to github

* Assertion callback works

* Restore example that does not crash

* Add comment in build script. Merge with upstream.

* Fix assert always triggering

* Resolve jvm env at runtime to prevent looking up bad stack address

* Fixed EXCEPTION_ACCESS_VIOLATION within native code after callback was complete.

* Fix linting errors

* Change ImGui to Dear ImGui

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

* Move jvm native layer to its own header/source

Co-authored-by: SpaiR <klimbetoo@gmail.com>
2021-12-26 14:11:56 +02:00
Trevor Flynn 45f625a5b7 [API] Allow for null passed as file filter for ImGuiFileDialog (#98) 2021-12-10 10:56:49 +02:00
TyruiopandSpaiR a78f0b9e71 [API] Update imnodes with minimap support (#87)
* Attempt to get imnodes minimap working

* Working minimap

* Bottom right minimap in demo

* Restoring bin/libimgui-java.so

* Fix style issue + typo

* Restoring node editor

* Fix example indents

Co-authored-by: SpaiR <klimbetoo@gmail.com>
2021-12-05 20:32:46 +02:00
SpaiR f172bd6e13 [API] Dear ImGui v1.85 2021-12-01 10:38:46 +02:00
Trevor Flynn 0bbbc2e037 [API] Implement ImGuiFileDialog extension (#89)
* Initial setup for ImGuiFileDialog extension

* Need to resolve linker errors. Working on PaneFun callback.

* Remove jni callback code that is not compiling to expose linker error.

* Callbacks for paneFun not yet implemented. Linker error still present, seems that some header is being included multiple times.

* Fixed linker errors. Added example for demo.

* Add support for multiple callbacks

* Callbacks work
2021-11-16 13:07:13 +02:00
Trevor Flynn 3744297452 [API] Added multi Y ImPlot#plotShaded (#84) 2021-10-10 08:03:35 +03:00
AlTsayunandaleksandr.cayun 326594f33a [API] Implement binding for ImGui::getWindowScrollbarRect (#81)
* Implemented binding for ImGui::getWindowScrollbarRect

* checkstyle fixes

* more logic naming for boolean fields in ImGuiWindow struct

Co-authored-by: aleksandr.cayun <aleksandr.cayun@vizor-games.com>
2021-09-24 17:01:17 +03:00
SpaiR e529c610fa [API] Fix dragInt3 only shows 2 boxes
fixes #68
2021-09-12 11:29:01 +03:00
Adam GrzegorzewskiandSpaiR 4e56056222 [API] Bindings for ImGuiColorTextEdit (#79)
* Add ImGuiColorTextEdit submodule

* ImGuiColorTextEdit integration

* Remove unused Identifier class (oops)

* Fix checkstyle

* Small tweaks and fixes

* Remove empty line before imports

Co-authored-by: SpaiR <klimbetoo@gmail.com>
2021-09-12 11:22:43 +03:00
SpaiR 9026dcd4ad [API] Dear ImGui v1.84.1 2021-08-29 11:17:15 +03:00
SpaiR 255f2e2286 [Build] Move sourceCompatibility option to the root build file 2021-08-29 10:29:54 +03:00
Perry MacMurray 78694a4263 [API] Add ImGuiContext struct and ability to switch Dear ImGui contexts (#65)
Struct itself has no fields or methods. It can be used for context switching though.

* Implement ImGuiContext

* Move ImGuiContext from imgui to imgui.internal, minor bugfixes

resolves #17
2021-07-13 08:22:48 +03:00
SpaiR 1544682cc4 [Build] Add workflows for automatic releases 2021-07-10 14:15:45 +03:00
SpaiR b1ea4cedb9 [Doc] Fix javadoc 2021-06-21 16:19:39 +03:00
92fa416657 [API] Include ImPlot (#56)
* Add implot submodule.

* Add implot to generateLibs

* Add _implot.h

* Add placeholder ImPlot java classes.

* Create demo window.

* Try to show the ImPlot demo in the window.

* Create ImPlot context.

* Fix final check.

* Implement ImPlotFlags.

* Implement the rest of the enums.

* Make classes final.

* Implement ImPlotContext and related methods

* Added more methods to ImPlot wrapper (mostly plot utils)

* Implement ImPlotPoint

* Implement ImPlotRange

* Switch native method to static in ImPlotPoint

* Implement ImPlotLimits

* Finish ImPlot Plot Utils bindings

* Implement more ImPlot methods (Miscellaneous)

* Implement more ImPlot methods (Legend utils/tools)

* Implement more ImPlot methods (Drag and drop utils)

* Implement more ImPlot methods (Plot tools)

* Implement more ImPlot methods (most plot items)

* Fix compile error (casting to double and not Double)

* Fix ImDrawData.getCmdListCmdBufferTextureId()

* Implement more ImPlot methods (rest of plot items)
(except for PlotImage, which is not currently supported)

* Fix ImGui binding problems due to API changes

* Adhere to style guidelines.

* Fix imguizmo submodule

* Fix API

* Implement ImPlotStyle

* Implement more ImPlot methods (Plot and Item styling)

* Implement remainder of ImPlot methods (Colormaps)

* Modify ImPlot example program

* Fix ImPlot example program bug

* ImPlot bugfixes

* Update ImPlot Demo

* Revert merge errors.

* Make the submodules the version on master.

* Fix URL/style in ExampleImPlot

* Fix merge conflicts with example ImPlot context creation

* Remove unneccesary static block for field declarations

* Revert libimgui-java64.so

* Change construction to use define (vs passing a pointer)

* Fixed memory leaks
Changed ImPlotLimits, ImPlotRange, and ImPlotPoint to extend ImGuiStructDestroyable instead of ImGuiStruct so user-created instances can be destroyed. Methods that create instances that must be destroyed manually specify this in the docs.

* Fix style violations

* Fix compile error

* Replace exception type

Co-authored-by: Perry MacMurray <perrymacmurray@gmail.com>
Co-authored-by: Perry <pmacmurray@ihmc.org>
Co-authored-by: SpaiR <klimbetoo@gmail.com>
2021-06-21 16:07:16 +03:00
SpaiR 39a86991f2 [Build] Drop 32bit support 2021-05-30 14:30:00 +03:00
SpaiR b4df8d8611 [API] Dear ImGui v1.83 2021-05-29 13:09:00 +03:00
SpaiR 423612cdc4 [API] Fix #43 2021-05-29 12:09:01 +03:00
Okan GüclüandSpaiR 5ea2712c91 [API] ImGuizmo (#54)
* [API] ImGuizmo

* [Example] Fix ImGuizmo demo

Co-authored-by: SpaiR <klimbetoo@gmail.com>
2021-05-29 12:06:09 +03:00
SpaiR 8070e9668d [Example] Minor styling 2021-04-29 09:03:34 +03:00
Dubrovsky Danil 36e59c4cba [API] ImFontGlyphRangesBuilder and fonts example 2021-04-29 08:43:02 +03:00
SpaiR 3725ddf2f9 [Build] Add a "one include" header files 2021-04-10 15:30:00 +03:00
SpaiR ad24d65c86 [Build] QOL for build scripts 2021-04-10 14:24:52 +03:00
SpaiR 0ed891f391 [API] Dear ImGui v1.82 2021-03-27 20:03:16 +02:00
sh54andSpaiR 04b7c4e4fe [API] Allow null to be passed as the shortcut param to MenuItem (#35)
Co-authored-by: SpaiR <klimbetoo@gmail.com>
2021-03-27 17:09:37 +03:00
SpaiR 3fe77320f3 [Example] Add example of Drag & Drop 2021-03-09 17:58:21 +02:00
SpaiR 533fc7f979 [API] Refactor Drag & Drop api
In Java we can easily bind our payload to an object. 
This is a more flexible approach, than using byte arrays so the last one was removed.
2021-03-09 17:58:02 +02:00
SpaiR 9e807d3e9e [API] Fix getDragDropPayloadObject
Methods was throwing nullpointer  exception when there were no payload
2021-02-27 16:16:55 +02:00
SpaiR 1fe8c4a75a [API] Fix ImGuiIO doesn't set font to field 2021-02-27 16:16:12 +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