diff options
author | Fox Caminiti <fox@foxcam.net> | 2022-12-18 20:00:47 -0500 |
---|---|---|
committer | Fox Caminiti <fox@foxcam.net> | 2022-12-18 20:00:47 -0500 |
commit | 4854647d659f75ac6cf4575b61d1dcfd25865791 (patch) | |
tree | 3296bdfa30fa76688844755b37094753ea82d033 /src/imgui_ui.cpp | |
parent | bedd6906eabdd513042d6a178d4dc56a3a41d1d3 (diff) |
lazy
Diffstat (limited to 'src/imgui_ui.cpp')
-rw-r--r-- | src/imgui_ui.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/imgui_ui.cpp b/src/imgui_ui.cpp index 612ee1a..5247716 100644 --- a/src/imgui_ui.cpp +++ b/src/imgui_ui.cpp @@ -489,6 +489,7 @@ ImGui_Viewport_TransformUI(project_data *File, project_state *State, memory *Mem State->Interact_Active = interact_type_none; State->Interact_Modifier = 0; State->UpdateFrame = true; + Memory->PurgeCache = true; } // Second condition so you don't have to reach for Enter. @@ -526,6 +527,7 @@ ImGui_Viewport_TransformUI(project_data *File, project_state *State, memory *Mem History_Entry_End(Memory); State->Interact_Active = interact_type_none; State->Interact_Modifier = 0; + State->UncommitedKeyframe = 1; State->UpdateFrame = true; } @@ -988,6 +990,10 @@ ImGui_ProcessInputs(project_data *File, project_state *State, ui *UI, memory *Me State->Frame_Current = ((State->Frame_Current - 1) < 0) ? 0 : State->Frame_Current - 1; State->UpdateFrame = true; State->UpdateKeyframes = true; + if (State->UncommitedKeyframe) { + Memory->PurgeCache = true; + State->UncommitedKeyframe = false; + } } if (ImGui::IsKeyPressed(ImGuiKey_E)) { if (!io.KeyShift) { @@ -995,6 +1001,10 @@ ImGui_ProcessInputs(project_data *File, project_state *State, ui *UI, memory *Me State->Frame_Current = ((State->Frame_Current + 1) >= MainComp->Frame_Count) ? 0 : State->Frame_Current + 1; State->UpdateFrame = true; State->UpdateKeyframes = true; + if (State->UncommitedKeyframe) { + Memory->PurgeCache = true; + State->UncommitedKeyframe = false; + } } else { State->Brush.EraseMode ^= 1; } @@ -1107,6 +1117,8 @@ ImGui_ProcessInputs(project_data *File, project_state *State, ui *UI, memory *Me State->Interact_Active = interact_type_none; State->Interact_Modifier = 0; State->UpdateFrame = true; + State->UpdateKeyframes = true; + Memory->PurgeCache = true; } } if (ImGui::IsKeyPressed(ImGuiKey_Space) ) { @@ -1117,6 +1129,10 @@ ImGui_ProcessInputs(project_data *File, project_state *State, ui *UI, memory *Me State->HotFramePerf = 1; State->PlayAudio = false; State->FramePlayingCount = 0; + if (State->UncommitedKeyframe) { + Memory->PurgeCache = true; + State->UncommitedKeyframe = false; + } switch (SDL_GetAudioStatus()) { case SDL_AUDIO_STOPPED: Assert(0); break; |