fix baseline build (old cairo) - 'cairo_rectangle_int_t' does not name a type
[LibreOffice.git] / sc / source / filter / xml / xmlannoi.hxx
blob837f855d9f89fa6efd46547513a73117b924766b
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef INCLUDED_SC_SOURCE_FILTER_XML_XMLANNOI_HXX
20 #define INCLUDED_SC_SOURCE_FILTER_XML_XMLANNOI_HXX
22 #include <xmloff/xmlictxt.hxx>
23 #include <xmloff/xmlimp.hxx>
24 #include <rtl/ustrbuf.hxx>
25 #include <editeng/editdata.hxx>
26 #include <com/sun/star/drawing/XShape.hpp>
27 #include <com/sun/star/drawing/XShapes.hpp>
28 #include "xmlimprt.hxx"
30 class ScXMLTableRowCellContext;
32 struct ScXMLAnnotationStyleEntry
34 sal_uInt16 mnFamily;
35 OUString maName;
36 ESelection maSelection;
38 ScXMLAnnotationStyleEntry( sal_uInt16 nFam, const OUString& rNam, const ESelection& rSel ) :
39 mnFamily( nFam ),
40 maName( rNam ),
41 maSelection( rSel )
46 struct ScXMLAnnotationData
48 ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
49 mxShape;
50 ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >
51 mxShapes;
52 OUString maAuthor;
53 OUString maCreateDate;
54 OUString maSimpleText;
55 OUString maStyleName;
56 OUString maTextStyle;
57 bool mbUseShapePos;
58 bool mbShown;
59 std::vector<ScXMLAnnotationStyleEntry> maContentStyles;
61 explicit ScXMLAnnotationData();
62 ~ScXMLAnnotationData();
65 class ScXMLAnnotationContext : public SvXMLImportContext
67 public:
69 ScXMLAnnotationContext( ScXMLImport& rImport, sal_uInt16 nPrfx,
70 const OUString& rLName,
71 const ::com::sun::star::uno::Reference<
72 ::com::sun::star::xml::sax::XAttributeList>& xAttrList,
73 ScXMLAnnotationData& rAnnotationData,
74 ScXMLTableRowCellContext* pCellContext);
76 virtual ~ScXMLAnnotationContext();
78 virtual SvXMLImportContext *CreateChildContext( sal_uInt16 nPrefix,
79 const OUString& rLocalName,
80 const ::com::sun::star::uno::Reference<
81 ::com::sun::star::xml::sax::XAttributeList>& xAttrList ) SAL_OVERRIDE;
83 virtual void StartElement(const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList) SAL_OVERRIDE;
85 virtual void Characters( const OUString& rChars ) SAL_OVERRIDE;
87 virtual void EndElement() SAL_OVERRIDE;
89 void SetShape(
90 const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& rxShape,
91 const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& rxShapes,
92 const OUString& rStyleName, const OUString& rTextStyle );
94 void AddContentStyle( sal_uInt16 nFamily, const OUString& rName, const ESelection& rSelection );
96 private:
97 ScXMLAnnotationData& mrAnnotationData;
98 OUStringBuffer maTextBuffer;
99 OUStringBuffer maAuthorBuffer;
100 OUStringBuffer maCreateDateBuffer;
101 OUStringBuffer maCreateDateStringBuffer;
102 ScXMLTableRowCellContext* pCellContext;
103 SvXMLImportContext* pShapeContext;
105 const ScXMLImport& GetScImport() const { return static_cast<const ScXMLImport&>(GetImport()); }
106 ScXMLImport& GetScImport() { return static_cast<ScXMLImport&>(GetImport()); }
109 #endif
111 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */