diff options
author | Fox Caminiti <fox@foxcam.net> | 2022-10-06 14:30:48 -0400 |
---|---|---|
committer | Fox Caminiti <fox@foxcam.net> | 2022-10-06 14:30:48 -0400 |
commit | 0b0aa3b06fac0bcdeb31d5e2211d1ba149531692 (patch) | |
tree | 91f0d9689151b7fb985de50b2c8b12ccd7a65440 /my_imgui_widgets.cpp | |
parent | a4c1e537b0cb2540535357d880e46f63b38c134f (diff) |
GL renderer preparation
Diffstat (limited to 'my_imgui_widgets.cpp')
-rw-r--r-- | my_imgui_widgets.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/my_imgui_widgets.cpp b/my_imgui_widgets.cpp index a688283..e8159fe 100644 --- a/my_imgui_widgets.cpp +++ b/my_imgui_widgets.cpp @@ -2,6 +2,33 @@ #include "my_imgui_internal_widgets.h" #include "imgui_ops.h" +static void +ImGui_Viewport(block_composition *MainComp, GLuint textureID) +{ + bool open = true; + ImGui::Begin("Viewport", &open, ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoScrollWithMouse); + + ImVec2 ViewportMin = ImGui::GetCursorScreenPos(); + ImVec2 ViewportScale = ImGui::GetContentRegionAvail(); + ImVec2 ViewportMax = ImVec2(ViewportMin.x + ViewportScale.x, ViewportMin.y + ViewportScale.y); + + ImDrawList* draw_list = ImGui::GetWindowDrawList(); + draw_list->AddRectFilled(ViewportMin, ViewportMax, IM_COL32(50, 50, 50, 255)); + draw_list->AddRect(ViewportMin, ViewportMax, IM_COL32(255, 255, 255, 255)); + + ImVec2 CompZoom(MainComp->Width, MainComp->Height); + ImVec2 CompPos = ViewportMin + (ViewportMax - ViewportMin)*0.5 - CompZoom*0.5; + + // Actual composition texture + draw_list->PushClipRect(ViewportMin, ViewportMax, true); + draw_list->AddImage((void *)(intptr_t)textureID, ImVec2(CompPos.x, CompPos.y), + ImVec2(CompPos.x + CompZoom.x, CompPos.y + CompZoom.y)); + draw_list->PopClipRect(); + + ImGui::End(); +} + +#if 0 // 0 for timeline keyframe, 1 for graph keyframe, 2 for left graph handle, 3 for right graph handle static void ImGui_KeyframeDragging(project_data *File, project_state *State, ui *UI, property_channel *Property, int32 b, ImGuiIO io, int16 Type) @@ -2595,3 +2622,4 @@ static char ImGuiPrefs[] = "[Window][DockSpaceViewport_11111111]" } #endif +#endif |