From bff6dbe8892b942043e4c4a00a20ae50ab2b030f Mon Sep 17 00:00:00 2001 From: gameblabla Date: Thu, 22 Jul 2021 03:12:52 +0200 Subject: [PATCH] Remove AGG. It's no longer needed because i now use my own port of Gnash that provides its own copy of AGG and it was the only piece of software using it. This is also done for performance reasons as that means the whole AGG library can easily be PGO'd, something that would be a lot less easy if part of the OS. To ease maintaince on the Funkey team and given that it was only useful for Gnash, it should be removed. --- FunKey/Config.in | 1 - FunKey/configs/funkey_defconfig | 1 - ...rminating-loop-conditions-when-len-1.patch | 81 -------- FunKey/package/agg/0001-autogen.patch | 15 -- ...y-aborting-if-the-co-ordinates-are-t.patch | 40 ---- FunKey/package/agg/0002-caca.patch | 34 --- ...from-previous-vertex-if-last-command.patch | 30 --- ...outline_aa-ignore-close_polygon-when.patch | 138 ------------- .../agg/0005-Remove-VC-6-workaround.patch | 52 ----- ...ement-grain-merge-blending-mode-GIMP.patch | 85 -------- ...ent-grain-extract-blending-mode-GIMP.patch | 85 -------- ...cation-and-division-operators-as-con.patch | 36 ---- ...Add-a-static-identity-transformation.patch | 37 ---- .../0010-Add-renderer_scanline_aa_alpha.patch | 193 ------------------ ...-division-by-zero-in-color-burn-mode.patch | 58 ------ ...oid-pixel-artifacts-when-compositing.patch | 26 --- ...classes-to-allow-access-to-the-origi.patch | 93 --------- ...zero-division-resulting-in-nan-in-ag.patch | 30 --- ...ue-in-the-gamma-table-is-always-zero.patch | 24 --- FunKey/package/agg/CREATE_FILES.patch | 14 -- FunKey/package/agg/Config.in | 13 -- FunKey/package/agg/agg-2.4-depends.patch | 36 ---- FunKey/package/agg/agg-2.5-autotools.patch | 11 - FunKey/package/agg/agg-2.5-pkgconfig.patch | 10 - FunKey/package/agg/agg.mk | 32 --- 25 files changed, 1175 deletions(-) delete mode 100644 FunKey/package/agg/0001-Fix-non-terminating-loop-conditions-when-len-1.patch delete mode 100644 FunKey/package/agg/0001-autogen.patch delete mode 100644 FunKey/package/agg/0002-Cure-recursion-by-aborting-if-the-co-ordinates-are-t.patch delete mode 100644 FunKey/package/agg/0002-caca.patch delete mode 100644 FunKey/package/agg/0003-Get-coordinates-from-previous-vertex-if-last-command.patch delete mode 100644 FunKey/package/agg/0004-Make-rasterizer_outline_aa-ignore-close_polygon-when.patch delete mode 100644 FunKey/package/agg/0005-Remove-VC-6-workaround.patch delete mode 100644 FunKey/package/agg/0006-Implement-grain-merge-blending-mode-GIMP.patch delete mode 100644 FunKey/package/agg/0007-Implement-grain-extract-blending-mode-GIMP.patch delete mode 100644 FunKey/package/agg/0008-Declare-multiplication-and-division-operators-as-con.patch delete mode 100644 FunKey/package/agg/0009-Add-a-static-identity-transformation.patch delete mode 100644 FunKey/package/agg/0010-Add-renderer_scanline_aa_alpha.patch delete mode 100644 FunKey/package/agg/0011-Avoid-division-by-zero-in-color-burn-mode.patch delete mode 100644 FunKey/package/agg/0012-Avoid-pixel-artifacts-when-compositing.patch delete mode 100644 FunKey/package/agg/0013-Modify-agg-conv-classes-to-allow-access-to-the-origi.patch delete mode 100644 FunKey/package/agg/0014-Avoid-potential-zero-division-resulting-in-nan-in-ag.patch delete mode 100644 FunKey/package/agg/0015-Ensure-first-value-in-the-gamma-table-is-always-zero.patch delete mode 100644 FunKey/package/agg/CREATE_FILES.patch delete mode 100644 FunKey/package/agg/Config.in delete mode 100644 FunKey/package/agg/agg-2.4-depends.patch delete mode 100644 FunKey/package/agg/agg-2.5-autotools.patch delete mode 100644 FunKey/package/agg/agg-2.5-pkgconfig.patch delete mode 100644 FunKey/package/agg/agg.mk diff --git a/FunKey/Config.in b/FunKey/Config.in index 9eb63130..989b9680 100644 --- a/FunKey/Config.in +++ b/FunKey/Config.in @@ -14,7 +14,6 @@ source "$BR2_EXTERNAL_FUNKEY_PATH/package/libini/Config.in" source "$BR2_EXTERNAL_FUNKEY_PATH/package/libopk/Config.in" source "$BR2_EXTERNAL_FUNKEY_PATH/package/libxdgmime/Config.in" source "$BR2_EXTERNAL_FUNKEY_PATH/package/gmenu2x/Config.in" -source "$BR2_EXTERNAL_FUNKEY_PATH/package/agg/Config.in" source "$BR2_EXTERNAL_FUNKEY_PATH/package/fluidlite/Config.in" source "$BR2_EXTERNAL_FUNKEY_PATH/package/libmikmod/Config.in" source "$BR2_EXTERNAL_FUNKEY_PATH/package/commander/Config.in" diff --git a/FunKey/configs/funkey_defconfig b/FunKey/configs/funkey_defconfig index 51bec87e..85ddb9fb 100644 --- a/FunKey/configs/funkey_defconfig +++ b/FunKey/configs/funkey_defconfig @@ -115,7 +115,6 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_PACKAGE_LIBOPK=y BR2_PACKAGE_LIBXDGMIME=y BR2_PACKAGE_GMENU2X=y -BR2_PACKAGE_AGG=y BR2_PACKAGE_FLUIDLITE=y BR2_PACKAGE_LIBMIKMOD=y BR2_PACKAGE_COMMANDER=y diff --git a/FunKey/package/agg/0001-Fix-non-terminating-loop-conditions-when-len-1.patch b/FunKey/package/agg/0001-Fix-non-terminating-loop-conditions-when-len-1.patch deleted file mode 100644 index eaf0467f..00000000 --- a/FunKey/package/agg/0001-Fix-non-terminating-loop-conditions-when-len-1.patch +++ /dev/null @@ -1,81 +0,0 @@ -From efd33aad5e69f36ab343b1f28839a55db4538104 Mon Sep 17 00:00:00 2001 -From: Tom Hughes -Date: Sun, 19 May 2013 10:55:37 +0100 -Subject: [PATCH 01/15] Fix non-terminating loop conditions when len=1 - -- while(abs(sx - lp.x1) + abs(sy - lp.y1) > lp2.len) -+ while(abs(sx - lp.x1) + abs(sy - lp.y1) > 1 + lp2.len) - { - sx = (lp.x1 + sx) >> 1; - sy = (lp.y1 + sy) >> 1; - } ---- - include/agg_renderer_outline_aa.h | 8 ++++---- - include/agg_renderer_outline_image.h | 4 ++-- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/include/agg_renderer_outline_aa.h b/include/agg_renderer_outline_aa.h -index ce25a2e..cb2aa00 100644 ---- a/include/agg_renderer_outline_aa.h -+++ b/include/agg_renderer_outline_aa.h -@@ -1659,7 +1659,7 @@ namespace agg - } - else - { -- while(abs(sx - lp.x1) + abs(sy - lp.y1) > lp2.len) -+ while(abs(sx - lp.x1) + abs(sy - lp.y1) > 1 + lp2.len) - { - sx = (lp.x1 + sx) >> 1; - sy = (lp.y1 + sy) >> 1; -@@ -1726,7 +1726,7 @@ namespace agg - } - else - { -- while(abs(ex - lp.x2) + abs(ey - lp.y2) > lp2.len) -+ while(abs(ex - lp.x2) + abs(ey - lp.y2) > 1 + lp2.len) - { - ex = (lp.x2 + ex) >> 1; - ey = (lp.y2 + ey) >> 1; -@@ -1798,7 +1798,7 @@ namespace agg - } - else - { -- while(abs(sx - lp.x1) + abs(sy - lp.y1) > lp2.len) -+ while(abs(sx - lp.x1) + abs(sy - lp.y1) > 1 + lp2.len) - { - sx = (lp.x1 + sx) >> 1; - sy = (lp.y1 + sy) >> 1; -@@ -1811,7 +1811,7 @@ namespace agg - } - else - { -- while(abs(ex - lp.x2) + abs(ey - lp.y2) > lp2.len) -+ while(abs(ex - lp.x2) + abs(ey - lp.y2) > 1 + lp2.len) - { - ex = (lp.x2 + ex) >> 1; - ey = (lp.y2 + ey) >> 1; -diff --git a/include/agg_renderer_outline_image.h b/include/agg_renderer_outline_image.h -index fbfac10..66d2b9a 100644 ---- a/include/agg_renderer_outline_image.h -+++ b/include/agg_renderer_outline_image.h -@@ -969,7 +969,7 @@ namespace agg - } - else - { -- while(abs(sx - lp.x1) + abs(sy - lp.y1) > lp2.len) -+ while(abs(sx - lp.x1) + abs(sy - lp.y1) > 1 + lp2.len) - { - sx = (lp.x1 + sx) >> 1; - sy = (lp.y1 + sy) >> 1; -@@ -982,7 +982,7 @@ namespace agg - } - else - { -- while(abs(ex - lp.x2) + abs(ey - lp.y2) > lp2.len) -+ while(abs(ex - lp.x2) + abs(ey - lp.y2) > 1 + lp2.len) - { - ex = (lp.x2 + ex) >> 1; - ey = (lp.y2 + ey) >> 1; --- -1.8.1.4 - diff --git a/FunKey/package/agg/0001-autogen.patch b/FunKey/package/agg/0001-autogen.patch deleted file mode 100644 index b773f12d..00000000 --- a/FunKey/package/agg/0001-autogen.patch +++ /dev/null @@ -1,15 +0,0 @@ -Author: Andrea Veri -Description: Disable configure's run from the autogen file. - -Index: agg-2.5+dfsg1/autogen.sh -=================================================================== ---- a/autogen.sh 2007-10-11 00:06:16.000000000 +0200 -+++ b/autogen.sh 2012-05-01 16:57:37.916862783 +0200 -@@ -18,6 +18,6 @@ - automake --foreign --add-missing --ignore-deps - - # and finally invoke our new configure --./configure $* -+[ -n "$NOCONFIGURE" ] || ./configure $* - - # end diff --git a/FunKey/package/agg/0002-Cure-recursion-by-aborting-if-the-co-ordinates-are-t.patch b/FunKey/package/agg/0002-Cure-recursion-by-aborting-if-the-co-ordinates-are-t.patch deleted file mode 100644 index 4fe74341..00000000 --- a/FunKey/package/agg/0002-Cure-recursion-by-aborting-if-the-co-ordinates-are-t.patch +++ /dev/null @@ -1,40 +0,0 @@ -From e269fe9b62af6fe314cebe0ee7a6d6d1a4a84d1c Mon Sep 17 00:00:00 2001 -From: Tom Hughes -Date: Sun, 19 May 2013 11:03:26 +0100 -Subject: [PATCH 02/15] Cure recursion by aborting if the co-ordinates are to - big to handle - ---- - include/agg_rasterizer_cells_aa.h | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/include/agg_rasterizer_cells_aa.h b/include/agg_rasterizer_cells_aa.h -index d3bb138..3a616d9 100644 ---- a/include/agg_rasterizer_cells_aa.h -+++ b/include/agg_rasterizer_cells_aa.h -@@ -40,7 +40,8 @@ - #define AGG_RASTERIZER_CELLS_AA_INCLUDED - - #include --#include -+#include -+#include - #include "agg_math.h" - #include "agg_array.h" - -@@ -333,6 +334,12 @@ namespace agg - { - int cx = (x1 + x2) >> 1; - int cy = (y1 + y2) >> 1; -+ -+ // Bail if values are so large they are likely to wrap -+ if ((std::abs(x1) >= std::numeric_limits::max()/2) || (std::abs(y1) >= std::numeric_limits::max()/2) || -+ (std::abs(x2) >= std::numeric_limits::max()/2) || (std::abs(y2) >= std::numeric_limits::max()/2)) -+ return; -+ - line(x1, y1, cx, cy); - line(cx, cy, x2, y2); - } --- -1.8.1.4 - diff --git a/FunKey/package/agg/0002-caca.patch b/FunKey/package/agg/0002-caca.patch deleted file mode 100644 index f98a573c..00000000 --- a/FunKey/package/agg/0002-caca.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- a/configure.in -+++ b/configure.in -@@ -39,7 +39,7 @@ - # used as platform library in examples: - # todo, make the PREFERED_PLATFORM selectable, after the set of possible - # Platforms to link the examples have been evaluated. --PREFERED_PLATFORM=X11 -+PREFERED_PLATFORM=sdl - case "$host" in - *darwin* ) - OSX_LIBS="-framework Carbon -framework QuickTime" -@@ -120,9 +120,7 @@ - if test "$no_x" = "yes"; then - AC_MSG_WARN([*** X11 not found! Omitting X11 layer.]) - fi --AM_CONDITIONAL(ENABLE_X11,[test x$no_x = x -a xno != x$enable_platform -a x$win32_host != xyes]) --AC_SUBST(x_includes) --AC_SUBST(x_libraries) -+AM_CONDITIONAL(ENABLE_X11,0) - dnl ############################################### - - dnl Settung up library version - ---- a/include/agg_renderer_outline_aa.h -+++ b/include/agg_renderer_outline_aa.h -@@ -1375,7 +1375,7 @@ - //--------------------------------------------------------------------- - void profile(const line_profile_aa& prof) { m_profile = &prof; } - const line_profile_aa& profile() const { return *m_profile; } -- line_profile_aa& profile() { return *m_profile; } -+// line_profile_aa& profile() { return *m_profile; } - - //--------------------------------------------------------------------- - int subpixel_width() const { return m_profile->subpixel_width(); } diff --git a/FunKey/package/agg/0003-Get-coordinates-from-previous-vertex-if-last-command.patch b/FunKey/package/agg/0003-Get-coordinates-from-previous-vertex-if-last-command.patch deleted file mode 100644 index b12684d1..00000000 --- a/FunKey/package/agg/0003-Get-coordinates-from-previous-vertex-if-last-command.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 032d5342430f4c5dfbc34a2817d67386a14fd51b Mon Sep 17 00:00:00 2001 -From: Tom Hughes -Date: Sun, 19 May 2013 11:40:49 +0100 -Subject: [PATCH 03/15] Get coordinates from previous vertex if last command is - path_cmd_end_poly - ---- - include/agg_path_storage.h | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/include/agg_path_storage.h b/include/agg_path_storage.h -index 7be7393..8922fc8 100644 ---- a/include/agg_path_storage.h -+++ b/include/agg_path_storage.h -@@ -878,6 +878,12 @@ namespace agg - *x += x2; - *y += y2; - } -+ else if (!is_stop(m_vertices.last_command()) && -+ is_vertex(m_vertices.prev_vertex(&x2, &y2))) -+ { -+ *x += x2; -+ *y += y2; -+ } - } - } - --- -1.8.1.4 - diff --git a/FunKey/package/agg/0004-Make-rasterizer_outline_aa-ignore-close_polygon-when.patch b/FunKey/package/agg/0004-Make-rasterizer_outline_aa-ignore-close_polygon-when.patch deleted file mode 100644 index 0cecaf79..00000000 --- a/FunKey/package/agg/0004-Make-rasterizer_outline_aa-ignore-close_polygon-when.patch +++ /dev/null @@ -1,138 +0,0 @@ -From b9c4b1c72b4ad6b24c37f402d3eec39ef393b0eb Mon Sep 17 00:00:00 2001 -From: Tom Hughes -Date: Sun, 19 May 2013 14:17:43 +0100 -Subject: [PATCH 04/15] Make rasterizer_outline_aa ignore close_polygon when - vertex count < 3 - ---- - include/agg_rasterizer_outline_aa.h | 107 ++++++++++++++++++------------------ - 1 file changed, 52 insertions(+), 55 deletions(-) - -diff --git a/include/agg_rasterizer_outline_aa.h b/include/agg_rasterizer_outline_aa.h -index 4d6dd57..24301d5 100644 ---- a/include/agg_rasterizer_outline_aa.h -+++ b/include/agg_rasterizer_outline_aa.h -@@ -333,68 +333,65 @@ namespace agg - int y2; - int lprev; - -- if(close_polygon) -+ if(close_polygon && (m_src_vertices.size() >= 3)) - { -- if(m_src_vertices.size() >= 3) -+ dv.idx = 2; -+ -+ v = &m_src_vertices[m_src_vertices.size() - 1]; -+ x1 = v->x; -+ y1 = v->y; -+ lprev = v->len; -+ -+ v = &m_src_vertices[0]; -+ x2 = v->x; -+ y2 = v->y; -+ dv.lcurr = v->len; -+ line_parameters prev(x1, y1, x2, y2, lprev); -+ -+ v = &m_src_vertices[1]; -+ dv.x1 = v->x; -+ dv.y1 = v->y; -+ dv.lnext = v->len; -+ dv.curr = line_parameters(x2, y2, dv.x1, dv.y1, dv.lcurr); -+ -+ v = &m_src_vertices[dv.idx]; -+ dv.x2 = v->x; -+ dv.y2 = v->y; -+ dv.next = line_parameters(dv.x1, dv.y1, dv.x2, dv.y2, dv.lnext); -+ -+ dv.xb1 = 0; -+ dv.yb1 = 0; -+ dv.xb2 = 0; -+ dv.yb2 = 0; -+ -+ switch(m_line_join) - { -- dv.idx = 2; -- -- v = &m_src_vertices[m_src_vertices.size() - 1]; -- x1 = v->x; -- y1 = v->y; -- lprev = v->len; -- -- v = &m_src_vertices[0]; -- x2 = v->x; -- y2 = v->y; -- dv.lcurr = v->len; -- line_parameters prev(x1, y1, x2, y2, lprev); -- -- v = &m_src_vertices[1]; -- dv.x1 = v->x; -- dv.y1 = v->y; -- dv.lnext = v->len; -- dv.curr = line_parameters(x2, y2, dv.x1, dv.y1, dv.lcurr); -- -- v = &m_src_vertices[dv.idx]; -- dv.x2 = v->x; -- dv.y2 = v->y; -- dv.next = line_parameters(dv.x1, dv.y1, dv.x2, dv.y2, dv.lnext); -- -- dv.xb1 = 0; -- dv.yb1 = 0; -- dv.xb2 = 0; -- dv.yb2 = 0; -- -- switch(m_line_join) -- { -- case outline_no_join: -- dv.flags = 3; -- break; -+ case outline_no_join: -+ dv.flags = 3; -+ break; - -- case outline_miter_join: -- case outline_round_join: -- dv.flags = -- (prev.diagonal_quadrant() == dv.curr.diagonal_quadrant()) | -- ((dv.curr.diagonal_quadrant() == dv.next.diagonal_quadrant()) << 1); -- break; -+ case outline_miter_join: -+ case outline_round_join: -+ dv.flags = -+ (prev.diagonal_quadrant() == dv.curr.diagonal_quadrant()) | -+ ((dv.curr.diagonal_quadrant() == dv.next.diagonal_quadrant()) << 1); -+ break; - -- case outline_miter_accurate_join: -- dv.flags = 0; -- break; -- } -+ case outline_miter_accurate_join: -+ dv.flags = 0; -+ break; -+ } - -- if((dv.flags & 1) == 0 && m_line_join != outline_round_join) -- { -- bisectrix(prev, dv.curr, &dv.xb1, &dv.yb1); -- } -+ if((dv.flags & 1) == 0 && m_line_join != outline_round_join) -+ { -+ bisectrix(prev, dv.curr, &dv.xb1, &dv.yb1); -+ } - -- if((dv.flags & 2) == 0 && m_line_join != outline_round_join) -- { -- bisectrix(dv.curr, dv.next, &dv.xb2, &dv.yb2); -- } -- draw(dv, 0, m_src_vertices.size()); -+ if((dv.flags & 2) == 0 && m_line_join != outline_round_join) -+ { -+ bisectrix(dv.curr, dv.next, &dv.xb2, &dv.yb2); - } -+ draw(dv, 0, m_src_vertices.size()); - } - else - { --- -1.8.1.4 - diff --git a/FunKey/package/agg/0005-Remove-VC-6-workaround.patch b/FunKey/package/agg/0005-Remove-VC-6-workaround.patch deleted file mode 100644 index f38f7c40..00000000 --- a/FunKey/package/agg/0005-Remove-VC-6-workaround.patch +++ /dev/null @@ -1,52 +0,0 @@ -From b8c43fb0ba13af0cc2b1050f48f81d76d2fdf0c7 Mon Sep 17 00:00:00 2001 -From: Tom Hughes -Date: Sun, 19 May 2013 15:04:05 +0100 -Subject: [PATCH 05/15] Remove VC++ 6 workaround - ---- - include/agg_renderer_scanline.h | 29 +---------------------------- - 1 file changed, 1 insertion(+), 28 deletions(-) - -diff --git a/include/agg_renderer_scanline.h b/include/agg_renderer_scanline.h -index c3bb6f0..c27ca60 100644 ---- a/include/agg_renderer_scanline.h -+++ b/include/agg_renderer_scanline.h -@@ -79,34 +79,7 @@ namespace agg - sl.reset(ras.min_x(), ras.max_x()); - while(ras.sweep_scanline(sl)) - { -- //render_scanline_aa_solid(sl, ren, ren_color); -- -- // This code is equivalent to the above call (copy/paste). -- // It's just a "manual" optimization for old compilers, -- // like Microsoft Visual C++ v6.0 -- //------------------------------- -- int y = sl.y(); -- unsigned num_spans = sl.num_spans(); -- typename Scanline::const_iterator span = sl.begin(); -- -- for(;;) -- { -- int x = span->x; -- if(span->len > 0) -- { -- ren.blend_solid_hspan(x, y, (unsigned)span->len, -- ren_color, -- span->covers); -- } -- else -- { -- ren.blend_hline(x, y, (unsigned)(x - span->len - 1), -- ren_color, -- *(span->covers)); -- } -- if(--num_spans == 0) break; -- ++span; -- } -+ render_scanline_aa_solid(sl, ren, ren_color); - } - } - } --- -1.8.1.4 - diff --git a/FunKey/package/agg/0006-Implement-grain-merge-blending-mode-GIMP.patch b/FunKey/package/agg/0006-Implement-grain-merge-blending-mode-GIMP.patch deleted file mode 100644 index f1e465b4..00000000 --- a/FunKey/package/agg/0006-Implement-grain-merge-blending-mode-GIMP.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 9422570f4e099a834fc43619f7b2a7eb6b442e25 Mon Sep 17 00:00:00 2001 -From: Tom Hughes -Date: Sun, 19 May 2013 15:31:01 +0100 -Subject: [PATCH 06/15] Implement grain-merge blending mode (GIMP) - ---- - include/agg_pixfmt_rgba.h | 42 ++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 40 insertions(+), 2 deletions(-) - -diff --git a/include/agg_pixfmt_rgba.h b/include/agg_pixfmt_rgba.h -index 79d10dc..f576ce4 100644 ---- a/include/agg_pixfmt_rgba.h -+++ b/include/agg_pixfmt_rgba.h -@@ -1401,9 +1401,46 @@ namespace agg - } - }; - -+ //================================================comp_op_rgba_grain_merge -+ template struct comp_op_rgba_grain_merge -+ { -+ typedef ColorT color_type; -+ typedef Order order_type; -+ typedef typename color_type::value_type value_type; -+ typedef typename color_type::calc_type calc_type; -+ typedef typename color_type::long_type long_type; -+ enum base_scale_e -+ { -+ base_shift = color_type::base_shift, -+ base_mask = color_type::base_mask -+ }; - -+ // E = I + M - 128 -+ static AGG_INLINE void blend_pix(value_type* p, -+ unsigned sr, unsigned sg, unsigned sb, -+ unsigned sa, unsigned cover) -+ { - -- -+ if(cover < 255) -+ { -+ sr = (sr * cover + 255) >> 8; -+ sg = (sg * cover + 255) >> 8; -+ sb = (sb * cover + 255) >> 8; -+ sa = (sa * cover + 255) >> 8; -+ } -+ if(sa) -+ { -+ calc_type da = p[Order::A]; -+ int dr = sr + p[Order::R] - 128; -+ int dg = sg + p[Order::G] - 128; -+ int db = sb + p[Order::B] - 128; -+ p[Order::R] = (value_type)(dr < 0 ? 0 : (dr > 255 ? 255 : dr)); -+ p[Order::G] = (value_type)(dg < 0 ? 0 : (dg > 255 ? 255 : dg)); -+ p[Order::B] = (value_type)(db < 0 ? 0 : (db > 255 ? 255 : db)); -+ p[Order::A] = (value_type)(sa + da - ((sa * da + base_mask) >> base_shift)); -+ } -+ } -+ }; - - //======================================================comp_op_table_rgba - template struct comp_op_table_rgba -@@ -1451,6 +1488,7 @@ namespace agg - comp_op_rgba_contrast ::blend_pix, - comp_op_rgba_invert ::blend_pix, - comp_op_rgba_invert_rgb ::blend_pix, -+ comp_op_rgba_grain_merge::blend_pix, - 0 - }; - -@@ -1486,6 +1524,7 @@ namespace agg - comp_op_contrast, //----comp_op_contrast - comp_op_invert, //----comp_op_invert - comp_op_invert_rgb, //----comp_op_invert_rgb -+ comp_op_grain_merge, //----comp_op_grain_merge - - end_of_comp_op_e - }; -@@ -2908,4 +2947,3 @@ namespace agg - } - - #endif -- --- -1.8.1.4 - diff --git a/FunKey/package/agg/0007-Implement-grain-extract-blending-mode-GIMP.patch b/FunKey/package/agg/0007-Implement-grain-extract-blending-mode-GIMP.patch deleted file mode 100644 index cafb36eb..00000000 --- a/FunKey/package/agg/0007-Implement-grain-extract-blending-mode-GIMP.patch +++ /dev/null @@ -1,85 +0,0 @@ -From abd440342e166a90d08610bf5b31d2a8357eafbe Mon Sep 17 00:00:00 2001 -From: Tom Hughes -Date: Sun, 19 May 2013 15:43:18 +0100 -Subject: [PATCH 07/15] Implement grain-extract blending mode (GIMP) - ---- - include/agg_pixfmt_rgba.h | 48 +++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 48 insertions(+) - -diff --git a/include/agg_pixfmt_rgba.h b/include/agg_pixfmt_rgba.h -index f576ce4..42f0a05 100644 ---- a/include/agg_pixfmt_rgba.h -+++ b/include/agg_pixfmt_rgba.h -@@ -1442,6 +1442,52 @@ namespace agg - } - }; - -+ //==============================================comp_op_rgba_grain_extract -+ template struct comp_op_rgba_grain_extract -+ { -+ typedef ColorT color_type; -+ typedef Order order_type; -+ typedef typename color_type::value_type value_type; -+ typedef typename color_type::calc_type calc_type; -+ typedef typename color_type::long_type long_type; -+ enum base_scale_e -+ { -+ base_shift = color_type::base_shift, -+ base_mask = color_type::base_mask -+ }; -+ -+ // E = I - M + 128 -+ static AGG_INLINE void blend_pix(value_type* p, -+ unsigned sr, unsigned sg, unsigned sb, -+ unsigned sa, unsigned cover) -+ { -+ calc_type da = (p[Order::A] * sa + 255) >> 8; -+ -+ int dr = p[Order::R] - sr + 128; -+ int dg = p[Order::G] - sg + 128; -+ int db = p[Order::B] - sb + 128; -+ -+ dr = dr < 0 ? 0 : (dr > 255 ? 255 : dr); -+ dg = dg < 0 ? 0 : (dg > 255 ? 255 : dg); -+ db = db < 0 ? 0 : (db > 255 ? 255 : db); -+ -+ p[Order::A] = da; -+ -+ if(da < 255) -+ { -+ p[Order::R] = (dr * da + 255) >> 8; -+ p[Order::G] = (dg * da + 255) >> 8; -+ p[Order::B] = (db * da + 255) >> 8; -+ } -+ else -+ { -+ p[Order::R] = dr; -+ p[Order::G] = dg; -+ p[Order::B] = db; -+ } -+ } -+ }; -+ - //======================================================comp_op_table_rgba - template struct comp_op_table_rgba - { -@@ -1489,6 +1535,7 @@ namespace agg - comp_op_rgba_invert ::blend_pix, - comp_op_rgba_invert_rgb ::blend_pix, - comp_op_rgba_grain_merge::blend_pix, -+ comp_op_rgba_grain_extract::blend_pix, - 0 - }; - -@@ -1525,6 +1572,7 @@ namespace agg - comp_op_invert, //----comp_op_invert - comp_op_invert_rgb, //----comp_op_invert_rgb - comp_op_grain_merge, //----comp_op_grain_merge -+ comp_op_grain_extract, //----comp_op_grain_extract - - end_of_comp_op_e - }; --- -1.8.1.4 - diff --git a/FunKey/package/agg/0008-Declare-multiplication-and-division-operators-as-con.patch b/FunKey/package/agg/0008-Declare-multiplication-and-division-operators-as-con.patch deleted file mode 100644 index 0ed92ee6..00000000 --- a/FunKey/package/agg/0008-Declare-multiplication-and-division-operators-as-con.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 2688af280836b95908d3cfd6915510d55de673b8 Mon Sep 17 00:00:00 2001 -From: Tom Hughes -Date: Sun, 19 May 2013 16:15:01 +0100 -Subject: [PATCH 08/15] Declare multiplication and division operators as const - ---- - include/agg_trans_affine.h | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/include/agg_trans_affine.h b/include/agg_trans_affine.h -index a662099..2f602a0 100644 ---- a/include/agg_trans_affine.h -+++ b/include/agg_trans_affine.h -@@ -216,15 +216,15 @@ namespace agg - } - - // Multiply the matrix by another one and return -- // the result in a separete matrix. -- trans_affine operator * (const trans_affine& m) -+ // the result in a separate matrix. -+ trans_affine operator * (const trans_affine& m) const - { - return trans_affine(*this).multiply(m); - } - - // Multiply the matrix by inverse of another one -- // and return the result in a separete matrix. -- trans_affine operator / (const trans_affine& m) -+ // and return the result in a separate matrix. -+ trans_affine operator / (const trans_affine& m) const - { - return trans_affine(*this).multiply_inv(m); - } --- -1.8.1.4 - diff --git a/FunKey/package/agg/0009-Add-a-static-identity-transformation.patch b/FunKey/package/agg/0009-Add-a-static-identity-transformation.patch deleted file mode 100644 index 01555cb3..00000000 --- a/FunKey/package/agg/0009-Add-a-static-identity-transformation.patch +++ /dev/null @@ -1,37 +0,0 @@ -From be9ed90897bc43b4547a3a1f8046827caaf13b4c Mon Sep 17 00:00:00 2001 -From: Tom Hughes -Date: Sun, 19 May 2013 16:15:36 +0100 -Subject: [PATCH 09/15] Add a static identity transformation - ---- - include/agg_trans_affine.h | 1 + - src/agg_trans_affine.cpp | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/include/agg_trans_affine.h b/include/agg_trans_affine.h -index 2f602a0..67fe5ca 100644 ---- a/include/agg_trans_affine.h -+++ b/include/agg_trans_affine.h -@@ -92,6 +92,7 @@ namespace agg - //---------------------------------------------------------------------- - struct trans_affine - { -+ static const trans_affine identity; - double sx, shy, shx, sy, tx, ty; - - //------------------------------------------ Construction -diff --git a/src/agg_trans_affine.cpp b/src/agg_trans_affine.cpp -index aca18c2..b3d9bc0 100644 ---- a/src/agg_trans_affine.cpp -+++ b/src/agg_trans_affine.cpp -@@ -28,6 +28,7 @@ - - namespace agg - { -+ const trans_affine trans_affine::identity; - - //------------------------------------------------------------------------ - const trans_affine& trans_affine::parl_to_parl(const double* src, --- -1.8.1.4 - diff --git a/FunKey/package/agg/0010-Add-renderer_scanline_aa_alpha.patch b/FunKey/package/agg/0010-Add-renderer_scanline_aa_alpha.patch deleted file mode 100644 index b0be2583..00000000 --- a/FunKey/package/agg/0010-Add-renderer_scanline_aa_alpha.patch +++ /dev/null @@ -1,193 +0,0 @@ -From 749c8cd11e9e6f81e93ae5ce19258431722b6bdf Mon Sep 17 00:00:00 2001 -From: Tom Hughes -Date: Sun, 19 May 2013 16:43:25 +0100 -Subject: [PATCH 10/15] Add renderer_scanline_aa_alpha - ---- - include/agg_pixfmt_rgba.h | 24 +++++++++++++- - include/agg_renderer_base.h | 28 ++++++++++++++++ - include/agg_renderer_scanline.h | 71 +++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 122 insertions(+), 1 deletion(-) - -diff --git a/include/agg_pixfmt_rgba.h b/include/agg_pixfmt_rgba.h -index 42f0a05..6c4bc37 100644 ---- a/include/agg_pixfmt_rgba.h -+++ b/include/agg_pixfmt_rgba.h -@@ -2247,7 +2247,6 @@ namespace agg - } - - -- - //-------------------------------------------------------------------- - void blend_color_vspan(int x, int y, - unsigned len, -@@ -2751,6 +2750,29 @@ namespace agg - } - - //-------------------------------------------------------------------- -+ void blend_color_hspan_alpha(int x, int y, unsigned len, -+ const color_type* colors, -+ value_type alpha, -+ const int8u* covers, -+ int8u cover) -+ { -+ value_type* p = (value_type*)m_rbuf->row_ptr(x, y, len) + (x << 2); -+ do -+ { -+ blender_type::blend_pix(m_comp_op, -+ p, -+ (colors->r * alpha + 255) >> 8, -+ (colors->g * alpha + 255) >> 8, -+ (colors->b * alpha + 255) >> 8, -+ (colors->a * alpha + 255) >> 8, -+ covers ? *covers++ : cover); -+ p += 4; -+ ++colors; -+ } -+ while(--len); -+ } -+ -+ //-------------------------------------------------------------------- - void blend_color_vspan(int x, int y, unsigned len, - const color_type* colors, - const int8u* covers, -diff --git a/include/agg_renderer_base.h b/include/agg_renderer_base.h -index 1808944..25f07c3 100644 ---- a/include/agg_renderer_base.h -+++ b/include/agg_renderer_base.h -@@ -37,6 +37,7 @@ namespace agg - public: - typedef PixelFormat pixfmt_type; - typedef typename pixfmt_type::color_type color_type; -+ typedef typename pixfmt_type::color_type::value_type value_type; - typedef typename pixfmt_type::row_data row_data; - - //-------------------------------------------------------------------- -@@ -383,6 +384,33 @@ namespace agg - } - - //-------------------------------------------------------------------- -+ void blend_color_hspan_alpha(int x, int y, int len, -+ const color_type* colors, -+ value_type alpha, -+ const cover_type* covers, -+ cover_type cover = agg::cover_full) -+ { -+ if(y > ymax()) return; -+ if(y < ymin()) return; -+ -+ if(x < xmin()) -+ { -+ int d = xmin() - x; -+ len -= d; -+ if(len <= 0) return; -+ if(covers) covers += d; -+ colors += d; -+ x = xmin(); -+ } -+ if(x + len > xmax()) -+ { -+ len = xmax() - x + 1; -+ if(len <= 0) return; -+ } -+ m_ren->blend_color_hspan_alpha(x, y, len, colors, alpha, covers, cover); -+ } -+ -+ //-------------------------------------------------------------------- - void blend_color_vspan(int x, int y, int len, - const color_type* colors, - const cover_type* covers, -diff --git a/include/agg_renderer_scanline.h b/include/agg_renderer_scanline.h -index c27ca60..4fcb557 100644 ---- a/include/agg_renderer_scanline.h -+++ b/include/agg_renderer_scanline.h -@@ -156,6 +156,35 @@ namespace agg - } - } - -+ //================================================render_scanline_aa_alpha -+ template -+ void render_scanline_aa_alpha(const Scanline& sl, BaseRenderer& ren, -+ SpanAllocator& alloc, SpanGenerator& span_gen, -+ unsigned alpha) -+ { -+ int y = sl.y(); -+ -+ unsigned num_spans = sl.num_spans(); -+ typename Scanline::const_iterator span = sl.begin(); -+ for(;;) -+ { -+ int x = span->x; -+ int len = span->len; -+ const typename Scanline::cover_type* covers = span->covers; -+ -+ if(len < 0) len = -len; -+ typename BaseRenderer::color_type* colors = alloc.allocate(len); -+ span_gen.generate(colors, x, y, len); -+ ren.blend_color_hspan_alpha(x, y, len, colors, alpha, -+ (span->len < 0) ? 0 : covers, *covers); -+ -+ if(--num_spans == 0) break; -+ ++span; -+ } -+ } -+ -+ - //=====================================================render_scanlines_aa - template -@@ -216,8 +245,50 @@ namespace agg - }; - - -+ //==============================================renderer_scanline_aa_alpha -+ template -+ class renderer_scanline_aa_alpha -+ { -+ public: -+ typedef BaseRenderer base_ren_type; -+ typedef SpanAllocator alloc_type; -+ typedef SpanGenerator span_gen_type; - -+ //-------------------------------------------------------------------- -+ renderer_scanline_aa_alpha() : m_ren(0), m_alloc(0), m_span_gen(0), m_alpha(1.0) {} -+ renderer_scanline_aa_alpha(base_ren_type& ren, -+ alloc_type& alloc, -+ span_gen_type& span_gen, -+ unsigned alpha) : -+ m_ren(&ren), -+ m_alloc(&alloc), -+ m_span_gen(&span_gen), -+ m_alpha(alpha) -+ {} -+ void attach(base_ren_type& ren, -+ alloc_type& alloc, -+ span_gen_type& span_gen) -+ { -+ m_ren = &ren; -+ m_alloc = &alloc; -+ m_span_gen = &span_gen; -+ } - -+ //-------------------------------------------------------------------- -+ void prepare() { m_span_gen->prepare(); } -+ -+ //-------------------------------------------------------------------- -+ template void render(const Scanline& sl) -+ { -+ render_scanline_aa_alpha(sl, *m_ren, *m_alloc, *m_span_gen, m_alpha); -+ } -+ -+ private: -+ base_ren_type* m_ren; -+ alloc_type* m_alloc; -+ span_gen_type* m_span_gen; -+ unsigned m_alpha; -+ }; - - - //===============================================render_scanline_bin_solid --- -1.8.1.4 - diff --git a/FunKey/package/agg/0011-Avoid-division-by-zero-in-color-burn-mode.patch b/FunKey/package/agg/0011-Avoid-division-by-zero-in-color-burn-mode.patch deleted file mode 100644 index 2a0d198f..00000000 --- a/FunKey/package/agg/0011-Avoid-division-by-zero-in-color-burn-mode.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 0ec68d7f5695403eccac75025ba7f6f7ecf1814e Mon Sep 17 00:00:00 2001 -From: Tom Hughes -Date: Sun, 19 May 2013 16:49:08 +0100 -Subject: [PATCH 11/15] Avoid division by zero in color-burn mode - -FIXME: re-work using latest math from http://www.w3.org/TR/SVGCompositing/ ---- - include/agg_pixfmt_rgba.h | 21 ++++++++++++++++++--- - 1 file changed, 18 insertions(+), 3 deletions(-) - -diff --git a/include/agg_pixfmt_rgba.h b/include/agg_pixfmt_rgba.h -index 6c4bc37..5d6b511 100644 ---- a/include/agg_pixfmt_rgba.h -+++ b/include/agg_pixfmt_rgba.h -@@ -1027,6 +1027,21 @@ namespace agg - // Dca' = Sa.(Sca.Da + Dca.Sa - Sa.Da)/Sca + Sca.(1 - Da) + Dca.(1 - Sa) - // - // Da' = Sa + Da - Sa.Da -+ -+ -+ // http://www.w3.org/TR/SVGCompositing/ -+ // if Sca == 0 and Dca == Da -+ // Dca' = Sa × Da + Sca × (1 - Da) + Dca × (1 - Sa) -+ // = Sa × Da + Dca × (1 - Sa) -+ // = Da = Dca -+ // otherwise if Sca == 0 -+ // Dca' = Sca × (1 - Da) + Dca × (1 - Sa) -+ // = Dca × (1 - Sa) -+ // otherwise if Sca > 0 -+ // Dca' = Sa × Da - Sa × Da × min(1, (1 - Dca/Da) × Sa/Sca) + Sca × (1 - Da) + Dca × (1 - Sa) -+ // = Sa × Da × (1 - min(1, (1 - Dca/Da) × Sa/Sca)) + Sca × (1 - Da) + Dca × (1 - Sa) -+ -+ // sa * da * (255 - std::min(255, (255 - p[0]/da)*(sa/(sc*sa)) + - static AGG_INLINE void blend_pix(value_type* p, - unsigned sr, unsigned sg, unsigned sb, - unsigned sa, unsigned cover) -@@ -1056,15 +1071,15 @@ namespace agg - - p[Order::R] = (value_type)(((srda + drsa <= sada) ? - sr * d1a + dr * s1a : -- sa * (srda + drsa - sada) / sr + sr * d1a + dr * s1a + base_mask) >> base_shift); -+ (sr > 0 ? sa * (srda + drsa - sada) / sr + sr * d1a + dr * s1a + base_mask : 0)) >> base_shift); - - p[Order::G] = (value_type)(((sgda + dgsa <= sada) ? - sg * d1a + dg * s1a : -- sa * (sgda + dgsa - sada) / sg + sg * d1a + dg * s1a + base_mask) >> base_shift); -+ (sg > 0 ? sa * (sgda + dgsa - sada) / sg + sg * d1a + dg * s1a + base_mask : 0)) >> base_shift); - - p[Order::B] = (value_type)(((sbda + dbsa <= sada) ? - sb * d1a + db * s1a : -- sa * (sbda + dbsa - sada) / sb + sb * d1a + db * s1a + base_mask) >> base_shift); -+ (sb > 0 ? sa * (sbda + dbsa - sada) / sb + sb * d1a + db * s1a + base_mask : 0)) >> base_shift); - - p[Order::A] = (value_type)(sa + da - ((sa * da + base_mask) >> base_shift)); - } --- -1.8.1.4 - diff --git a/FunKey/package/agg/0012-Avoid-pixel-artifacts-when-compositing.patch b/FunKey/package/agg/0012-Avoid-pixel-artifacts-when-compositing.patch deleted file mode 100644 index b3e641e6..00000000 --- a/FunKey/package/agg/0012-Avoid-pixel-artifacts-when-compositing.patch +++ /dev/null @@ -1,26 +0,0 @@ -From bf0e0b71360cfbc690a29f4abe15d7b9b61b8479 Mon Sep 17 00:00:00 2001 -From: Tom Hughes -Date: Sat, 22 Jun 2013 12:11:54 +0100 -Subject: [PATCH 12/15] Avoid pixel artifacts when compositing - -Change src_over alpha to avoid pixel artifacts by reordering computations. ---- - include/agg_pixfmt_rgba.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/agg_pixfmt_rgba.h b/include/agg_pixfmt_rgba.h -index 5d6b511..bb255cd 100644 ---- a/include/agg_pixfmt_rgba.h -+++ b/include/agg_pixfmt_rgba.h -@@ -346,7 +346,7 @@ namespace agg - p[Order::R] = (value_type)(sr + ((p[Order::R] * s1a + base_mask) >> base_shift)); - p[Order::G] = (value_type)(sg + ((p[Order::G] * s1a + base_mask) >> base_shift)); - p[Order::B] = (value_type)(sb + ((p[Order::B] * s1a + base_mask) >> base_shift)); -- p[Order::A] = (value_type)(sa + p[Order::A] - ((sa * p[Order::A] + base_mask) >> base_shift)); -+ p[Order::A] = (value_type)(sa + ((p[Order::A] * s1a + base_mask) >> base_shift)); - } - }; - --- -1.8.1.4 - diff --git a/FunKey/package/agg/0013-Modify-agg-conv-classes-to-allow-access-to-the-origi.patch b/FunKey/package/agg/0013-Modify-agg-conv-classes-to-allow-access-to-the-origi.patch deleted file mode 100644 index 9deb9047..00000000 --- a/FunKey/package/agg/0013-Modify-agg-conv-classes-to-allow-access-to-the-origi.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 6f1ab5f4b470bcf4e7e72aac6e2f7f6ee3e7b424 Mon Sep 17 00:00:00 2001 -From: Tom Hughes -Date: Sat, 22 Jun 2013 12:16:42 +0100 -Subject: [PATCH 13/15] Modify agg conv classes to allow access to the original - geometry type - ---- - include/agg_conv_adaptor_vcgen.h | 2 ++ - include/agg_conv_adaptor_vpgen.h | 1 + - include/agg_conv_clip_polygon.h | 1 + - include/agg_conv_clip_polyline.h | 1 + - include/agg_conv_smooth_poly1.h | 2 ++ - 5 files changed, 7 insertions(+) - -diff --git a/include/agg_conv_adaptor_vcgen.h b/include/agg_conv_adaptor_vcgen.h -index 7bd9b07..fef4579 100644 ---- a/include/agg_conv_adaptor_vcgen.h -+++ b/include/agg_conv_adaptor_vcgen.h -@@ -38,6 +38,7 @@ namespace agg - - void rewind(unsigned) {} - unsigned vertex(double*, double*) { return path_cmd_stop; } -+ unsigned type() const { return 0; } - }; - - -@@ -73,6 +74,7 @@ namespace agg - } - - unsigned vertex(double* x, double* y); -+ unsigned type() const { return m_source->type(); } - - private: - // Prohibit copying -diff --git a/include/agg_conv_adaptor_vpgen.h b/include/agg_conv_adaptor_vpgen.h -index dca9415..a39102d 100644 ---- a/include/agg_conv_adaptor_vpgen.h -+++ b/include/agg_conv_adaptor_vpgen.h -@@ -42,6 +42,7 @@ namespace agg - - void rewind(unsigned path_id); - unsigned vertex(double* x, double* y); -+ unsigned type() const { return m_source->type(); } - - private: - conv_adaptor_vpgen(const conv_adaptor_vpgen&); -diff --git a/include/agg_conv_clip_polygon.h b/include/agg_conv_clip_polygon.h -index 3c34590..e417a7d 100644 ---- a/include/agg_conv_clip_polygon.h -+++ b/include/agg_conv_clip_polygon.h -@@ -60,6 +60,7 @@ namespace agg - double y1() const { return base_type::vpgen().y1(); } - double x2() const { return base_type::vpgen().x2(); } - double y2() const { return base_type::vpgen().y2(); } -+ unsigned type() const { return base_type::type(); } - - private: - conv_clip_polygon(const conv_clip_polygon&); -diff --git a/include/agg_conv_clip_polyline.h b/include/agg_conv_clip_polyline.h -index d45067f..0de4b57 100644 ---- a/include/agg_conv_clip_polyline.h -+++ b/include/agg_conv_clip_polyline.h -@@ -60,6 +60,7 @@ namespace agg - double y1() const { return base_type::vpgen().y1(); } - double x2() const { return base_type::vpgen().x2(); } - double y2() const { return base_type::vpgen().y2(); } -+ unsigned type() const { return base_type::type(); } - - private: - conv_clip_polyline(const conv_clip_polyline&); -diff --git a/include/agg_conv_smooth_poly1.h b/include/agg_conv_smooth_poly1.h -index 15f7f8d..0956c4e 100644 ---- a/include/agg_conv_smooth_poly1.h -+++ b/include/agg_conv_smooth_poly1.h -@@ -48,6 +48,7 @@ namespace agg - - void smooth_value(double v) { base_type::generator().smooth_value(v); } - double smooth_value() const { return base_type::generator().smooth_value(); } -+ unsigned type() const { return base_type::type(); } - - private: - conv_smooth_poly1(const conv_smooth_poly1&); -@@ -70,6 +71,7 @@ namespace agg - - void smooth_value(double v) { m_smooth.generator().smooth_value(v); } - double smooth_value() const { return m_smooth.generator().smooth_value(); } -+ unsigned type() const { return m_smooth.type(); } - - private: - conv_smooth_poly1_curve(const conv_smooth_poly1_curve&); --- -1.8.1.4 - diff --git a/FunKey/package/agg/0014-Avoid-potential-zero-division-resulting-in-nan-in-ag.patch b/FunKey/package/agg/0014-Avoid-potential-zero-division-resulting-in-nan-in-ag.patch deleted file mode 100644 index 547b0d21..00000000 --- a/FunKey/package/agg/0014-Avoid-potential-zero-division-resulting-in-nan-in-ag.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 6433a64f4cd41e88499386b0b7c7ae05d30683b8 Mon Sep 17 00:00:00 2001 -From: Tom Hughes -Date: Sat, 22 Jun 2013 12:33:32 +0100 -Subject: [PATCH 14/15] Avoid potential zero division resulting in nan in - agg::gamma_linear - ---- - include/agg_gamma_functions.h | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/include/agg_gamma_functions.h b/include/agg_gamma_functions.h -index fa38a45..beb0c04 100644 ---- a/include/agg_gamma_functions.h -+++ b/include/agg_gamma_functions.h -@@ -94,7 +94,11 @@ namespace agg - { - if(x < m_start) return 0.0; - if(x > m_end) return 1.0; -- return (x - m_start) / (m_end - m_start); -+ double delta = m_end - m_start; -+ // avoid nan from potential zero division -+ // https://github.com/mapnik/mapnik/issues/761 -+ if (delta <= 0.0) return 0.0; -+ return (x - m_start) / delta; - } - - private: --- -1.8.1.4 - diff --git a/FunKey/package/agg/0015-Ensure-first-value-in-the-gamma-table-is-always-zero.patch b/FunKey/package/agg/0015-Ensure-first-value-in-the-gamma-table-is-always-zero.patch deleted file mode 100644 index 6214bd62..00000000 --- a/FunKey/package/agg/0015-Ensure-first-value-in-the-gamma-table-is-always-zero.patch +++ /dev/null @@ -1,24 +0,0 @@ -From ca818d4dcd428c5560fc3c341fbaf427a7485e32 Mon Sep 17 00:00:00 2001 -From: Tom Hughes -Date: Sat, 22 Jun 2013 12:34:37 +0100 -Subject: [PATCH 15/15] Ensure first value in the gamma table is always zero - ---- - include/agg_gamma_functions.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/include/agg_gamma_functions.h b/include/agg_gamma_functions.h -index beb0c04..b8eda52 100644 ---- a/include/agg_gamma_functions.h -+++ b/include/agg_gamma_functions.h -@@ -49,6 +49,7 @@ namespace agg - - double operator() (double x) const - { -+ if (x == 0.0) return 0.0; - return pow(x, m_gamma); - } - --- -1.8.1.4 - diff --git a/FunKey/package/agg/CREATE_FILES.patch b/FunKey/package/agg/CREATE_FILES.patch deleted file mode 100644 index 1a781251..00000000 --- a/FunKey/package/agg/CREATE_FILES.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/README.orig 2007-01-07 13:58:28.000000000 +0000 -+++ b/README 2007-01-07 14:02:40.000000000 +0000 -@@ -0,0 +1 @@ -+cacac - ---- a/NEWS.orig 2007-01-07 13:58:28.000000000 +0000 -+++ b/NEWS 2007-01-07 14:02:40.000000000 +0000 -@@ -0,0 +1 @@ -+cacac - ---- a/AUTHORS.orig 2007-01-07 13:58:28.000000000 +0000 -+++ b/AUTHORS 2007-01-07 14:02:40.000000000 +0000 -@@ -0,0 +1 @@ -+cacac diff --git a/FunKey/package/agg/Config.in b/FunKey/package/agg/Config.in deleted file mode 100644 index a842098f..00000000 --- a/FunKey/package/agg/Config.in +++ /dev/null @@ -1,13 +0,0 @@ -config BR2_PACKAGE_AGG - bool "agg" - depends on BR2_INSTALL_LIBSTDCPP - select BR2_PACKAGE_SDL - help - The Anti-Grain Geometry project. A High Quality 2D Graphics Rendering - Engine for C++. - We select the SDL backend by default. - - http://www.antigrain.com/index.html - -comment "agg needs a toolchain with C++ support" - depends on !BR2_INSTALL_LIBSTDCPP diff --git a/FunKey/package/agg/agg-2.4-depends.patch b/FunKey/package/agg/agg-2.4-depends.patch deleted file mode 100644 index f5506e2e..00000000 --- a/FunKey/package/agg/agg-2.4-depends.patch +++ /dev/null @@ -1,36 +0,0 @@ ---- agg-2.4.orig/font_freetype/Makefile.am 2005-10-18 11:45:40.000000000 +0100 -+++ agg-2.4/font_freetype/Makefile.am 2006-07-10 15:11:55.000000000 +0100 -@@ -4,8 +4,9 @@ - agginclude_HEADERS = agg_font_freetype.h - lib_LTLIBRARIES = libaggfontfreetype.la - --libaggfontfreetype_la_LDFLAGS = -version-info @AGG_LIB_VERSION@ @FREETYPE_LIBS@ -+libaggfontfreetype_la_LDFLAGS = -version-info @AGG_LIB_VERSION@ - libaggfontfreetype_la_SOURCES = agg_font_freetype.cpp - libaggfontfreetype_la_CXXFLAGS = -I$(top_srcdir)/include @FREETYPE_CFLAGS@ -+libaggfontfreetype_la_LIBADD = ../src/libagg.la @FREETYPE_LIBS@ - endif - ---- agg-2.4.orig/src/platform/sdl/Makefile.am 2005-10-17 23:49:35.000000000 +0100 -+++ agg-2.4/src/platform/sdl/Makefile.am 2006-07-10 15:11:55.000000000 +0100 -@@ -5,6 +5,6 @@ - libaggplatformsdl_la_LDFLAGS = -version-info @AGG_LIB_VERSION@ - libaggplatformsdl_la_SOURCES = agg_platform_support.cpp - libaggplatformsdl_la_CXXFLAGS = -I$(top_srcdir)/include @SDL_CFLAGS@ --libaggplatformsdl_la_LIBADD = @SDL_LIBS@ -+libaggplatformsdl_la_LIBADD = ../../libagg.la @SDL_LIBS@ - endif - ---- agg-2.5.orig/src/platform/X11/Makefile.am 2006-12-11 00:59:45.000000000 +0000 -+++ agg-2.5/src/platform/X11/Makefile.am 2007-01-07 14:07:39.000000000 +0000 -@@ -1,8 +1,8 @@ - if ENABLE_X11 - lib_LTLIBRARIES = libaggplatformX11.la - --libaggplatformX11_la_LDFLAGS = -version-info @AGG_LIB_VERSION@ -L@x_libraries@ -+libaggplatformX11_la_LDFLAGS = -version-info @AGG_LIB_VERSION@ @X_LDFLAGS@ - libaggplatformX11_la_SOURCES = agg_platform_support.cpp - libaggplatformX11_la_CXXFLAGS = -I$(top_srcdir)/include -I@x_includes@ --libaggplatformX11_la_LIBADD = -lX11 -+libaggplatformX11_la_LIBADD = ../../libagg.la -lX11 - endif diff --git a/FunKey/package/agg/agg-2.5-autotools.patch b/FunKey/package/agg/agg-2.5-autotools.patch deleted file mode 100644 index 1272b65b..00000000 --- a/FunKey/package/agg/agg-2.5-autotools.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/configure.in 2013-02-22 09:30:00.000000000 -0600 -+++ b/configure.in 2013-02-22 09:30:49.030777571 -0600 -@@ -8,7 +8,7 @@ - AC_PROG_CC - AC_PROG_CXX - AC_ISC_POSIX --AM_C_PROTOTYPES -+#AM_C_PROTOTYPES - if test "x$U" != "x"; then - AC_MSG_ERROR(Compiler not ANSI compliant) - fi diff --git a/FunKey/package/agg/agg-2.5-pkgconfig.patch b/FunKey/package/agg/agg-2.5-pkgconfig.patch deleted file mode 100644 index a303bfb9..00000000 --- a/FunKey/package/agg/agg-2.5-pkgconfig.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- agg-2.5/libagg.pc.in.orig 2007-01-07 13:58:28.000000000 +0000 -+++ agg-2.5/libagg.pc.in 2007-01-07 14:02:40.000000000 +0000 -@@ -6,5 +6,6 @@ - Name: libagg - Description: Anti Grain Geometry - A High Quality Rendering Engine for C++ - Version: @VERSION@ --Libs: -L${libdir} -Wl,-rpath,${exec_prefix}/lib -lagg -+Requires.private: freetype2 -+Libs: -L${libdir} -lagg - Cflags: -I${includedir} diff --git a/FunKey/package/agg/agg.mk b/FunKey/package/agg/agg.mk deleted file mode 100644 index ecf57497..00000000 --- a/FunKey/package/agg/agg.mk +++ /dev/null @@ -1,32 +0,0 @@ -############################################################################### -# -# agg -# -############################################################################### - -AGG_VERSION = 2.5 -AGG_SOURCE = agg-$(AGG_VERSION).tar.gz -AGG_SITE = https://ftp.osuosl.org/pub/blfs/8.0/a -AGG_LICENSE = GPLv3+ -AGG_LICENSE_FILES = COPYING -AGG_INSTALL_STAGING = YES -AGG_AUTORECONF = YES - -AGG_DEPENDENCIES = host-pkgconf sdl - -AGG_CONF_OPTS = \ - --with-sdl-prefix=$(STAGING_DIR)/usr \ - --disable-sdltest - -AGG_CONF_OPTS += \ - --with-x=NO \ - --disable-examples --disable-gpc - -ifeq ($(BR2_PACKAGE_FREETYPE),y) -AGG_DEPENDENCIES += freetype -AGG_CONF_OPTS += --enable-freetype -else -AGG_CONF_OPTS += --disable-freetype -endif - -$(eval $(autotools-package))