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
19namespace libetonyek
20{
21
22struct IWORKSize;
23
27{
30 boost::optional<int> m_order;
34
35 IWORKShape();
36};
37
38typedef std::shared_ptr<IWORKShape> IWORKShapePtr_t;
39
42IWORKPathPtr_t makePolygonPath(const IWORKSize &size, unsigned edges);
44
45IWORKPathPtr_t makeArrowPath(const IWORKSize &size, double headWidth, double stemThickness);
46IWORKPathPtr_t makeDoubleArrowPath(const IWORKSize &size, double headWidth, double stemThickness);
47IWORKPathPtr_t makeStarPath(const IWORKSize &size, unsigned points, double innerRadius);
48
49IWORKPathPtr_t makeCalloutPath(const IWORKSize &size, double radius, double tailSize, double tailX, double tailY);
50IWORKPathPtr_t makeQuoteBubblePath(const IWORKSize &size, double radius, double tailSize, double tailX, double tailY);
51
52}
53
54#endif // IWORKSHAPE_H_INCLUDED
55
56/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
@ size
Definition: IWORKToken.h:395
@ tailSize
Definition: IWORKToken.h:617
@ radius
Definition: KEY1Token.h:185
Definition: IWORKBezierElement.cpp:21
IWORKPathPtr_t makeDoubleArrowPath(const IWORKSize &size, const double headWidth, const double stemThickness)
Definition: IWORKShape.cpp:233
std::shared_ptr< IWORKText > IWORKTextPtr_t
Definition: IWORKText_fwd.h:18
IWORKPathPtr_t makeQuoteBubblePath(const IWORKSize &size, const double radius, const double tailSize, const double tailX, const double tailY)
Definition: IWORKShape.cpp:430
IWORKPathPtr_t makeArrowPath(const IWORKSize &size, const double headWidth, const double stemThickness)
Definition: IWORKShape.cpp:216
IWORKPathPtr_t makePolygonPath(const IWORKSize &size, const unsigned edges)
Path creator functions for stock shapes.
Definition: IWORKShape.cpp:175
IWORKPathPtr_t makeCalloutPath(const IWORKSize &size, const double radius, const double tailSize, const double tailX, const double tailY)
Definition: IWORKShape.cpp:288
std::shared_ptr< IWORKPath > IWORKPathPtr_t
Definition: IWORKPath_fwd.h:20
std::shared_ptr< IWORKGeometry > IWORKGeometryPtr_t
Definition: IWORKTypes_fwd.h:41
IWORKPathPtr_t makeStarPath(const IWORKSize &size, const unsigned points, const double innerRadius)
Definition: IWORKShape.cpp:258
std::shared_ptr< IWORKShape > IWORKShapePtr_t
Definition: IWORKShape.h:38
IWORKPathPtr_t makeRoundedRectanglePath(const IWORKSize &size, const double radius)
Definition: IWORKShape.cpp:189
std::shared_ptr< IWORKStyle > IWORKStylePtr_t
Definition: IWORKStyle_fwd.h:21
Representation of a shape.
Definition: IWORKShape.h:27
IWORKPathPtr_t m_path
Definition: IWORKShape.h:31
bool m_locked
Definition: IWORKShape.h:33
IWORKTextPtr_t m_text
Definition: IWORKShape.h:32
boost::optional< int > m_order
Definition: IWORKShape.h:30
IWORKGeometryPtr_t m_geometry
Definition: IWORKShape.h:28
IWORKShape()
Definition: IWORKShape.cpp:30
IWORKStylePtr_t m_style
Definition: IWORKShape.h:29
Definition: IWORKTypes.h:45

Generated for libetonyek by doxygen 1.9.3