#i10000# Bring module to HEAD.
[LibreOffice.git] / oox / inc / oox / drawingml / textcharacterproperties.hxx
blob7cad294514707a1057a2d28996673b457044eaa9
1 /*************************************************************************
3 * OpenOffice.org - a multi-platform office productivity suite
5 * $RCSfile: textcharacterproperties.hxx,v $
7 * $Revision: 1.2 $
9 * last change: $Author: rt $ $Date: 2008-01-17 08:05:45 $
11 * The Contents of this file are made available subject to
12 * the terms of GNU Lesser General Public License Version 2.1.
15 * GNU Lesser General Public License Version 2.1
16 * =============================================
17 * Copyright 2005 by Sun Microsystems, Inc.
18 * 901 San Antonio Road, Palo Alto, CA 94303, USA
20 * This library is free software; you can redistribute it and/or
21 * modify it under the terms of the GNU Lesser General Public
22 * License version 2.1, as published by the Free Software Foundation.
24 * This library is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
27 * Lesser General Public License for more details.
29 * You should have received a copy of the GNU Lesser General Public
30 * License along with this library; if not, write to the Free Software
31 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
32 * MA 02111-1307 USA
34 ************************************************************************/
36 #ifndef OOX_DRAWINGML_TEXTCHARACTERPROPERTIES_HXX
37 #define OOX_DRAWINGML_TEXTCHARACTERPROPERTIES_HXX
39 #include "oox/helper/propertymap.hxx"
40 #include "oox/core/xmlfilterbase.hxx"
41 #include "oox/drawingml/color.hxx"
42 #include <com/sun/star/beans/XPropertySet.hpp>
43 #include <boost/shared_ptr.hpp>
45 namespace oox { namespace drawingml {
47 class TextCharacterProperties;
49 typedef boost::shared_ptr< TextCharacterProperties > TextCharacterPropertiesPtr;
51 class TextCharacterProperties
53 public:
55 TextCharacterProperties();
56 ~TextCharacterProperties();
58 PropertyMap& getTextCharacterPropertyMap() { return maTextCharacterPropertyMap; }
59 PropertyMap& getHyperlinkPropertyMap() { return maHyperlinkPropertyMap; }
60 ::oox::drawingml::ColorPtr getCharColor() { return maCharColorPtr; }
61 ::oox::drawingml::ColorPtr getUnderlineColor() { return maUnderlineColorPtr; }
62 ::oox::drawingml::ColorPtr getHighlightColor() { return maHighlightColorPtr; }
63 ::com::sun::star::uno::Any& getHasUnderline() { return maHasUnderline; }
64 ::com::sun::star::uno::Any& getUnderlineLineFollowText() { return maUnderlineLineFollowText; }
65 ::com::sun::star::uno::Any& getUnderlineFillFollowText() { return maUnderlineFillFollowText; }
68 void apply( const TextCharacterPropertiesPtr& rSource );
69 void pushToPropSet( const ::oox::core::XmlFilterBase& rFilterBase, const ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySet > & xPropSet ) const;
70 void pushToUrlFieldPropSet( const ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySet > & xPropSet ) const;
71 float getCharacterSize( float fDefault ) const;
73 protected:
74 PropertyMap maTextCharacterPropertyMap;
75 PropertyMap maHyperlinkPropertyMap;
76 ::oox::drawingml::ColorPtr maCharColorPtr;
77 ::oox::drawingml::ColorPtr maUnderlineColorPtr;
78 ::oox::drawingml::ColorPtr maHighlightColorPtr;
79 ::com::sun::star::uno::Any maHasUnderline;
80 ::com::sun::star::uno::Any maUnderlineLineFollowText;
81 ::com::sun::star::uno::Any maUnderlineFillFollowText;
84 } }
86 #endif // OOX_DRAWINGML_TEXTCHARACTERPROPERTIES_HXX