Branch data Line data Source code
1 : : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : : /*************************************************************************
3 : : *
4 : : * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 : : *
6 : : * Copyright 2000, 2010 Oracle and/or its affiliates.
7 : : *
8 : : * OpenOffice.org - a multi-platform office productivity suite
9 : : *
10 : : * This file is part of OpenOffice.org.
11 : : *
12 : : * OpenOffice.org is free software: you can redistribute it and/or modify
13 : : * it under the terms of the GNU Lesser General Public License version 3
14 : : * only, as published by the Free Software Foundation.
15 : : *
16 : : * OpenOffice.org is distributed in the hope that it will be useful,
17 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 : : * GNU Lesser General Public License version 3 for more details
20 : : * (a copy is included in the LICENSE file that accompanied this code).
21 : : *
22 : : * You should have received a copy of the GNU Lesser General Public License
23 : : * version 3 along with OpenOffice.org. If not, see
24 : : * <http://www.openoffice.org/license.html>
25 : : * for a copy of the LGPLv3 License.
26 : : *
27 : : ************************************************************************/
28 : : #ifndef _SVX3DITEMS_HXX
29 : : #define _SVX3DITEMS_HXX
30 : :
31 : : #include <svl/intitem.hxx>
32 : : #include <svl/eitem.hxx>
33 : :
34 : :
35 : : #include <editeng/colritem.hxx>
36 : : #include <svx/e3ditem.hxx>
37 : : #include <svx/viewpt3d.hxx>
38 : : #include <svx/svddef.hxx>
39 : : #include "svx/svxdllapi.h"
40 : :
41 : : // Svx3D _3DOBJ_ Items
42 [ - + ]: 136 : class SVX_DLLPUBLIC Svx3DPercentDiagonalItem : public SfxUInt16Item {
43 : : public:
44 : : Svx3DPercentDiagonalItem(sal_uInt16 nVal = 10);
45 : : };
46 : :
47 : : class Svx3DBackscaleItem : public SfxUInt16Item {
48 : : public:
49 : : SVX_DLLPUBLIC Svx3DBackscaleItem(sal_uInt16 nVal = 100);
50 : : };
51 : :
52 : : class Svx3DDepthItem : public SfxUInt32Item {
53 : : public:
54 : : SVX_DLLPUBLIC Svx3DDepthItem(sal_uInt32 nVal = 1000);
55 : : };
56 : :
57 [ - + ]: 2714 : class SVX_DLLPUBLIC Svx3DHorizontalSegmentsItem : public SfxUInt32Item {
58 : : public:
59 : : Svx3DHorizontalSegmentsItem(sal_uInt32 nVal = 24);
60 : : };
61 : :
62 : : class Svx3DVerticalSegmentsItem : public SfxUInt32Item {
63 : : public:
64 : : SVX_DLLPUBLIC Svx3DVerticalSegmentsItem(sal_uInt32 nVal = 24);
65 : : };
66 : :
67 : : class Svx3DEndAngleItem : public SfxUInt32Item {
68 : : public:
69 : : SVX_DLLPUBLIC Svx3DEndAngleItem(sal_uInt32 nVal = 3600);
70 : : };
71 : :
72 [ - + ]: 2634 : class SVX_DLLPUBLIC Svx3DDoubleSidedItem : public SfxBoolItem {
73 : : public:
74 : : Svx3DDoubleSidedItem(sal_Bool bVal = 0);
75 : : };
76 : :
77 : : // #i28528#
78 : : // Added extra Item (Bool) for chart2 to be able to show reduced line geometry
79 : : class Svx3DReducedLineGeometryItem : public SfxBoolItem {
80 : : public:
81 : : Svx3DReducedLineGeometryItem(sal_Bool bVal = 0);
82 : : virtual SfxPoolItem* Create(SvStream& rIn, sal_uInt16 nItemVersion) const;
83 : : virtual sal_uInt16 GetVersion(sal_uInt16 nFileFormatVersion) const;
84 : : };
85 : :
86 : : class SVX_DLLPUBLIC Svx3DNormalsKindItem : public SfxUInt16Item {
87 : : public:
88 : : Svx3DNormalsKindItem(sal_uInt16 nVal = 0);
89 : :
90 : : // use drawing::NormalsKind
91 : : SVX_DLLPRIVATE virtual bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const;
92 : : SVX_DLLPRIVATE virtual bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 );
93 : : SVX_DLLPRIVATE virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const;
94 : : };
95 : :
96 : : class Svx3DNormalsInvertItem : public SfxBoolItem {
97 : : public:
98 : : SVX_DLLPUBLIC Svx3DNormalsInvertItem(sal_Bool bVal = 0);
99 : : };
100 : :
101 : : class SVX_DLLPUBLIC Svx3DTextureProjectionXItem : public SfxUInt16Item {
102 : : public:
103 : : Svx3DTextureProjectionXItem(sal_uInt16 nVal = 0);
104 : :
105 : : // use drawing::TextureProjectionMode
106 : : SVX_DLLPRIVATE virtual bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const;
107 : : SVX_DLLPRIVATE virtual bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 );
108 : : SVX_DLLPRIVATE virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const;
109 : : };
110 : :
111 : : class SVX_DLLPUBLIC Svx3DTextureProjectionYItem : public SfxUInt16Item {
112 : : public:
113 : : Svx3DTextureProjectionYItem(sal_uInt16 nVal = 0);
114 : :
115 : : // use drawing::TextureProjectionMode
116 : : virtual bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const;
117 : : virtual bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 );
118 : : virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const;
119 : : };
120 : :
121 : : class Svx3DShadow3DItem : public SfxBoolItem {
122 : : public:
123 : : SVX_DLLPUBLIC Svx3DShadow3DItem(sal_Bool bVal = 0);
124 : : };
125 : :
126 : : class Svx3DMaterialColorItem : public SvxColorItem {
127 : : public:
128 : : Svx3DMaterialColorItem(const Color& rCol = Color(0x0000b8ff));
129 : : };
130 : :
131 : : class Svx3DMaterialEmissionItem : public SvxColorItem {
132 : : public:
133 : : SVX_DLLPUBLIC Svx3DMaterialEmissionItem(const Color& rCol = Color(0x00000000));
134 : : };
135 : :
136 : : class Svx3DMaterialSpecularItem : public SvxColorItem {
137 : : public:
138 : : SVX_DLLPUBLIC Svx3DMaterialSpecularItem(const Color& rCol = Color(0x00ffffff));
139 : : };
140 : :
141 : : class Svx3DMaterialSpecularIntensityItem : public SfxUInt16Item {
142 : : public:
143 : : SVX_DLLPUBLIC Svx3DMaterialSpecularIntensityItem(sal_uInt16 nVal = 15);
144 : : };
145 : :
146 : : class SVX_DLLPUBLIC Svx3DTextureKindItem : public SfxUInt16Item {
147 : : public:
148 : : Svx3DTextureKindItem(sal_uInt16 nVal = 3);
149 : :
150 : : // use drawing::TextureKind
151 : : SVX_DLLPRIVATE virtual bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const;
152 : : SVX_DLLPRIVATE virtual bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 );
153 : : SVX_DLLPRIVATE virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const;
154 : : };
155 : :
156 : : class SVX_DLLPUBLIC Svx3DTextureModeItem : public SfxUInt16Item {
157 : : public:
158 : : Svx3DTextureModeItem(sal_uInt16 nVal = 2);
159 : :
160 : : // use drawing:TextureMode
161 : : SVX_DLLPRIVATE virtual bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const;
162 : : SVX_DLLPRIVATE virtual bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 );
163 : : SVX_DLLPRIVATE virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const;
164 : : };
165 : :
166 : : class Svx3DTextureFilterItem : public SfxBoolItem {
167 : : public:
168 : : SVX_DLLPUBLIC Svx3DTextureFilterItem(sal_Bool bVal = 0);
169 : : };
170 : :
171 : : // Svx3D _3DSCENE_ Items
172 : : class SVX_DLLPUBLIC Svx3DPerspectiveItem : public SfxUInt16Item {
173 : : public:
174 : : Svx3DPerspectiveItem(sal_uInt16 nVal = (sal_uInt16)PR_PERSPECTIVE);
175 : :
176 : : // use drawing::ProjectionMode
177 : : SVX_DLLPRIVATE virtual bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const;
178 : : SVX_DLLPRIVATE virtual bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 );
179 : : SVX_DLLPRIVATE virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const;
180 : : };
181 : :
182 : : class Svx3DDistanceItem : public SfxUInt32Item {
183 : : public:
184 : : SVX_DLLPUBLIC Svx3DDistanceItem(sal_uInt32 nVal = 100);
185 : : };
186 : :
187 : : class Svx3DFocalLengthItem : public SfxUInt32Item {
188 : : public:
189 : : SVX_DLLPUBLIC Svx3DFocalLengthItem(sal_uInt32 nVal = 100);
190 : : };
191 : :
192 : : class Svx3DTwoSidedLightingItem : public SfxBoolItem {
193 : : public:
194 : : SVX_DLLPUBLIC Svx3DTwoSidedLightingItem(sal_Bool bVal = 0);
195 : : };
196 : :
197 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightcolor1Item : public SvxColorItem {
198 : : public:
199 : : Svx3DLightcolor1Item(const Color& rCol = Color(0xffcccccc));
200 : : };
201 : :
202 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightcolor2Item : public SvxColorItem {
203 : : public:
204 : : Svx3DLightcolor2Item(const Color& rCol = Color(0x00000000));
205 : : };
206 : :
207 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightcolor3Item : public SvxColorItem {
208 : : public:
209 : : Svx3DLightcolor3Item(const Color& rCol = Color(0x00000000));
210 : : };
211 : :
212 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightcolor4Item : public SvxColorItem {
213 : : public:
214 : : Svx3DLightcolor4Item(const Color& rCol = Color(0x00000000));
215 : : };
216 : :
217 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightcolor5Item : public SvxColorItem {
218 : : public:
219 : : Svx3DLightcolor5Item(const Color& rCol = Color(0x00000000));
220 : : };
221 : :
222 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightcolor6Item : public SvxColorItem {
223 : : public:
224 : : Svx3DLightcolor6Item(const Color& rCol = Color(0x00000000));
225 : : };
226 : :
227 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightcolor7Item : public SvxColorItem {
228 : : public:
229 : : Svx3DLightcolor7Item(const Color& rCol = Color(0x00000000));
230 : : };
231 : :
232 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightcolor8Item : public SvxColorItem {
233 : : public:
234 : : Svx3DLightcolor8Item(const Color& rCol = Color(0x00000000));
235 : : };
236 : :
237 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DAmbientcolorItem : public SvxColorItem {
238 : : public:
239 : : Svx3DAmbientcolorItem(const Color& rCol = Color(0x00666666));
240 : : };
241 : :
242 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightOnOff1Item : public SfxBoolItem {
243 : : public:
244 : : Svx3DLightOnOff1Item(sal_Bool bVal = 1);
245 : : };
246 : :
247 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightOnOff2Item : public SfxBoolItem {
248 : : public:
249 : : Svx3DLightOnOff2Item(sal_Bool bVal = 0);
250 : : };
251 : :
252 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightOnOff3Item : public SfxBoolItem {
253 : : public:
254 : : Svx3DLightOnOff3Item(sal_Bool bVal = 0);
255 : : };
256 : :
257 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightOnOff4Item : public SfxBoolItem {
258 : : public:
259 : : Svx3DLightOnOff4Item(sal_Bool bVal = 0);
260 : : };
261 : :
262 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightOnOff5Item : public SfxBoolItem {
263 : : public:
264 : : Svx3DLightOnOff5Item(sal_Bool bVal = 0);
265 : : };
266 : :
267 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightOnOff6Item : public SfxBoolItem {
268 : : public:
269 : : Svx3DLightOnOff6Item(sal_Bool bVal = 0);
270 : : };
271 : :
272 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightOnOff7Item : public SfxBoolItem {
273 : : public:
274 : : Svx3DLightOnOff7Item(sal_Bool bVal = 0);
275 : : };
276 : :
277 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightOnOff8Item : public SfxBoolItem {
278 : : public:
279 : : Svx3DLightOnOff8Item(sal_Bool bVal = 0);
280 : : };
281 : :
282 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightDirection1Item : public SvxB3DVectorItem {
283 : : public:
284 : : Svx3DLightDirection1Item(const basegfx::B3DVector& rVec = basegfx::B3DVector(0.57735026918963, 0.57735026918963, 0.57735026918963));
285 : : };
286 : :
287 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightDirection2Item : public SvxB3DVectorItem {
288 : : public:
289 : : Svx3DLightDirection2Item(const basegfx::B3DVector& rVec = basegfx::B3DVector(0.0,0.0,1.0));
290 : : };
291 : :
292 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightDirection3Item : public SvxB3DVectorItem {
293 : : public:
294 : : Svx3DLightDirection3Item(const basegfx::B3DVector& rVec = basegfx::B3DVector(0.0,0.0,1.0));
295 : : };
296 : :
297 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightDirection4Item : public SvxB3DVectorItem {
298 : : public:
299 : : Svx3DLightDirection4Item(const basegfx::B3DVector& rVec = basegfx::B3DVector(0.0,0.0,1.0));
300 : : };
301 : :
302 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightDirection5Item : public SvxB3DVectorItem {
303 : : public:
304 : : Svx3DLightDirection5Item(const basegfx::B3DVector& rVec = basegfx::B3DVector(0.0,0.0,1.0));
305 : : };
306 : :
307 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightDirection6Item : public SvxB3DVectorItem {
308 : : public:
309 : : Svx3DLightDirection6Item(const basegfx::B3DVector& rVec = basegfx::B3DVector(0.0,0.0,1.0));
310 : : };
311 : :
312 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightDirection7Item : public SvxB3DVectorItem {
313 : : public:
314 : : Svx3DLightDirection7Item(const basegfx::B3DVector& rVec = basegfx::B3DVector(0.0,0.0,1.0));
315 : : };
316 : :
317 [ - + ]: 80 : class SVX_DLLPUBLIC Svx3DLightDirection8Item : public SvxB3DVectorItem {
318 : : public:
319 : : Svx3DLightDirection8Item(const basegfx::B3DVector& rVec = basegfx::B3DVector(0.0,0.0,1.0));
320 : : };
321 : :
322 : : class Svx3DShadowSlantItem : public SfxUInt16Item {
323 : : public:
324 : : SVX_DLLPUBLIC Svx3DShadowSlantItem(sal_uInt16 nVal = 0);
325 : : };
326 : :
327 : : class SVX_DLLPUBLIC Svx3DShadeModeItem : public SfxUInt16Item {
328 : : public:
329 : : Svx3DShadeModeItem(sal_uInt16 nVal = 2);
330 : :
331 : : // use drawing::ShadeMode
332 : : SVX_DLLPRIVATE virtual bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const;
333 : : SVX_DLLPRIVATE virtual bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 );
334 : : SVX_DLLPRIVATE virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const;
335 : : };
336 : :
337 : : //////////////////////////////////////////////////////////////////////////////
338 : : // #107245# Item to replace bExtrudeSmoothed and bLatheSmoothed
339 : : class Svx3DSmoothNormalsItem : public SfxBoolItem {
340 : : public:
341 : : Svx3DSmoothNormalsItem(sal_Bool bVal = 1);
342 : : virtual SfxPoolItem* Create(SvStream& rIn, sal_uInt16 nItemVersion) const;
343 : : virtual sal_uInt16 GetVersion(sal_uInt16 nFileFormatVersion) const;
344 : : };
345 : :
346 : : // #107245# Item to replace bExtrudeSmoothFrontBack and bLatheSmoothFrontBack
347 : : class Svx3DSmoothLidsItem : public SfxBoolItem {
348 : : public:
349 : : Svx3DSmoothLidsItem(sal_Bool bVal = 0);
350 : : virtual SfxPoolItem* Create(SvStream& rIn, sal_uInt16 nItemVersion) const;
351 : : virtual sal_uInt16 GetVersion(sal_uInt16 nFileFormatVersion) const;
352 : : };
353 : :
354 : : // #107245# Item to replace bExtrudeCharacterMode and bLatheCharacterMode
355 : : class Svx3DCharacterModeItem : public SfxBoolItem {
356 : : public:
357 : : Svx3DCharacterModeItem(sal_Bool bVal = 0);
358 : : virtual SfxPoolItem* Create(SvStream& rIn, sal_uInt16 nItemVersion) const;
359 : : virtual sal_uInt16 GetVersion(sal_uInt16 nFileFormatVersion) const;
360 : : };
361 : :
362 : : // #107245# Item to replace bExtrudeCloseFront and bLatheCloseFront
363 : : class SVX_DLLPUBLIC Svx3DCloseFrontItem : public SfxBoolItem {
364 : : public:
365 : : Svx3DCloseFrontItem(sal_Bool bVal = 1);
366 : : SVX_DLLPRIVATE virtual SfxPoolItem* Create(SvStream& rIn, sal_uInt16 nItemVersion) const;
367 : : SVX_DLLPRIVATE virtual sal_uInt16 GetVersion(sal_uInt16 nFileFormatVersion) const;
368 : : };
369 : :
370 : : // #107245# Item to replace bExtrudeCloseBack and bLatheCloseBack
371 : : class SVX_DLLPUBLIC Svx3DCloseBackItem : public SfxBoolItem {
372 : : public:
373 : : Svx3DCloseBackItem(sal_Bool bVal = 1);
374 : : SVX_DLLPRIVATE virtual SfxPoolItem* Create(SvStream& rIn, sal_uInt16 nItemVersion) const;
375 : : SVX_DLLPRIVATE virtual sal_uInt16 GetVersion(sal_uInt16 nFileFormatVersion) const;
376 : : };
377 : :
378 : : #endif // _SVX3DITEMS_HXX
379 : :
380 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|