Commit Graph

56 Commits

Author SHA1 Message Date
24519778e6 Add inputTextMultiline, inputTextWithHint (#92)
- Experimental explicit encoding for CStrings.
- Fix potential buffer overruns in inputText.
2021-09-12 11:43:44 +03:00
4bfc7e7099 Add invisibleButton (#91) 2021-09-11 11:01:03 +00:00
efaaa5723a Add Show instances to structs and enums (#90) 2021-09-11 10:40:05 +00:00
be7aa1e9b1 Add functions for getting window position and size (#89)
- getWindowPos
- getWindowSize
- getWindowWidth
- getWindowHeight

Closes #88
2021-09-11 10:09:11 +00:00
08b3139477 Remove seg faults (#87)
* Removed double OpenGl3Shutdown, leading to a segmentation fault in Main.hs.
* Changed nullPtr passing with Maybe to use DearImGui default arguments.
2021-09-11 10:00:08 +00:00
8d07a5a42b Add more withXXX wrappers (#82)
- withStyleColor
- withStyleVar
- withIndent
- withItemWidth

Closes #63
2021-09-01 17:23:59 +00:00
d3a0396623 Add GLFW callbacks (#81)
Closes #80
2021-09-01 19:22:55 +03:00
5699f64e95 Bump imgui to 1.84.2 (#78) 2021-08-30 19:57:00 +03:00
d7dc999e8b Add withID (#75)
Raw versions are specialized to match overloaded C++ functions.
2021-08-28 15:52:04 +00:00
1d6b7cc97b Relax MonadUnliftIO constraint on vulkanInit (#65) 2021-06-20 19:17:58 +00:00
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
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
5634b6f67d Extract raw C bindings (#44)
The original DearImGui interface hasn't changed.
2021-04-05 20:16:09 +03:00
b0337eb084 Update StateVars only when its widget reports a change (#42) 2021-03-12 11:03:54 +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
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
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
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
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
2fbe257c24 Wrap ImGui::SliderFloat() (#9)
Co-authored-by: Ollie Charles <ollie@ocharles.org.uk>
2021-01-25 19:04:43 +00:00
f632e99500 add string formatter 2021-01-25 13:39:23 +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
bbef66b202 add cabal flags for backend selection 2021-01-24 19:06:36 +00:00
3c3646a645 Wrap ImGui::Begin/EndTooltip() 2021-01-24 17:39:44 +00:00
4ca9a3d38f Wrap ImGui::IsItemHovered() 2021-01-24 17:39:35 +00:00
93b729dae3 Wrap ImGui popups 2021-01-24 17:35:00 +00:00
c4d54a6e36 Wrap ImGui::Separator() 2021-01-24 17:00:25 +00:00
85c6f34054 Wrap ImGui::SameLine() 2021-01-24 16:58:52 +00:00
bc4b74cfea Wrap menu support 2021-01-24 16:49:28 +00:00
4f9a552a32 Move everything to MonadIO 2021-01-24 16:34:36 +00:00