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 OOX_DRAWINGML_CHART_PLOTAREAMODEL_HXX 25 #define OOX_DRAWINGML_CHART_PLOTAREAMODEL_HXX 26 27 #include "oox/drawingml/shape.hxx" 28 #include "oox/drawingml/chart/axismodel.hxx" 29 #include "oox/drawingml/chart/seriesmodel.hxx" 30 #include "oox/drawingml/chart/typegroupmodel.hxx" 31 32 namespace oox { 33 namespace drawingml { 34 namespace chart { 35 36 // ============================================================================ 37 38 struct View3DModel 39 { 40 OptValue< sal_Int32 > monHeightPercent; /// Height of the 3D view, relative to chart width. 41 OptValue< sal_Int32 > monRotationX; /// Horizontal rotation in degrees. 42 OptValue< sal_Int32 > monRotationY; /// Vertical rotation in degrees. 43 sal_Int32 mnDepthPercent; /// Depth of the 3D view, relative to chart width. 44 sal_Int32 mnPerspective; /// Eye distance to the 3D objects. 45 bool mbRightAngled; /// True = right-angled axes in 3D view. 46 47 explicit View3DModel(); 48 ~View3DModel(); 49 }; 50 51 // ============================================================================ 52 53 struct WallFloorModel 54 { 55 typedef ModelRef< Shape > ShapeRef; 56 typedef ModelRef< PictureOptionsModel > PictureOptionsRef; 57 58 ShapeRef mxShapeProp; /// Wall/floor frame formatting. 59 PictureOptionsRef mxPicOptions; /// Fill bitmap settings. 60 61 explicit WallFloorModel(); 62 ~WallFloorModel(); 63 }; 64 65 // ============================================================================ 66 67 struct PlotAreaModel 68 { 69 typedef ModelVector< TypeGroupModel > TypeGroupVector; 70 typedef ModelVector< AxisModel > AxisVector; 71 typedef ModelRef< Shape > ShapeRef; 72 typedef ModelRef< LayoutModel > LayoutRef; 73 74 TypeGroupVector maTypeGroups; /// All chart type groups contained in the chart. 75 AxisVector maAxes; /// All axes contained in the chart. 76 ShapeRef mxShapeProp; /// Plot area frame formatting. 77 LayoutRef mxLayout; /// Layout/position of the plot area. 78 79 explicit PlotAreaModel(); 80 ~PlotAreaModel(); 81 }; 82 83 // ============================================================================ 84 85 } // namespace chart 86 } // namespace drawingml 87 } // namespace oox 88 89 #endif 90