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 
34 namespace 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 
41 namespace oox::vml {
42 
43 class Drawing;
44 struct ShapeParentAnchor;
45 class ShapeContainer;
46 class TextBox;
47 
48 const sal_Int32 VML_CLIENTDATA_UNCHECKED = 0;
49 const sal_Int32 VML_CLIENTDATA_CHECKED = 1;
50 const sal_Int32 VML_CLIENTDATA_MIXED = 2;
51 
52 const sal_Int32 VML_CLIENTDATA_TEXT = 0;
53 const sal_Int32 VML_CLIENTDATA_INTEGER = 1;
54 const sal_Int32 VML_CLIENTDATA_NUMBER = 2;
55 const sal_Int32 VML_CLIENTDATA_REFERENCE = 3;
56 const sal_Int32 VML_CLIENTDATA_FORMULA = 4;
57 
58 
61 {
62  OUString maShapeId;
63  OUString maLegacyId;
64  OUString maShapeName;
66 
69  OUString maPosition;
70  OUString maZIndex;
71  OUString maLeft;
72  OUString maTop;
73  OUString maWidth;
74  OUString maHeight;
75  OUString maMarginLeft;
76  OUString maMarginTop;
80  OUString maPositionVertical;
81  OUString maWidthPercent;
82  OUString maHeightPercent;
83  OUString maWidthRelative;
84  OUString maHeightRelative;
85  OUString maRotation;
86  OUString maFlip;
87  bool mbAutoHeight;
88  bool mbVisible;
89  OUString maWrapStyle;
90  OUString maArcsize;
91  OUString maEditAs;
92  OUString maAdjustments;
93 
98 
105  OUString maVTextAnchor;
108  OUString maWrapDistanceTop;
114  OUString maLayoutFlowAlt;
115 
116  explicit ShapeTypeModel();
117 
118  void assignUsed( const ShapeTypeModel& rSource );
119 };
120 
121 
124 class SAL_DLLPUBLIC_RTTI ShapeType
125 {
126 public:
127  explicit ShapeType( Drawing& rDrawing );
128  virtual ~ShapeType();
129 
131  ShapeTypeModel& getTypeModel() { return maTypeModel; }
133  const ShapeTypeModel& getTypeModel() const { return maTypeModel; }
134 
136  const OUString& getShapeId() const { return maTypeModel.maShapeId; }
138  sal_Int32 getShapeType() const;
140  OUString getGraphicPath() const;
141 
142  const Drawing& getDrawing() const { return mrDrawing; }
143 
144 protected:
146  css::awt::Rectangle getCoordSystem() const;
148  css::awt::Rectangle getRectangle( const ShapeParentAnchor* pParentAnchor ) const;
150  virtual css::awt::Rectangle getAbsRectangle() const;
152  virtual css::awt::Rectangle getRelRectangle() const;
153 
154 protected:
157 };
158 
159 
162 {
163  OUString maAnchor;
164  OUString maFmlaMacro;
165  OUString maFmlaPict;
166  OUString maFmlaLink;
167  OUString maFmlaRange;
168  OUString maFmlaGroup;
169  sal_Int32 mnObjType;
170  sal_Int32 mnTextHAlign;
171  sal_Int32 mnTextVAlign;
172  sal_Int32 mnCol;
173  sal_Int32 mnRow;
174  sal_Int32 mnChecked;
175  sal_Int32 mnDropStyle;
176  sal_Int32 mnDropLines;
177  sal_Int32 mnVal;
178  sal_Int32 mnMin;
179  sal_Int32 mnMax;
180  sal_Int32 mnInc;
181  sal_Int32 mnPage;
182  sal_Int32 mnSelType;
183  sal_Int32 mnVTEdit;
185  bool mbVisible;
186  bool mbDde;
187  bool mbNo3D;
188  bool mbNo3D2;
189  bool mbMultiLine;
190  bool mbVScroll;
192 
193  explicit ClientData();
194 };
195 
196 
198 {
199  typedef ::std::vector< css::awt::Point > PointVector;
200 
201  OUString maType;
202  PointVector maPoints;
203  std::unique_ptr<TextBox> mxTextBox;
204  std::unique_ptr<ClientData> mxClientData;
206  OUString maFrom;
207  OUString maTo;
208  OUString maControl1;
209  OUString maControl2;
210  OUString maVmlPath;
212  OUString maSignatureId;
219  bool mbInGroup;
220 
221  explicit ShapeModel();
222  ~ShapeModel();
223 
228 };
229 
230 
234 {
235 public:
237  ShapeModel& getShapeModel() { return maShapeModel; }
239  const ShapeModel& getShapeModel() const { return maShapeModel; }
240 
242  const TextBox* getTextBox() const { return maShapeModel.mxTextBox.get(); }
244  const ClientData* getClientData() const { return maShapeModel.mxClientData.get(); }
245 
247  virtual void finalizeFragmentImport();
248 
250  OUString getShapeName() const;
251 
253  virtual const ShapeType* getChildTypeById( const OUString& rShapeId ) const;
255  virtual const ShapeBase* getChildById( const OUString& rShapeId ) const;
256 
258  css::uno::Reference< css::drawing::XShape >
259  convertAndInsert(
260  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
261  const ShapeParentAnchor* pParentAnchor = nullptr ) const;
262 
264  void convertFormatting(
265  const css::uno::Reference< css::drawing::XShape >& rxShape ) const;
266 
267  void setContainer(ShapeContainer* pContainer);
268  ShapeContainer* getContainer() const;
269 
270 protected:
271  explicit ShapeBase( Drawing& rDrawing );
272 
274  virtual css::uno::Reference< css::drawing::XShape >
275  implConvertAndInsert(
276  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
277  const css::awt::Rectangle& rShapeRect ) const = 0;
278 
280  virtual css::uno::Reference<css::drawing::XShape> finalImplConvertAndInsert(
281  const css::uno::Reference<css::drawing::XShape>& rxShape) const
282  {
283  return rxShape;
284  };
285 
288  css::awt::Rectangle calcShapeRectangle(
289  const ShapeParentAnchor* pParentAnchor ) const;
290 
292  void convertShapeProperties(
293  const css::uno::Reference< css::drawing::XShape >& rxShape ) const;
294 
295 protected:
297  ShapeContainer* mpContainer = nullptr;
298 };
299 
300 
302 class SimpleShape : public ShapeBase
303 {
304 public:
305  explicit SimpleShape( Drawing& rDrawing, const OUString& rService );
306 
307  void setService( const OUString& aService ) { maService = aService; }
308 
309 protected:
311  virtual css::uno::Reference< css::drawing::XShape >
313  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
314  const css::awt::Rectangle& rShapeRect ) const override;
315  virtual css::uno::Reference<css::drawing::XShape> finalImplConvertAndInsert(
316  const css::uno::Reference<css::drawing::XShape>& rxShape) const override;
318  css::uno::Reference<css::drawing::XShape>createEmbeddedPictureObject(
319  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
320  const css::awt::Rectangle& rShapeRect, OUString const & rGraphicPath ) const;
321 
322  css::uno::Reference<css::drawing::XShape>createPictureObject(
323  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
324  const css::awt::Rectangle& rShapeRect,
325  css::uno::Reference<css::graphic::XGraphic> const & rxGraphic) const;
326 
327 private:
328  OUString maService;
329 };
330 
331 
333 class RectangleShape final : public SimpleShape
334 {
335 public:
336  explicit RectangleShape( Drawing& rDrawing );
337 private:
339  virtual css::uno::Reference<css::drawing::XShape>
341  const css::uno::Reference<css::drawing::XShapes>& rxShapes,
342  const css::awt::Rectangle& rShapeRect) const override;
343 };
344 
345 
347 class EllipseShape final : public SimpleShape
348 {
349 public:
350  explicit EllipseShape( Drawing& rDrawing );
351 };
352 
353 
355 class PolyLineShape final : public SimpleShape
356 {
357 public:
358  explicit PolyLineShape( Drawing& rDrawing );
359 
360 private:
362  virtual css::uno::Reference< css::drawing::XShape >
364  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
365  const css::awt::Rectangle& rShapeRect ) const override;
366 };
367 
369 class LineShape final : public SimpleShape
370 {
371 public:
372  explicit LineShape( Drawing& rDrawing );
373  virtual css::uno::Reference< css::drawing::XShape >
375  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
376  const css::awt::Rectangle& rShapeRect ) const override;
377 
378 
379 private:
381  virtual css::awt::Rectangle getAbsRectangle() const override;
383  virtual css::awt::Rectangle getRelRectangle() const override;
384 };
385 
388 class BezierShape final : public SimpleShape
389 {
390 public:
391  explicit BezierShape( Drawing& rDrawing );
392 
393 private:
395  virtual css::uno::Reference< css::drawing::XShape >
397  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
398  const css::awt::Rectangle& rShapeRect ) const override;
399 };
400 
401 
403 class CustomShape : public SimpleShape
404 {
405 public:
406  explicit CustomShape( Drawing& rDrawing );
407 
408 protected:
410  virtual css::uno::Reference< css::drawing::XShape >
412  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
413  const css::awt::Rectangle& rShapeRect ) const override;
414 };
415 
416 
419 class ComplexShape final : public CustomShape
420 {
421 public:
422  explicit ComplexShape( Drawing& rDrawing );
423 
424 private:
426  virtual css::uno::Reference< css::drawing::XShape >
428  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
429  const css::awt::Rectangle& rShapeRect ) const override;
430 };
431 
432 
434 class GroupShape final : public ShapeBase
435 {
436 public:
437  explicit GroupShape( Drawing& rDrawing );
438  virtual ~GroupShape() override;
439 
443  const ShapeContainer& getChildren() const { return *mxChildren; }
444 
446  virtual void finalizeFragmentImport() override;
447 
449  virtual const ShapeType* getChildTypeById( const OUString& rShapeId ) const override;
451  virtual const ShapeBase* getChildById( const OUString& rShapeId ) const override;
452 
453 private:
455  virtual css::uno::Reference< css::drawing::XShape >
457  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
458  const css::awt::Rectangle& rShapeRect ) const override;
459 
460 private:
461  std::unique_ptr<ShapeContainer> mxChildren;
462 };
463 
464 
465 } // namespace oox::vml
466 
467 #endif
468 
469 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
sal_Int32 mnCol
Column index for spreadsheet cell note.
Definition: vmlshape.hxx:172
The shape model structure contains all properties shared by all types of shapes.
Definition: vmlshape.hxx:60
sal_Int32 mnMin
Minimum value of spin buttons and scroll bars.
Definition: vmlshape.hxx:178
OptValue< OUString > moGraphicTitle
Title of the graphic.
Definition: vmlshape.hxx:100
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:280
const TextBox * getTextBox() const
Returns read access to the shape textbox.
Definition: vmlshape.hxx:242
bool mbNo3D
True = flat style, false = 3D style.
Definition: vmlshape.hxx:187
std::unique_ptr< ClientData > mxClientData
Excel specific client data.
Definition: vmlshape.hxx:204
ShapeModel maShapeModel
The model structure containing shape data.
Definition: vmlshape.hxx:296
A shape object that is part of a drawing.
Definition: vmlshape.hxx:233
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:1030
OUString maZIndex
ZIndex of the shape.
Definition: vmlshape.hxx:70
sal_Int32 mnDropLines
Number of lines in drop down box.
Definition: vmlshape.hxx:176
BezierShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1139
OUString maSignatureId
ID of the signature.
Definition: vmlshape.hxx:212
bool mbDde
True = object is linked through DDE.
Definition: vmlshape.hxx:186
OUString maTop
Y position of the shape bounding box (number with unit).
Definition: vmlshape.hxx:72
OUString maPositionVertical
The Y position orientation.
Definition: vmlshape.hxx:80
OUString maFmlaLink
Link to value cell associated to the control.
Definition: vmlshape.hxx:166
bool mbIsSignatureLine
Shape is a signature line.
Definition: vmlshape.hxx:211
The stroke model structure contains all shape border properties.
Excel specific shape client data (such as cell anchor).
Definition: vmlshape.hxx:161
OUString maSignatureLineSuggestedSignerName
Definition: vmlshape.hxx:213
OUString maFmlaMacro
Link to macro associated to the control.
Definition: vmlshape.hxx:164
A shape template contains all formatting properties of shapes and can serve as templates for several ...
Definition: vmlshape.hxx:124
exports com.sun.star. awt
exports com.sun.star. graphic
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:1144
OUString maHeight
Height of the shape bounding box (number with unit).
Definition: vmlshape.hxx:74
OUString maService
Name of the UNO shape service.
Definition: vmlshape.hxx:328
bool mbVScroll
True = textbox has a vertical scrollbar.
Definition: vmlshape.hxx:190
OUString maMarginTop
Y position of the shape bounding box to shape anchor (number with unit).
Definition: vmlshape.hxx:76
OUString maHeightPercent
The height in percents of the HeightRelative.
Definition: vmlshape.hxx:82
const sal_Int32 VML_CLIENTDATA_UNCHECKED
Definition: vmlshape.hxx:48
sal_Int32 mnPage
Large increment of spin buttons and scroll bars.
Definition: vmlshape.hxx:181
OUString maFmlaRange
Link to cell range used as data source for the control.
Definition: vmlshape.hxx:167
OUString maLegacyId
Plaintext identifier of the shape.
Definition: vmlshape.hxx:63
const sal_Int32 VML_CLIENTDATA_NUMBER
Definition: vmlshape.hxx:54
OUString maWidthRelative
To what the width is relative.
Definition: vmlshape.hxx:83
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:1498
OptValue< sal_Int32 > moShapeType
Builtin shape type identifier.
Definition: vmlshape.hxx:65
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:1100
OUString maFmlaPict
Target cell range of picture links.
Definition: vmlshape.hxx:165
EllipseShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1020
virtual css::awt::Rectangle getRelRectangle() const override
Returns the rectangle relative to the parent coordinate system.
Definition: vmlshape.cxx:1126
RectangleShape(Drawing &rDrawing)
Definition: vmlshape.cxx:988
const ShapeModel & getShapeModel() const
Returns read access to the shape model structure.
Definition: vmlshape.hxx:239
A Line shape object.
Definition: vmlshape.hxx:369
OUString maVmlPath
VML path for this shape.
Definition: vmlshape.hxx:210
OUString maEditAs
Edit As type (e.g. "canvas" etc)
Definition: vmlshape.hxx:91
OUString maType
Shape template with default properties.
Definition: vmlshape.hxx:201
bool mbSecretEdit
True = textbox is a password edit field.
Definition: vmlshape.hxx:191
TextBox & createTextBox(ShapeTypeModel &rModel)
Creates and returns a new shape textbox structure.
Definition: vmlshape.cxx:271
OUString maWrapDistanceLeft
Distance from the left side of the shape to the text that wraps around it.
Definition: vmlshape.hxx:106
const OUString & getShapeId() const
Returns the shape identifier (which is unique through the containing drawing).
Definition: vmlshape.hxx:136
sal_Int32 mnRow
Row index for spreadsheet cell note.
Definition: vmlshape.hxx:173
The fill model structure contains all shape fill properties.
Bezier shape object that supports to, from, control1 and control2 attribute or path attribute specifi...
Definition: vmlshape.hxx:388
bool mbSignatureLineCanAddComment
Definition: vmlshape.hxx:218
OptValue< Int32Pair > moCoordPos
Top-left position of coordinate system for children scaling.
Definition: vmlshape.hxx:67
exports com.sun.star. drawing
virtual ~GroupShape() override
Definition: vmlshape.cxx:1476
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:898
ShapeContainer & getChildren()
Returns read/write access to the container of child shapes and templates.
Definition: vmlshape.hxx:441
sal_Int32 mnDropStyle
Drop down box style (read-only or editable).
Definition: vmlshape.hxx:175
sal_Int32 mnVTEdit
Data type of the textbox.
Definition: vmlshape.hxx:183
sal_Int32 mnMax
Maximum value of spin buttons and scroll bars.
Definition: vmlshape.hxx:179
StrokeModel maStrokeModel
Border line formatting.
Definition: vmlshape.hxx:94
const sal_Int32 VML_CLIENTDATA_MIXED
Definition: vmlshape.hxx:50
std::unique_ptr< TextBox > mxTextBox
Text contents and properties.
Definition: vmlshape.hxx:203
bool mbVisible
True = cell note is visible.
Definition: vmlshape.hxx:185
CustomShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1242
OUString maHeightRelative
To what the height is relative.
Definition: vmlshape.hxx:84
OUString maAnchor
Cell anchor as comma-separated string.
Definition: vmlshape.hxx:163
const sal_Int32 VML_CLIENTDATA_REFERENCE
Definition: vmlshape.hxx:55
sal_Int32 mnSelType
Listbox selection type.
Definition: vmlshape.hxx:182
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:932
OptValue< OUString > moWrapAnchorY
The base object from which our vertical positioning should be calculated.
Definition: vmlshape.hxx:102
bool mbVisible
Visible or Hidden.
Definition: vmlshape.hxx:88
OUString maAdjustments
Shape adjustment values.
Definition: vmlshape.hxx:92
ShapeTypeModel & getTypeModel()
Returns read/write access to the shape template model structure.
Definition: vmlshape.hxx:131
Container that holds a list of shapes and shape templates.
sal_Int32 mnTextVAlign
Vertical text alignment.
Definition: vmlshape.hxx:171
OUString maControl1
Bezier control point 1.
Definition: vmlshape.hxx:208
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:1247
OUString maPositionHorizontalRelative
The X position is relative to this.
Definition: vmlshape.hxx:77
void assignUsed(const ShapeTypeModel &rSource)
Definition: vmlshape.cxx:137
sal_Int32 mnInc
Small increment of spin buttons and scroll bars.
Definition: vmlshape.hxx:180
OUString maPositionVerticalRelative
The Y position is relative to this.
Definition: vmlshape.hxx:78
The textbox contains all text contents and properties.
Definition: vmltextbox.hxx:79
const sal_Int32 VML_CLIENTDATA_FORMULA
Definition: vmlshape.hxx:56
A polygon shape object.
Definition: vmlshape.hxx:355
ClientData & createClientData()
Creates and returns a new shape client data structure.
Definition: vmlshape.cxx:277
virtual css::awt::Rectangle getAbsRectangle() const override
Returns the absolute shape rectangle.
Definition: vmlshape.cxx:1112
OUString maRotation
Rotation of the shape, in degrees.
Definition: vmlshape.hxx:85
OUString maLegacyDiagramPath
Legacy Diagram Fragment Path.
Definition: vmlshape.hxx:205
bool mbMultiLine
True = textbox allows line breaks.
Definition: vmlshape.hxx:189
ComplexShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1265
OptValue< OUString > moWrapAnchorX
The base object from which our horizontal positioning should be calculated.
Definition: vmlshape.hxx:101
OUString maSignatureLineSuggestedSignerTitle
Definition: vmlshape.hxx:214
OUString maFlip
Flip type of the shape (can be "x" or "y").
Definition: vmlshape.hxx:86
OptValue< OUString > moWrapSide
On which side to wrap the text around the object.
Definition: vmlshape.hxx:104
A group shape that extends the basic shape by a container of child shapes.
Definition: vmlshape.hxx:434
const sal_Int32 VML_CLIENTDATA_INTEGER
Definition: vmlshape.hxx:53
bool mbSignatureLineShowSignDate
Definition: vmlshape.hxx:217
bool mbNo3D2
True = flat style, false = 3D style (listboxes and dropdowns).
Definition: vmlshape.hxx:188
ShadowModel maShadowModel
Shape shadow formatting.
Definition: vmlshape.hxx:96
::std::vector< css::awt::Point > PointVector
Definition: vmlshape.hxx:199
sal_Int32 mnChecked
State for checkboxes and option buttons.
Definition: vmlshape.hxx:174
OUString maArcsize
round rectangles arc size
Definition: vmlshape.hxx:90
const ShapeTypeModel & getTypeModel() const
Returns read access to the shape template model structure.
Definition: vmlshape.hxx:133
const sal_Int32 VML_CLIENTDATA_TEXT
Definition: vmlshape.hxx:52
OUString maSignatureLineSigningInstructions
Definition: vmlshape.hxx:216
A simple shape object based on a specific UNO shape service.
Definition: vmlshape.hxx:302
OptValue< OUString > moCropTop
Specifies how much to crop the image from the top down as a fraction of picture size.
Definition: vmlshape.hxx:113
virtual void finalizeFragmentImport() override
Final processing after import of the drawing fragment.
Definition: vmlshape.cxx:1480
OUString maWrapDistanceRight
Distance from the right side of the shape to the text that wraps around it.
Definition: vmlshape.hxx:107
OUString maWidth
Width of the shape bounding box (number with unit).
Definition: vmlshape.hxx:73
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:689
A complex shape object.
Definition: vmlshape.hxx:419
OptValue< OUString > moGraphicPath
Path to a graphic for this shape.
Definition: vmlshape.hxx:99
const ClientData * getClientData() const
Returns read access to the shape client data structure.
Definition: vmlshape.hxx:244
OUString maWrapStyle
Wrapping mode for text.
Definition: vmlshape.hxx:89
OUString maLeft
X position of the shape bounding box (number with unit).
Definition: vmlshape.hxx:71
std::unique_ptr< ShapeContainer > mxChildren
Shapes and templates that are part of this group.
Definition: vmlshape.hxx:461
The shadow model structure contains all shape shadow properties.
OptValue< OUString > moCropBottom
Specifies the how much to crop the image from the bottom up as a fraction of picture size...
Definition: vmlshape.hxx:110
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:993
OUString maFrom
Start point for line shape.
Definition: vmlshape.hxx:206
bool mbPrintObject
True = print the object.
Definition: vmlshape.hxx:184
OUString maWrapDistanceTop
Distance from the top of the shape to the text that wraps around it.
Definition: vmlshape.hxx:108
virtual const ShapeType * getChildTypeById(const OUString &rShapeId) const override
Returns the shape template with the passed identifier from the child shapes.
Definition: vmlshape.cxx:1488
OUString maControl2
Bezier control point 2.
Definition: vmlshape.hxx:209
sal_Int32 mnVal
Current value of spin buttons and scroll bars.
Definition: vmlshape.hxx:177
OptValue< OUString > moWrapType
How to wrap the text around the object.
Definition: vmlshape.hxx:103
LineShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1095
OUString maMarginLeft
X position of the shape bounding box to shape anchor (number with unit).
Definition: vmlshape.hxx:75
OUString maFmlaGroup
Link to value cell associated to a group of option buttons.
Definition: vmlshape.hxx:168
OUString maSignatureLineSuggestedSignerEmail
Definition: vmlshape.hxx:215
Drawing & mrDrawing
The VML drawing page that contains this shape.
Definition: vmlshape.hxx:155
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:926
SimpleShape(Drawing &rDrawing, const OUString &rService)
Definition: vmlshape.cxx:570
TextBox
PolyLineShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1025
const ShapeContainer & getChildren() const
Returns read access to the container of child shapes and templates.
Definition: vmlshape.hxx:443
#define OOX_DLLPUBLIC
Definition: dllapi.h:28
Represents the collection of VML shapes for a complete draw page.
Definition: vmldrawing.hxx:93
OUString maShapeId
Unique identifier of the shape.
Definition: vmlshape.hxx:62
virtual const ShapeBase * getChildById(const OUString &rShapeId) const override
Returns the shape with the passed identifier from the child shapes.
Definition: vmlshape.cxx:1493
An oval shape object.
Definition: vmlshape.hxx:347
ShapeModel & getShapeModel()
Returns read/write access to the shape model structure.
Definition: vmlshape.hxx:237
void setService(const OUString &aService)
Definition: vmlshape.hxx:307
GroupShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1470
The shadow model structure contains all shape textpath properties.
OUString maWrapDistanceBottom
Distance from the bottom of the shape to the text that wraps around it.
Definition: vmlshape.hxx:109
OptValue< Int32Pair > moCoordSize
Size of coordinate system for children scaling.
Definition: vmlshape.hxx:68
A rectangular shape object.
Definition: vmlshape.hxx:333
sal_Int32 mnTextHAlign
Horizontal text alignment.
Definition: vmlshape.hxx:170
OUString maVTextAnchor
How the text inside the shape is anchored vertically.
Definition: vmlshape.hxx:105
ShapeTypeModel maTypeModel
The model structure containing shape type data.
Definition: vmlshape.hxx:156
FillModel maFillModel
Shape fill formatting.
Definition: vmlshape.hxx:95
OUString maPosition
Position type of the shape.
Definition: vmlshape.hxx:69
OUString maLayoutFlowAlt
Specifies the alternate layout flow for text in textboxes.
Definition: vmlshape.hxx:114
A shape object with custom geometry.
Definition: vmlshape.hxx:403
OUString maTo
End point for line shape.
Definition: vmlshape.hxx:207
OptValue< OUString > moCropLeft
Specifies how much to crop the image from the left in as a fraction of picture size.
Definition: vmlshape.hxx:111
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:1270
const sal_Int32 VML_CLIENTDATA_CHECKED
Definition: vmlshape.hxx:49
OUString maShapeName
Name of the shape, if present.
Definition: vmlshape.hxx:64
OUString maPositionHorizontal
The X position orientation (default: absolute).
Definition: vmlshape.hxx:79
bool mbAutoHeight
If true, the height value is a minimum value (mostly used for textboxes)
Definition: vmlshape.hxx:87
OUString maWidthPercent
The width in percents of the WidthRelative.
Definition: vmlshape.hxx:81
sal_Int32 mnObjType
Type of the shape.
Definition: vmlshape.hxx:169
OptValue< OUString > moCropRight
Specifies how much to crop the image from the right in as a fraction of picture size.
Definition: vmlshape.hxx:112
const Drawing & getDrawing() const
Definition: vmlshape.hxx:142
TextpathModel maTextpathModel
Shape textpath formatting.
Definition: vmlshape.hxx:97
PointVector maPoints
Points for the polyline shape.
Definition: vmlshape.hxx:202