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