| 277 | } |
| 278 | |
| 279 | void AppendOutlineRowSolidRuns(uint8_t x, uint8_t w, OutlineRowSolidRuns &solidRuns) |
| 280 | { |
| 281 | if (solidRuns.empty() || solidRuns.back().second != x) { |
| 282 | solidRuns.emplace_back(x, x + w); |
| 283 | } else { |
| 284 | solidRuns.back().second = static_cast<uint8_t>(x + w); |
| 285 | } |
| 286 | } |
| 287 | |
| 288 | template <bool SkipColorIndexZero> |
| 289 | void GetOutline(ClxSprite sprite, OutlinePixels &result) // NOLINT(readability-function-cognitive-complexity) |