Lines Matching refs:callback_data
3106 ImGuiInputTextCallbackData callback_data;
3107 memset(&callback_data, 0, sizeof(ImGuiInputTextCallbackData));
3108 callback_data.EventFlag = ImGuiInputTextFlags_CallbackCharFilter;
3109 callback_data.EventChar = (ImWchar)c;
3110 callback_data.Flags = flags;
3111 callback_data.UserData = user_data;
3112 if (callback(&callback_data) != 0)
3114 *p_char = callback_data.EventChar;
3115 if (!callback_data.EventChar)
3523 ImGuiInputTextCallbackData callback_data;
3524 memset(&callback_data, 0, sizeof(ImGuiInputTextCallbackData));
3525 callback_data.EventFlag = event_flag;
3526 callback_data.Flags = flags;
3527 callback_data.UserData = callback_user_data;
3529 callback_data.EventKey = event_key;
3530 callback_data.Buf = edit_state.TempBuffer.Data;
3531 callback_data.BufTextLen = edit_state.CurLenA;
3532 callback_data.BufSize = edit_state.BufCapacityA;
3533 callback_data.BufDirty = false;
3537 const int utf8_cursor_pos = callback_data.CursorPos = ImTextCountUtf8BytesFromStr(text, text + edit_state.StbState.cursor);
3538 const int utf8_selection_start = callback_data.SelectionStart = ImTextCountUtf8BytesFromStr(text, text + edit_state.StbState.select_start);
3539 const int utf8_selection_end = callback_data.SelectionEnd = ImTextCountUtf8BytesFromStr(text, text + edit_state.StbState.select_end);
3542 callback(&callback_data);
3545 IM_ASSERT(callback_data.Buf == edit_state.TempBuffer.Data); // Invalid to modify those fields
3546 IM_ASSERT(callback_data.BufSize == edit_state.BufCapacityA);
3547 IM_ASSERT(callback_data.Flags == flags);
3548 if (callback_data.CursorPos != utf8_cursor_pos) { edit_state.StbState.cursor = ImTextCountCharsFromUtf8(callback_data.Buf, callback_data.Buf + callback_data.CursorPos); edit_state.CursorFollow = true; }
3549 if (callback_data.SelectionStart != utf8_selection_start) { edit_state.StbState.select_start = ImTextCountCharsFromUtf8(callback_data.Buf, callback_data.Buf + callback_data.SelectionStart); }
3550 if (callback_data.SelectionEnd != utf8_selection_end) { edit_state.StbState.select_end = ImTextCountCharsFromUtf8(callback_data.Buf, callback_data.Buf + callback_data.SelectionEnd); }
3551 if (callback_data.BufDirty)
3553 IM_ASSERT(callback_data.BufTextLen == (int)strlen(callback_data.Buf)); // You need to maintain BufTextLen if you change the text!
3554 if (callback_data.BufTextLen > backup_current_text_length && is_resizable)
3555 edit_state.TextW.resize(edit_state.TextW.Size + (callback_data.BufTextLen - backup_current_text_length));
3556 edit_state.CurLenW = ImTextStrFromUtf8(edit_state.TextW.Data, edit_state.TextW.Size, callback_data.Buf, NULL);
3557 edit_state.CurLenA = callback_data.BufTextLen; // Assume correct length and valid UTF-8 from user, saves us an extra strlen()
3577 ImGuiInputTextCallbackData callback_data;
3578 callback_data.EventFlag = ImGuiInputTextFlags_CallbackResize;
3579 callback_data.Flags = flags;
3580 callback_data.Buf = buf;
3581 callback_data.BufTextLen = apply_new_text_length;
3582 callback_data.BufSize = ImMax(buf_size, apply_new_text_length + 1);
3583 callback_data.UserData = callback_user_data;
3584 callback(&callback_data);
3585 buf = callback_data.Buf;
3586 buf_size = callback_data.BufSize;
3587 apply_new_text_length = ImMin(callback_data.BufTextLen, buf_size - 1);