mirror of
https://github.com/eliasstepanik/imgui-rs.git
synced 2026-01-21 02:18:32 +00:00
added the callbacks for multiline input
This commit is contained in:
parent
1a2a7d1473
commit
fd5d6b2d9f
@ -2,7 +2,6 @@ use bitflags::bitflags;
|
|||||||
use std::marker::PhantomData;
|
use std::marker::PhantomData;
|
||||||
use std::ops::Range;
|
use std::ops::Range;
|
||||||
use std::os::raw::{c_char, c_int, c_void};
|
use std::os::raw::{c_char, c_int, c_void};
|
||||||
use std::ptr;
|
|
||||||
|
|
||||||
use crate::sys;
|
use crate::sys;
|
||||||
use crate::{ImStr, ImString, Ui};
|
use crate::{ImStr, ImString, Ui};
|
||||||
@ -689,13 +688,12 @@ impl<'ui, 'p> InputTextMultiline<'ui, 'p> {
|
|||||||
|
|
||||||
pub fn build(self) -> bool {
|
pub fn build(self) -> bool {
|
||||||
let (ptr, capacity) = (self.buf.as_mut_ptr(), self.buf.capacity_with_nul());
|
let (ptr, capacity) = (self.buf.as_mut_ptr(), self.buf.capacity_with_nul());
|
||||||
let (callback, data): (sys::ImGuiInputTextCallback, _) = {
|
|
||||||
if self.flags.contains(InputTextFlags::CALLBACK_RESIZE) {
|
let mut data = UserData {
|
||||||
(Some(callback), self.buf as *mut _ as *mut c_void)
|
container: self.buf,
|
||||||
} else {
|
cback_handler: self.callback_handler,
|
||||||
(None, ptr::null_mut())
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
let data = &mut data as *mut _ as *mut c_void;
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
let result = sys::igInputTextMultiline(
|
let result = sys::igInputTextMultiline(
|
||||||
@ -704,7 +702,7 @@ impl<'ui, 'p> InputTextMultiline<'ui, 'p> {
|
|||||||
capacity,
|
capacity,
|
||||||
self.size.into(),
|
self.size.into(),
|
||||||
self.flags.bits() as i32,
|
self.flags.bits() as i32,
|
||||||
callback,
|
Some(callback),
|
||||||
data,
|
data,
|
||||||
);
|
);
|
||||||
self.buf.refresh_len();
|
self.buf.refresh_len();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user