diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown index 635dad8..444ffec 100644 --- a/CHANGELOG.markdown +++ b/CHANGELOG.markdown @@ -2,6 +2,10 @@ ## [Unreleased] +### Added + +- `Ui::with_test_wrap_pos` + ### Changed - Upgrade to cimgui 1.65.2 / imgui 1.65. **This is a very big update, so there diff --git a/src/lib.rs b/src/lib.rs index 9c7d0a3..d4b05d8 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -827,6 +827,19 @@ impl<'ui> Ui<'ui> { sys::igTextWrapped(fmt_ptr(), text.as_ptr()); } } + /// Set word-wrapping for `text_*()` commands. + /// - `< 0.0`: no wrapping; + /// - `= 0.0`: wrap to end of window (or column); + /// - `> 0.0`: wrap at `wrap_pos_x` position in window local space + pub fn with_text_wrap_pos(&self, wrap_pos_x: f32, f: F) { + unsafe { + sys::igPushTextWrapPos(wrap_pos_x); + } + f(); + unsafe { + sys::igPopTextWrapPos(); + } + } pub fn label_text<'p>(&self, label: &'p ImStr, text: &'p ImStr) { unsafe { sys::igLabelText(label.as_ptr(), fmt_ptr(), text.as_ptr());