intPackIdMouseCursors;// Custom texture rectangle ID for white pixel and mouse cursors
intPackIdLines;// Custom texture rectangle ID for baked anti-aliased lines
// FIXME-ROUND-SHAPES: WIP
// FIXME-ROUNDCORNERS: WIP
// FIXME: avoid so many allocations, statically sized buffer removing an indirection may be beneficial here?
intRoundCornersMaxSize;// Max pixel size of round corner textures to generate
ImVector<int>RoundCornersRectIds;// Ids of custom rects for round corners indexed by size [0] is 1px, [n] is (n+1)px (index up to RoundCornersMaxSize - 1).
ImVector<ImVec4>TexUvRoundCornerFilled;// Texture coordinates to filled round corner quads
// FIXME-ROUNDCORNERS: Lift the RoundCornersMaxSize limitation, fallback on existing renderer.
// FIXME-ROUNDCORNERS: Work on reducing filtrate for stroked shapes (may need to trade some cpu/vtx to reduce fill-rate for e.g. simple stroked circle) > https://github.com/ocornut/imgui/issues/1962#issuecomment-411507917
// FIXME-ROUNDCORNERS: Figure out how to support multiple thickness, might hard-code common steps (1.0, 1.5, 2.0, 3.0), not super satisfactory but may be best
// FIXME-ROUNDCORNERS: AddCircle* API relying on num_segments may need rework, might obsolete this parameter, or make it 0 default and rely on automatic subdivision similar to style.CurveTessellationTol for Bezier
// FIXME-ROUNDCORNERS: Intentional "low segment count" shapes (e.g. hexagon) currently achieved with AddCircle may need a new API (AddNgon?)
staticvoidTestTextureBasedRender()
{
ImGuiIO&io=ImGui::GetIO();
ImGuiStyle&style=ImGui::GetStyle();
ImGui::TextUnformatted("Press SHIFT to toggle quads (hold to see them).");
ImGui::TextUnformatted(io.KeyShift?"SHIFT ON -- Rasterized quad circle! w00t! OPTIMIZATION!"
:"SHIFT OFF -- Regular, boring circle with PathArcToFast.");