summaryrefslogtreecommitdiff
path: root/xmloff/source/style
diff options
context:
space:
mode:
authorSascha Ballach <sab@openoffice.org>2001-02-15 10:04:10 +0000
committerSascha Ballach <sab@openoffice.org>2001-02-15 10:04:10 +0000
commit6a31e45361137f9812e194b457b56e092ab53e73 (patch)
tree50dc93b7fda67f4e5d63a65ad3eda1d48cfb16d3 /xmloff/source/style
parentac2698f8aaad02a19b87b5664a6841f23d2867a8 (diff)
export/import VisArea added
Diffstat (limited to 'xmloff/source/style')
-rw-r--r--xmloff/source/style/VisAreaContext.cxx161
-rw-r--r--xmloff/source/style/VisAreaExport.cxx111
-rw-r--r--xmloff/source/style/makefile.mk12
3 files changed, 280 insertions, 4 deletions
diff --git a/xmloff/source/style/VisAreaContext.cxx b/xmloff/source/style/VisAreaContext.cxx
new file mode 100644
index 000000000000..f2096eb483e7
--- /dev/null
+++ b/xmloff/source/style/VisAreaContext.cxx
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * $RCSfile: VisAreaContext.cxx,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: sab $ $Date: 2001-02-15 11:03:18 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifdef PCH
+#include "filt_pch.hxx"
+#endif
+
+#pragma hdrstop
+
+// INCLUDE ---------------------------------------------------------------
+
+#ifndef _XMLOFF_VISAREACONTEXT_HXX
+#include "VisAreaContext.hxx"
+#endif
+
+#ifndef _XMLOFF_XMLKYWD_HXX
+#include "xmlkywd.hxx"
+#endif
+#ifndef _XMLOFF_XMLNMSPE_HXX
+#include "xmlnmspe.hxx"
+#endif
+#ifndef _XMLOFF_NMSPMAP_HXX
+#include "nmspmap.hxx"
+#endif
+#ifndef _XMLOFF_XMLUCONV_HXX
+#include "xmluconv.hxx"
+#endif
+#ifndef _XMLOFF_XMLIMP_HXX
+#include "xmlimp.hxx"
+#endif
+
+#ifndef _SV_GEN_HXX
+#include <tools/gen.hxx>
+#endif
+
+using namespace com::sun::star;
+
+//------------------------------------------------------------------
+
+XMLVisAreaContext::XMLVisAreaContext( SvXMLImport& rImport,
+ USHORT nPrfx,
+ const NAMESPACE_RTL(OUString)& rLName,
+ const uno::Reference<xml::sax::XAttributeList>& xAttrList,
+ Rectangle& rRect, const MapUnit aMapUnit ) :
+ SvXMLImportContext( rImport, nPrfx, rLName )
+{
+ sal_Int32 nX(0);
+ sal_Int32 nY(0);
+ sal_Int32 nWidth(0);
+ sal_Int32 nHeight(0);
+ sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
+ for( sal_Int16 i=0; i < nAttrCount; i++ )
+ {
+ rtl::OUString sAttrName = xAttrList->getNameByIndex( i );
+ rtl::OUString aLocalName;
+ USHORT nPrefix = rImport.GetNamespaceMap().GetKeyByAttrName(
+ sAttrName, &aLocalName );
+ rtl::OUString sValue = xAttrList->getValueByIndex( i );
+
+ if (nPrefix == XML_NAMESPACE_OFFICE)
+ {
+ if (aLocalName.compareToAscii(sXML_x) == 0)
+ {
+ SvXMLUnitConverter::convertMeasure(nX, sValue, aMapUnit);
+ rRect.setX(nX);
+ }
+ else if (aLocalName.compareToAscii(sXML_y) == 0)
+ {
+ SvXMLUnitConverter::convertMeasure(nY, sValue, aMapUnit);
+ rRect.setY(nY);
+ }
+ else if (aLocalName.compareToAscii(sXML_width) == 0)
+ {
+ SvXMLUnitConverter::convertMeasure(nWidth, sValue, aMapUnit);
+ rRect.setWidth(nWidth);
+ }
+ else if (aLocalName.compareToAscii(sXML_height) == 0)
+ {
+ SvXMLUnitConverter::convertMeasure(nHeight, sValue, aMapUnit);
+ rRect.setHeight(nHeight);
+ }
+ }
+ }
+}
+
+XMLVisAreaContext::~XMLVisAreaContext()
+{
+}
+
+SvXMLImportContext *XMLVisAreaContext::CreateChildContext( USHORT nPrefix,
+ const NAMESPACE_RTL(OUString)& rLocalName,
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::xml::sax::XAttributeList>& xAttrList )
+{
+ // here is no context
+ SvXMLImportContext *pContext = new SvXMLImportContext( GetImport(), nPrefix, rLocalName );
+
+ return pContext;
+}
+
+void XMLVisAreaContext::EndElement()
+{
+}
diff --git a/xmloff/source/style/VisAreaExport.cxx b/xmloff/source/style/VisAreaExport.cxx
new file mode 100644
index 000000000000..3eb0f06097d1
--- /dev/null
+++ b/xmloff/source/style/VisAreaExport.cxx
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * $RCSfile: VisAreaExport.cxx,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: sab $ $Date: 2001-02-15 11:03:18 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef _XMLOFF_VISAREAEXPORT_HXX
+#include "VisAreaExport.hxx"
+#endif
+#ifndef _XMLOFF_XMLEXP_HXX
+#include "xmlexp.hxx"
+#endif
+
+#ifndef _XMLOFF_XMLNMSPE_HXX
+#include "xmlnmspe.hxx"
+#endif
+
+#ifndef _XMLOFF_NMSPMAP_HXX
+#include "nmspmap.hxx"
+#endif
+
+#ifndef _XMLOFF_XMLKYWD_HXX
+#include "xmlkywd.hxx"
+#endif
+
+#ifndef _XMLOFF_XMLUCONV_HXX
+#include "xmluconv.hxx"
+#endif
+
+#ifndef _SV_GEN_HXX
+#include <tools/gen.hxx>
+#endif
+
+XMLVisAreaExport::XMLVisAreaExport(SvXMLExport& rExport, const sal_Char *pName,
+ const Rectangle& aRect, const MapUnit aMapUnit)
+{
+ SvXMLUnitConverter& rUnitConv = rExport.GetMM100UnitConverter();
+
+ // write VisArea Element and its Attributes
+ rtl::OUStringBuffer sBuffer;
+ rUnitConv.convertMeasure(sBuffer, aRect.getX(), aMapUnit);
+ rExport.AddAttribute(XML_NAMESPACE_OFFICE, sXML_x, sBuffer.makeStringAndClear());
+ rUnitConv.convertMeasure(sBuffer, aRect.getY(), aMapUnit);
+ rExport.AddAttribute(XML_NAMESPACE_OFFICE, sXML_y, sBuffer.makeStringAndClear());
+ rUnitConv.convertMeasure(sBuffer, aRect.getWidth(), aMapUnit);
+ rExport.AddAttribute(XML_NAMESPACE_OFFICE, sXML_width, sBuffer.makeStringAndClear());
+ rUnitConv.convertMeasure(sBuffer, aRect.getHeight(), aMapUnit);
+ rExport.AddAttribute(XML_NAMESPACE_OFFICE, sXML_height, sBuffer.makeStringAndClear());
+ SvXMLElementExport aVisAreaElem(rExport, XML_NAMESPACE_OFFICE, pName, sal_True, sal_True);
+}
+
+XMLVisAreaExport::~XMLVisAreaExport()
+{
+}
+
+
diff --git a/xmloff/source/style/makefile.mk b/xmloff/source/style/makefile.mk
index 17a857d59cfa..4560d2427f31 100644
--- a/xmloff/source/style/makefile.mk
+++ b/xmloff/source/style/makefile.mk
@@ -2,9 +2,9 @@
#
# $RCSfile: makefile.mk,v $
#
-# $Revision: 1.13 $
+# $Revision: 1.14 $
#
-# last change: $Author: sab $ $Date: 2001-02-02 09:03:34 $
+# last change: $Author: sab $ $Date: 2001-02-15 11:03:18 $
#
# The Contents of this file are made available subject to the terms of
# either of the following licenses
@@ -156,7 +156,9 @@ CXXFILES = \
XMLBitmapRepeatOffsetPropertyHandler.cxx \
XMLFillBitmapSizePropertyHandler.cxx \
XMLBitmapLogicalSizePropertyHandler.cxx \
- durationhdl.cxx
+ durationhdl.cxx \
+ VisAreaExport.cxx \
+ VisAreaContext.cxx
SLOFILES = \
@@ -238,7 +240,9 @@ SLOFILES = \
$(SLO)$/XMLBitmapRepeatOffsetPropertyHandler.obj \
$(SLO)$/XMLFillBitmapSizePropertyHandler.obj \
$(SLO)$/XMLBitmapLogicalSizePropertyHandler.obj \
- $(SLO)$/durationhdl.obj
+ $(SLO)$/durationhdl.obj \
+ $(SLO)$/VisAreaExport.obj \
+ $(SLO)$/VisAreaContext.obj
# NETBSD: somewhere we have to instantiate the static data members.
# NETBSD-1.2.1 doesn't know about weak symbols so the default mechanism for GCC won't work.