Commit Graph

166 Commits

Author SHA1 Message Date
dcaad12ca8 Add more drags and sliders (#60)
- DragFloatRange2
- DragInt..4
- DragIntRange2
- DragScalar
- DragScalarN

- SliderAngle
- SliderInt..4
- SliderScalar
- SliderScalarN
- vSliderFloat
- vSliderInt
- vSliderScalar

Scalar sliders expose format and flags arguments.
2021-06-06 19:10:34 +03:00
f584319577 Add more text widgets (#59)
- Text replaced with TextUnformatted
- TextColored
- TextDisabled
- TextWrapped
- LabelText
- BulletText
2021-06-05 09:01:48 +00:00
6ccee5234b Add withFullscreen and related machinery (#55)
- `fullscreenFlags` available for those who want an alternative
  to `withFullscreen` without reinventing too much.
- Raw.begin got `open` and `flags` arguments.
- Added Raw.setNextWindowFullscreen combo block.
2021-06-04 23:18:16 +03:00
73eee5fc9e Upgrade to dear-imgui v1.82 (#57) 2021-05-08 11:58:25 +00:00
5cdce50c3a Add wantCaptureMouse, wantCaptureKeyboard (#54) 2021-05-03 12:57:23 +03:00
8723ac2625 Add withXxx and withXxxOpen wrappers for begin/end pairs (#49)
Adds dependency on unliftio for monad-preserving brackets.

Fixes #32
2021-04-18 13:10:20 +03:00
b921a72960 Update generator for GHC 9.2 (#48) 2021-04-09 17:18:00 +03:00
5634b6f67d Extract raw C bindings (#44)
The original DearImGui interface hasn't changed.
2021-04-05 20:16:09 +03:00
3949882060 Disable build-depends when not building executables (#43)
This change follows up on https://github.com/haskell-game/dear-imgui.hs/pull/41
where it seems like cabal still need the examples dependency even when they are
not buildable, e.g.: `next goal: vulkan-utils (dependency of dear-imgui)` with
cabal-install version 3.2.0.0.
2021-03-12 15:39:24 +00:00
b0337eb084 Update StateVars only when its widget reports a change (#42) 2021-03-12 11:03:54 +00:00
ebd5286e1c Build executables conditionally on features (#41)
* Build executables conditionally on features

* Put away examples under a flag
2021-03-11 22:59:57 +00:00
2eddbdfa04 Recover init and shutdown from withVulkan (#40) 2021-03-11 09:00:30 +00:00
007b3cccb8 Bindings for item widths functions, and text input widget. (#38) 2021-02-21 11:39:17 +00:00
06921defb1 Generator: use mkName instead of newName (#37) 2021-02-09 11:23:23 +00:00
d4aec47f4e Handle remaining enums (#36)
This handles the remaining enum types in the headers that aren't in the enums section.

It also automatically handles adding all the enumerations to the inline-c context types table, and a small improvement to the display of parse error messages.
2021-02-07 23:07:14 +00:00
921aefdd69 Allow building of OpenGL3 component on Windows/Darwin (#35) 2021-02-06 21:19:56 +00:00
9e5dbd755f Add haskell-language-server to the dev shell (#34) 2021-02-06 15:43:26 +00:00
f9412effde Wrap the OpenGL 3 backend (#20) 2021-02-06 14:44:58 +00:00
ac74572121 Add tab bar functions (#30) 2021-02-06 13:26:28 +00:00
860720e7c2 Define types for use in ImGui Context (#31)
Just doing a little cleanup:

* some functions were not exported,
* some functions were missing the initial | for their documentation,
* add types to the ImGui Context instead of coercing to int. This is more robust, in case upstream changes any of the larger enums to be 64 bits instead of 32 for instance
2021-02-06 10:17:37 +00:00
de0e87612c Add setNextWindow functions, pushColor, pushStyle, indent-related functions (#27) 2021-02-05 23:46:48 +00:00
d7686f84e4 Add support for GLFW (#26)
Co-authored-by: Oliver Charles <ollie@ocharles.org.uk>
2021-02-05 21:44:52 +00:00
643d2ea5b7 Add combo to wrap ImGUI::Combo() (#28)
Co-authored-by: Oliver Charles <ollie@ocharles.org.uk>
2021-02-05 21:20:32 +00:00
895f5c1926 Parse enums from headers & generate code (#19) 2021-02-05 20:57:17 +00:00
81582ba6eb Ignore imgui.ini (#29)
This file gets generated by routine testing but we'll never want to commit it.
2021-02-05 20:22:26 +00:00
af49a7b3fb Wrap ImGui::ListBox() (#25) 2021-01-28 23:38:59 +00:00
bb82e87553 Wrap ImGui::TreeNode, TreePush, TreePop (#24) 2021-01-28 23:28:45 +00:00
24903ce76f Implement ImGui::DragFloat{,2,3,4} (#23) 2021-01-28 23:10:58 +00:00
f24a4b78ab Implement ImGui::SliderFloat2,3,4 (#22) 2021-01-28 23:02:04 +00:00
63bb63a32e Wrap ImGui::BeginChild and EndChild (#21) 2021-01-28 22:38:25 +00:00
397cea7bd9 Add Cachix (#14) 2021-01-27 09:08:33 +00:00
0b86356a49 Vulkan backend (#2)
This commit adds the Vulkan backend and SDL2 integration, and provides the `vulkan` example project.
2021-01-26 20:45:21 +00:00
d227561885 Return Bool when appropriate (#11)
I also updated the main functions to use (/=0) instead of (==1).
2021-01-26 11:35:09 +00:00
e4b75e355f Add pollEventsWithImGui (#13) 2021-01-26 11:23:05 +00:00
e220775b21 Fix conditional in cabal file (#12)
The if conditionals were incorrectly nested, which caused a problem with OpenGL on Windows.
2021-01-26 11:01:41 +00:00
2fbe257c24 Wrap ImGui::SliderFloat() (#9)
Co-authored-by: Ollie Charles <ollie@ocharles.org.uk>
2021-01-25 19:04:43 +00:00
3185bf5e90 Add GitHub actions (#8) 2021-01-25 18:26:27 +00:00
e5c20de7de Add Hacking and Getting Help to the README 2021-01-25 17:53:59 +00:00
7ffa180ad8 Add Haskell.nix and use it to provide a shell.nix (#3) 2021-01-25 16:47:56 +00:00
76f9a316b7 Fixes to make Darwin work (#7)
`extra-libraries: sdl2` needs to be `extra-libraries: SDL2`, and we need a dependency on `OpenGL`.
2021-01-25 16:42:31 +00:00
f632e99500 add string formatter 2021-01-25 13:39:23 +00:00
76ea3f80ec Rename cabal file name to dear-imagui.cabal to match pacakge name 2021-01-25 11:40:28 +00:00
fca2e9fbff Update the README with the demo window and a screenshot 2021-01-25 09:18:13 +00:00
c41eae7817 Fix documentation of colorButton 2021-01-25 09:12:10 +00:00
4586f30eb2 Wrap @ImGui::ColorPicker3()@ 2021-01-25 09:11:46 +00:00
774ef945e6 Fixes for DearImGui.Context 2021-01-25 08:55:47 +00:00
d382b6460f Stubbing out ImGui::ColorButton() and ImVec4 2021-01-24 20:46:01 +00:00
ecab9d37a2 Basic wrapper for plotHistogram 2021-01-24 20:27:28 +00:00
ff989ba403 Remove a redundant openGL2Init 2021-01-24 19:51:36 +00:00
8aa16895bf Add a README 2021-01-24 19:51:36 +00:00