summaryrefslogtreecommitdiffstats
path: root/framework/inc/xml
diff options
context:
space:
mode:
authorMichael Stahl <mst@openoffice.org>2011-03-30 08:27:21 +0000
committerMichael Stahl <mst@openoffice.org>2011-03-30 08:27:21 +0000
commita11f433a956f0176643391e7c945b008ca91d9bf (patch)
treec6a4f25ada56bd88104bdd4294153fb6825acaca /framework/inc/xml
parentsolaris11: gvfs: should not abort via g_error (also causes Sun C++ warning) (diff)
downloadcore-a11f433a956f0176643391e7c945b008ca91d9bf.tar.gz
core-a11f433a956f0176643391e7c945b008ca91d9bf.zip
solaris11: #i117606#: framework: move imagesconfiguration.{c,h}xx to libfwk
Diffstat (limited to 'framework/inc/xml')
-rw-r--r--framework/inc/xml/imagesconfiguration.hxx128
-rw-r--r--framework/inc/xml/imagesdocumenthandler.hxx8
2 files changed, 131 insertions, 5 deletions
diff --git a/framework/inc/xml/imagesconfiguration.hxx b/framework/inc/xml/imagesconfiguration.hxx
new file mode 100644
index 000000000000..3174e6d51b22
--- /dev/null
+++ b/framework/inc/xml/imagesconfiguration.hxx
@@ -0,0 +1,128 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef FRAMEWORK_XML_IMAGESCONFIGURATION_HXX_
+#define FRAMEWORK_XML_IMAGESCONFIGURATION_HXX_
+
+#include <framework/fwedllapi.h>
+#include <svl/svarray.hxx>
+#include <tools/string.hxx>
+#include <tools/stream.hxx>
+#include <tools/color.hxx>
+
+// #110897#
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/io/XInputStream.hpp>
+#include <com/sun/star/io/XOutputStream.hpp>
+
+#include <vector>
+
+namespace framework
+{
+
+enum ImageMaskMode
+{
+ ImageMaskMode_Color,
+ ImageMaskMode_Bitmap
+};
+
+struct ImageItemDescriptor
+{
+ ImageItemDescriptor() : nIndex( -1 ) {}
+
+ String aCommandURL; // URL command to dispatch
+ long nIndex; // index of the bitmap inside the bitmaplist
+};
+
+struct ExternalImageItemDescriptor
+{
+ String aCommandURL; // URL command to dispatch
+ String aURL; // a URL to an external bitmap
+};
+
+typedef ImageItemDescriptor* ImageItemDescriptorPtr;
+SV_DECL_PTRARR_DEL( ImageItemListDescriptor, ImageItemDescriptorPtr, 10, 2)
+
+typedef ExternalImageItemDescriptor* ExternalImageItemDescriptorPtr;
+SV_DECL_PTRARR_DEL( ExternalImageItemListDescriptor, ExternalImageItemDescriptorPtr, 10, 2)
+
+struct ImageListItemDescriptor
+{
+ ImageListItemDescriptor() : nMaskMode( ImageMaskMode_Color ),
+ pImageItemList( 0 ) {}
+
+ ~ImageListItemDescriptor() { delete pImageItemList; }
+
+ String aURL; // an URL to a bitmap with several images inside
+ Color aMaskColor; // a color used as transparent
+ String aMaskURL; // an URL to an optional bitmap used as a mask
+ ImageMaskMode nMaskMode; // an enum to describe the current mask mode
+ ImageItemListDescriptor* pImageItemList; // an array of ImageItemDescriptors that describes every image
+ String aHighContrastURL; // an URL to an optional high contrast bitmap with serveral images inside
+ String aHighContrastMaskURL; // an URL to an optional high contrast bitmap as a mask
+};
+
+typedef ImageListItemDescriptor* ImageListItemDescriptorPtr;
+SV_DECL_PTRARR_DEL( ImageListDescriptor, ImageListItemDescriptorPtr, 10, 2)
+
+struct ImageListsDescriptor
+{
+ ImageListsDescriptor() : pImageList( 0 ),
+ pExternalImageList( 0 ) {}
+ ~ImageListsDescriptor() { delete pImageList; delete pExternalImageList; }
+
+ ImageListDescriptor* pImageList;
+ ExternalImageItemListDescriptor* pExternalImageList;
+};
+
+class ImagesConfiguration
+{
+ public:
+ // #110897#
+ static sal_Bool LoadImages(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory,
+ SvStream& rInStream, ImageListsDescriptor& aItems );
+
+ // #110897#
+ static sal_Bool StoreImages(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory,
+ SvStream& rOutStream, const ImageListsDescriptor& aItems );
+
+ static sal_Bool LoadImages(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& rInputStream,
+ ImageListsDescriptor& rItems );
+
+ static sal_Bool StoreImages(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::io::XOutputStream >& rOutputStream,
+ const ImageListsDescriptor& rItems );
+};
+
+} // namespace framework
+
+#endif // __FRAMEWORK_CLASSES_IMAGES
diff --git a/framework/inc/xml/imagesdocumenthandler.hxx b/framework/inc/xml/imagesdocumenthandler.hxx
index 59d1e4abdb3a..4aa370c013d7 100644
--- a/framework/inc/xml/imagesdocumenthandler.hxx
+++ b/framework/inc/xml/imagesdocumenthandler.hxx
@@ -25,8 +25,8 @@
*
************************************************************************/
-#ifndef __FRAMEWORK_XML_IMAGEDOCUMENTHANDLER_HXX_
-#define __FRAMEWORK_XML_IMAGEDOCUMENTHANDLER_HXX_
+#ifndef FRAMEWORK_XML_IMAGEDOCUMENTHANDLER_HXX_
+#define FRAMEWORK_XML_IMAGEDOCUMENTHANDLER_HXX_
#include <framework/fwedllapi.h>
@@ -34,14 +34,12 @@
// interface includes
//_________________________________________________________________________________________________________________
-#ifndef __COM_SUN_STAR_XML_SAX_XDOCUMENTHANDLER_HPP_
#include <com/sun/star/xml/sax/XDocumentHandler.hpp>
-#endif
//_________________________________________________________________________________________________________________
// other includes
//_________________________________________________________________________________________________________________
-#include <framework/imagesconfiguration.hxx>
+#include <xml/imagesconfiguration.hxx>
#include <threadhelp/threadhelpbase.hxx>
#include <rtl/ustring.hxx>
#include <cppuhelper/implbase1.hxx>