Hello community, here is the log from the commit of package wxsvg for openSUSE:Factory checked in at 2020-04-22 20:45:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/wxsvg (Old) and /work/SRC/openSUSE:Factory/.wxsvg.new.2738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wxsvg" Wed Apr 22 20:45:09 2020 rev:6 rq:796202 version:1.5.22 Changes: -------- --- /work/SRC/openSUSE:Factory/wxsvg/wxsvg.changes 2019-09-16 10:53:21.503149260 +0200 +++ /work/SRC/openSUSE:Factory/.wxsvg.new.2738/wxsvg.changes 2020-04-22 20:45:40.834533361 +0200 @@ -1,0 +2,19 @@ +Wed Apr 22 06:42:30 UTC 2020 - Luigi Baldoni <aloi...@gmx.com> + +- Set correct license + +------------------------------------------------------------------- +Wed Apr 8 08:42:55 UTC 2020 - aloi...@gmx.com + +- Update to version 1.5.22 + * wxSVGImage: fixed loading of video frames + * added support of rgba colors + version 1.5.21 + * fixed renedring of symbol elements + * fixed handling of spaces in transform attribute + * added support of grayscale mask + * added initial support of switch element + +- Dropped Group tag + +------------------------------------------------------------------- Old: ---- wxsvg-1.5.20.tar.bz2 New: ---- wxsvg-1.5.22.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ wxsvg.spec ++++++ --- /var/tmp/diff_new_pack.OMvxMt/_old 2020-04-22 20:45:42.030535701 +0200 +++ /var/tmp/diff_new_pack.OMvxMt/_new 2020-04-22 20:45:42.038535718 +0200 @@ -1,7 +1,7 @@ # # spec file for package wxsvg # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # Copyright (c) 2012-2019 Mariusz Fik <fi...@opensuse.org> # Copyright (c) 2012 Stefan Seyfried <seife+...@b1-systems.com> # @@ -20,12 +20,11 @@ %define sover 3 Name: wxsvg -Version: 1.5.20 +Version: 1.5.22 Release: 0 Summary: Library to create, manipulate and render SVG files -License: GPL-2.0-or-later -Group: Development/Libraries/C and C++ -URL: https://wxsvg.sourceforge.net/ +License: LGPL-2.1+ WITH WxWindows-exception-3.1 +URL: http://wxsvg.sourceforge.net/ Source: https://prdownloads.sourceforge.net/wxsvg/%{name}-%{version}.tar.bz2 BuildRequires: gcc-c++ BuildRequires: pkgconfig @@ -44,14 +43,12 @@ %package -n lib%{name}%{sover} Summary: Library to create, manipulate and render SVG files -Group: System/Libraries %description -n lib%{name}%{sover} Dynamic libraries from %{name}, as required at runtime. %package -n lib%{name}-devel Summary: Header files for %{name} -Group: Development/Libraries/C and C++ Requires: %{name} = %{version} Requires: lib%{name}%{sover} = %{version} Requires: wxWidgets-devel >= 3 ++++++ wxsvg-1.5.20.tar.bz2 -> wxsvg-1.5.22.tar.bz2 ++++++ ++++ 3116 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/ChangeLog new/wxsvg-1.5.22/ChangeLog --- old/wxsvg-1.5.20/ChangeLog 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/ChangeLog 2019-12-27 20:33:24.000000000 +0100 @@ -1,3 +1,17 @@ +Version 1.5.22 <2019-12-27> +--------------------------- + + * wxSVGImage: fixed loading of video frames + * added support of rgba colors + +Version 1.5.21 <2019-10-05> +--------------------------- + + * fixed renedring of symbol elements + * fixed handling of spaces in transform attribute + * added support of grayscale mask + * added initial support of switch element + Version 1.5.20 <2019-08-02> --------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/compile new/wxsvg-1.5.22/compile --- old/wxsvg-1.5.20/compile 2019-08-02 23:01:04.000000000 +0200 +++ new/wxsvg-1.5.22/compile 2019-12-27 20:33:29.000000000 +0100 @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2012-10-14.11; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # Written by Tom Tromey <tro...@cygnus.com>. # # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -255,7 +255,8 @@ echo "compile $scriptversion" exit $? ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac @@ -339,9 +340,9 @@ # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/configure.ac new/wxsvg-1.5.22/configure.ac --- old/wxsvg-1.5.20/configure.ac 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/configure.ac 2019-12-27 20:33:24.000000000 +0100 @@ -2,7 +2,7 @@ # initialization AC_PREREQ(2.59) -AC_INIT([wxsvg], [1.5.20], [http://wxsvg.sourceforge.net/]) +AC_INIT([wxsvg], [1.5.22], [http://wxsvg.sourceforge.net/]) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE(foreign) AM_MAINTAINER_MODE @@ -15,22 +15,22 @@ # 4. If any interfaces have been added since the last public release, then increment age. # 5. If any interfaces have been removed since the last public release then set age to 0. -LIBRARY_VERSION=15:4:12 # current:revision:age -> libwxsvg.so.(C-A).(A).(R) +LIBRARY_VERSION=15:6:12 # current:revision:age -> libwxsvg.so.(C-A).(A).(R) AC_SUBST(LIBRARY_VERSION) # options AM_OPTIONS_WXCONFIG AC_ARG_ENABLE(debug, - [ --enable-debug Enable debugging information], + [ --enable-debug Enable debugging information], USE_DEBUG="$enableval", USE_DEBUG="no") AC_ARG_ENABLE(libav, - [ --enable-libav Enable libav decoder support (default: enabled)], + [ --enable-libav Enable libav decoder support (default: enabled)], [enable_libav=$enableval],[enable_libav=yes]) AC_ARG_ENABLE(render, - [ --enable-render[=render] Specify the render: cairo (default) or skia], + [ --enable-render[=render] Specify the render: cairo (default) or skia], [USE_RENDER=$enableval], [USE_RENDER=cairo]) AC_ARG_WITH(datarootdir, - [ --with-datarootdir=DIR Use DIR as the data root [[PREFIX/share]]], + [ --with-datarootdir=DIR Use DIR as the data root [[PREFIX/share]]], [datarootdir="\${prefix}/$with_datarootdir"], [datarootdir='$(prefix)/share']) AC_SUBST(datarootdir) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/include/wxSVG/SVGStringList.h new/wxsvg-1.5.22/include/wxSVG/SVGStringList.h --- old/wxsvg-1.5.20/include/wxSVG/SVGStringList.h 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/include/wxSVG/SVGStringList.h 2019-12-27 20:33:24.000000000 +0100 @@ -14,12 +14,13 @@ #include <wx/dynarray.h> WX_DECLARE_OBJARRAY(wxString, wxSVGStringListBase); -class wxSVGStringList: public wxSVGStringListBase { -public: - wxSVGStringList() {} - - wxString GetValueAsString(wxChar delimiter = wxT(',')) const; - void SetValueAsString(const wxString& value, wxChar delimiter = wxT(',')); +class wxSVGStringList: public wxSVGStringListBase +{ + public: + wxSVGStringList() {} + + wxString GetValueAsString(wxChar delimiter = wxT(',')) const; + void SetValueAsString(const wxString& value, wxChar delimiter = wxT(',')); }; #endif // WX_SVG_STRING_LIST_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/m4/libtool.m4 new/wxsvg-1.5.22/m4/libtool.m4 --- old/wxsvg-1.5.20/m4/libtool.m4 2019-08-02 23:01:02.000000000 +0200 +++ new/wxsvg-1.5.22/m4/libtool.m4 2019-12-27 20:33:25.000000000 +0100 @@ -4063,7 +4063,8 @@ if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then + $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD + if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" @@ -4703,6 +4704,12 @@ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; + # flang / f18. f95 an alias for gfortran or flang on Debian + flang* | f18* | f95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) @@ -6438,7 +6445,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else GXX=no @@ -6813,7 +6820,7 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -6878,7 +6885,7 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -7217,7 +7224,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # FIXME: insert proper C++ library support @@ -7301,7 +7308,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. @@ -7312,7 +7319,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/missing new/wxsvg-1.5.22/missing --- old/wxsvg-1.5.20/missing 2019-08-02 23:01:04.000000000 +0200 +++ new/wxsvg-1.5.22/missing 2019-12-27 20:33:29.000000000 +0100 @@ -1,9 +1,9 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2013-10-28.13; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -101,9 +101,9 @@ exit $st fi -perl_URL=http://www.perl.org/ -flex_URL=http://flex.sourceforge.net/ -gnu_software_URL=http://www.gnu.org/software +perl_URL=https://www.perl.org/ +flex_URL=https://github.com/westes/flex +gnu_software_URL=https://www.gnu.org/software program_details () { @@ -207,9 +207,9 @@ exit $st # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/scripts/conf.py new/wxsvg-1.5.22/scripts/conf.py --- old/wxsvg-1.5.20/scripts/conf.py 1970-01-01 01:00:00.000000000 +0100 +++ new/wxsvg-1.5.22/scripts/conf.py 2019-12-27 20:33:24.000000000 +0100 @@ -0,0 +1,5 @@ +svg_home_dir = ".." +include_dir = svg_home_dir + "/include/wxSVG" +src_dir = svg_home_dir + "/src" +share_dir = svg_home_dir + "/share" + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/scripts/genAnimated.py new/wxsvg-1.5.22/scripts/genAnimated.py --- old/wxsvg-1.5.20/scripts/genAnimated.py 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/scripts/genAnimated.py 2019-12-27 20:33:24.000000000 +0100 @@ -8,7 +8,7 @@ ## Notes: some modules adapted from svgl project ############################################################################## -import config +import conf import cpp import cppHeader @@ -115,5 +115,5 @@ header = cppHeader.Header("SVGAnimated%s"%name, "genAnimated.py") header.add_content(output) - header.dump(path=config.include_dir) + header.dump(path=conf.include_dir) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/scripts/genCSS.py new/wxsvg-1.5.22/scripts/genCSS.py --- old/wxsvg-1.5.20/scripts/genCSS.py 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/scripts/genCSS.py 2019-12-27 20:33:24.000000000 +0100 @@ -7,7 +7,7 @@ ## Copyright: (c) 2005 Alex Thuering ############################################################################## -import config +import conf import string import cpp import cppHeader @@ -37,7 +37,7 @@ # loads SVG11CSSpropidx.xhtml and fills cssProperties list def parseCSSProps(): - doc = xml.dom.minidom.parse(config.share_dir + "/SVG11CSSpropidx.xhtml") + doc = xml.dom.minidom.parse(conf.share_dir + "/SVG11CSSpropidx.xhtml") tbody = doc.getElementsByTagName('html')[0].getElementsByTagName('body')[0].getElementsByTagName('table')[0].getElementsByTagName('tbody')[0] for tr in tbody.childNodes: if tr.nodeName == "tr": @@ -312,7 +312,7 @@ header = cppHeader.Header("CSSStyleDeclaration", "genCSS.py") header.add_content(output) - header.dump(path=config.include_dir) + header.dump(path=conf.include_dir) def getFunctionName(valueType): if valueType == 'wxCSS_VALUE': @@ -357,7 +357,7 @@ impl = cppImpl.Impl("css_properties", "genCSS.py") impl.add_content(output) - impl.dump(path=config.src_dir) + impl.dump(path=conf.src_dir) ############################### CSSValues.h ################################## def genValues(): @@ -383,7 +383,7 @@ header = cppHeader.Header("CSSValues", "genCSS.py") header.add_content(output) - header.dump(path=config.include_dir) + header.dump(path=conf.include_dir) values = '' for value in cssValues: @@ -398,5 +398,5 @@ };'''%values impl = cppImpl.Impl("css_values", "genCSS.py") impl.add_content(output) - impl.dump(path=config.src_dir) + impl.dump(path=conf.src_dir) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/scripts/genGetAttribute.py new/wxsvg-1.5.22/scripts/genGetAttribute.py --- old/wxsvg-1.5.20/scripts/genGetAttribute.py 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/scripts/genGetAttribute.py 2019-12-27 20:33:24.000000000 +0100 @@ -12,7 +12,7 @@ import parse_idl import mapDtdIdl import string -import config +import conf import genFile import cpp import cppImpl @@ -163,5 +163,5 @@ impl = cppImpl.Impl("Elements_GetAttribute", "genGetAttribute.py") impl.add_content(includestr + output_cpp) -impl.dump(path=config.src_dir) +impl.dump(path=conf.src_dir) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/scripts/genGetAttributes.py new/wxsvg-1.5.22/scripts/genGetAttributes.py --- old/wxsvg-1.5.20/scripts/genGetAttributes.py 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/scripts/genGetAttributes.py 2019-12-27 20:33:24.000000000 +0100 @@ -12,7 +12,7 @@ import parse_idl import mapDtdIdl import string -import config +import conf import genFile import cpp import cppImpl @@ -160,5 +160,5 @@ impl = cppImpl.Impl("Elements_GetAttributes", "genGetAttributes.py") impl.add_content(includestr + output_cpp) -impl.dump(path=config.src_dir) +impl.dump(path=conf.src_dir) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/scripts/genHasAttribute.py new/wxsvg-1.5.22/scripts/genHasAttribute.py --- old/wxsvg-1.5.20/scripts/genHasAttribute.py 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/scripts/genHasAttribute.py 2019-12-27 20:33:24.000000000 +0100 @@ -12,7 +12,7 @@ import parse_idl import mapDtdIdl import string -import config +import conf import genFile import cpp import cppImpl @@ -99,5 +99,5 @@ impl = cppImpl.Impl("Elements_HasAttribute", "genHasAttribute.py") impl.add_content(includestr + output_cpp) -impl.dump(path=config.src_dir) +impl.dump(path=conf.src_dir) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/scripts/genList.py new/wxsvg-1.5.22/scripts/genList.py --- old/wxsvg-1.5.20/scripts/genList.py 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/scripts/genList.py 2019-12-27 20:33:24.000000000 +0100 @@ -8,7 +8,7 @@ ## Notes: some modules adapted from svgl project ############################################################################## -import config +import conf import genAnimated import cpp import cppHeader @@ -24,9 +24,11 @@ elif typename not in cpp.builtin_types: include = '#include "SVG%s.h"\n'%name - addParam = "" + addGetParam = "" + addSetParam = "" if name == "String": - addParam = ", wxChar delimiter = wxT(',')" + addGetParam = "wxChar delimiter = wxT(',')" + addSetParam = ", wxChar delimiter = wxT(',')" output = '''%s#include "String_wxsvg.h" #include <wx/dynarray.h> @@ -37,13 +39,13 @@ public: wxSVG%sList() {} - wxString GetValueAsString() const; + wxString GetValueAsString(%s) const; void SetValueAsString(const wxString& value%s); -};'''%(include, typename, name, name, name, name, addParam) +};'''%(include, typename, name, name, name, name, addGetParam, addSetParam) header = cppHeader.Header("SVG%sList"%name, "genList.py") header.add_content(output) - header.dump(path=config.include_dir) + header.dump(path=conf.include_dir) output = '''#include "SVG%sList.h" #include <wx/arrimpl.cpp> @@ -61,5 +63,5 @@ }'''%(name,name,name,name) # impl = cppImpl.Impl("SVG%sList"%name, "genList.py") # impl.add_content(output) -# impl.dump(path=config.src_dir) +# impl.dump(path=conf.src_dir) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/scripts/genSetAttribute.py new/wxsvg-1.5.22/scripts/genSetAttribute.py --- old/wxsvg-1.5.20/scripts/genSetAttribute.py 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/scripts/genSetAttribute.py 2019-12-27 20:33:24.000000000 +0100 @@ -12,7 +12,7 @@ import parse_idl import mapDtdIdl import string -import config +import conf import genFile import cpp import cppImpl @@ -245,5 +245,5 @@ impl = cppImpl.Impl("Elements_SetAttribute", "genSetAttribute.py") impl.add_content(includestr + output_cpp) -impl.dump(path=config.src_dir) +impl.dump(path=conf.src_dir) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/scripts/genSvgElement.py new/wxsvg-1.5.22/scripts/genSvgElement.py --- old/wxsvg-1.5.20/scripts/genSvgElement.py 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/scripts/genSvgElement.py 2019-12-27 20:33:24.000000000 +0100 @@ -14,7 +14,7 @@ import cpp import cppHeader import cppImpl -import config +import conf translate_to_classname = { "Tbreak": "TBreak", @@ -83,14 +83,14 @@ impl = cppImpl.Impl("SVGDocument_CreateElement", "genSvgElement.py") impl.add_content(create) -impl.dump(path=config.src_dir) +impl.dump(path=conf.src_dir) includes = includes + '#include "SVGDocument.h"\n' header = cppHeader.Header("svg", "genSvgElement.py") header.add_content(includes) -header.dump(path=config.include_dir) +header.dump(path=conf.include_dir) header = cppHeader.Header("SVGDTD", "genSvgElement.py") header.add_content(dtdenum) -header.dump(path=config.include_dir) +header.dump(path=conf.include_dir) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/scripts/generate.py new/wxsvg-1.5.22/scripts/generate.py --- old/wxsvg-1.5.20/scripts/generate.py 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/scripts/generate.py 2019-12-27 20:33:24.000000000 +0100 @@ -29,7 +29,7 @@ import string import mapDtdIdl import interfaces -import config +import conf import genAnimated import genList import genCSS @@ -592,7 +592,7 @@ output = output + ' protected:\n' + protected + '\n' output = output + ' public:\n' + public header.add_content(fwd_decl_str + includestr + output) - header.dump(path=config.include_dir) + header.dump(path=conf.include_dir) ############## write cpp files (disabled) ############################ @@ -610,7 +610,7 @@ #include "%s.h"\n '''%(classname,classname) + cpp_output - #f = genFile.gfopen(os.path.join(config.src_dir, "%s.cpp"%classname),'w') + #f = genFile.gfopen(os.path.join(conf.src_dir, "%s.cpp"%classname),'w') #f.write(cpp_output) ###################### Generate copy constructor ############################ @@ -619,7 +619,7 @@ includes = includes + '#include "%s.h"\n'%include impl = cppImpl.Impl("Elements_CopyConstructors", "generate.py") impl.add_content(includes + copy_constructor_impl) -impl.dump(path=config.src_dir) +impl.dump(path=conf.src_dir) ###################### Generate animated, lists, setattribute, ... ########## for i in used_animated: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/scripts/interfaces.py new/wxsvg-1.5.22/scripts/interfaces.py --- old/wxsvg-1.5.20/scripts/interfaces.py 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/scripts/interfaces.py 2019-12-27 20:33:24.000000000 +0100 @@ -358,6 +358,7 @@ inter.include_methods.append(' int GetDefaultWidth(wxProgressDialog* progressDlg = NULL);\n') inter.include_methods.append(' int GetDefaultHeight(wxProgressDialog* progressDlg = NULL);\n') inter.include_methods.append(' void SetDefaultSize(wxProgressDialog* progressDlg = NULL);\n') +#inter.custom_parser=1 # SVGVideElement inter = interfaces["SVGVideoElement"] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/scripts/parse_dtd.py new/wxsvg-1.5.22/scripts/parse_dtd.py --- old/wxsvg-1.5.20/scripts/parse_dtd.py 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/scripts/parse_dtd.py 2019-12-27 20:33:24.000000000 +0100 @@ -14,9 +14,9 @@ import re, string import parse_attr import os.path -import config +import conf -pathtosvg=os.path.expanduser(config.share_dir + "/svg.dtd") +pathtosvg=os.path.expanduser(conf.share_dir + "/svg.dtd") f=open(pathtosvg,'r') content=f.read() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/scripts/parse_idl.py new/wxsvg-1.5.22/scripts/parse_idl.py --- old/wxsvg-1.5.20/scripts/parse_idl.py 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/scripts/parse_idl.py 2019-12-27 20:33:24.000000000 +0100 @@ -12,7 +12,7 @@ import string import os.path import idl -import config +import conf import collections try: @@ -39,7 +39,7 @@ depth=depth-1 return m.end() -pathtoidl= config.share_dir+"/svg.idl" +pathtoidl= conf.share_dir+"/svg.idl" f=open(pathtoidl, 'r') content = f.read() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/src/CSSStyleDeclaration.cpp new/wxsvg-1.5.22/src/CSSStyleDeclaration.cpp --- old/wxsvg-1.5.20/src/CSSStyleDeclaration.cpp 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/src/CSSStyleDeclaration.cpp 2019-12-27 20:33:24.000000000 +0100 @@ -340,27 +340,47 @@ if (!value.length() || value == wxT("none")) return wxRGBColor(); else if (value.GetChar(0) == wxT('#')) { - long r = 0, g = 0, b = 0, test; - if (!value.Mid(4, 1).ToLong(&test, 16)) { + long r = 0, g = 0, b = 0, a = 0, test; + if (value.length() < 5 || !value.Mid(4, 1).ToLong(&test, 16)) { value.Mid(1, 1).ToLong(&r, 16); value.Mid(2, 1).ToLong(&g, 16); value.Mid(3, 1).ToLong(&b, 16); return wxRGBColor((r << 4) | r, (g << 4) | g, (b << 4) | b); - } else { + } else if (value.length() < 8 || !value.Mid(7, 2).ToLong(&test, 16)) { value.Mid(1, 2).ToLong(&r, 16); value.Mid(3, 2).ToLong(&g, 16); value.Mid(5, 2).ToLong(&b, 16); return wxRGBColor(r, g, b); + } else { + value.Mid(1, 2).ToLong(&r, 16); + value.Mid(3, 2).ToLong(&g, 16); + value.Mid(5, 2).ToLong(&b, 16); + value.Mid(7, 2).ToLong(&a, 16); + return wxRGBColor(r, g, b, a); } - } else if (value.Left(3) == wxT("rgb")) { - wxStringTokenizer tkz(value.Mid(3), wxT(",()")); + } else if (value.Left(4) == wxT("rgba")) { + wxStringTokenizer tkz(value.Mid(4), wxT(",()")); long rgb[3] = { 0, 0, 0 }; - for (int i = 0; tkz.HasMoreTokens() && i < 3;) { + double a; + for (int i = 0; tkz.HasMoreTokens() && i < 4;) { wxString token = tkz.GetNextToken().Strip(wxString::both); - if (token.length()) - token.ToLong(&rgb[i++]); + if (token.length()) { + if (i < 3) + token.ToLong(&rgb[i++]); + else + token.ToDouble(&a); + } } - return wxRGBColor(rgb[0], rgb[1], rgb[2]); + return wxRGBColor(rgb[0], rgb[1], rgb[2], a*255); + } else if (value.Left(3) == wxT("rgb")) { + wxStringTokenizer tkz(value.Mid(3), wxT(",()")); + long rgb[3] = { 0, 0, 0 }; + for (int i = 0; tkz.HasMoreTokens() && i < 3;) { + wxString token = tkz.GetNextToken().Strip(wxString::both); + if (token.length()) + token.ToLong(&rgb[i++]); + } + return wxRGBColor(rgb[0], rgb[1], rgb[2]); } else { FillCSSColors(); int num = s_cssColors->Index(value); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/src/SVGCanvas.cpp new/wxsvg-1.5.22/src/SVGCanvas.cpp --- old/wxsvg-1.5.20/src/SVGCanvas.cpp 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/src/SVGCanvas.cpp 2019-12-27 20:33:24.000000000 +0100 @@ -348,6 +348,16 @@ RenderChilds(elem, rect, &matrix, &style, ownerSVGElement, viewportElement, progressDlg); break; } + case wxSVG_SWITCH_ELEMENT: { + wxSVGGElement* element = (wxSVGGElement*) elem; + if (element->GetVisibility() == wxCSS_VALUE_HIDDEN) + break; + element->UpdateMatrix(matrix); + style.Add(element->GetStyle()); + style.Add(element->GetAnimStyle()); + RenderChilds(elem, rect, &matrix, &style, ownerSVGElement, viewportElement, progressDlg); + break; + } case wxSVG_LINE_ELEMENT: { wxSVGLineElement* element = (wxSVGLineElement*) elem; if (element->GetVisibility() == wxCSS_VALUE_HIDDEN) @@ -514,17 +524,19 @@ gElem->Translate(element->GetX().GetAnimVal(), element->GetY().GetAnimVal()); if (refElem->GetDtd() == wxSVG_SYMBOL_ELEMENT || refElem->GetDtd() == wxSVG_SVG_ELEMENT) { wxSVGSVGElement* svgElem; - if (refElem->GetDtd() == wxSVG_SVG_ELEMENT) + if (refElem->GetDtd() == wxSVG_SVG_ELEMENT) { svgElem = (wxSVGSVGElement*) refElem->CloneNode(); - else { + } else { + wxSVGSymbolElement* symElem = (wxSVGSymbolElement*) refElem; svgElem = new wxSVGSVGElement(); - wxSvgXmlElement* child = refElem->GetChildren(); + wxSvgXmlElement* child = symElem->GetChildren(); while (child) { svgElem->AddChild(child->CloneNode()); child = child->GetNext(); } - svgElem->SetViewBox(((wxSVGSymbolElement*) refElem)->GetViewBox()); - svgElem->SetPreserveAspectRatio(((wxSVGSymbolElement*) refElem)->GetPreserveAspectRatio()); + svgElem->SetViewBox(symElem->GetViewBox()); + svgElem->SetPreserveAspectRatio(symElem->GetPreserveAspectRatio()); + svgElem->SetStyle(element->GetStyle()); } if (element->GetWidth().GetAnimVal().GetUnitType() != wxSVG_LENGTHTYPE_UNKNOWN) svgElem->SetWidth(element->GetWidth().GetAnimVal()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/src/SVGCanvasItem.cpp new/wxsvg-1.5.22/src/SVGCanvasItem.cpp --- old/wxsvg-1.5.20/src/SVGCanvasItem.cpp 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/src/SVGCanvasItem.cpp 2019-12-27 20:33:24.000000000 +0100 @@ -1430,11 +1430,13 @@ } } #ifdef USE_LIBAV - bool log = wxLog::EnableLogging(false); - m_image.LoadFile(filename); - ExifHandler::rotateImage(filename, m_image); - wxLog::EnableLogging(log); - if (!m_image.Ok()) { + wxString videoExt = ".asf;.avi;.avs;.dv;.flv;.m2p;.m2ts;.mkv;.mov;.mp4;.mpeg;.mpg;.mts;.ogg;.ogm;.vob;.vro;.webm;.wmv;.m1v;.m2v;.mpv;.m4v;"; + if (videoExt.Find("." + filename.AfterLast('.').Lower() + ";") == wxNOT_FOUND) { + // Image file + m_image.LoadFile(filename); + ExifHandler::rotateImage(filename, m_image); + } else { + // Video file wxFfmpegMediaDecoder decoder; if (decoder.Load(filename)) { if (progressDlg) { @@ -1471,8 +1473,8 @@ } } #else - ExifHandler::rotateImage(filename, m_image); m_image.LoadFile(filename); + ExifHandler::rotateImage(filename, m_image); #endif } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/src/SVGColor.cpp new/wxsvg-1.5.22/src/SVGColor.cpp --- old/wxsvg-1.5.20/src/SVGColor.cpp 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/src/SVGColor.cpp 2019-12-27 20:33:24.000000000 +0100 @@ -14,8 +14,9 @@ { if (m_colorType == wxSVG_COLORTYPE_UNKNOWN) return wxT(""); - return wxString::Format(_T("#%02x%02x%02x"), - m_rgbColor.Red(), m_rgbColor.Green(), m_rgbColor.Blue()); + return m_rgbColor.Alpha() == 255 ? wxString::Format(_T("#%02x%02x%02x"), + m_rgbColor.Red(), m_rgbColor.Green(), m_rgbColor.Blue()) + : wxString::Format(_T("#%02x%02x%02x%02x"), m_rgbColor.Red(), m_rgbColor.Green(), m_rgbColor.Blue(), m_rgbColor.Alpha()); } void wxSVGColor::SetRGBColor(const wxRGBColor& rgbColor) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/src/SVGTransform.cpp new/wxsvg-1.5.22/src/SVGTransform.cpp --- old/wxsvg-1.5.20/src/SVGTransform.cpp 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/src/SVGTransform.cpp 2019-12-27 20:33:24.000000000 +0100 @@ -98,11 +98,14 @@ return; double params[6] = { 0, 0, 0, 0, 0, 0 }; wxStringTokenizer tkz(value.AfterFirst(wxT('(')).BeforeLast(wxT(')')), - wxT(",")); + wxT(", ")); int pi = 0; while (tkz.HasMoreTokens() && pi < 6) { - tkz.GetNextToken().ToDouble(¶ms[pi]); - pi++; + wxString tk = tkz.GetNextToken(); + if (tk.length()) { + tk.ToDouble(¶ms[pi]); + pi++; + } } if (pi == 0) return; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wxsvg-1.5.20/src/cairo/SVGCanvasCairo.cpp new/wxsvg-1.5.22/src/cairo/SVGCanvasCairo.cpp --- old/wxsvg-1.5.20/src/cairo/SVGCanvasCairo.cpp 2019-08-02 23:01:01.000000000 +0200 +++ new/wxsvg-1.5.22/src/cairo/SVGCanvasCairo.cpp 2019-12-27 20:33:24.000000000 +0100 @@ -245,6 +245,8 @@ } } else { wxRGBColor color = paint.GetRGBColor(); + if (color.Alpha() != 255) + opacity = opacity * color.Alpha() / 255.0; cairo_set_source_rgba(cr, color.Red() / 255.0, color.Green() / 255.0, color.Blue() / 255.0, opacity); } } @@ -444,6 +446,27 @@ } } +void convertMaskRGB2Alpha(cairo_surface_t *img) { + cairo_surface_flush(img); + unsigned char *current_row = cairo_image_surface_get_data(img); + int stride = cairo_image_surface_get_stride(img); + for (int y = 0; y < cairo_image_surface_get_height(img); y++) { + uint32_t *row = (uint32_t*) current_row; + for (int x = 0; x < cairo_image_surface_get_width(img); x++) { + double a = (double) (row[x] >> 24) / 255; + double r = (double) (row[x] >> 16 & 0xFF) / 255; + double g = (double) (row[x] >> 8 & 0xFF) / 255; + double b = (double) (row[x] & 0xFF) / 255; + double a1 = 0.299*r + 0.587*g + 0.114*b; + a = a < a1 ? a : a1; + uint32_t a2 = a * 255; + row[x] = (a2 << 24) + 0xffffff; + } + current_row += stride; + } + cairo_surface_mark_dirty(img); +} + void wxSVGCanvasCairo::DrawCanvasPath(wxSVGCanvasPathCairo& canvasPath, wxSVGMatrix& matrix, const wxCSSStyleDeclaration& style, wxSVGSVGElement& svgElem) { // clipPath @@ -512,6 +535,9 @@ RenderChilds(maskElem, NULL, &maskMatrix, &maskStyle, &svgElem, &svgElem, NULL); m_cr = tmp; + // black is transparent + convertMaskRGB2Alpha(maskSurface); + // draw surface cairo_surface_t* surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height); cairo_t* cr = cairo_create(surface);