1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 #ifndef OOX_DRAWINGML_CHART_PLOTAREAMODEL_HXX 29 #define OOX_DRAWINGML_CHART_PLOTAREAMODEL_HXX 30 31 #include "oox/drawingml/shape.hxx" 32 #include "oox/drawingml/chart/axismodel.hxx" 33 #include "oox/drawingml/chart/seriesmodel.hxx" 34 #include "oox/drawingml/chart/typegroupmodel.hxx" 35 36 namespace oox { 37 namespace drawingml { 38 namespace chart { 39 40 // ============================================================================ 41 42 struct View3DModel 43 { 44 OptValue< sal_Int32 > monHeightPercent; /// Height of the 3D view, relative to chart width. 45 OptValue< sal_Int32 > monRotationX; /// Horizontal rotation in degrees. 46 OptValue< sal_Int32 > monRotationY; /// Vertical rotation in degrees. 47 sal_Int32 mnDepthPercent; /// Depth of the 3D view, relative to chart width. 48 sal_Int32 mnPerspective; /// Eye distance to the 3D objects. 49 bool mbRightAngled; /// True = right-angled axes in 3D view. 50 51 explicit View3DModel(); 52 ~View3DModel(); 53 }; 54 55 // ============================================================================ 56 57 struct WallFloorModel 58 { 59 typedef ModelRef< Shape > ShapeRef; 60 typedef ModelRef< PictureOptionsModel > PictureOptionsRef; 61 62 ShapeRef mxShapeProp; /// Wall/floor frame formatting. 63 PictureOptionsRef mxPicOptions; /// Fill bitmap settings. 64 65 explicit WallFloorModel(); 66 ~WallFloorModel(); 67 }; 68 69 // ============================================================================ 70 71 struct PlotAreaModel 72 { 73 typedef ModelVector< TypeGroupModel > TypeGroupVector; 74 typedef ModelVector< AxisModel > AxisVector; 75 typedef ModelRef< Shape > ShapeRef; 76 typedef ModelRef< LayoutModel > LayoutRef; 77 78 TypeGroupVector maTypeGroups; /// All chart type groups contained in the chart. 79 AxisVector maAxes; /// All axes contained in the chart. 80 ShapeRef mxShapeProp; /// Plot area frame formatting. 81 LayoutRef mxLayout; /// Layout/position of the plot area. 82 83 explicit PlotAreaModel(); 84 ~PlotAreaModel(); 85 }; 86 87 // ============================================================================ 88 89 } // namespace chart 90 } // namespace drawingml 91 } // namespace oox 92 93 #endif 94