merged tag ooo/OOO330_m14
[LibreOffice.git] / sc / inc / fillinfo.hxx
blob8dead5b4fb055bfefa7d606f71e81caf41f26c38
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org. If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
26 ************************************************************************/
28 #ifndef SC_FILLINFO_HXX
29 #define SC_FILLINFO_HXX
31 #include <svx/framelinkarray.hxx>
32 #include "global.hxx"
34 class SfxItemSet;
35 class SvxBrushItem;
36 class SvxBoxItem;
37 class SvxLineItem;
38 class SvxShadowItem;
40 class ScBaseCell;
41 class ScPatternAttr;
43 // ============================================================================
45 const BYTE SC_ROTDIR_NONE = 0;
46 const BYTE SC_ROTDIR_STANDARD = 1;
47 const BYTE SC_ROTDIR_LEFT = 2;
48 const BYTE SC_ROTDIR_RIGHT = 3;
49 const BYTE SC_ROTDIR_CENTER = 4;
51 const BYTE SC_CLIPMARK_NONE = 0;
52 const BYTE SC_CLIPMARK_LEFT = 1;
53 const BYTE SC_CLIPMARK_RIGHT = 2;
54 const BYTE SC_CLIPMARK_SIZE = 64;
56 enum ScShadowPart
58 SC_SHADOW_HSTART,
59 SC_SHADOW_VSTART,
60 SC_SHADOW_HORIZ,
61 SC_SHADOW_VERT,
62 SC_SHADOW_CORNER
65 // ============================================================================
67 struct CellInfo
69 ScBaseCell* pCell;
71 const ScPatternAttr* pPatternAttr;
72 const SfxItemSet* pConditionSet;
74 const SvxBrushItem* pBackground;
76 const SvxBoxItem* pLinesAttr; /// Original item from document.
77 const SvxLineItem* mpTLBRLine; /// Original item from document.
78 const SvxLineItem* mpBLTRLine; /// Original item from document.
80 const SvxShadowItem* pShadowAttr; // Original-Item (intern)
82 const SvxShadowItem* pHShadowOrigin;
83 const SvxShadowItem* pVShadowOrigin;
85 ScShadowPart eHShadowPart : 4; // Schatten effektiv zum Zeichnen
86 ScShadowPart eVShadowPart : 4;
87 BYTE nClipMark;
88 USHORT nWidth;
89 BYTE nRotateDir;
91 BOOL bMarked : 1;
92 BOOL bEmptyCellText : 1;
94 BOOL bMerged : 1;
95 BOOL bHOverlapped : 1;
96 BOOL bVOverlapped : 1;
97 BOOL bAutoFilter : 1;
98 BOOL bPushButton : 1;
99 bool bPopupButton: 1;
100 bool bFilterActive:1;
102 BOOL bPrinted : 1; // bei Bedarf (Pagebreak-Modus)
104 BOOL bHideGrid : 1; // output-intern
105 BOOL bEditEngine : 1; // output-intern
108 const SCCOL SC_ROTMAX_NONE = SCCOL_MAX;
110 // ============================================================================
112 struct RowInfo
114 CellInfo* pCellInfo;
116 USHORT nHeight;
117 SCROW nRowNo;
118 SCCOL nRotMaxCol; // SC_ROTMAX_NONE, wenn nichts
120 BOOL bEmptyBack;
121 BOOL bEmptyText;
122 BOOL bAutoFilter;
123 BOOL bPushButton;
124 BOOL bChanged; // TRUE, wenn nicht getestet
126 inline explicit RowInfo() : pCellInfo( 0 ) {}
128 private:
129 RowInfo( const RowInfo& );
130 RowInfo& operator=( const RowInfo& );
133 // ============================================================================
135 struct ScTableInfo
137 svx::frame::Array maArray;
138 RowInfo* mpRowInfo;
139 USHORT mnArrCount;
140 bool mbPageMode;
142 explicit ScTableInfo();
143 ~ScTableInfo();
145 private:
146 ScTableInfo( const ScTableInfo& );
147 ScTableInfo& operator=( const ScTableInfo& );
150 // ============================================================================
152 #endif