LibreOffice Module oox (master) 1
vmlshape.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
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/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
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 .
18 */
19
20#ifndef INCLUDED_OOX_VML_VMLSHAPE_HXX
21#define INCLUDED_OOX_VML_VMLSHAPE_HXX
22
23#include <memory>
24#include <vector>
25
26#include <com/sun/star/awt/Point.hpp>
27#include <com/sun/star/uno/Reference.hxx>
28#include <oox/dllapi.h>
29#include <oox/helper/helper.hxx>
31#include <rtl/ustring.hxx>
32#include <sal/types.h>
33
34namespace com::sun::star {
35 namespace awt { struct Rectangle; }
36 namespace drawing { class XShape; }
37 namespace drawing { class XShapes; }
38 namespace graphic { class XGraphic; }
39}
40
41namespace oox::vml {
42
43class Drawing;
44struct ShapeParentAnchor;
45class ShapeContainer;
46class TextBox;
47
48const sal_Int32 VML_CLIENTDATA_UNCHECKED = 0;
49const sal_Int32 VML_CLIENTDATA_CHECKED = 1;
50const sal_Int32 VML_CLIENTDATA_MIXED = 2;
51
52const sal_Int32 VML_CLIENTDATA_TEXT = 0;
53const sal_Int32 VML_CLIENTDATA_INTEGER = 1;
54const sal_Int32 VML_CLIENTDATA_NUMBER = 2;
55const sal_Int32 VML_CLIENTDATA_REFERENCE = 3;
56const sal_Int32 VML_CLIENTDATA_FORMULA = 4;
57
58
61{
62 OUString maShapeId;
63 OUString maLegacyId;
64 OUString maShapeName;
65 std::optional< sal_Int32 > moShapeType;
66
67 std::optional< Int32Pair > moCoordPos;
68 std::optional< Int32Pair > moCoordSize;
69 OUString maPosition;
70 OUString maZIndex;
71 OUString maLeft;
72 OUString maTop;
73 OUString maWidth;
74 OUString maHeight;
75 OUString maMarginLeft;
76 OUString maMarginTop;
81 OUString maWidthPercent;
82 OUString maHeightPercent;
83 OUString maWidthRelative;
85 OUString maRotation;
86 OUString maFlip;
88 bool mbVisible;
89 OUString maWrapStyle;
90 OUString maArcsize;
91 OUString maEditAs;
92 OUString maAdjustments;
93
98
99 std::optional< OUString > moGraphicPath;
100 std::optional< OUString > moGraphicTitle;
101 std::optional< OUString > moWrapAnchorX;
102 std::optional< OUString > moWrapAnchorY;
103 std::optional< OUString > moWrapType;
104 std::optional< OUString > moWrapSide;
105 OUString maVTextAnchor;
110 std::optional<OUString> moCropBottom;
111 std::optional<OUString> moCropLeft;
112 std::optional<OUString> moCropRight;
113 std::optional<OUString> moCropTop;
115
117 sal_Int32 mnGain = 0x10000;
118
120 sal_Int16 mnBlacklevel = 0;
121
122 explicit ShapeTypeModel();
123
124 void assignUsed( const ShapeTypeModel& rSource );
125};
126
127
130class SAL_DLLPUBLIC_RTTI ShapeType
131{
132public:
133 explicit ShapeType( Drawing& rDrawing );
134 virtual ~ShapeType();
135
137 ShapeTypeModel& getTypeModel() { return maTypeModel; }
139 const ShapeTypeModel& getTypeModel() const { return maTypeModel; }
140
142 const OUString& getShapeId() const { return maTypeModel.maShapeId; }
144 sal_Int32 getShapeType() const;
146 OUString getGraphicPath() const;
147
148 const Drawing& getDrawing() const { return mrDrawing; }
149
150protected:
152 css::awt::Rectangle getCoordSystem() const;
154 css::awt::Rectangle getRectangle( const ShapeParentAnchor* pParentAnchor ) const;
156 virtual css::awt::Rectangle getAbsRectangle() const;
158 virtual css::awt::Rectangle getRelRectangle() const;
159
160protected:
163};
164
165
168{
169 OUString maAnchor;
170 OUString maFmlaMacro;
171 OUString maFmlaPict;
172 OUString maFmlaLink;
173 OUString maFmlaRange;
174 OUString maFmlaGroup;
175 sal_Int32 mnObjType;
176 sal_Int32 mnTextHAlign;
177 sal_Int32 mnTextVAlign;
178 sal_Int32 mnCol;
179 sal_Int32 mnRow;
180 sal_Int32 mnChecked;
181 sal_Int32 mnDropStyle;
182 sal_Int32 mnDropLines;
183 sal_Int32 mnVal;
184 sal_Int32 mnMin;
185 sal_Int32 mnMax;
186 sal_Int32 mnInc;
187 sal_Int32 mnPage;
188 sal_Int32 mnSelType;
189 sal_Int32 mnVTEdit;
192 bool mbDde;
193 bool mbNo3D;
194 bool mbNo3D2;
198
199 explicit ClientData();
200};
201
202
204{
205 typedef ::std::vector< css::awt::Point > PointVector;
206
207 OUString maType;
209 std::unique_ptr<TextBox> mxTextBox;
210 std::unique_ptr<ClientData> mxClientData;
212 OUString maFrom;
213 OUString maTo;
214 OUString maControl1;
215 OUString maControl2;
216 OUString maVmlPath;
218 OUString maSignatureId;
226 OUString maHyperlink;
227
228 explicit ShapeModel();
229 ~ShapeModel();
230
235};
236
237
241{
242public:
244 ShapeModel& getShapeModel() { return maShapeModel; }
246 const ShapeModel& getShapeModel() const { return maShapeModel; }
247
249 const TextBox* getTextBox() const { return maShapeModel.mxTextBox.get(); }
251 const ClientData* getClientData() const { return maShapeModel.mxClientData.get(); }
252
254 virtual void finalizeFragmentImport();
255
257 OUString getShapeName() const;
258
260 virtual const ShapeType* getChildTypeById( const OUString& rShapeId ) const;
262 virtual const ShapeBase* getChildById( const OUString& rShapeId ) const;
263
265 css::uno::Reference< css::drawing::XShape >
266 convertAndInsert(
267 const css::uno::Reference< css::drawing::XShapes >& rxShapes,
268 const ShapeParentAnchor* pParentAnchor = nullptr ) const;
269
271 void convertFormatting(
272 const css::uno::Reference< css::drawing::XShape >& rxShape ) const;
273
274 void setContainer(ShapeContainer* pContainer);
275 ShapeContainer* getContainer() const;
276
277protected:
278 explicit ShapeBase( Drawing& rDrawing );
279
281 virtual css::uno::Reference< css::drawing::XShape >
283 const css::uno::Reference< css::drawing::XShapes >& rxShapes,
284 const css::awt::Rectangle& rShapeRect ) const = 0;
285
287 virtual css::uno::Reference<css::drawing::XShape> finalImplConvertAndInsert(
288 const css::uno::Reference<css::drawing::XShape>& rxShape) const
289 {
290 return rxShape;
291 };
292
295 css::awt::Rectangle calcShapeRectangle(
296 const ShapeParentAnchor* pParentAnchor ) const;
297
299 void convertShapeProperties(
300 const css::uno::Reference< css::drawing::XShape >& rxShape ) const;
301
302protected:
304 ShapeContainer* mpContainer = nullptr;
305};
306
307
309class SimpleShape : public ShapeBase
310{
311public:
312 explicit SimpleShape( Drawing& rDrawing, OUString aService );
313
314 void setService( const OUString& aService ) { maService = aService; }
315
316protected:
318 virtual css::uno::Reference< css::drawing::XShape >
320 const css::uno::Reference< css::drawing::XShapes >& rxShapes,
321 const css::awt::Rectangle& rShapeRect ) const override;
322 virtual css::uno::Reference<css::drawing::XShape> finalImplConvertAndInsert(
323 const css::uno::Reference<css::drawing::XShape>& rxShape) const override;
325 css::uno::Reference<css::drawing::XShape>createEmbeddedPictureObject(
326 const css::uno::Reference< css::drawing::XShapes >& rxShapes,
327 const css::awt::Rectangle& rShapeRect, OUString const & rGraphicPath ) const;
328
329 css::uno::Reference<css::drawing::XShape>createPictureObject(
330 const css::uno::Reference< css::drawing::XShapes >& rxShapes,
331 const css::awt::Rectangle& rShapeRect,
332 css::uno::Reference<css::graphic::XGraphic> const & rxGraphic) const;
333
334private:
335 OUString maService;
336};
337
338
340class RectangleShape final : public SimpleShape
341{
342public:
343 explicit RectangleShape( Drawing& rDrawing );
344private:
346 virtual css::uno::Reference<css::drawing::XShape>
348 const css::uno::Reference<css::drawing::XShapes>& rxShapes,
349 const css::awt::Rectangle& rShapeRect) const override;
350};
351
352
354class EllipseShape final : public SimpleShape
355{
356public:
357 explicit EllipseShape( Drawing& rDrawing );
358};
359
360
362class PolyLineShape final : public SimpleShape
363{
364public:
365 explicit PolyLineShape( Drawing& rDrawing );
366
367private:
369 virtual css::uno::Reference< css::drawing::XShape >
371 const css::uno::Reference< css::drawing::XShapes >& rxShapes,
372 const css::awt::Rectangle& rShapeRect ) const override;
373};
374
376class LineShape final : public SimpleShape
377{
378public:
379 explicit LineShape( Drawing& rDrawing );
380 virtual css::uno::Reference< css::drawing::XShape >
382 const css::uno::Reference< css::drawing::XShapes >& rxShapes,
383 const css::awt::Rectangle& rShapeRect ) const override;
384
385
386private:
388 virtual css::awt::Rectangle getAbsRectangle() const override;
390 virtual css::awt::Rectangle getRelRectangle() const override;
391};
392
395class BezierShape final : public SimpleShape
396{
397public:
398 explicit BezierShape( Drawing& rDrawing );
399
400private:
402 virtual css::uno::Reference< css::drawing::XShape >
404 const css::uno::Reference< css::drawing::XShapes >& rxShapes,
405 const css::awt::Rectangle& rShapeRect ) const override;
406};
407
408
411{
412public:
413 explicit CustomShape( Drawing& rDrawing );
414
415protected:
417 virtual css::uno::Reference< css::drawing::XShape >
419 const css::uno::Reference< css::drawing::XShapes >& rxShapes,
420 const css::awt::Rectangle& rShapeRect ) const override;
421};
422
423
426class ComplexShape final : public CustomShape
427{
428public:
429 explicit ComplexShape( Drawing& rDrawing );
430
431private:
433 virtual css::uno::Reference< css::drawing::XShape >
435 const css::uno::Reference< css::drawing::XShapes >& rxShapes,
436 const css::awt::Rectangle& rShapeRect ) const override;
437};
438
439
441class GroupShape final : public ShapeBase
442{
443public:
444 explicit GroupShape( Drawing& rDrawing );
445 virtual ~GroupShape() override;
446
450 const ShapeContainer& getChildren() const { return *mxChildren; }
451
453 virtual void finalizeFragmentImport() override;
454
456 virtual const ShapeType* getChildTypeById( const OUString& rShapeId ) const override;
458 virtual const ShapeBase* getChildById( const OUString& rShapeId ) const override;
459
460private:
462 virtual css::uno::Reference< css::drawing::XShape >
464 const css::uno::Reference< css::drawing::XShapes >& rxShapes,
465 const css::awt::Rectangle& rShapeRect ) const override;
466
467private:
468 std::unique_ptr<ShapeContainer> mxChildren;
469};
470
471
472} // namespace oox::vml
473
474#endif
475
476/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Bezier shape object that supports to, from, control1 and control2 attribute or path attribute specifi...
Definition: vmlshape.hxx:396
virtual css::uno::Reference< css::drawing::XShape > implConvertAndInsert(const css::uno::Reference< css::drawing::XShapes > &rxShapes, const css::awt::Rectangle &rShapeRect) const override
Creates the corresponding XShape and inserts it into the passed container.
Definition: vmlshape.cxx:1176
BezierShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1171
A complex shape object.
Definition: vmlshape.hxx:427
virtual css::uno::Reference< css::drawing::XShape > implConvertAndInsert(const css::uno::Reference< css::drawing::XShapes > &rxShapes, const css::awt::Rectangle &rShapeRect) const override
Creates the corresponding XShape and inserts it into the passed container.
Definition: vmlshape.cxx:1304
ComplexShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1299
A shape object with custom geometry.
Definition: vmlshape.hxx:411
CustomShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1276
virtual css::uno::Reference< css::drawing::XShape > implConvertAndInsert(const css::uno::Reference< css::drawing::XShapes > &rxShapes, const css::awt::Rectangle &rShapeRect) const override
Creates the corresponding XShape and inserts it into the passed container.
Definition: vmlshape.cxx:1281
Represents the collection of VML shapes for a complete draw page.
Definition: vmldrawing.hxx:94
An oval shape object.
Definition: vmlshape.hxx:355
EllipseShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1040
A group shape that extends the basic shape by a container of child shapes.
Definition: vmlshape.hxx:442
virtual css::uno::Reference< css::drawing::XShape > implConvertAndInsert(const css::uno::Reference< css::drawing::XShapes > &rxShapes, const css::awt::Rectangle &rShapeRect) const override
Creates the corresponding XShape and inserts it into the passed container.
Definition: vmlshape.cxx:1532
virtual const ShapeType * getChildTypeById(const OUString &rShapeId) const override
Returns the shape template with the passed identifier from the child shapes.
Definition: vmlshape.cxx:1522
ShapeContainer & getChildren()
Returns read/write access to the container of child shapes and templates.
Definition: vmlshape.hxx:448
virtual void finalizeFragmentImport() override
Final processing after import of the drawing fragment.
Definition: vmlshape.cxx:1514
const ShapeContainer & getChildren() const
Returns read access to the container of child shapes and templates.
Definition: vmlshape.hxx:450
virtual ~GroupShape() override
Definition: vmlshape.cxx:1510
std::unique_ptr< ShapeContainer > mxChildren
Shapes and templates that are part of this group.
Definition: vmlshape.hxx:468
virtual const ShapeBase * getChildById(const OUString &rShapeId) const override
Returns the shape with the passed identifier from the child shapes.
Definition: vmlshape.cxx:1527
GroupShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1504
A Line shape object.
Definition: vmlshape.hxx:377
LineShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1127
virtual css::uno::Reference< css::drawing::XShape > implConvertAndInsert(const css::uno::Reference< css::drawing::XShapes > &rxShapes, const css::awt::Rectangle &rShapeRect) const override
Creates the corresponding XShape and inserts it into the passed container.
Definition: vmlshape.cxx:1132
virtual css::awt::Rectangle getRelRectangle() const override
Returns the rectangle relative to the parent coordinate system.
Definition: vmlshape.cxx:1158
virtual css::awt::Rectangle getAbsRectangle() const override
Returns the absolute shape rectangle.
Definition: vmlshape.cxx:1144
A polygon shape object.
Definition: vmlshape.hxx:363
PolyLineShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1045
virtual css::uno::Reference< css::drawing::XShape > implConvertAndInsert(const css::uno::Reference< css::drawing::XShapes > &rxShapes, const css::awt::Rectangle &rShapeRect) const override
Creates the corresponding XShape and inserts it into the passed container.
Definition: vmlshape.cxx:1050
A rectangular shape object.
Definition: vmlshape.hxx:341
virtual css::uno::Reference< css::drawing::XShape > implConvertAndInsert(const css::uno::Reference< css::drawing::XShapes > &rxShapes, const css::awt::Rectangle &rShapeRect) const override
Creates the corresponding XShape and inserts it into the passed container.
Definition: vmlshape.cxx:1013
RectangleShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1008
A shape object that is part of a drawing.
Definition: vmlshape.hxx:241
virtual css::uno::Reference< css::drawing::XShape > finalImplConvertAndInsert(const css::uno::Reference< css::drawing::XShape > &rxShape) const
Always called after implConvertAndInsert for the same task.
Definition: vmlshape.hxx:287
const TextBox * getTextBox() const
Returns read access to the shape textbox.
Definition: vmlshape.hxx:249
const ShapeModel & getShapeModel() const
Returns read access to the shape model structure.
Definition: vmlshape.hxx:246
const ClientData * getClientData() const
Returns read access to the shape client data structure.
Definition: vmlshape.hxx:251
ShapeModel & getShapeModel()
Returns read/write access to the shape model structure.
Definition: vmlshape.hxx:244
virtual css::uno::Reference< css::drawing::XShape > implConvertAndInsert(const css::uno::Reference< css::drawing::XShapes > &rxShapes, const css::awt::Rectangle &rShapeRect) const =0
Derived classes create the corresponding XShape and insert it into the passed container.
ShapeModel maShapeModel
The model structure containing shape data.
Definition: vmlshape.hxx:303
Container that holds a list of shapes and shape templates.
A shape template contains all formatting properties of shapes and can serve as templates for several ...
Definition: vmlshape.hxx:131
ShapeTypeModel maTypeModel
The model structure containing shape type data.
Definition: vmlshape.hxx:162
const Drawing & getDrawing() const
Definition: vmlshape.hxx:148
const ShapeTypeModel & getTypeModel() const
Returns read access to the shape template model structure.
Definition: vmlshape.hxx:139
const OUString & getShapeId() const
Returns the shape identifier (which is unique through the containing drawing).
Definition: vmlshape.hxx:142
Drawing & mrDrawing
The VML drawing page that contains this shape.
Definition: vmlshape.hxx:161
ShapeTypeModel & getTypeModel()
Returns read/write access to the shape template model structure.
Definition: vmlshape.hxx:137
A simple shape object based on a specific UNO shape service.
Definition: vmlshape.hxx:310
css::uno::Reference< css::drawing::XShape > createEmbeddedPictureObject(const css::uno::Reference< css::drawing::XShapes > &rxShapes, const css::awt::Rectangle &rShapeRect, OUString const &rGraphicPath) const
Used by both RectangleShape and ComplexShape.
Definition: vmlshape.cxx:940
SimpleShape(Drawing &rDrawing, OUString aService)
Definition: vmlshape.cxx:574
void setService(const OUString &aService)
Definition: vmlshape.hxx:314
virtual css::uno::Reference< css::drawing::XShape > finalImplConvertAndInsert(const css::uno::Reference< css::drawing::XShape > &rxShape) const override
Always called after implConvertAndInsert for the same task.
Definition: vmlshape.cxx:912
OUString maService
Name of the UNO shape service.
Definition: vmlshape.hxx:335
virtual css::uno::Reference< css::drawing::XShape > implConvertAndInsert(const css::uno::Reference< css::drawing::XShapes > &rxShapes, const css::awt::Rectangle &rShapeRect) const override
Creates the corresponding XShape and inserts it into the passed container.
Definition: vmlshape.cxx:695
css::uno::Reference< css::drawing::XShape > createPictureObject(const css::uno::Reference< css::drawing::XShapes > &rxShapes, const css::awt::Rectangle &rShapeRect, css::uno::Reference< css::graphic::XGraphic > const &rxGraphic) const
Definition: vmlshape.cxx:946
The textbox contains all text contents and properties.
Definition: vmltextbox.hxx:80
#define OOX_DLLPUBLIC
Definition: dllapi.h:28
const sal_Int32 VML_CLIENTDATA_TEXT
Definition: vmlshape.hxx:52
const sal_Int32 VML_CLIENTDATA_NUMBER
Definition: vmlshape.hxx:54
const sal_Int32 VML_CLIENTDATA_UNCHECKED
Definition: vmlshape.hxx:48
const sal_Int32 VML_CLIENTDATA_REFERENCE
Definition: vmlshape.hxx:55
const sal_Int32 VML_CLIENTDATA_FORMULA
Definition: vmlshape.hxx:56
const sal_Int32 VML_CLIENTDATA_CHECKED
Definition: vmlshape.hxx:49
const sal_Int32 VML_CLIENTDATA_MIXED
Definition: vmlshape.hxx:50
const sal_Int32 VML_CLIENTDATA_INTEGER
Definition: vmlshape.hxx:53
Excel specific shape client data (such as cell anchor).
Definition: vmlshape.hxx:168
bool mbDde
True = object is linked through DDE.
Definition: vmlshape.hxx:192
sal_Int32 mnCol
Column index for spreadsheet cell note.
Definition: vmlshape.hxx:178
sal_Int32 mnInc
Small increment of spin buttons and scroll bars.
Definition: vmlshape.hxx:186
sal_Int32 mnDropStyle
Drop down box style (read-only or editable).
Definition: vmlshape.hxx:181
bool mbVisible
True = cell note is visible.
Definition: vmlshape.hxx:191
OUString maFmlaLink
Link to value cell associated to the control.
Definition: vmlshape.hxx:172
sal_Int32 mnObjType
Type of the shape.
Definition: vmlshape.hxx:175
bool mbVScroll
True = textbox has a vertical scrollbar.
Definition: vmlshape.hxx:196
bool mbNo3D2
True = flat style, false = 3D style (listboxes and dropdowns).
Definition: vmlshape.hxx:194
OUString maFmlaPict
Target cell range of picture links.
Definition: vmlshape.hxx:171
sal_Int32 mnSelType
Listbox selection type.
Definition: vmlshape.hxx:188
bool mbNo3D
True = flat style, false = 3D style.
Definition: vmlshape.hxx:193
bool mbPrintObject
True = print the object.
Definition: vmlshape.hxx:190
sal_Int32 mnTextHAlign
Horizontal text alignment.
Definition: vmlshape.hxx:176
bool mbMultiLine
True = textbox allows line breaks.
Definition: vmlshape.hxx:195
OUString maFmlaRange
Link to cell range used as data source for the control.
Definition: vmlshape.hxx:173
sal_Int32 mnVTEdit
Data type of the textbox.
Definition: vmlshape.hxx:189
sal_Int32 mnTextVAlign
Vertical text alignment.
Definition: vmlshape.hxx:177
sal_Int32 mnMax
Maximum value of spin buttons and scroll bars.
Definition: vmlshape.hxx:185
sal_Int32 mnPage
Large increment of spin buttons and scroll bars.
Definition: vmlshape.hxx:187
sal_Int32 mnDropLines
Number of lines in drop down box.
Definition: vmlshape.hxx:182
sal_Int32 mnRow
Row index for spreadsheet cell note.
Definition: vmlshape.hxx:179
OUString maAnchor
Cell anchor as comma-separated string.
Definition: vmlshape.hxx:169
sal_Int32 mnVal
Current value of spin buttons and scroll bars.
Definition: vmlshape.hxx:183
bool mbSecretEdit
True = textbox is a password edit field.
Definition: vmlshape.hxx:197
sal_Int32 mnMin
Minimum value of spin buttons and scroll bars.
Definition: vmlshape.hxx:184
OUString maFmlaGroup
Link to value cell associated to a group of option buttons.
Definition: vmlshape.hxx:174
OUString maFmlaMacro
Link to macro associated to the control.
Definition: vmlshape.hxx:170
sal_Int32 mnChecked
State for checkboxes and option buttons.
Definition: vmlshape.hxx:180
The fill model structure contains all shape fill properties.
The shadow model structure contains all shape shadow properties.
OUString maSignatureLineSuggestedSignerTitle
Definition: vmlshape.hxx:220
TextBox & createTextBox(ShapeTypeModel &rModel)
Creates and returns a new shape textbox structure.
Definition: vmlshape.cxx:272
std::unique_ptr< ClientData > mxClientData
Excel specific client data.
Definition: vmlshape.hxx:210
OUString maLegacyDiagramPath
Legacy Diagram Fragment Path.
Definition: vmlshape.hxx:211
OUString maSignatureLineSuggestedSignerName
Definition: vmlshape.hxx:219
PointVector maPoints
Points for the polyline shape.
Definition: vmlshape.hxx:208
OUString maHyperlink
The hyperlink assigned to the shape.
Definition: vmlshape.hxx:226
::std::vector< css::awt::Point > PointVector
Definition: vmlshape.hxx:205
bool mbSignatureLineCanAddComment
Definition: vmlshape.hxx:224
OUString maControl2
Bezier control point 2.
Definition: vmlshape.hxx:215
OUString maVmlPath
VML path for this shape.
Definition: vmlshape.hxx:216
bool mbIsSignatureLine
Shape is a signature line.
Definition: vmlshape.hxx:217
std::unique_ptr< TextBox > mxTextBox
Text contents and properties.
Definition: vmlshape.hxx:209
OUString maType
Shape template with default properties.
Definition: vmlshape.hxx:207
bool mbSignatureLineShowSignDate
Definition: vmlshape.hxx:223
OUString maSignatureLineSuggestedSignerEmail
Definition: vmlshape.hxx:221
ClientData & createClientData()
Creates and returns a new shape client data structure.
Definition: vmlshape.cxx:278
OUString maControl1
Bezier control point 1.
Definition: vmlshape.hxx:214
OUString maTo
End point for line shape.
Definition: vmlshape.hxx:213
OUString maSignatureLineSigningInstructions
Definition: vmlshape.hxx:222
OUString maSignatureId
ID of the signature.
Definition: vmlshape.hxx:218
OUString maFrom
Start point for line shape.
Definition: vmlshape.hxx:212
The shape model structure contains all properties shared by all types of shapes.
Definition: vmlshape.hxx:61
void assignUsed(const ShapeTypeModel &rSource)
Definition: vmlshape.cxx:138
OUString maHeightPercent
The height in percents of the HeightRelative.
Definition: vmlshape.hxx:82
OUString maWrapDistanceTop
Distance from the top of the shape to the text that wraps around it.
Definition: vmlshape.hxx:108
OUString maPosition
Position type of the shape.
Definition: vmlshape.hxx:69
OUString maShapeName
Name of the shape, if present.
Definition: vmlshape.hxx:64
OUString maFlip
Flip type of the shape (can be "x" or "y").
Definition: vmlshape.hxx:86
ShadowModel maShadowModel
Shape shadow formatting.
Definition: vmlshape.hxx:96
OUString maPositionVertical
The Y position orientation.
Definition: vmlshape.hxx:80
std::optional< Int32Pair > moCoordPos
Top-left position of coordinate system for children scaling.
Definition: vmlshape.hxx:67
OUString maHeightRelative
To what the height is relative.
Definition: vmlshape.hxx:84
std::optional< Int32Pair > moCoordSize
Size of coordinate system for children scaling.
Definition: vmlshape.hxx:68
FillModel maFillModel
Shape fill formatting.
Definition: vmlshape.hxx:95
OUString maTop
Y position of the shape bounding box (number with unit).
Definition: vmlshape.hxx:72
std::optional< OUString > moGraphicTitle
Title of the graphic.
Definition: vmlshape.hxx:100
OUString maWrapDistanceRight
Distance from the right side of the shape to the text that wraps around it.
Definition: vmlshape.hxx:107
bool mbVisible
Visible or Hidden.
Definition: vmlshape.hxx:88
OUString maEditAs
Edit As type (e.g. "canvas" etc)
Definition: vmlshape.hxx:91
OUString maWrapStyle
Wrapping mode for text.
Definition: vmlshape.hxx:89
std::optional< OUString > moGraphicPath
Path to a graphic for this shape.
Definition: vmlshape.hxx:99
std::optional< OUString > moCropLeft
Specifies how much to crop the image from the left in as a fraction of picture size.
Definition: vmlshape.hxx:111
std::optional< OUString > moCropTop
Specifies how much to crop the image from the top down as a fraction of picture size.
Definition: vmlshape.hxx:113
std::optional< OUString > moWrapAnchorY
The base object from which our vertical positioning should be calculated.
Definition: vmlshape.hxx:102
std::optional< OUString > moCropRight
Specifies how much to crop the image from the right in as a fraction of picture size.
Definition: vmlshape.hxx:112
OUString maRotation
Rotation of the shape, in degrees.
Definition: vmlshape.hxx:85
OUString maHeight
Height of the shape bounding box (number with unit).
Definition: vmlshape.hxx:74
OUString maAdjustments
Shape adjustment values.
Definition: vmlshape.hxx:92
sal_Int16 mnBlacklevel
The image brightness, on a 0..0x10000 scale.
Definition: vmlshape.hxx:120
bool mbAutoHeight
If true, the height value is a minimum value (mostly used for textboxes)
Definition: vmlshape.hxx:87
std::optional< OUString > moWrapType
How to wrap the text around the object.
Definition: vmlshape.hxx:103
OUString maShapeId
Unique identifier of the shape.
Definition: vmlshape.hxx:62
OUString maWidthPercent
The width in percents of the WidthRelative.
Definition: vmlshape.hxx:81
StrokeModel maStrokeModel
Border line formatting.
Definition: vmlshape.hxx:94
std::optional< OUString > moWrapAnchorX
The base object from which our horizontal positioning should be calculated.
Definition: vmlshape.hxx:101
OUString maPositionVerticalRelative
The Y position is relative to this.
Definition: vmlshape.hxx:78
OUString maWidth
Width of the shape bounding box (number with unit).
Definition: vmlshape.hxx:73
OUString maLeft
X position of the shape bounding box (number with unit).
Definition: vmlshape.hxx:71
OUString maMarginTop
Y position of the shape bounding box to shape anchor (number with unit).
Definition: vmlshape.hxx:76
std::optional< OUString > moWrapSide
On which side to wrap the text around the object.
Definition: vmlshape.hxx:104
OUString maPositionHorizontalRelative
The X position is relative to this.
Definition: vmlshape.hxx:77
OUString maArcsize
round rectangles arc size
Definition: vmlshape.hxx:90
OUString maZIndex
ZIndex of the shape.
Definition: vmlshape.hxx:70
std::optional< OUString > moCropBottom
Specifies the how much to crop the image from the bottom up as a fraction of picture size.
Definition: vmlshape.hxx:110
OUString maWidthRelative
To what the width is relative.
Definition: vmlshape.hxx:83
OUString maVTextAnchor
How the text inside the shape is anchored vertically.
Definition: vmlshape.hxx:105
OUString maLegacyId
Plaintext identifier of the shape.
Definition: vmlshape.hxx:63
OUString maPositionHorizontal
The X position orientation (default: absolute).
Definition: vmlshape.hxx:79
OUString maLayoutFlowAlt
Specifies the alternate layout flow for text in textboxes.
Definition: vmlshape.hxx:114
OUString maWrapDistanceBottom
Distance from the bottom of the shape to the text that wraps around it.
Definition: vmlshape.hxx:109
std::optional< sal_Int32 > moShapeType
Builtin shape type identifier.
Definition: vmlshape.hxx:65
OUString maMarginLeft
X position of the shape bounding box to shape anchor (number with unit).
Definition: vmlshape.hxx:75
OUString maWrapDistanceLeft
Distance from the left side of the shape to the text that wraps around it.
Definition: vmlshape.hxx:106
TextpathModel maTextpathModel
Shape textpath formatting.
Definition: vmlshape.hxx:97
sal_Int32 mnGain
An adjustment for the intensity of all colors, i.e. contrast, on a 0..0x10000 scale.
Definition: vmlshape.hxx:117
The stroke model structure contains all shape border properties.
The shadow model structure contains all shape textpath properties.
TextBox