xref: /trunk/main/sc/source/core/data/scdpoutputimpl.hxx (revision 1ecadb572e7010ff3b3382ad9bf179dbc6efadbb)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright IBM Corporation 2009.
6  * Copyright 2009 by Sun Microsystems, Inc.
7  *
8  * OpenOffice.org - a multi-platform office productivity suite
9  *
10  * $RCSfile: scdpoutputimpl.hxx,v $
11  * $Revision: 1.0 $
12  *
13  * This file is part of OpenOffice.org.
14  *
15  * OpenOffice.org is free software: you can redistribute it and/or modify
16  * it under the terms of the GNU Lesser General Public License version 3
17  * only, as published by the Free Software Foundation.
18  *
19  * OpenOffice.org is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22  * GNU Lesser General Public License version 3 for more details
23  * (a copy is included in the LICENSE file that accompanied this code).
24  *
25  * You should have received a copy of the GNU Lesser General Public License
26  * version 3 along with OpenOffice.org.  If not, see
27  * <http://www.openoffice.org/license.html>
28  * for a copy of the LGPLv3 License.
29  *
30  ************************************************************************/
31 #ifndef SCDPOUTPUTIMPL_HXX
32 #define SCDPOUTPUTIMPL_HXX
33 
34 #include "document.hxx"
35 
36 #define SC_DP_FRAME_INNER_BOLD      20
37 #define SC_DP_FRAME_OUTER_BOLD      40
38 
39 #define SC_DP_FRAME_COLOR           Color(0,0,0) //( 0x20, 0x40, 0x68 )
40 
41 class OutputImpl
42 {
43     ScDocument*         mpDoc;
44     sal_uInt16              mnTab;
45     ::std::vector< bool > mbNeedLineCols;
46     ::std::vector< SCCOL > mnCols;
47 
48     ::std::vector< bool > mbNeedLineRows;
49     ::std::vector< SCROW > mnRows;
50 
51     SCCOL   mnTabStartCol;
52     SCROW   mnTabStartRow;
53     SCCOL   mnMemberStartCol;
54     SCROW   mnMemberStartRow;
55 
56     SCCOL   mnDataStartCol;
57     SCROW   mnDataStartRow;
58     SCCOL   mnTabEndCol;
59     SCROW   mnTabEndRow;
60 
61 public:
62     OutputImpl( ScDocument* pDoc, sal_uInt16 nTab,
63         SCCOL   nTabStartCol,
64         SCROW   nTabStartRow,
65         SCCOL   nMemberStartCol,
66         SCROW   nMemberStartRow,
67         SCCOL nDataStartCol,
68         SCROW nDataStartRow,
69         SCCOL nTabEndCol,
70         SCROW nTabEndRow );
71     sal_Bool AddRow( SCROW nRow );
72     sal_Bool AddCol( SCCOL nCol );
73 
74     void OutputDataArea();
75     void OutputBlockFrame ( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, sal_Bool bHori = sal_False );
76 
77 };
78 
79 #endif
80