@ -3829,7 +3829,28 @@ void ImGui::ShowStyleEditor(ImGuiStyle* ref)
ImGui : : PushItemWidth ( 100 ) ;
ImGui : : DragFloat ( " Curve Tessellation Tolerance " , & style . CurveTessellationTol , 0.02f , 0.10f , 10.0f , " %.2f " ) ;
if ( style . CurveTessellationTol < 0.10f ) style . CurveTessellationTol = 0.10f ;
ImGui : : DragFloat ( " Circle segment Max Error " , & style . CircleSegmentMaxError , 0.01f , 0.10f , 10.0f , " %.2f " ) ;
// When editing the "Circle Segment Max Error" value, draw a preview of its effect on auto-tessellated circles.
ImGui : : DragFloat ( " Circle Segment Max Error " , & style . CircleSegmentMaxError , 0.01f , 0.10f , 10.0f , " %.2f " ) ;
if ( ImGui : : IsItemActive ( ) )
{
ImGui : : SetNextWindowPos ( ImGui : : GetCursorScreenPos ( ) ) ;
ImGui : : BeginTooltip ( ) ;
ImVec2 p = ImGui : : GetCursorScreenPos ( ) ;
float RAD_MIN = 10.0f , RAD_MAX = 80.0f ;
float off_x = 10.0f ;
for ( int n = 0 ; n < 7 ; n + + )
{
const float rad = RAD_MIN + ( RAD_MAX - RAD_MIN ) * ( float ) n / ( 7.0f - 1.0f ) ;
ImGui : : GetWindowDrawList ( ) - > AddCircle ( ImVec2 ( p . x + off_x + rad , p . y + RAD_MAX ) , rad , ImGui : : GetColorU32 ( ImGuiCol_Text ) , 0 ) ;
off_x + = 10.0f + rad * 2.0f ;
}
ImGui : : Dummy ( ImVec2 ( off_x , RAD_MAX * 2.0f ) ) ;
ImGui : : EndTooltip ( ) ;
}
ImGui : : SameLine ( ) ;
HelpMarker ( " When drawing circle primitives with \" num_segments == 0 \" tesselation will be calculated automatically. " ) ;
ImGui : : DragFloat ( " Global Alpha " , & style . Alpha , 0.005f , 0.20f , 1.0f , " %.2f " ) ; // Not exposing zero here so user doesn't "lose" the UI (zero alpha clips all widgets). But application code could have a toggle to switch between zero and non-zero.
ImGui : : PopItemWidth ( ) ;