1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef SVTOOLS_INC_TABLE_TABLETYPES_HXX
25 #define SVTOOLS_INC_TABLE_TABLETYPES_HXX
26 
27 #include <sal/types.h>
28 
29 //........................................................................
30 namespace svt { namespace table
31 {
32 //........................................................................
33     /// a value denoting the size of a table
34     typedef sal_Int32   TableSize;
35 
36     /// a value denoting a column position within a table
37     typedef sal_Int32   ColPos;
38     /// a value denoting a row position within a table
39     typedef sal_Int32   RowPos;
40 
41     /** a value denoting an arbitrary coordinate value of a position within
42         a table
43 
44         Values of this type are guaranteed to be large enough to hold column
45         positions as well as row positions.
46     */
47     typedef sal_Int32   AnyPos;
48 
49     typedef sal_Int32   TableMetrics;
50 
51 /// denotes the column containing the row headers
52 #define COL_ROW_HEADERS         ((::svt::table::ColPos)-1)
53 /// denotes the row containing the column headers
54 #define ROW_COL_HEADERS         ((::svt::table::RowPos)-1)
55 
56 /// denotes an invalid column index
57 #define COL_INVALID             ((::svt::table::ColPos)-2)
58 /// denotes an invalid row index
59 #define ROW_INVALID             ((::svt::table::RowPos)-2)
60 
61 
62 //........................................................................
63 } } // namespace svt::table
64 //........................................................................
65 
66 #endif // SVTOOLS_INC_TABLE_TABLETYPES_HXX
67