Lines Matching defs:undo_rec
313 StbUndoRecord undo_rec [STB_TEXTEDIT_UNDOSTATECOUNT];
1102 if (state->undo_rec[0].char_storage >= 0) {
1103 int n = state->undo_rec[0].insert_length, i;
1108 if (state->undo_rec[i].char_storage >= 0)
1109 state->undo_rec[i].char_storage -= n; // @OPTIMIZE: get rid of char_storage and infer it
1112 STB_TEXTEDIT_memmove(state->undo_rec, state->undo_rec+1, (size_t) (state->undo_point*sizeof(state->undo_rec[0])));
1126 if (state->undo_rec[k].char_storage >= 0) {
1127 int n = state->undo_rec[k].insert_length, i;
1133 if (state->undo_rec[i].char_storage >= 0)
1134 state->undo_rec[i].char_storage += n;
1138 size_t move_size = (size_t)((STB_TEXTEDIT_UNDOSTATECOUNT - state->redo_point - 1) * sizeof(state->undo_rec[0]));
1139 const char* buf_begin = (char*)state->undo_rec; (void)buf_begin;
1140 const char* buf_end = (char*)state->undo_rec + sizeof(state->undo_rec); (void)buf_end;
1141 IM_ASSERT(((char*)(state->undo_rec + state->redo_point)) >= buf_begin);
1142 IM_ASSERT(((char*)(state->undo_rec + state->redo_point + 1) + move_size) <= buf_end);
1143 STB_TEXTEDIT_memmove(state->undo_rec + state->redo_point+1, state->undo_rec + state->redo_point, move_size);
1171 return &state->undo_rec[state->undo_point++];
1202 u = s->undo_rec[s->undo_point-1];
1203 r = &s->undo_rec[s->redo_point-1];
1235 r = &s->undo_rec[s->redo_point-1];
1270 u = &s->undo_rec[s->undo_point];
1271 r = s->undo_rec[s->redo_point];