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 
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 
130 class SAL_DLLPUBLIC_RTTI ShapeType
131 {
132 public:
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 
150 protected:
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 
160 protected:
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;
191  bool mbVisible;
192  bool mbDde;
193  bool mbNo3D;
194  bool mbNo3D2;
195  bool mbMultiLine;
196  bool mbVScroll;
198 
199  explicit ClientData();
200 };
201 
202 
204 {
205  typedef ::std::vector< css::awt::Point > PointVector;
206 
207  OUString maType;
208  PointVector maPoints;
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;
225  bool mbInGroup;
226  OUString maHyperlink;
227 
228  explicit ShapeModel();
229  ~ShapeModel();
230 
235 };
236 
237 
241 {
242 public:
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 
277 protected:
278  explicit ShapeBase( Drawing& rDrawing );
279 
281  virtual css::uno::Reference< css::drawing::XShape >
282  implConvertAndInsert(
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 
302 protected:
304  ShapeContainer* mpContainer = nullptr;
305 };
306 
307 
309 class SimpleShape : public ShapeBase
310 {
311 public:
312  explicit SimpleShape( Drawing& rDrawing, const OUString& rService );
313 
314  void setService( const OUString& aService ) { maService = aService; }
315 
316 protected:
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 
334 private:
335  OUString maService;
336 };
337 
338 
340 class RectangleShape final : public SimpleShape
341 {
342 public:
343  explicit RectangleShape( Drawing& rDrawing );
344 private:
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 
354 class EllipseShape final : public SimpleShape
355 {
356 public:
357  explicit EllipseShape( Drawing& rDrawing );
358 };
359 
360 
362 class PolyLineShape final : public SimpleShape
363 {
364 public:
365  explicit PolyLineShape( Drawing& rDrawing );
366 
367 private:
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 
376 class LineShape final : public SimpleShape
377 {
378 public:
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 
386 private:
388  virtual css::awt::Rectangle getAbsRectangle() const override;
390  virtual css::awt::Rectangle getRelRectangle() const override;
391 };
392 
395 class BezierShape final : public SimpleShape
396 {
397 public:
398  explicit BezierShape( Drawing& rDrawing );
399 
400 private:
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 
410 class CustomShape : public SimpleShape
411 {
412 public:
413  explicit CustomShape( Drawing& rDrawing );
414 
415 protected:
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 
426 class ComplexShape final : public CustomShape
427 {
428 public:
429  explicit ComplexShape( Drawing& rDrawing );
430 
431 private:
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 
441 class GroupShape final : public ShapeBase
442 {
443 public:
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 
460 private:
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 
467 private:
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: */
sal_Int32 mnCol
Column index for spreadsheet cell note.
Definition: vmlshape.hxx:178
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:184
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:287
const TextBox * getTextBox() const
Returns read access to the shape textbox.
Definition: vmlshape.hxx:249
bool mbNo3D
True = flat style, false = 3D style.
Definition: vmlshape.hxx:193
std::unique_ptr< ClientData > mxClientData
Excel specific client data.
Definition: vmlshape.hxx:210
ShapeModel maShapeModel
The model structure containing shape data.
Definition: vmlshape.hxx:303
A shape object that is part of a drawing.
Definition: vmlshape.hxx:240
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:1046
OUString maZIndex
ZIndex of the shape.
Definition: vmlshape.hxx:70
sal_Int32 mnDropLines
Number of lines in drop down box.
Definition: vmlshape.hxx:182
BezierShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1167
OUString maSignatureId
ID of the signature.
Definition: vmlshape.hxx:218
bool mbDde
True = object is linked through DDE.
Definition: vmlshape.hxx:192
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:172
bool mbIsSignatureLine
Shape is a signature line.
Definition: vmlshape.hxx:217
The stroke model structure contains all shape border properties.
Excel specific shape client data (such as cell anchor).
Definition: vmlshape.hxx:167
OUString maSignatureLineSuggestedSignerName
Definition: vmlshape.hxx:219
OUString maFmlaMacro
Link to macro associated to the control.
Definition: vmlshape.hxx:170
A shape template contains all formatting properties of shapes and can serve as templates for several ...
Definition: vmlshape.hxx:130
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:1172
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:335
bool mbVScroll
True = textbox has a vertical scrollbar.
Definition: vmlshape.hxx:196
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:187
OUString maFmlaRange
Link to cell range used as data source for the control.
Definition: vmlshape.hxx:173
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:1528
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:1128
OUString maFmlaPict
Target cell range of picture links.
Definition: vmlshape.hxx:171
EllipseShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1036
virtual css::awt::Rectangle getRelRectangle() const override
Returns the rectangle relative to the parent coordinate system.
Definition: vmlshape.cxx:1154
RectangleShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1004
const ShapeModel & getShapeModel() const
Returns read access to the shape model structure.
Definition: vmlshape.hxx:246
A Line shape object.
Definition: vmlshape.hxx:376
OUString maVmlPath
VML path for this shape.
Definition: vmlshape.hxx:216
OUString maEditAs
Edit As type (e.g. "canvas" etc)
Definition: vmlshape.hxx:91
OUString maType
Shape template with default properties.
Definition: vmlshape.hxx:207
bool mbSecretEdit
True = textbox is a password edit field.
Definition: vmlshape.hxx:197
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:142
sal_Int32 mnRow
Row index for spreadsheet cell note.
Definition: vmlshape.hxx:179
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:395
bool mbSignatureLineCanAddComment
Definition: vmlshape.hxx:224
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:1506
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:448
sal_Int32 mnDropStyle
Drop down box style (read-only or editable).
Definition: vmlshape.hxx:181
sal_Int32 mnVTEdit
Data type of the textbox.
Definition: vmlshape.hxx:189
sal_Int32 mnMax
Maximum value of spin buttons and scroll bars.
Definition: vmlshape.hxx:185
sal_Int16 mnBlacklevel
The image brightness, on a 0..0x10000 scale.
Definition: vmlshape.hxx:120
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:209
bool mbVisible
True = cell note is visible.
Definition: vmlshape.hxx:191
CustomShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1272
OUString maHeightRelative
To what the height is relative.
Definition: vmlshape.hxx:84
OUString maHyperlink
The hyperlink assigned to the shape.
Definition: vmlshape.hxx:226
OUString maAnchor
Cell anchor as comma-separated string.
Definition: vmlshape.hxx:169
const sal_Int32 VML_CLIENTDATA_REFERENCE
Definition: vmlshape.hxx:55
sal_Int32 mnSelType
Listbox selection type.
Definition: vmlshape.hxx:188
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:137
Container that holds a list of shapes and shape templates.
sal_Int32 mnTextVAlign
Vertical text alignment.
Definition: vmlshape.hxx:177
OUString maControl1
Bezier control point 1.
Definition: vmlshape.hxx:214
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:1277
OUString maPositionHorizontalRelative
The X position is relative to this.
Definition: vmlshape.hxx:77
void assignUsed(const ShapeTypeModel &rSource)
Definition: vmlshape.cxx:137
sal_Int32 mnGain
An adjustment for the intensity of all colors, i.e. contrast, on a 0..0x10000 scale.
Definition: vmlshape.hxx:117
sal_Int32 mnInc
Small increment of spin buttons and scroll bars.
Definition: vmlshape.hxx:186
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:362
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:1140
OUString maRotation
Rotation of the shape, in degrees.
Definition: vmlshape.hxx:85
OUString maLegacyDiagramPath
Legacy Diagram Fragment Path.
Definition: vmlshape.hxx:211
bool mbMultiLine
True = textbox allows line breaks.
Definition: vmlshape.hxx:195
ComplexShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1295
OptValue< OUString > moWrapAnchorX
The base object from which our horizontal positioning should be calculated.
Definition: vmlshape.hxx:101
OUString maSignatureLineSuggestedSignerTitle
Definition: vmlshape.hxx:220
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:441
const sal_Int32 VML_CLIENTDATA_INTEGER
Definition: vmlshape.hxx:53
bool mbSignatureLineShowSignDate
Definition: vmlshape.hxx:223
bool mbNo3D2
True = flat style, false = 3D style (listboxes and dropdowns).
Definition: vmlshape.hxx:194
ShadowModel maShadowModel
Shape shadow formatting.
Definition: vmlshape.hxx:96
::std::vector< css::awt::Point > PointVector
Definition: vmlshape.hxx:205
sal_Int32 mnChecked
State for checkboxes and option buttons.
Definition: vmlshape.hxx:180
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:139
const sal_Int32 VML_CLIENTDATA_TEXT
Definition: vmlshape.hxx:52
OUString maSignatureLineSigningInstructions
Definition: vmlshape.hxx:222
A simple shape object based on a specific UNO shape service.
Definition: vmlshape.hxx:309
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:1510
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:426
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:251
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:468
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:1009
OUString maFrom
Start point for line shape.
Definition: vmlshape.hxx:212
bool mbPrintObject
True = print the object.
Definition: vmlshape.hxx:190
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:1518
OUString maControl2
Bezier control point 2.
Definition: vmlshape.hxx:215
sal_Int32 mnVal
Current value of spin buttons and scroll bars.
Definition: vmlshape.hxx:183
OptValue< OUString > moWrapType
How to wrap the text around the object.
Definition: vmlshape.hxx:103
LineShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1123
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:174
OUString maSignatureLineSuggestedSignerEmail
Definition: vmlshape.hxx:221
Drawing & mrDrawing
The VML drawing page that contains this shape.
Definition: vmlshape.hxx:161
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:1041
const ShapeContainer & getChildren() const
Returns read access to the container of child shapes and templates.
Definition: vmlshape.hxx:450
#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:1523
An oval shape object.
Definition: vmlshape.hxx:354
ShapeModel & getShapeModel()
Returns read/write access to the shape model structure.
Definition: vmlshape.hxx:244
void setService(const OUString &aService)
Definition: vmlshape.hxx:314
GroupShape(Drawing &rDrawing)
Definition: vmlshape.cxx:1500
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:340
sal_Int32 mnTextHAlign
Horizontal text alignment.
Definition: vmlshape.hxx:176
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:162
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:410
OUString maTo
End point for line shape.
Definition: vmlshape.hxx:213
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:1300
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:175
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:148
TextpathModel maTextpathModel
Shape textpath formatting.
Definition: vmlshape.hxx:97
PointVector maPoints
Points for the polyline shape.
Definition: vmlshape.hxx:208