mirror of
https://github.com/TelegramMessenger/Telegram-iOS.git
synced 2026-07-06 03:33:41 +02:00
drawInTile previously stroked each cell's full perimeter, double-drawing every interior gridline; visible now that the rich-data chat bubble uses tableBorderColor at 0.25 alpha. Stroking each segment in its own strokePath call would also have left ~1pt² overdraw at every interior 4-cell junction (where a horizontal divider crosses a vertical one) and at every T-junction with the outer rounded rect — each strokePath rasterizes independently and composites against the previous result. Build a single CGMutablePath containing each cell's interior top/left segment (skipping cells on the table's top/left boundary) plus the outer rounded perimeter rect, and call strokePath once. CGContextStrokePath fills the union of all stroke geometries as a single fill op, so each pixel is painted exactly once regardless of how many segments overlap. Empty cells (text == nil) are no longer skipped wholesale: their fill and text remain gated on text != nil (preserves today's no-fill-for- empty behavior), but their interior divider segments still get appended so divider continuity is preserved around them. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Sources | ||
| BUILD | ||