fix baseline build (old cairo) - 'cairo_rectangle_int_t' does not name a type
[LibreOffice.git] / chart2 / source / view / inc / ShapeFactory.hxx
blobd7973da941dd7ab921bced0757e7300b7b731eda
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 .
19 #ifndef INCLUDED_CHART2_SOURCE_VIEW_INC_SHAPEFACTORY_HXX
20 #define INCLUDED_CHART2_SOURCE_VIEW_INC_SHAPEFACTORY_HXX
22 #include "AbstractShapeFactory.hxx"
24 namespace chart
27 class ShapeFactory : public AbstractShapeFactory
29 friend class AbstractShapeFactory;
31 ShapeFactory(::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory> xFactory)
32 {m_xShapeFactory = xFactory;}
34 public:
35 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >
36 createGroup2D(
37 const ::com::sun::star::uno::Reference<
38 ::com::sun::star::drawing::XShapes >& xTarget
39 , const OUString& aName = OUString() ) SAL_OVERRIDE;
41 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >
42 createGroup3D(
43 const ::com::sun::star::uno::Reference<
44 ::com::sun::star::drawing::XShapes >& xTarget
45 , const OUString& aName = OUString() ) SAL_OVERRIDE;
47 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
48 createCube( const ::com::sun::star::uno::Reference<
49 ::com::sun::star::drawing::XShapes >& xTarget
50 , const ::com::sun::star::drawing::Position3D& rPosition
51 , const ::com::sun::star::drawing::Direction3D& rSize
52 , sal_Int32 nRotateZAngleHundredthDegree
53 , const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& xSourceProp
54 , const tPropertyNameMap& rPropertyNameMap
55 , bool bRounded = false) SAL_OVERRIDE;
57 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
58 createCylinder( const ::com::sun::star::uno::Reference<
59 ::com::sun::star::drawing::XShapes >& xTarget
60 , const ::com::sun::star::drawing::Position3D& rPosition
61 , const ::com::sun::star::drawing::Direction3D& rSize
62 , sal_Int32 nRotateZAngleHundredthDegree ) SAL_OVERRIDE;
64 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
65 createPyramid( const ::com::sun::star::uno::Reference<
66 ::com::sun::star::drawing::XShapes >& xTarget
67 , const ::com::sun::star::drawing::Position3D& rPosition
68 , const ::com::sun::star::drawing::Direction3D& rSize
69 , double fTopHeight
70 , bool bRotateZ
71 , const ::com::sun::star::uno::Reference<
72 ::com::sun::star::beans::XPropertySet >& xSourceProp
73 , const tPropertyNameMap& rPropertyNameMap) SAL_OVERRIDE;
75 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
76 createCone( const ::com::sun::star::uno::Reference<
77 ::com::sun::star::drawing::XShapes >& xTarget
78 , const ::com::sun::star::drawing::Position3D& rPosition
79 , const ::com::sun::star::drawing::Direction3D& rSize
80 , double fTopHeight, sal_Int32 nRotateZAngleHundredthDegree ) SAL_OVERRIDE;
82 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
83 createPieSegment2D( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget
84 , double fUnitCircleStartAngleDegree, double fUnitCircleWidthAngleDegree
85 , double fUnitCircleInnerRadius, double fUnitCircleOuterRadius
86 , const ::com::sun::star::drawing::Direction3D& rOffset
87 , const ::com::sun::star::drawing::HomogenMatrix& rUnitCircleToScene ) SAL_OVERRIDE;
89 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
90 createPieSegment( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget
91 , double fUnitCircleStartAngleDegree, double fUnitCircleWidthAngleDegree
92 , double fUnitCircleInnerRadius, double fUnitCircleOuterRadius
93 , const ::com::sun::star::drawing::Direction3D& rOffset
94 , const ::com::sun::star::drawing::HomogenMatrix& rUnitCircleToScene
95 , double fDepth ) SAL_OVERRIDE;
97 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
98 createStripe( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget
99 , const Stripe& rStripe
100 , const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& xSourceProp
101 , const tPropertyNameMap& rPropertyNameMap
102 , bool bDoubleSided = true
103 , short nRotatedTexture = 0 //0 to 7 are the different possibilities
104 , bool bFlatNormals=true ) SAL_OVERRIDE;
106 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
107 createArea3D( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget
108 , const ::com::sun::star::drawing::PolyPolygonShape3D& rPolyPolygon
109 , double fDepth) SAL_OVERRIDE;
111 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
112 createArea2D( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget
113 , const ::com::sun::star::drawing::PolyPolygonShape3D& rPolyPolygon) SAL_OVERRIDE;
115 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
116 createSymbol2D( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget
117 , const ::com::sun::star::drawing::Position3D& rPos
118 , const ::com::sun::star::drawing::Direction3D& rSize
119 , sal_Int32 nStandardSymbol
120 , sal_Int32 nBorderColor=0
121 , sal_Int32 nFillColor=0 ) SAL_OVERRIDE;
123 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
124 createGraphic2D( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget
125 , const ::com::sun::star::drawing::Position3D& rPos
126 , const ::com::sun::star::drawing::Direction3D& rSize
127 , const ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic >& xGraphic ) SAL_OVERRIDE;
129 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
130 createLine2D( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget
131 , const ::com::sun::star::drawing::PointSequenceSequence& rPoints
132 , const VLineProperties* pLineProperties = NULL ) SAL_OVERRIDE;
134 virtual com::sun::star::uno::Reference< com::sun::star::drawing::XShape >
135 createLine ( const ::com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& xTarget,
136 const com::sun::star::awt::Size& rSize, const com::sun::star::awt::Point& rPosition ) SAL_OVERRIDE;
138 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
139 createLine3D( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget
140 , const ::com::sun::star::drawing::PolyPolygonShape3D& rPoints
141 , const VLineProperties& rLineProperties ) SAL_OVERRIDE;
143 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
144 createCircle2D( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget
145 , const ::com::sun::star::drawing::Position3D& rPos
146 , const ::com::sun::star::drawing::Direction3D& rSize ) SAL_OVERRIDE;
148 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
149 createCircle( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget
150 , const ::com::sun::star::awt::Size& rSize
151 , const ::com::sun::star::awt::Point& rPosition ) SAL_OVERRIDE;
153 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
154 createText( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget2D
155 , const OUString& rText
156 , const tNameSequence& rPropNames
157 , const tAnySequence& rPropValues
158 , const ::com::sun::star::uno::Any& rATransformation
159 ) SAL_OVERRIDE;
161 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
162 createText( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget2D,
163 const com::sun::star::awt::Size& rSize,
164 const com::sun::star::awt::Point& rPosition,
165 com::sun::star::uno::Sequence< com::sun::star::uno::Reference< com::sun::star::chart2::XFormattedString > >& xFormattedString,
166 const com::sun::star::uno::Reference<
167 com::sun::star::beans::XPropertySet > & xTextProperties,
168 double nRotation, const OUString& aName ) SAL_OVERRIDE;
170 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
171 createInvisibleRectangle(
172 const ::com::sun::star::uno::Reference<
173 ::com::sun::star::drawing::XShapes >& xTarget
174 , const ::com::sun::star::awt::Size& rSize ) SAL_OVERRIDE;
176 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
177 createRectangle(
178 const com::sun::star::uno::Reference<
179 com::sun::star::drawing::XShapes >& xTarget,
180 const com::sun::star::awt::Size& rSize,
181 const com::sun::star::awt::Point& rPosition,
182 const tNameSequence& rPropNames,
183 const tAnySequence& rPropValues,
184 StackPosition ePos = Top ) SAL_OVERRIDE;
186 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
187 createRectangle(
188 const ::com::sun::star::uno::Reference<
189 ::com::sun::star::drawing::XShapes >& xTarget ) SAL_OVERRIDE;
191 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >
192 getOrCreateChartRootShape( const ::com::sun::star::uno::Reference<
193 ::com::sun::star::drawing::XDrawPage>& xPage ) SAL_OVERRIDE;
195 virtual void setPageSize( com::sun::star::uno::Reference < com::sun::star::drawing::XShapes > xChartShapes, const com::sun::star::awt::Size& rSize ) SAL_OVERRIDE;
198 * not necessary right now
200 virtual void render(com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >, bool ) SAL_OVERRIDE {}
202 virtual bool preRender(com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >, OpenGLWindow*) SAL_OVERRIDE { return true; }
203 virtual void postRender(OpenGLWindow*) SAL_OVERRIDE {}
205 virtual void clearPage(com::sun::star::uno::Reference< com::sun::star::drawing::XShapes > ) SAL_OVERRIDE {}
207 private:
208 ShapeFactory();
210 ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
211 impl_createCube( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget
212 , const ::com::sun::star::drawing::Position3D& rPosition
213 , const ::com::sun::star::drawing::Direction3D& rSize, sal_Int32 nRotateZAngleHundredthDegree
214 , bool bRounded );
216 ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
217 impl_createConeOrCylinder( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget
218 , const ::com::sun::star::drawing::Position3D& rPosition
219 , const ::com::sun::star::drawing::Direction3D& rSize
220 , double fTopHeight, sal_Int32 nRotateZAngleHundredthDegree
221 , bool bCylinder = false);
224 } //namespace chart
225 #endif
227 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */