1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef _XMLOFF_VISAREACONTEXT_HXX
25 #define _XMLOFF_VISAREACONTEXT_HXX
26 
27 #include <xmloff/xmlictxt.hxx>
28 #include <tools/mapunit.hxx>
29 
30 class Rectangle;
31 
32 namespace com { namespace sun { namespace star { namespace awt {
33 	struct Rectangle;
34 } } } }
35 
36 class XMLVisAreaContext : public SvXMLImportContext
37 {
38 public:
39 	// read all attributes and set the values in rRect
40 	XMLVisAreaContext( SvXMLImport& rImport, sal_uInt16 nPrfx, const rtl::OUString& rLName,
41 									  const ::com::sun::star::uno::Reference<
42 									  ::com::sun::star::xml::sax::XAttributeList>& xAttrList,
43 									  Rectangle& rRect, const MapUnit aMapUnit);
44 
45 	XMLVisAreaContext( SvXMLImport& rImport, sal_uInt16 nPrfx, const rtl::OUString& rLName,
46 									  const ::com::sun::star::uno::Reference<
47 									  ::com::sun::star::xml::sax::XAttributeList>& xAttrList,
48 									  ::com::sun::star::awt::Rectangle& rRect, const sal_Int16 nMeasureUnit);
49 
50 	virtual ~XMLVisAreaContext();
51 
52 	virtual SvXMLImportContext *CreateChildContext( sal_uInt16 nPrefix,
53 													const rtl::OUString& rLocalName,
54 													const ::com::sun::star::uno::Reference<
55 									  	::com::sun::star::xml::sax::XAttributeList>& xAttrList );
56 	virtual void EndElement();
57 
58 private:
59 	void process(	const ::com::sun::star::uno::Reference<	::com::sun::star::xml::sax::XAttributeList>& xAttrList,
60 					::com::sun::star::awt::Rectangle& rRect,
61 					const sal_Int16 nMeasureUnit );
62 
63 };
64 
65 #endif
66