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_IncrementData_idl
23#define com_sun_star_chart2_IncrementData_idl
24
25#include <com/sun/star/chart2/SubIncrement.idl>
26
27//=============================================================================
28
29module com {  module sun {  module star {  module chart2 {
30
31//=============================================================================
32
33/** An IncrementData describes how tickmarks are positioned on the scale of an axis.
34
35@see <type>Axis</type>
36@see <type>Grid</type>
37@see <type>Scale</type>
38@see <type>XScaling</type>
39*/
40struct IncrementData
41{
42    /** if the any contains a double value this is used as a fixed
43        Distance value.  Otherwise, if the any is empty or contains an
44        incompatible type, the Distance is meant to be calculated
45        automatically by the view component representing the model
46        containing this increment.
47     */
48    any         Distance;
49
50    /**
51    <member>PostEquidistant</member> rules whether the member <member>Distance</member>
52    describes a distance before or after the scaling is applied.
53
54    <p>If <member>PostEquidistant</member> equals <TRUE/> <member>Distance</member>
55    is given in values after <type>XScaling</type> is applied, thus resulting
56    main tickmarks will always look equidistant on the screen.
57    If <member>PostEquidistant</member> equals <FALSE/> <member>Distance</member>
58    is given in values before <type>XScaling</type> is applied.</p>
59    */
60    any         PostEquidistant;
61
62    /** if the any contains a double value this is used as a fixed
63        BaseValue.  Otherwise, if the any is empty or contains an
64        incompatible type, the BaseValue is meant to be calculated
65        automatically by the view component representing the model
66        containing this increment.
67     */
68    any         BaseValue;
69
70    /** <member>SubIncrements</member> describes the positioning of further
71    sub tickmarks on the scale of an axis.
72
73    <p>The first SubIncrement in this sequence determines how the
74    distance between two neighboring main tickmarks is divided for positioning
75    of further sub tickmarks. Every following SubIncrement determines the
76    positions of subsequent tickmarks in relation to their parent tickmarks
77    given by the preceding SubIncrement.</p>
78    */
79    sequence< SubIncrement > SubIncrements;
80};
81
82//=============================================================================
83
84}; }; }; };
85
86#endif
87