fix baseline build (old cairo) - 'cairo_rectangle_int_t' does not name a type
[LibreOffice.git] / oox / inc / drawingml / chart / axismodel.hxx
blob949f2848f7318a83b7d42ae354ac8cc2866d3770
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef INCLUDED_OOX_DRAWINGML_CHART_AXISMODEL_HXX
21 #define INCLUDED_OOX_DRAWINGML_CHART_AXISMODEL_HXX
23 #include <oox/drawingml/shape.hxx>
24 #include <oox/token/tokens.hxx>
25 #include <drawingml/chart/titlemodel.hxx>
27 namespace oox {
28 namespace drawingml {
29 namespace chart {
31 struct AxisDispUnitsModel
33 typedef ModelRef< Shape > ShapeRef;
34 typedef ModelRef< TextBody > TextBodyRef;
35 typedef ModelRef< LayoutModel > LayoutRef;
36 typedef ModelRef< TextModel > TextRef;
38 ShapeRef mxShapeProp; /// Label frame formatting.
39 TextBodyRef mxTextProp; /// Label text formatting.
40 LayoutRef mxLayout; /// Layout/position of the axis units label.
41 TextRef mxText; /// Text source of the axis units label.
42 double mfCustomUnit; /// Custom unit size on value axis.
43 OUString mnBuiltInUnit; /// Built-in unit on value axis.
45 explicit AxisDispUnitsModel();
46 ~AxisDispUnitsModel();
49 struct AxisModel
51 typedef ModelRef< Shape > ShapeRef;
52 typedef ModelRef< TextBody > TextBodyRef;
53 typedef ModelRef< TitleModel > TitleRef;
54 typedef ModelRef< AxisDispUnitsModel > AxisDispUnitsRef;
56 ShapeRef mxShapeProp; /// Axis line formatting.
57 TextBodyRef mxTextProp; /// Axis label text formatting.
58 TitleRef mxTitle; /// Axis title.
59 AxisDispUnitsRef mxDispUnits; /// Axis units label.
60 ShapeRef mxMajorGridLines; /// Major grid lines formatting.
61 ShapeRef mxMinorGridLines; /// Minor grid lines formatting.
62 NumberFormat maNumberFormat; /// Number format for axis tick labels.
63 OptValue< double > mofCrossesAt; /// Position on this axis where another axis crosses.
64 OptValue< double > mofMajorUnit; /// Unit for major tick marks on date/value axis.
65 OptValue< double > mofMinorUnit; /// Unit for minor tick marks on date/value axis.
66 OptValue< double > mofLogBase; /// Logarithmic base for logarithmic axes.
67 OptValue< double > mofMax; /// Maximum axis value.
68 OptValue< double > mofMin; /// Minimum axis value.
69 OptValue< sal_Int32 > monBaseTimeUnit; /// Base time unit shown on a date axis.
70 sal_Int32 mnAxisId; /// Unique axis identifier.
71 sal_Int32 mnAxisPos; /// Position of the axis (top/bottom/left/right).
72 sal_Int32 mnCrossAxisId; /// Identifier of a crossing axis.
73 sal_Int32 mnCrossBetween; /// This value axis crosses between or inside category.
74 sal_Int32 mnCrossMode; /// Mode this axis crosses another axis (min, max, auto).
75 sal_Int32 mnLabelAlign; /// Tick mark label alignment.
76 sal_Int32 mnLabelOffset; /// Tick mark label distance from axis.
77 sal_Int32 mnMajorTickMark; /// Major tick mark style.
78 sal_Int32 mnMajorTimeUnit; /// Time unit for major tick marks on date axis.
79 sal_Int32 mnMinorTickMark; /// Mainor tick mark style.
80 sal_Int32 mnMinorTimeUnit; /// Time unit for minor tick marks on date axis.
81 sal_Int32 mnOrientation; /// Axis orientation (value order min to max, or max to min).
82 sal_Int32 mnTickLabelPos; /// Position of tick mark labels relative to the axis.
83 sal_Int32 mnTickLabelSkip; /// Number of tick mark labels to skip.
84 sal_Int32 mnTickMarkSkip; /// Number of tick marks to skip.
85 sal_Int32 mnTypeId; /// Type identifier of this axis.
86 bool mbAuto; /// True = automatic selection of text/date axis type.
87 bool mbDeleted; /// True = axis has been deleted manually.
88 bool mbNoMultiLevel; /// True = no multi-level categories supported.
90 explicit AxisModel( sal_Int32 nTypeId, bool bMSO2007Doc );
91 ~AxisModel();
94 } // namespace chart
95 } // namespace drawingml
96 } // namespace oox
98 #endif
100 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */