diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2019-02-08 22:49:42 +0100 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2019-02-09 11:58:06 +0100 |
commit | 24f7dd62517f150f4137727a72544387421027b9 (patch) | |
tree | eca80e0b27d6bda4b28418becacd0e0bc6f6cb1b /include | |
parent | bec35535b4cb784800a79cd315b4f761d0a6758e (diff) |
move and extend primitive2dxmldump to drawinglayer
Also needs extending the XmlWriter to output double numbers as
the attribute content.
Change-Id: Ie749ea990d856c8c90092ed8153c24efda99c444
Reviewed-on: https://gerrit.libreoffice.org/67573
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/drawinglayer/tools/primitive2dxmldump.hxx | 52 | ||||
-rw-r--r-- | include/test/primitive2dxmldump.hxx | 43 | ||||
-rw-r--r-- | include/tools/XmlWriter.hxx | 1 |
3 files changed, 53 insertions, 43 deletions
diff --git a/include/drawinglayer/tools/primitive2dxmldump.hxx b/include/drawinglayer/tools/primitive2dxmldump.hxx new file mode 100644 index 000000000000..3158f537262e --- /dev/null +++ b/include/drawinglayer/tools/primitive2dxmldump.hxx @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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/. + */ + +#ifndef INCLUDED_DRAWINGLAYER_TOOLS_PRIMITIVE2DXMLDUMP_HXX +#define INCLUDED_DRAWINGLAYER_TOOLS_PRIMITIVE2DXMLDUMP_HXX + +#include <sal/config.h> +#include <drawinglayer/drawinglayerdllapi.h> +#include <libxml/tree.h> +#include <drawinglayer/primitive2d/baseprimitive2d.hxx> +#include <vector> + +namespace tools { class XmlWriter; } + +namespace drawinglayer::tools +{ + +class DRAWINGLAYER_DLLPUBLIC Primitive2dXmlDump final +{ +private: + std::vector<bool> maFilter; + void decomposeAndWrite(const drawinglayer::primitive2d::Primitive2DContainer& rPrimitive2DSequence, ::tools::XmlWriter& rWriter); + +public: + Primitive2dXmlDump(); + ~Primitive2dXmlDump(); + + /** Dumps the input primitive sequence to xml into a file or memory stream and parses the xml for testing. + * + * if rStreamName is set, then the xml content will be dumped into a file, + * otherwise if the rStreamName is empty, then the content will be dumped + * into a memory stream. + * + */ + xmlDocPtr dumpAndParse(const drawinglayer::primitive2d::Primitive2DContainer& aPrimitive2DSequence, const OUString& rStreamName = OUString()); + + /** Dumps the input primitive sequence to xml into a file. */ + void dump(const drawinglayer::primitive2d::Primitive2DContainer& rPrimitive2DSequence, const OUString& rStreamName); + +}; + +} + +#endif // INCLUDED_DRAWINGLAYER_TOOLS_PRIMITIVE2DXMLDUMP_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/test/primitive2dxmldump.hxx b/include/test/primitive2dxmldump.hxx deleted file mode 100644 index 5acf69999ecd..000000000000 --- a/include/test/primitive2dxmldump.hxx +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * 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/. - */ - -#ifndef INCLUDED_TEST_PRIMITIVE2DXMLDUMP_HXX -#define INCLUDED_TEST_PRIMITIVE2DXMLDUMP_HXX - -#include <sal/config.h> -#include <test/testdllapi.hxx> -#include <libxml/tree.h> -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> -#include <vector> - -namespace tools { class XmlWriter; } - -class OOO_DLLPUBLIC_TEST Primitive2dXmlDump final -{ -private: - std::vector<bool> maFilter; - void decomposeAndWrite(const drawinglayer::primitive2d::Primitive2DContainer& rPrimitive2DSequence, tools::XmlWriter& rWriter); - -public: - Primitive2dXmlDump(); - ~Primitive2dXmlDump(); - - /** The actual result that will be used for testing. - - This function normally uses a SvMemoryStream for its operation; but - can use a physical file when a filename is specified in - pTempStreamName - this is useful when creating the test, to dump the - file for examination. - */ - xmlDocPtr dumpAndParse(const drawinglayer::primitive2d::Primitive2DContainer& aPrimitive2DSequence, const OUString& rTempStreamName = OUString()); -}; - -#endif // INCLUDED_TEST_PRIMITIVE2DXMLDUMP_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/tools/XmlWriter.hxx b/include/tools/XmlWriter.hxx index 150bcffe0bf3..da056c68a596 100644 --- a/include/tools/XmlWriter.hxx +++ b/include/tools/XmlWriter.hxx @@ -50,6 +50,7 @@ public: void attribute(const OString& sTagName, const OString& aValue); void attribute(const OString& sTagName, const OUString& aValue); void attribute(const OString& sTagName, sal_Int32 aNumber); + void attributeDouble(const OString& sTagName, double aNumber); void attributeBase64(const OString& sTagName, std::vector<sal_uInt8> const& rValueInBytes); void attributeBase64(const OString& sTagName, std::vector<char> const& rValueInBytes); |