summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2023-12-02 23:32:17 +0100
committerAlbrecht Schlosser <albrechts.fltk@online.de>2023-12-02 23:32:17 +0100
commit384b546dc68d5767c0862f364d66e297500848c6 (patch)
tree383c42f6c523bba4233047e8e6d4ab6912b19bf8
parent973d53bbcd99d85ae84e1aa6b2fbc471f0b80a70 (diff)
Upgrade bundled nanosvg library to latest upstream commit
commit 706eb0618249507c1700cef4a518f73e546b1c38 (upstream/master) Author: Mikko Mononen <memononen@gmail.com> Date: Wed Nov 22 22:47:18 2023 +0200 Merge pull request #249 from wcout/issue_240 Fix for #240: Bug: "else" missing + FLTK specific extensions, see documentation/src/bundled-libs.dox
-rw-r--r--documentation/src/bundled-libs.dox2
-rw-r--r--nanosvg/nanosvgrast.h9
2 files changed, 6 insertions, 5 deletions
diff --git a/documentation/src/bundled-libs.dox b/documentation/src/bundled-libs.dox
index f9858c3b1..28ca7286a 100644
--- a/documentation/src/bundled-libs.dox
+++ b/documentation/src/bundled-libs.dox
@@ -27,7 +27,7 @@ Current versions of bundled libraries (as of November 29, 2023):
Library Version/git commit Release date FLTK Version
--------------------------------------------------------------------------
jpeg jpeg-9e 2022-01-16 1.4.0
- nanosvg abcd277ea4 [1] 2022-12-22 1.4.0
+ nanosvg 7aeda550a8 [1] 2023-12-02 1.4.0
png libpng-1.6.40 2023-06-21 1.4.0
zlib zlib-1.3 2023-08-18 1.4.0
libdecor 060fe761 [2] 2023-12-01 1.4.0
diff --git a/nanosvg/nanosvgrast.h b/nanosvg/nanosvgrast.h
index a83db2726..a4b866beb 100644
--- a/nanosvg/nanosvgrast.h
+++ b/nanosvg/nanosvgrast.h
@@ -346,6 +346,7 @@ static float nsvg__normalize(float *x, float* y)
}
static float nsvg__absf(float x) { return x < 0 ? -x : x; }
+static float nsvg__roundf(float x) { return (x >= 0) ? floorf(x + 0.5) : ceilf(x - 0.5); }
static void nsvg__flattenCubicBez(NSVGrasterizer* r,
float x1, float y1, float x2, float y2,
@@ -888,10 +889,10 @@ static NSVGactiveEdge* nsvg__addActive(NSVGrasterizer* r, NSVGedge* e, float sta
// STBTT_assert(e->y0 <= start_point);
// round dx down to avoid going too far
if (dxdy < 0)
- z->dx = (int)(-floorf(NSVG__FIX * -dxdy));
+ z->dx = (int)(-nsvg__roundf(NSVG__FIX * -dxdy));
else
- z->dx = (int)floorf(NSVG__FIX * dxdy);
- z->x = (int)floorf(NSVG__FIX * (e->x0 + dxdy * (startPoint - e->y0)));
+ z->dx = (int)nsvg__roundf(NSVG__FIX * dxdy);
+ z->x = (int)nsvg__roundf(NSVG__FIX * (e->x0 + dxdy * (startPoint - e->y0)));
// z->x -= off_x * FIX;
z->ey = e->y1;
z->next = 0;
@@ -1298,7 +1299,7 @@ static void nsvg__initPaint(NSVGcachedPaint* cache, NSVGpaint* paint, float opac
if (grad->nstops == 0) {
for (i = 0; i < 256; i++)
cache->colors[i] = 0;
- } if (grad->nstops == 1) {
+ } else if (grad->nstops == 1) {
for (i = 0; i < 256; i++)
cache->colors[i] = nsvg__applyOpacity(grad->stops[i].color, opacity);
} else {