Kaydet (Commit) 64ab6115 authored tarafından Fridrich Štrba's avatar Fridrich Štrba

Uploading new libvisio 0.0.20 release

Change-Id: Ic090ae81c28f12a106a74aa6d10b43cce9d68fed
üst 70892959
...@@ -1097,12 +1097,15 @@ endef ...@@ -1097,12 +1097,15 @@ endef
else # !SYSTEM_LIBVISIO else # !SYSTEM_LIBVISIO
$(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \ $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
visiolib \ visio-0.0 \
)) ))
define gb_LinkTarget__use_visio define gb_LinkTarget__use_visio
$(call gb_LinkTarget_use_package,$(1),\
libvisio \
)
$(call gb_LinkTarget_use_static_libraries,$(1),\ $(call gb_LinkTarget_use_static_libraries,$(1),\
visiolib \ visio-0.0 \
) )
endef endef
......
...@@ -6982,7 +6982,7 @@ elif test $_os = iOS; then ...@@ -6982,7 +6982,7 @@ elif test $_os = iOS; then
else else
AC_MSG_RESULT([internal]) AC_MSG_RESULT([internal])
SYSTEM_LIBVISIO=NO SYSTEM_LIBVISIO=NO
VISIO_TARBALL=94e7f271e38c976462558b4278590178-libvisio-0.0.19.tar.bz2 VISIO_TARBALL=2d8c3b50f77c544f317ab0a8838fadcb-libvisio-0.0.20.tar.bz2
fi fi
AC_SUBST(SYSTEM_LIBVISIO) AC_SUBST(SYSTEM_LIBVISIO)
AC_SUBST(VISIO_CFLAGS) AC_SUBST(VISIO_CFLAGS)
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<prop oor:name="FilterService"><value>com.sun.star.comp.Draw.VisioImportFilter</value></prop> <prop oor:name="FilterService"><value>com.sun.star.comp.Draw.VisioImportFilter</value></prop>
<prop oor:name="UserData"><value></value></prop> <prop oor:name="UserData"><value></value></prop>
<prop oor:name="UIName"> <prop oor:name="UIName">
<value xml:lang="x-default">Microsoft Visio 2000-2010</value> <value xml:lang="x-default">Microsoft Visio 2000-2013</value>
</prop> </prop>
<prop oor:name="FileFormatVersion"><value>0</value></prop> <prop oor:name="FileFormatVersion"><value>0</value></prop>
<prop oor:name="Type"><value>draw_Visio_Document</value></prop> <prop oor:name="Type"><value>draw_Visio_Document</value></prop>
......
...@@ -18,12 +18,12 @@ ...@@ -18,12 +18,12 @@
<node oor:name="draw_Visio_Document" oor:op="replace" > <node oor:name="draw_Visio_Document" oor:op="replace" >
<prop oor:name="DetectService"><value>com.sun.star.comp.Draw.VisioImportFilter</value></prop> <prop oor:name="DetectService"><value>com.sun.star.comp.Draw.VisioImportFilter</value></prop>
<prop oor:name="URLPattern"/> <prop oor:name="URLPattern"/>
<prop oor:name="Extensions"><value>vsd vst</value></prop> <prop oor:name="Extensions"><value>vdx vsd vsdm vsdx</value></prop>
<prop oor:name="MediaType"><value>application/vnd.visio</value></prop> <prop oor:name="MediaType"><value>application/vnd.visio</value></prop>
<prop oor:name="Preferred"><value>true</value></prop> <prop oor:name="Preferred"><value>true</value></prop>
<prop oor:name="PreferredFilter"><value>Visio Document</value></prop> <prop oor:name="PreferredFilter"><value>Visio Document</value></prop>
<prop oor:name="UIName"> <prop oor:name="UIName">
<value>Microsoft Visio 2000/XP/2003</value> <value>Microsoft Visio</value>
</prop> </prop>
<prop oor:name="ClipboardFormat"/> <prop oor:name="ClipboardFormat"/>
</node> </node>
...@@ -7,12 +7,21 @@ ...@@ -7,12 +7,21 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/. # file, You can obtain one at http://mozilla.org/MPL/2.0/.
# #
$(eval $(call gb_ExternalPackage_ExternalPackage,libvisio_inc,visio)) $(eval $(call gb_ExternalPackage_ExternalPackage,libvisio,visio))
$(eval $(call gb_ExternalPackage_add_unpacked_files,libvisio_inc,inc/external/libvisio,\ $(eval $(call gb_ExternalPackage_add_unpacked_files,libvisio,inc/external/libvisio,\
src/lib/libvisio.h \ src/lib/libvisio.h \
src/lib/VisioDocument.h \ src/lib/VisioDocument.h \
src/lib/VSDStringVector.h \ src/lib/VSDStringVector.h \
)) ))
$(eval $(call gb_ExternalPackage_use_external_project,libvisio,libvisio))
ifeq ($(OS)$(COM),WNTMSC)
$(eval $(call gb_ExternalPackage_add_file,libvisio,lib/visio-0.0.lib,build/win32/Release/lib/libvisio-0.0.lib))
else
$(eval $(call gb_ExternalPackage_add_file,libvisio,lib/libvisio-0.0.a,src/lib/.libs/libvisio-0.0.a))
endif
# vim: set noet sw=4 ts=4: # vim: set noet sw=4 ts=4:
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_ExternalProject_ExternalProject,libvisio))
$(eval $(call gb_ExternalProject_use_unpacked,libvisio,visio))
$(eval $(call gb_ExternalProject_register_targets,libvisio,\
build \
))
$(eval $(call gb_ExternalProject_use_externals,libvisio,\
wpd \
wpg \
))
ifeq ($(OS)$(COM),WNTMSC)
ifeq ($(VCVER),90)
$(call gb_ExternalProject_get_state_target,libvisio,build) :
cd $(EXTERNAL_WORKDIR)/build/win32 \
&& export LIBWPD_INCLUDE_DIR=$(OUTDIR)/inc/external \
&& export LIBWPG_INCLUDE_DIR=$(OUTDIR)/inc/external \
&& export LIBXML_INCLUDE_DIR=$(OUTDIR)/inc/external \
&& export ZLIB_INCLUDE_DIR=$(OUTDIR)/inc/external/zlib \
&& $(COMPATH)/vcpackages/vcbuild.exe libvisio.vcproj "Release|Win32" \
&& touch $@
else ifeq ($(VCVER),100)
$(call gb_ExternalProject_get_state_target,libvisio,build) :
cd $(EXTERNAL_WORKDIR)/build/win32 \
&& export LIBWPD_INCLUDE_DIR=$(OUTDIR)/inc/external \
&& export LIBWPG_INCLUDE_DIR=$(OUTDIR)/inc/external \
&& export LIBXML_INCLUDE_DIR=$(OUTDIR)/inc/extrenal \
&& export ZLIB_INCLUDE_DIR=$(OUTDIR)/inc/external/zlib \
&& msbuild.exe libvisio.vcxproj /p:Configuration=Release \
&& touch $@
else
$(call gb_ExternalProject_get_state_target,libvisio,build) :
cd $(EXTERNAL_WORKDIR)/build/win32 \
&& export LIBWPD_INCLUDE_DIR=$(OUTDIR)/inc/external \
&& export LIBWPG_INCLUDE_DIR=$(OUTDIR)/inc/external \
&& export LIBXML_INCLUDE_DIR=$(OUTDIR)/inc/external \
&& export ZLIB_INCLUDE_DIR=$(OUTDIR)/inc/external/zlib \
&& msbuild.exe libvisio.vcxproj /p:PlatformToolset=v110 /p:Configuration=Release \
&& touch $@
endif
else
$(call gb_ExternalProject_get_state_target,libvisio,build) :
cd $(EXTERNAL_WORKDIR) \
&& PKG_CONFIG="" \
WPD_CFLAGS=" $(WPD_CFLAGS)" \
WPD_LIBS=" $(WPD_LIBS)" \
WPG_CFLAGS=" $(WPG_CFLAGS)" \
WPG_LIBS=" $(WPG_LIBS)" \
LIBXML_CFLAGS=" $(LIBXML_CFLAGS)" \
LIBXML_LIBS=" $(LIBXML_LIBS)" \
ZLIB_CFLAGS=" $(ZLIB_CFLAGS)" \
ZLIB_LIBS=" $(ZLIB_LIBS)" \
./configure \
--with-pic \
--enable-static \
--disable-shared \
--without-docs \
--disable-debug \
--disable-werror \
$(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
&& (cd $(EXTERNAL_WORKDIR)/src/lib && $(MAKE)) \
&& touch $@
endif
# vim: set noet sw=4 ts=4:
...@@ -13,7 +13,7 @@ ifeq ($(SYSTEM_LIBVISIO),NO) ...@@ -13,7 +13,7 @@ ifeq ($(SYSTEM_LIBVISIO),NO)
$(eval $(call gb_Module_add_targets,libvisio,\ $(eval $(call gb_Module_add_targets,libvisio,\
ExternalPackage_libvisio \ ExternalPackage_libvisio \
StaticLibrary_visio \ ExternalProject_libvisio \
UnpackedTarball_visio \ UnpackedTarball_visio \
)) ))
......
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_StaticLibrary_StaticLibrary,visiolib))
$(eval $(call gb_StaticLibrary_use_unpacked,visiolib,visio))
$(eval $(call gb_StaticLibrary_use_package,visiolib,libvisio_inc))
$(eval $(call gb_StaticLibrary_use_externals,visiolib,\
wpd \
wpg \
))
$(eval $(call gb_StaticLibrary_set_warnings_not_errors,visiolib))
$(eval $(call gb_StaticLibrary_set_generated_cxx_suffix,visiolib,cpp))
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,visiolib,\
UnpackedTarball/visio/src/lib/libvisio_utils \
UnpackedTarball/visio/src/lib/VisioDocument \
UnpackedTarball/visio/src/lib/VSD11Parser \
UnpackedTarball/visio/src/lib/VSD6Parser \
UnpackedTarball/visio/src/lib/VSDInternalStream \
UnpackedTarball/visio/src/lib/VSDStringVector \
UnpackedTarball/visio/src/lib/VSDSVGGenerator \
UnpackedTarball/visio/src/lib/VSDXCharacterList \
UnpackedTarball/visio/src/lib/VSDXContentCollector \
UnpackedTarball/visio/src/lib/VSDXFieldList \
UnpackedTarball/visio/src/lib/VSDXGeometryList \
UnpackedTarball/visio/src/lib/VSDXOutputElementList \
UnpackedTarball/visio/src/lib/VSDXPages \
UnpackedTarball/visio/src/lib/VSDXParagraphList \
UnpackedTarball/visio/src/lib/VSDXParser \
UnpackedTarball/visio/src/lib/VSDXShapeList \
UnpackedTarball/visio/src/lib/VSDXStencils \
UnpackedTarball/visio/src/lib/VSDXStyles \
UnpackedTarball/visio/src/lib/VSDXStylesCollector \
))
# vim: set noet sw=4 ts=4:
...@@ -11,13 +11,4 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,visio)) ...@@ -11,13 +11,4 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,visio))
$(eval $(call gb_UnpackedTarball_set_tarball,visio,$(VISIO_TARBALL))) $(eval $(call gb_UnpackedTarball_set_tarball,visio,$(VISIO_TARBALL)))
$(eval $(call gb_UnpackedTarball_set_patchlevel,visio,0))
visio_patches :=
# Somehow draw is very picky about what is a closed path
visio_patches += libvisio-0.0.19.patch
$(eval $(call gb_UnpackedTarball_add_patches,visio,\
$(foreach patch,$(visio_patches),libvisio/$(patch)) \
))
# vim: set noet sw=4 ts=4: # vim: set noet sw=4 ts=4:
--- src/lib/VSDXContentCollector.cpp
+++ src/lib/VSDXContentCollector.cpp
@@ -676,7 +676,6 @@ double libvisio::VSDXContentCollector::_linePropertiesMarkerScale(unsigned marke
void libvisio::VSDXContentCollector::_flushCurrentPath()
{
- WPXPropertyListVector path;
WPXPropertyList fillPathProps(m_styleProps);
fillPathProps.insert("draw:stroke", "none");
WPXPropertyList linePathProps(m_styleProps);
@@ -695,6 +694,7 @@ void libvisio::VSDXContentCollector::_flushCurrentPath()
if (needsGroup)
m_shapeOutputDrawing->addStartLayer(WPXPropertyList());
+ std::vector<WPXPropertyList> tmpPath;
if (m_styleProps["draw:fill"] && m_styleProps["draw:fill"]->getStr() != "none")
{
bool firstPoint = true;
@@ -708,39 +708,84 @@ void libvisio::VSDXContentCollector::_flushCurrentPath()
}
else if (m_currentFillGeometry[i]["libwpg:path-action"]->getStr() == "M")
{
- if (path.count() && !wasMove)
+ if (!tmpPath.empty())
{
- WPXPropertyList closedPath;
- closedPath.insert("libwpg:path-action", "Z");
- path.append(closedPath);
+ if (!wasMove)
+ {
+ WPXPropertyList closedPath;
+ closedPath.insert("libwpg:path-action", "Z");
+ tmpPath.push_back(closedPath);
+ }
+ else
+ {
+ tmpPath.pop_back();
+ }
}
wasMove = true;
}
else
wasMove = false;
- path.append(m_currentFillGeometry[i]);
+ tmpPath.push_back(m_currentFillGeometry[i]);
}
- if (path.count() && !wasMove)
+ if (!tmpPath.empty())
{
- WPXPropertyList closedPath;
- closedPath.insert("libwpg:path-action", "Z");
- path.append(closedPath);
+ if (!wasMove)
+ {
+ WPXPropertyList closedPath;
+ closedPath.insert("libwpg:path-action", "Z");
+ tmpPath.push_back(closedPath);
+ }
+ else
+ tmpPath.pop_back();
}
- if (path.count())
+ if (!tmpPath.empty())
{
+ WPXPropertyListVector path;
+ for (unsigned i = 0; i < tmpPath.size(); ++i)
+ path.append(tmpPath[i]);
m_shapeOutputDrawing->addStyle(fillPathProps, WPXPropertyListVector());
m_shapeOutputDrawing->addPath(path);
}
}
m_currentFillGeometry.clear();
- path = WPXPropertyListVector();
+ tmpPath.clear();
if (m_styleProps["draw:stroke"] && m_styleProps["draw:stroke"]->getStr() != "none")
{
+ bool firstPoint = true;
+ bool wasMove = false;
for (unsigned i = 0; i < m_currentLineGeometry.size(); i++)
- path.append(m_currentLineGeometry[i]);
- if (path.count())
{
+ if (firstPoint)
+ {
+ firstPoint = false;
+ wasMove = true;
+ }
+ else if (m_currentLineGeometry[i]["libwpg:path-action"]->getStr() == "M")
+ {
+ if (!tmpPath.empty())
+ {
+ if (wasMove)
+ {
+ tmpPath.pop_back();
+ }
+ }
+ wasMove = true;
+ }
+ else
+ wasMove = false;
+ tmpPath.push_back(m_currentLineGeometry[i]);
+ }
+ if (!tmpPath.empty())
+ {
+ if (wasMove)
+ tmpPath.pop_back();
+ }
+ if (!tmpPath.empty())
+ {
+ WPXPropertyListVector path;
+ for (unsigned i = 0; i < tmpPath.size(); ++i)
+ path.append(tmpPath[i]);
m_shapeOutputDrawing->addStyle(linePathProps, WPXPropertyListVector());
m_shapeOutputDrawing->addPath(path);
}
vsd libvisio : libwpd libwpg BOOST:boost soltools NULL vsd libvisio : LIBWPD:libwpd LIBWPD:libwpg BOOST:boost LIBXML2:libxml2 ZLIB:zlib soltools NULL
vsd libvisio\prj nmake - all vsd_libvisio NULL vsd libvisio\prj nmake - all vsd_libvisio NULL
...@@ -51,6 +51,7 @@ $(eval $(call gb_Library_use_externals,wpftdraw,\ ...@@ -51,6 +51,7 @@ $(eval $(call gb_Library_use_externals,wpftdraw,\
cdr \ cdr \
mspub \ mspub \
lcms2 \ lcms2 \
libxml2 \
zlib \ zlib \
)) ))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment