From eebbdd012b0d156e9e92369585c6ad82ed3de371 Mon Sep 17 00:00:00 2001 From: Fox Caminiti Date: Wed, 4 Jan 2023 18:30:56 -0500 Subject: shapes; remove stencil buffer? --- src/imgui_ui_properties.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src/imgui_ui_properties.cpp') diff --git a/src/imgui_ui_properties.cpp b/src/imgui_ui_properties.cpp index c6b710c..d89f2f0 100644 --- a/src/imgui_ui_properties.cpp +++ b/src/imgui_ui_properties.cpp @@ -390,7 +390,7 @@ ImGui_PropertiesPanel(project_data *File, project_state *State, ui *UI, memory * ImGui_Properties_CurvesUI(State, Memory, io, Effect, Property, SortedPointStart); c = EffectHeader->Property_Count; // Causes this loop to only iterate once. } else if (EffectHeader->DisplayType == effect_display_type_levels) { - ImGui::Text("Levels!"); + ImGui::Text("Levels"); uint32 VisibleChannel = *(uint32 *)&Effect->ExtraData[0]; real32 *P_Left = 0, *P_Mid = 0, *P_Right = 0; if (VisibleChannel == 0) { @@ -431,6 +431,25 @@ ImGui_PropertiesPanel(project_data *File, project_state *State, ui *UI, memory * State->UpdateFrame = true; } } + if (Layer->IsShapeLayer) { + shape_options *Opt = &Layer->Shape.Opt; + // TODO(fox): Combine with RGBA function? + char *Names[3] = { "Fill only", "Stroke only", "Fill and stroke" }; + if (ImGui::BeginListBox("Shape render type")) { + for (int i = 0; i < 3; i++) { + if (ImGui::Selectable(Names[i], (Opt->Visibility == i))) { + Opt->Visibility = i; + } + } + ImGui::EndListBox(); + } + ImGui::ColorEdit4("Fill color", (real32 *)&Opt->FillCol, ImGuiColorEditFlags_Float); + ImGui::ColorEdit4("Stroke color", (real32 *)&Opt->StrokeCol, ImGuiColorEditFlags_Float); + real32 StrokeWidthMin = 0; + real32 StrokeWidthMax = 1024; + ImGui::DragScalar("Stroke width", ImGuiDataType_Float, &Opt->StrokeWidth, 1, &StrokeWidthMin, &StrokeWidthMax, "%.3f"); + // State->UpdateFrame = true; + } ImGui::End(); } else { ImGui::Begin("Properties: empty###Properties"); -- cgit v1.2.3