IWORKShape.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /*
3  * This file is part of the libetonyek 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 
10 #ifndef IWORKSHAPE_H_INCLUDED
11 #define IWORKSHAPE_H_INCLUDED
12 
13 #include <memory>
14 
15 #include "IWORKPath_fwd.h"
16 #include "IWORKStyle.h"
17 #include "IWORKText_fwd.h"
18 
19 namespace libetonyek
20 {
21 
22 struct IWORKSize;
23 
26 struct IWORKShape
27 {
32 
33  IWORKShape();
34 };
35 
36 typedef std::shared_ptr<IWORKShape> IWORKShapePtr_t;
37 
40 IWORKPathPtr_t makePolygonPath(const IWORKSize &size, unsigned edges);
42 
43 IWORKPathPtr_t makeArrowPath(const IWORKSize &size, double headWidth, double stemThickness);
44 IWORKPathPtr_t makeDoubleArrowPath(const IWORKSize &size, double headWidth, double stemThickness);
45 IWORKPathPtr_t makeStarPath(const IWORKSize &size, unsigned points, double innerRadius);
46 IWORKPathPtr_t makeConnectionPath(const IWORKSize &size, double middleX, double middleY);
47 
48 IWORKPathPtr_t makeCalloutPath(const IWORKSize &size, double radius, double tailSize, double tailX, double tailY);
49 IWORKPathPtr_t makeQuoteBubblePath(const IWORKSize &size, double radius, double tailSize, double tailX, double tailY);
50 
51 }
52 
53 #endif // IWORKSHAPE_H_INCLUDED
54 
55 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
std::shared_ptr< IWORKGeometry > IWORKGeometryPtr_t
Definition: IWORKTypes_fwd.h:39
Definition: IWORKBezierElement.cpp:18
IWORKPathPtr_t makePolygonPath(const IWORKSize &size, const unsigned edges)
Path creator functions for stock shapes.
Definition: IWORKShape.cpp:172
IWORKPathPtr_t makeQuoteBubblePath(const IWORKSize &size, const double radius, const double tailSize, const double tailX, const double tailY)
Definition: IWORKShape.cpp:304
IWORKPathPtr_t makeConnectionPath(const IWORKSize &size, const double middleX, const double middleY)
Definition: IWORKShape.cpp:273
IWORKTextPtr_t m_text
Definition: IWORKShape.h:31
std::shared_ptr< IWORKStyle > IWORKStylePtr_t
Definition: IWORKStyle_fwd.h:21
Definition: IWORKTypes.h:37
Representation of a shape.
Definition: IWORKShape.h:26
IWORKPathPtr_t makeStarPath(const IWORKSize &size, const unsigned points, const double innerRadius)
Definition: IWORKShape.cpp:243
IWORKGeometryPtr_t m_geometry
Definition: IWORKShape.h:28
IWORKPathPtr_t makeDoubleArrowPath(const IWORKSize &size, const double headWidth, const double stemThickness)
Definition: IWORKShape.cpp:218
std::shared_ptr< IWORKText > IWORKTextPtr_t
Definition: IWORKText_fwd.h:18
Definition: IWORKToken.h:254
IWORKStylePtr_t m_style
Definition: IWORKShape.h:29
Definition: KEY1Token.h:156
IWORKPathPtr_t m_path
Definition: IWORKShape.h:30
std::shared_ptr< IWORKPath > IWORKPathPtr_t
Definition: IWORKPath_fwd.h:20
IWORKPathPtr_t makeRoundedRectanglePath(const IWORKSize &size, const double radius)
Definition: IWORKShape.cpp:186
std::shared_ptr< IWORKShape > IWORKShapePtr_t
Definition: IWORKShape.h:36
IWORKShape()
Definition: IWORKShape.cpp:29
IWORKPathPtr_t makeCalloutPath(const IWORKSize &size, const double radius, const double tailSize, const double tailX, const double tailY)
Definition: IWORKShape.cpp:282
Definition: IWORKToken.h:366
IWORKPathPtr_t makeArrowPath(const IWORKSize &size, const double headWidth, const double stemThickness)
Definition: IWORKShape.cpp:201

Generated for libetonyek by doxygen 1.8.13