1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: outdevstate.hxx,v $
10 * $Revision: 1.9.16.1 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef _CPPCANVAS_OUTDEVSTATE_HXX
32 #define _CPPCANVAS_OUTDEVSTATE_HXX
34 #include <com/sun/star/uno/Reference.hxx>
35 #include <com/sun/star/uno/Sequence.hxx>
37 #ifndef _COM_SUN_STAR_RENDERING_STRINGCONTEXT_HPP__
38 #include <com/sun/star/rendering/StringContext.hpp>
40 #ifndef _COM_SUN_STAR_RENDERING_RENDERSTATE_HPP__
41 #include <com/sun/star/rendering/RenderState.hpp>
43 #ifndef _COM_SUN_STAR_RENDERING_XPOLYPOLYGON2D_HPP__
44 #include <com/sun/star/rendering/XPolyPolygon2D.hpp>
46 #ifndef _COM_SUN_STAR_RENDERING_XCANVASFONT_HPP__
47 #include <com/sun/star/rendering/XCanvasFont.hpp>
49 #ifndef _COM_SUN_STAR_RENDERING_TEXTDIRECTION_HPP__
50 #include <com/sun/star/rendering/TextDirection.hpp>
52 #include <basegfx/matrix/b2dhommatrix.hxx>
53 #ifndef _BGFX_POLYGON_B2DPOLYPOLGON_HXX
54 #include <basegfx/polygon/b2dpolypolygon.hxx>
56 #include <vcl/fntstyle.hxx>
57 #include <vcl/vclenum.hxx>
58 #include <vcl/outdev.hxx>
59 #include <vcl/outdev.hxx>
84 textEmphasisMarkStyle(EMPHASISMARK_NONE
),
86 textDirection(::com::sun::star::rendering::TextDirection::WEAK_LEFT_TO_RIGHT
),
87 textAlignment(0), // TODO(Q2): Synchronize with implrenderer
88 // and possibly new rendering::TextAlignment
89 textReliefStyle(RELIEF_NONE
),
90 textOverlineStyle(UNDERLINE_NONE
),
91 textUnderlineStyle(UNDERLINE_NONE
),
92 textStrikeoutStyle(STRIKEOUT_NONE
),
93 textReferencePoint(ALIGN_BASELINE
),
95 isTextOutlineModeSet( false ),
96 isTextEffectShadowSet( false ),
97 isTextWordUnderlineSet( false ),
99 isLineColorSet( false ),
100 isFillColorSet( false ),
101 isTextFillColorSet( false ),
102 isTextLineColorSet( false )
106 ::basegfx::B2DPolyPolygon clip
;
107 ::Rectangle clipRect
;
108 ::com::sun::star::uno::Reference
< ::com::sun::star::rendering::XPolyPolygon2D
> xClipPoly
;
110 ::com::sun::star::uno::Sequence
< double > lineColor
;
111 ::com::sun::star::uno::Sequence
< double > fillColor
;
112 ::com::sun::star::uno::Sequence
< double > textColor
;
113 ::com::sun::star::uno::Sequence
< double > textFillColor
;
114 ::com::sun::star::uno::Sequence
< double > textLineColor
;
118 @attention Beware, this member can be NULL, and
119 nevertheless text output is generated.
121 ::com::sun::star::uno::Reference
< ::com::sun::star::rendering::XCanvasFont
> xFont
;
122 ::basegfx::B2DHomMatrix transform
;
123 ::basegfx::B2DHomMatrix mapModeTransform
;
126 sal_uInt16 textEmphasisMarkStyle
;
127 sal_uInt16 pushFlags
;
128 sal_Int8 textDirection
;
129 sal_Int8 textAlignment
;
130 sal_Int8 textReliefStyle
;
131 sal_Int8 textOverlineStyle
;
132 sal_Int8 textUnderlineStyle
;
133 sal_Int8 textStrikeoutStyle
;
134 TextAlign textReferencePoint
;
136 bool isTextOutlineModeSet
;
137 bool isTextEffectShadowSet
;
138 bool isTextWordUnderlineSet
;
142 bool isTextFillColorSet
;
143 bool isTextLineColorSet
;
148 #endif /* _CPPCANVAS_OUTDEVSTATE_HXX */