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#ifndef com_sun_star_chart2_ScaleData_idl
23#define com_sun_star_chart2_ScaleData_idl
24
25#include <com/sun/star/chart2/XScaling.idl>
26#include <com/sun/star/chart2/AxisOrientation.idl>
27#include <com/sun/star/chart2/data/XLabeledDataSequence.idl>
28#include <com/sun/star/chart2/AxisType.idl>
29#include <com/sun/star/chart2/IncrementData.idl>
30#include <com/sun/star/chart/TimeIncrement.idl>
31
32//=============================================================================
33
34module com {  module sun {  module star {  module chart2 {
35
36//=============================================================================
37
38struct ScaleData
39{
40    /** if the any contains a double value this is used as a fixed
41        maximum.  Otherwise, if the any is empty or contains an
42        incompatible type, the maximum is automatic.
43
44        <p>If the maximum is automatic, this means, each view that
45        represents the model containing this scale, has to calculate a
46        maximum by its own means.</p>
47     */
48    any Minimum;
49
50    /** if the any contains a double value this is used as a fixed
51        minimum.  Otherwise, if the any is empty or contains an
52        incompatible type, the minimum is automatic.
53
54        <p>If the minimum is automatic, this means, each view that
55        represents the model containing this scale, has to calculate a
56        minimum by its own means.</p>
57     */
58    any Maximum;
59
60
61    /** The Origin indicates where other axes cross this axis.
62        If the any contains a double value that value is used.
63        Otherwise an appropriate value has to be calculated
64        by that instances using Origin.
65     */
66    any Origin;
67
68    /** Axis orientation (standard or reversed).
69
70        <p>If used at the Y axis in pie charts or doughnut charts, specifies
71        the rotation direction of the pie. The value
72        <const>AxisOrientation::MATHEMATICAL</const> rotates the pie
73        counterclockwise, the value <const>AxisOrientation::REVERSE</const>
74        rotates the pie clockwise.</p>
75
76        <p>Note: Is this a good place for the axis orientation? Two axes may
77        use the same scale, but point into two different directions.</p>
78     */
79    AxisOrientation     Orientation;
80
81    XScaling            Scaling;
82
83    data::XLabeledDataSequence Categories;
84
85    /** describes the type of the axis.
86
87        <p>It can be a real number axis or a category axis or something else.
88        AxisType is one value out of the constant group <type>AxisType</type>.</p>
89    */
90    long   AxisType;
91
92    /** if true an AxisType CATEGORY is interpreted as DATE if the underlying data given in Categories are dates
93    */
94    boolean AutoDateAxis;
95
96    /** describes wether data points on category or date axis are placed between tickmarks or not
97    if true the maximum on the scale will be expanded for one interval
98    */
99    boolean ShiftedCategoryPosition;
100
101    /** increment data to be used for not date-time axis
102    */
103    IncrementData IncrementData;
104
105    /** increment data to be used in case of date-time axis
106    */
107    ::com::sun::star::chart::TimeIncrement TimeIncrement;
108};
109
110//=============================================================================
111
112}; }; }; };
113
114#endif
115