From 0671bc9516744befdb4be4be1e2d19c5ff96460b Mon Sep 17 00:00:00 2001 From: Ryan Oldenburg Date: Fri, 3 Dec 2021 19:15:47 -0600 Subject: [PATCH] faster non-simd path --- src/pixie/paths.nim | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/pixie/paths.nim b/src/pixie/paths.nim index 6352457..8a55446 100644 --- a/src/pixie/paths.nim +++ b/src/pixie/paths.nim @@ -2550,10 +2550,13 @@ proc fillImage( let channels = [rgbx.r.uint32, rgbx.g.uint32, rgbx.b.uint32, rgbx.a.uint32] for i in i ..< result.data.len: let coverage = mask.data[i] - result.data[i].r = ((channels[0] * coverage) div 255).uint8 - result.data[i].g = ((channels[1] * coverage) div 255).uint8 - result.data[i].b = ((channels[2] * coverage) div 255).uint8 - result.data[i].a = ((channels[3] * coverage) div 255).uint8 + if coverage == 255: + result.data[i] = rgbx + elif coverage != 0: + result.data[i].r = ((channels[0] * coverage) div 255).uint8 + result.data[i].g = ((channels[1] * coverage) div 255).uint8 + result.data[i].b = ((channels[2] * coverage) div 255).uint8 + result.data[i].a = ((channels[3] * coverage) div 255).uint8 proc fillImage*( path: SomePath, width, height: int, color: SomeColor, windingRule = wrNonZero