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  OUString maHyperlink;
221 
222  explicit ShapeModel();
223  ~ShapeModel();
224 
229 };
230 
231 
235 {
236 public:
238  ShapeModel& getShapeModel() { return maShapeModel; }
240  const ShapeModel& getShapeModel() const { return maShapeModel; }
241 
243  const TextBox* getTextBox() const { return maShapeModel.mxTextBox.get(); }
245  const ClientData* getClientData() const { return maShapeModel.mxClientData.get(); }
246 
248  virtual void finalizeFragmentImport();
249 
251  OUString getShapeName() const;
252 
254  virtual const ShapeType* getChildTypeById( const OUString& rShapeId ) const;
256  virtual const ShapeBase* getChildById( const OUString& rShapeId ) const;
257 
259  css::uno::Reference< css::drawing::XShape >
260  convertAndInsert(
261  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
262  const ShapeParentAnchor* pParentAnchor = nullptr ) const;
263 
265  void convertFormatting(
266  const css::uno::Reference< css::drawing::XShape >& rxShape ) const;
267 
268  void setContainer(ShapeContainer* pContainer);
269  ShapeContainer* getContainer() const;
270 
271 protected:
272  explicit ShapeBase( Drawing& rDrawing );
273 
275  virtual css::uno::Reference< css::drawing::XShape >
276  implConvertAndInsert(
277  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
278  const css::awt::Rectangle& rShapeRect ) const = 0;
279 
281  virtual css::uno::Reference<css::drawing::XShape> finalImplConvertAndInsert(
282  const css::uno::Reference<css::drawing::XShape>& rxShape) const
283  {
284  return rxShape;
285  };
286 
289  css::awt::Rectangle calcShapeRectangle(
290  const ShapeParentAnchor* pParentAnchor ) const;
291 
293  void convertShapeProperties(
294  const css::uno::Reference< css::drawing::XShape >& rxShape ) const;
295 
296 protected:
298  ShapeContainer* mpContainer = nullptr;
299 };
300 
301 
303 class SimpleShape : public ShapeBase
304 {
305 public:
306  explicit SimpleShape( Drawing& rDrawing, const OUString& rService );
307 
308  void setService( const OUString& aService ) { maService = aService; }
309 
310 protected:
312  virtual css::uno::Reference< css::drawing::XShape >
314  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
315  const css::awt::Rectangle& rShapeRect ) const override;
316  virtual css::uno::Reference<css::drawing::XShape> finalImplConvertAndInsert(
317  const css::uno::Reference<css::drawing::XShape>& rxShape) const override;
319  css::uno::Reference<css::drawing::XShape>createEmbeddedPictureObject(
320  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
321  const css::awt::Rectangle& rShapeRect, OUString const & rGraphicPath ) const;
322 
323  css::uno::Reference<css::drawing::XShape>createPictureObject(
324  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
325  const css::awt::Rectangle& rShapeRect,
326  css::uno::Reference<css::graphic::XGraphic> const & rxGraphic) const;
327 
328 private:
329  OUString maService;
330 };
331 
332 
334 class RectangleShape final : public SimpleShape
335 {
336 public:
337  explicit RectangleShape( Drawing& rDrawing );
338 private:
340  virtual css::uno::Reference<css::drawing::XShape>
342  const css::uno::Reference<css::drawing::XShapes>& rxShapes,
343  const css::awt::Rectangle& rShapeRect) const override;
344 };
345 
346 
348 class EllipseShape final : public SimpleShape
349 {
350 public:
351  explicit EllipseShape( Drawing& rDrawing );
352 };
353 
354 
356 class PolyLineShape final : public SimpleShape
357 {
358 public:
359  explicit PolyLineShape( Drawing& rDrawing );
360 
361 private:
363  virtual css::uno::Reference< css::drawing::XShape >
365  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
366  const css::awt::Rectangle& rShapeRect ) const override;
367 };
368 
370 class LineShape final : public SimpleShape
371 {
372 public:
373  explicit LineShape( Drawing& rDrawing );
374  virtual css::uno::Reference< css::drawing::XShape >
376  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
377  const css::awt::Rectangle& rShapeRect ) const override;
378 
379 
380 private:
382  virtual css::awt::Rectangle getAbsRectangle() const override;
384  virtual css::awt::Rectangle getRelRectangle() const override;
385 };
386 
389 class BezierShape final : public SimpleShape
390 {
391 public:
392  explicit BezierShape( Drawing& rDrawing );
393 
394 private:
396  virtual css::uno::Reference< css::drawing::XShape >
398  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
399  const css::awt::Rectangle& rShapeRect ) const override;
400 };
401 
402 
404 class CustomShape : public SimpleShape
405 {
406 public:
407  explicit CustomShape( Drawing& rDrawing );
408 
409 protected:
411  virtual css::uno::Reference< css::drawing::XShape >
413  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
414  const css::awt::Rectangle& rShapeRect ) const override;
415 };
416 
417 
420 class ComplexShape final : public CustomShape
421 {
422 public:
423  explicit ComplexShape( Drawing& rDrawing );
424 
425 private:
427  virtual css::uno::Reference< css::drawing::XShape >
429  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
430  const css::awt::Rectangle& rShapeRect ) const override;
431 };
432 
433 
435 class GroupShape final : public ShapeBase
436 {
437 public:
438  explicit GroupShape( Drawing& rDrawing );
439  virtual ~GroupShape() override;
440 
444  const ShapeContainer& getChildren() const { return *mxChildren; }
445 
447  virtual void finalizeFragmentImport() override;
448 
450  virtual const ShapeType* getChildTypeById( const OUString& rShapeId ) const override;
452  virtual const ShapeBase* getChildById( const OUString& rShapeId ) const override;
453 
454 private:
456  virtual css::uno::Reference< css::drawing::XShape >
458  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
459  const css::awt::Rectangle& rShapeRect ) const override;
460 
461 private:
462  std::unique_ptr<ShapeContainer> mxChildren;
463 };
464 
465 
466 } // namespace oox::vml
467 
468 #endif
469 
470 /* 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:281
const TextBox * getTextBox() const
Returns read access to the shape textbox.
Definition: vmlshape.hxx:243
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:297
A shape object that is part of a drawing.
Definition: vmlshape.hxx:234
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:1040
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:1161
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:1166
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:329
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:1522
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:1122
OUString maFmlaPict
Target cell range of picture links.
Definition: vmlshape.hxx:165
EllipseShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1030
virtual css::awt::Rectangle getRelRectangle() const override
Returns the rectangle relative to the parent coordinate system.
Definition: vmlshape.cxx:1148
RectangleShape(Drawing &rDrawing)
Definition: vmlshape.cxx:998
const ShapeModel & getShapeModel() const
Returns read access to the shape model structure.
Definition: vmlshape.hxx:240
A Line shape object.
Definition: vmlshape.hxx:370
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:389
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:1500
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:908
ShapeContainer & getChildren()
Returns read/write access to the container of child shapes and templates.
Definition: vmlshape.hxx:442
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:1266
OUString maHeightRelative
To what the height is relative.
Definition: vmlshape.hxx:84
OUString maHyperlink
The hyperlink assigned to the shape.
Definition: vmlshape.hxx:220
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:942
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:1271
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:356
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:1134
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:1289
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:435
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:303
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:1504
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:692
A complex shape object.
Definition: vmlshape.hxx:420
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:245
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:462
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:1003
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:1512
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:1117
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:936
SimpleShape(Drawing &rDrawing, const OUString &rService)
Definition: vmlshape.cxx:573
TextBox
PolyLineShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1035
const ShapeContainer & getChildren() const
Returns read access to the container of child shapes and templates.
Definition: vmlshape.hxx:444
#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:1517
An oval shape object.
Definition: vmlshape.hxx:348
ShapeModel & getShapeModel()
Returns read/write access to the shape model structure.
Definition: vmlshape.hxx:238
void setService(const OUString &aService)
Definition: vmlshape.hxx:308
GroupShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1494
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:334
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:404
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:1294
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