Add simple wxBitmapBundle::FromSVG() implementation using NanoSVG
Add nanosvg submodule and use it in the generic implementation of this function. This is incomplete yet and, notably, doesn't cache the rasterized images, but already shows that using SVG images works (at least in the toolbar sample).
This commit is contained in:
@@ -1016,6 +1016,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
src/generic/creddlgg.cpp
|
||||
src/generic/rowheightcache.cpp
|
||||
src/common/bmpbndl.cpp
|
||||
src/generic/bmpsvg.cpp
|
||||
</set>
|
||||
<set var="GUI_CMN_HDR" hints="files">
|
||||
wx/affinematrix2dbase.h
|
||||
|
@@ -919,6 +919,7 @@ set(GUI_CMN_SRC
|
||||
src/generic/rowheightcache.cpp
|
||||
src/generic/animateg.cpp
|
||||
src/common/bmpbndl.cpp
|
||||
src/generic/bmpsvg.cpp
|
||||
)
|
||||
|
||||
set(GUI_CMN_HDR
|
||||
|
@@ -872,6 +872,7 @@ GUI_CMN_SRC =
|
||||
src/generic/animateg.cpp
|
||||
src/generic/bannerwindow.cpp
|
||||
src/generic/bmpcboxg.cpp
|
||||
src/generic/bmpsvg.cpp
|
||||
src/generic/busyinfo.cpp
|
||||
src/generic/buttonbar.cpp
|
||||
src/generic/calctrlg.cpp
|
||||
|
@@ -2203,7 +2203,8 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_calctrlg.o \
|
||||
$(OBJS)\monodll_creddlgg.o \
|
||||
$(OBJS)\monodll_rowheightcache.o \
|
||||
$(OBJS)\monodll_common_bmpbndl.o
|
||||
$(OBJS)\monodll_common_bmpbndl.o \
|
||||
$(OBJS)\monodll_bmpsvg.o
|
||||
endif
|
||||
endif
|
||||
ifeq ($(USE_GUI),1)
|
||||
@@ -2535,7 +2536,8 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_calctrlg.o \
|
||||
$(OBJS)\monodll_creddlgg.o \
|
||||
$(OBJS)\monodll_rowheightcache.o \
|
||||
$(OBJS)\monodll_common_bmpbndl.o
|
||||
$(OBJS)\monodll_common_bmpbndl.o \
|
||||
$(OBJS)\monodll_bmpsvg.o
|
||||
endif
|
||||
endif
|
||||
ifeq ($(USE_STC),1)
|
||||
@@ -3049,7 +3051,8 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_calctrlg.o \
|
||||
$(OBJS)\monolib_creddlgg.o \
|
||||
$(OBJS)\monolib_rowheightcache.o \
|
||||
$(OBJS)\monolib_common_bmpbndl.o
|
||||
$(OBJS)\monolib_common_bmpbndl.o \
|
||||
$(OBJS)\monolib_bmpsvg.o
|
||||
endif
|
||||
endif
|
||||
ifeq ($(USE_GUI),1)
|
||||
@@ -3381,7 +3384,8 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_calctrlg.o \
|
||||
$(OBJS)\monolib_creddlgg.o \
|
||||
$(OBJS)\monolib_rowheightcache.o \
|
||||
$(OBJS)\monolib_common_bmpbndl.o
|
||||
$(OBJS)\monolib_common_bmpbndl.o \
|
||||
$(OBJS)\monolib_bmpsvg.o
|
||||
endif
|
||||
endif
|
||||
ifeq ($(USE_STC),1)
|
||||
@@ -3778,7 +3782,8 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_calctrlg.o \
|
||||
$(OBJS)\coredll_creddlgg.o \
|
||||
$(OBJS)\coredll_rowheightcache.o \
|
||||
$(OBJS)\coredll_common_bmpbndl.o
|
||||
$(OBJS)\coredll_common_bmpbndl.o \
|
||||
$(OBJS)\coredll_bmpsvg.o
|
||||
endif
|
||||
endif
|
||||
ifeq ($(USE_GUI),1)
|
||||
@@ -4110,7 +4115,8 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_calctrlg.o \
|
||||
$(OBJS)\coredll_creddlgg.o \
|
||||
$(OBJS)\coredll_rowheightcache.o \
|
||||
$(OBJS)\coredll_common_bmpbndl.o
|
||||
$(OBJS)\coredll_common_bmpbndl.o \
|
||||
$(OBJS)\coredll_bmpsvg.o
|
||||
endif
|
||||
endif
|
||||
ifeq ($(MONOLITHIC),0)
|
||||
@@ -4465,7 +4471,8 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_calctrlg.o \
|
||||
$(OBJS)\corelib_creddlgg.o \
|
||||
$(OBJS)\corelib_rowheightcache.o \
|
||||
$(OBJS)\corelib_common_bmpbndl.o
|
||||
$(OBJS)\corelib_common_bmpbndl.o \
|
||||
$(OBJS)\corelib_bmpsvg.o
|
||||
endif
|
||||
endif
|
||||
ifeq ($(USE_GUI),1)
|
||||
@@ -4797,7 +4804,8 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_calctrlg.o \
|
||||
$(OBJS)\corelib_creddlgg.o \
|
||||
$(OBJS)\corelib_rowheightcache.o \
|
||||
$(OBJS)\corelib_common_bmpbndl.o
|
||||
$(OBJS)\corelib_common_bmpbndl.o \
|
||||
$(OBJS)\corelib_bmpsvg.o
|
||||
endif
|
||||
endif
|
||||
ifeq ($(SHARED),1)
|
||||
@@ -9482,6 +9490,11 @@ $(OBJS)\monodll_common_bmpbndl.o: ../../src/common/bmpbndl.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\monodll_bmpsvg.o: ../../src/generic/bmpsvg.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
$(OBJS)\monodll_version_rc.o: ../../src/msw/version.rc
|
||||
$(WINDRES) -i$< -o$@ --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../3rdparty/pcre/src/wx --include-dir ../../src/expat/expat/lib --define __WXMSW__ $(__WXUNIV_DEFINE_p_66) $(__DEBUG_DEFINE_p_66) $(__NDEBUG_DEFINE_p_65) $(__EXCEPTIONS_DEFINE_p_65) $(__RTTI_DEFINE_p_65) $(__THREAD_DEFINE_p_65) $(__UNICODE_DEFINE_p_67) --include-dir $(SETUPHDIR) --include-dir ../../include $(__CAIRO_INCLUDEDIR_p) --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)$(WXCOMPILER)$(VENDORTAG) --include-dir ../../src/stc/scintilla/include --include-dir ../../src/stc/scintilla/lexlib --include-dir ../../src/stc/scintilla/src --define __WX__ --define SCI_LEXER --define NO_CXX11_REGEX --define LINK_LEXERS --define wxUSE_BASE=1 --define WXMAKINGDLL
|
||||
|
||||
@@ -12066,6 +12079,11 @@ $(OBJS)\monolib_common_bmpbndl.o: ../../src/common/bmpbndl.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\monolib_bmpsvg.o: ../../src/generic/bmpsvg.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
$(OBJS)\basedll_dummy.o: ../../src/common/dummy.cpp
|
||||
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
@@ -14623,6 +14641,11 @@ $(OBJS)\coredll_common_bmpbndl.o: ../../src/common/bmpbndl.cpp
|
||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\coredll_bmpsvg.o: ../../src/generic/bmpsvg.cpp
|
||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
$(OBJS)\corelib_dummy.o: ../../src/common/dummy.cpp
|
||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
@@ -16373,6 +16396,11 @@ $(OBJS)\corelib_common_bmpbndl.o: ../../src/common/bmpbndl.cpp
|
||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\corelib_bmpsvg.o: ../../src/generic/bmpsvg.cpp
|
||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
$(OBJS)\advdll_dummy.o: ../../src/common/dummy.cpp
|
||||
$(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
|
@@ -2533,7 +2533,8 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_calctrlg.obj \
|
||||
$(OBJS)\monodll_creddlgg.obj \
|
||||
$(OBJS)\monodll_rowheightcache.obj \
|
||||
$(OBJS)\monodll_common_bmpbndl.obj
|
||||
$(OBJS)\monodll_common_bmpbndl.obj \
|
||||
$(OBJS)\monodll_bmpsvg.obj
|
||||
!endif
|
||||
!if "$(USE_GUI)" == "1" && "$(WXUNIV)" == "1"
|
||||
____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
@@ -2863,7 +2864,8 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_calctrlg.obj \
|
||||
$(OBJS)\monodll_creddlgg.obj \
|
||||
$(OBJS)\monodll_rowheightcache.obj \
|
||||
$(OBJS)\monodll_common_bmpbndl.obj
|
||||
$(OBJS)\monodll_common_bmpbndl.obj \
|
||||
$(OBJS)\monodll_bmpsvg.obj
|
||||
!endif
|
||||
!if "$(USE_STC)" == "1"
|
||||
____MONOLIB_STC_SRC_FILENAMES_OBJECTS = \
|
||||
@@ -3379,7 +3381,8 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_calctrlg.obj \
|
||||
$(OBJS)\monolib_creddlgg.obj \
|
||||
$(OBJS)\monolib_rowheightcache.obj \
|
||||
$(OBJS)\monolib_common_bmpbndl.obj
|
||||
$(OBJS)\monolib_common_bmpbndl.obj \
|
||||
$(OBJS)\monolib_bmpsvg.obj
|
||||
!endif
|
||||
!if "$(USE_GUI)" == "1" && "$(WXUNIV)" == "1"
|
||||
____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
@@ -3709,7 +3712,8 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_calctrlg.obj \
|
||||
$(OBJS)\monolib_creddlgg.obj \
|
||||
$(OBJS)\monolib_rowheightcache.obj \
|
||||
$(OBJS)\monolib_common_bmpbndl.obj
|
||||
$(OBJS)\monolib_common_bmpbndl.obj \
|
||||
$(OBJS)\monolib_bmpsvg.obj
|
||||
!endif
|
||||
!if "$(USE_STC)" == "1"
|
||||
____MONOLIB_STC_SRC_FILENAMES_1_OBJECTS = \
|
||||
@@ -4158,7 +4162,8 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_calctrlg.obj \
|
||||
$(OBJS)\coredll_creddlgg.obj \
|
||||
$(OBJS)\coredll_rowheightcache.obj \
|
||||
$(OBJS)\coredll_common_bmpbndl.obj
|
||||
$(OBJS)\coredll_common_bmpbndl.obj \
|
||||
$(OBJS)\coredll_bmpsvg.obj
|
||||
!endif
|
||||
!if "$(USE_GUI)" == "1" && "$(WXUNIV)" == "1"
|
||||
____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
@@ -4488,7 +4493,8 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_calctrlg.obj \
|
||||
$(OBJS)\coredll_creddlgg.obj \
|
||||
$(OBJS)\coredll_rowheightcache.obj \
|
||||
$(OBJS)\coredll_common_bmpbndl.obj
|
||||
$(OBJS)\coredll_common_bmpbndl.obj \
|
||||
$(OBJS)\coredll_bmpsvg.obj
|
||||
!endif
|
||||
!if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "0" && "$(USE_GUI)" == "1"
|
||||
__corelib___depname = \
|
||||
@@ -4843,7 +4849,8 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_calctrlg.obj \
|
||||
$(OBJS)\corelib_creddlgg.obj \
|
||||
$(OBJS)\corelib_rowheightcache.obj \
|
||||
$(OBJS)\corelib_common_bmpbndl.obj
|
||||
$(OBJS)\corelib_common_bmpbndl.obj \
|
||||
$(OBJS)\corelib_bmpsvg.obj
|
||||
!endif
|
||||
!if "$(USE_GUI)" == "1" && "$(WXUNIV)" == "1"
|
||||
____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
@@ -5173,7 +5180,8 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_calctrlg.obj \
|
||||
$(OBJS)\corelib_creddlgg.obj \
|
||||
$(OBJS)\corelib_rowheightcache.obj \
|
||||
$(OBJS)\corelib_common_bmpbndl.obj
|
||||
$(OBJS)\corelib_common_bmpbndl.obj \
|
||||
$(OBJS)\corelib_bmpsvg.obj
|
||||
!endif
|
||||
!if "$(SHARED)" == "1"
|
||||
____wxcore_namedll_DEP = $(__coredll___depname)
|
||||
@@ -9913,6 +9921,11 @@ $(OBJS)\monodll_common_bmpbndl.obj: ..\..\src\common\bmpbndl.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\bmpbndl.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monodll_bmpsvg.obj: ..\..\src\generic\bmpsvg.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\bmpsvg.cpp
|
||||
!endif
|
||||
|
||||
$(OBJS)\monodll_version.res: ..\..\src\msw\version.rc
|
||||
rc /fo$@ /d WIN32 /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\3rdparty\pcre\src\wx /i ..\..\src\expat\expat\lib $(____DEBUGRUNTIME_6) /d _CRT_SECURE_NO_DEPRECATE=1 /d _CRT_NON_CONFORMING_SWPRINTFS=1 /d _SCL_SECURE_NO_WARNINGS=1 $(__NO_VC_CRTDBG_p_72) $(__TARGET_CPU_COMPFLAG_p_72) /d __WXMSW__ $(__WXUNIV_DEFINE_p_66) $(__DEBUG_DEFINE_p_66) $(__NDEBUG_DEFINE_p_65) $(__EXCEPTIONS_DEFINE_p_65) $(__RTTI_DEFINE_p_65) $(__THREAD_DEFINE_p_65) $(__UNICODE_DEFINE_p_67) /i $(SETUPHDIR) /i ..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES_4) /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)$(WXCOMPILER)$(VENDORTAG) /i ..\..\src\stc\scintilla\include /i ..\..\src\stc\scintilla\lexlib /i ..\..\src\stc\scintilla\src /d __WX__ /d SCI_LEXER /d NO_CXX11_REGEX /d LINK_LEXERS /d wxUSE_BASE=1 /d WXMAKINGDLL ..\..\src\msw\version.rc
|
||||
|
||||
@@ -12497,6 +12510,11 @@ $(OBJS)\monolib_common_bmpbndl.obj: ..\..\src\common\bmpbndl.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\bmpbndl.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monolib_bmpsvg.obj: ..\..\src\generic\bmpsvg.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\bmpsvg.cpp
|
||||
!endif
|
||||
|
||||
$(OBJS)\basedll_dummy.obj: ..\..\src\common\dummy.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
|
||||
|
||||
@@ -15054,6 +15072,11 @@ $(OBJS)\coredll_common_bmpbndl.obj: ..\..\src\common\bmpbndl.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\bmpbndl.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\coredll_bmpsvg.obj: ..\..\src\generic\bmpsvg.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\bmpsvg.cpp
|
||||
!endif
|
||||
|
||||
$(OBJS)\corelib_dummy.obj: ..\..\src\common\dummy.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
|
||||
|
||||
@@ -16804,6 +16827,11 @@ $(OBJS)\corelib_common_bmpbndl.obj: ..\..\src\common\bmpbndl.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\bmpbndl.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\corelib_bmpsvg.obj: ..\..\src\generic\bmpsvg.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\bmpsvg.cpp
|
||||
!endif
|
||||
|
||||
$(OBJS)\advdll_dummy.obj: ..\..\src\common\dummy.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
|
||||
|
||||
|
@@ -592,6 +592,7 @@
|
||||
<ClCompile Include="..\..\src\common\windowid.cpp" />
|
||||
<ClCompile Include="..\..\src\common\wrapsizer.cpp" />
|
||||
<ClCompile Include="..\..\src\common\xpmdecod.cpp" />
|
||||
<ClCompile Include="..\..\src\generic\bmpsvg.cpp" />
|
||||
<ClCompile Include="..\..\src\generic\preferencesg.cpp" />
|
||||
<ClCompile Include="..\..\src\msw\accel.cpp">
|
||||
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">$(IntDir)msw_%(Filename).obj</ObjectFileName>
|
||||
|
@@ -1074,6 +1074,9 @@
|
||||
<ClCompile Include="..\..\src\msw\bmpbndl.cpp">
|
||||
<Filter>MSW Sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\generic\bmpsvg.cpp">
|
||||
<Filter>Generic Sources</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\..\src\msw\version.rc">
|
||||
|
@@ -2087,6 +2087,10 @@
|
||||
RelativePath="..\..\src\generic\bmpcboxg.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\generic\bmpsvg.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\generic\busyinfo.cpp"
|
||||
>
|
||||
|
@@ -2083,6 +2083,10 @@
|
||||
RelativePath="..\..\src\generic\bmpcboxg.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\generic\bmpsvg.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\generic\busyinfo.cpp"
|
||||
>
|
||||
|
Reference in New Issue
Block a user