From 7abe128124f9bd2f8b58d95b1753d46f54014543 Mon Sep 17 00:00:00 2001 From: Ryan Oldenburg Date: Sun, 12 Dec 2021 18:29:18 -0600 Subject: [PATCH] f --- src/pixie/paths.nim | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/src/pixie/paths.nim b/src/pixie/paths.nim index 14e9674..f98cae0 100644 --- a/src/pixie/paths.nim +++ b/src/pixie/paths.nim @@ -1394,15 +1394,6 @@ proc fillCoverage( x += 16 - proc applyCoverage(rgbx: ColorRGBX, coverage: uint8): ColorRGBX {.inline.} = - if coverage != 255: - result.r = ((rgbx.r.uint32 * coverage) div 255).uint8 - result.g = ((rgbx.g.uint32 * coverage) div 255).uint8 - result.b = ((rgbx.b.uint32 * coverage) div 255).uint8 - result.a = ((rgbx.a.uint32 * coverage) div 255).uint8 - else: - result = rgbx - let blender = blendMode.blender() for x in x ..< startX + coverages.len: let coverage = coverages[x - startX] @@ -1411,9 +1402,13 @@ proc fillCoverage( # Skip blending image.unsafe[x, y] = rgbx else: - let - source = rgbx.applyCoverage(coverage) - backdrop = image.unsafe[x, y] + var source = rgbx + if coverage != 255: + source.r = ((source.r.uint32 * coverage) div 255).uint8 + source.g = ((source.g.uint32 * coverage) div 255).uint8 + source.b = ((source.b.uint32 * coverage) div 255).uint8 + source.a = ((source.a.uint32 * coverage) div 255).uint8 + let backdrop = image.unsafe[x, y] image.unsafe[x, y] = blender(backdrop, source) elif blendMode == bmMask: image.unsafe[x, y] = rgbx(0, 0, 0, 0)