Commit Graph

49 Commits

Author SHA1 Message Date
24345bb8f3 Add font utils (#56)
- clearFontAtlas
- addFontDefault
- addFontFromFileTTF
- addFontFromMemoryTTF (raw only)
- buildFontAtlas

Vulkan example updated to use on f the imgui-distributed ttf files.
2021-09-12 15:41:42 +00:00
f3b85899f2 Added image wrapper (#74)
Raw.image and sdl2/gl example "image"

Wrappers should be backend-specific due to different handling of `userTextureIDPtr`.
2021-09-12 10:35:03 +00:00
c7a694bce8 Add remaining BeginChild arguments as required (#93)
Old behaviour with all default arguments is a special case to run
some action scoped to a different child window.

This now handled by `beginChildContext`/`withChildContext`.
2021-09-12 10:28:48 +00:00
c219f8eb4f Wrap GetCurrentContext and SetCurrentContext (#94) 2021-09-12 10:23:23 +00:00
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
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
d7dc999e8b Add withID (#75)
Raw versions are specialized to match overloaded C++ functions.
2021-08-28 15:52:04 +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
007b3cccb8 Bindings for item widths functions, and text input widget. (#38) 2021-02-21 11:39:17 +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
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
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
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
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
aa681fb77d Wrap ImGui::BeginCombo(), EndCombo(), Selectable() 2021-01-24 16:14:51 +00:00
5a1f5c78ec Wrap ImGui::ProgressBar() 2021-01-24 16:03:18 +00:00
1bd51ab35e Wrap ImGui::Bullet() 2021-01-24 15:57:17 +00:00
90d96ad938 Wrap ImGui::Checkbox() 2021-01-24 15:57:17 +00:00
0fb690d832 Wrap ImGui::ArrowButton() 2021-01-24 15:57:17 +00:00
4398950053 Initial work 2021-01-24 15:27:03 +00:00