Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Friends | List of all members
MWAWGraphicShape Class Reference

a structure used to define a picture shape More...

`#include <MWAWGraphicShape.hxx>`

## Classes
struct | PathData
| a simple path component More...

## Public Types
enum | Type { Arc, Circle, Line, Measure, Rectangle, Path, Pie, Polygon, ShapeUnknown }
| an enum used to define the shape type More...
enum | Command { C_Ellipse, C_Polyline, C_Rectangle, C_Path, C_Polygon, C_Bad }
| an enum used to define the interface command More...

## Public Member Functions
| MWAWGraphicShape ()
| constructor More...
| ~MWAWGraphicShape ()
| destructor More...
void | translate (MWAWVec2f const &delta)
| translate all the coordinate by delta More...
void | scale (MWAWVec2f const &factor)
| rescale all the coordinate More...
MWAWGraphicShape | rotate (float angle, MWAWVec2f const &center) const
| return a new shape corresponding to a rotation from center. More...
MWAWGraphicShape | transform (MWAWTransformation const &matrix) const
| returns a new shape corresponding to a matrix transformation More...
Type | getType () const
| returns the type corresponding to a shape More...
MWAWBox2f | getBdBox () const
| returns the basic bdbox More...
MWAWBox2f | getBdBox (MWAWGraphicStyle const &style, bool moveToO=false) const
| returns the bdbox corresponding to a style More...
Command | addTo (MWAWVec2f const &orig, bool asSurface, librevenge::RVNGPropertyList &propList) const
| updates the propList to send to an interface More...
bool | addPathTo (MWAWVec2f const &orig, librevenge::RVNGPropertyListVector &propList) const
| adds the shape path to a propListVector More...
int | cmp (MWAWGraphicShape const &a) const
| compare two shapes More...

## Static Public Member Functions
static MWAWGraphicShape | line (MWAWVec2f const &orign, MWAWVec2f const &dest)
| static constructor to create a line More...
static MWAWGraphicShape | measure (MWAWVec2f const &orign, MWAWVec2f const &dest)
| static constructor to create a measure More...
static MWAWGraphicShape | rectangle (MWAWBox2f const &box, MWAWVec2f const &corners=MWAWVec2f(0, 0))
| static constructor to create a rectangle More...
static MWAWGraphicShape | circle (MWAWBox2f const &box)
| static constructor to create a circle More...
static MWAWGraphicShape | arc (MWAWBox2f const &box, MWAWBox2f const &circleBox, MWAWVec2f const &angles)
| static constructor to create a arc More...
static MWAWGraphicShape | pie (MWAWBox2f const &box, MWAWBox2f const &circleBox, MWAWVec2f const &angles)
| static constructor to create a pie More...
static MWAWGraphicShape | polygon (MWAWBox2f const &box)
| static constructor to create a polygon More...
static MWAWGraphicShape | path (MWAWBox2f const &box)
| static constructor to create a path More...

## Public Attributes
Type | m_type
| the type More...
MWAWBox2f | m_bdBox
| the shape bdbox More...
MWAWBox2f | m_formBox
| the internal shape bdbox ( used for arc, circle to store the circle bdbox ) More...
MWAWVec2f | m_cornerWidth
| the rectangle round corner More...
MWAWVec2f | m_arcAngles
| the start and end value which defines an arc More...
std::vector< MWAWVec2f > | m_vertices
| the list of vertices for lines or polygons More...
std::vector< PathData > | m_path
| the list of path component More...
std::string | m_extra
| extra data More...

## Protected Member Functions
std::vector< PathData > | getPath (bool forTransformation) const
| return a path corresponding to the shape More...

## Friends
std::ostream & | operator<< (std::ostream &o, MWAWGraphicShape const &sh)
| a print operator More...

## Detailed Description

a structure used to define a picture shape

## Member Enumeration Documentation

## ◆ Command

enum MWAWGraphicShape::Command

an enum used to define the interface command

Enumerator
C_Ellipse |
C_Polyline |
C_Rectangle |
C_Path |
C_Polygon |
C_Bad |

## ◆ Type

enum MWAWGraphicShape::Type

an enum used to define the shape type

Enumerator
Arc |
Circle |
Line |
Measure |
Rectangle |
Path |
Pie |
Polygon |
ShapeUnknown |

## Constructor & Destructor Documentation

## ◆ MWAWGraphicShape()

MWAWGraphicShape::MWAWGraphicShape | ( |  | ) |
| inline

constructor

## ◆ ~MWAWGraphicShape()

MWAWGraphicShape::~MWAWGraphicShape | ( |  | ) |

destructor

Referenced by MWAWGraphicShape().

## Member Function Documentation

## ◆ addPathTo()

bool MWAWGraphicShape::addPathTo | ( | MWAWVec2f const & | orig,
|  | librevenge::RVNGPropertyListVector & | propList
| ) |  | const

adds the shape path to a propListVector

Referenced by getBdBox().

## ◆ addTo()

MWAWGraphicShape::Command MWAWGraphicShape::addTo | ( | MWAWVec2f const & | orig,
|  | bool | asSurface,
|  | librevenge::RVNGPropertyList & | propList
| ) |  | const

updates the propList to send to an interface

Referenced by getBdBox(), MWAWTextListener::insertShape(), MWAWPresentationListener::insertShape(), MWAWGraphicListener::insertShape(), and MWAWSpreadsheetListener::insertShape().

## ◆ arc()

static MWAWGraphicShape MWAWGraphicShape::arc | ( | MWAWBox2f const & | box,
|  | MWAWBox2f const & | circleBox,
|  | MWAWVec2f const & | angles
| ) |  |
| inline static

static constructor to create a arc

Referenced by ApplePictParser::drawPie(), MsWksGraph::getEntryPicture(), GreatWksGraph::readFrameHeader(), MacDrawProParser::readGeometryShapeData(), RagTime5Graph::readGraphicShape(), MacDraftParser::readObject(), MacDrawParser::readObject(), MacDraft5Parser::readObject(), and CricketDrawParser::readShape().

## ◆ circle()

static MWAWGraphicShape MWAWGraphicShape::circle | ( | MWAWBox2f const & | box | ) |
| inline static

static constructor to create a circle

Referenced by ApplePictParser::drawCircle(), RagTime5Graph::readGraphicShape(), MacDraftParser::readObject(), MacDrawParser::readObject(), MacDraft5Parser::readObject(), CricketDrawParser::readShape(), SuperPaintParser::readShape(), BeagleWksDRParser::readShapeDefinitions(), CricketDrawParser::send(), PowerPoint7Graph::sendFrame(), PowerPoint1Parser::sendFrame(), PowerPoint3Parser::sendFrame(), MacDrawProParser::updateGeometryShape(), and FreeHandParserInternal::Shape::updateShape().

## ◆ cmp()

int MWAWGraphicShape::cmp | ( | MWAWGraphicShape const & | a | ) | const

compare two shapes

## ◆ getBdBox() [1/2]

MWAWBox2f MWAWGraphicShape::getBdBox | ( |  | ) | const
| inline

returns the basic bdbox

Referenced by ApplePictParser::drawCircle(), ApplePictParser::drawLine(), ApplePictParser::drawPie(), ApplePictParser::drawPolygon(), ApplePictParser::drawRectangle(), ApplePictParser::drawRoundRectangle(), MacDrawParserInternal::Shape::getBdBox(), MacDraft5ParserInternal::Shape::getBdBox(), MWAWTextListener::insertShape(), CricketDrawParser::send(), MacDraftParser::send(), MacDrawProParser::send(), PowerPoint7Graph::sendFrame(), PowerPoint1Parser::sendFrame(), PowerPoint3Parser::sendFrame(), and MacDraft5ParserInternal::Shape::transform().

## ◆ getBdBox() [2/2]

MWAWBox2f MWAWGraphicShape::getBdBox | ( | MWAWGraphicStyle const & | style,
|  | bool | moveToO = `false`
| ) |  | const

returns the bdbox corresponding to a style

## ◆ getPath()

std::vector< MWAWGraphicShape::PathData > MWAWGraphicShape::getPath | ( | bool | forTransformation | ) | const
| protected

return a path corresponding to the shape

Referenced by addPathTo(), getBdBox(), rotate(), and transform().

## ◆ getType()

Type MWAWGraphicShape::getType | ( |  | ) | const
| inline

returns the type corresponding to a shape

Referenced by MWAWTextListener::insertShape(), MWAWPresentationListener::insertShape(), MWAWGraphicListener::insertShape(), and MWAWSpreadsheetListener::insertShape().

## ◆ line()

MWAWGraphicShape MWAWGraphicShape::line | ( | MWAWVec2f const & | orign,
|  | MWAWVec2f const & | dest
| ) |  |
| static

static constructor to create a line

Referenced by ApplePictParser::drawLine(), MsWksGraph::getEntryPicture(), measure(), MWAWGraphicShape(), GreatWksGraph::readFrameHeader(), RagTime5Graph::readGraphicShape(), MacDraftParser::readObject(), MacDrawParser::readObject(), MacDraft5Parser::readObject(), CricketDrawParser::readShape(), SuperPaintParser::readShape(), ClarisDrawGraph::readShape(), ClarisWksGraph::readShape(), BeagleWksDRParser::readShapeDefinitions(), CricketDrawParser::send(), RagTimeParser::sendBasicPicture(), HanMacWrdKGraph::sendEmptyPicture(), HanMacWrdJGraph::sendEmptyPicture(), MWAWTable::sendExtraLines(), PowerPoint7Graph::sendFrame(), PowerPoint1Parser::sendFrame(), PowerPoint3Parser::sendFrame(), MarinerWrtGraph::sendRule(), MacDrawProParser::updateGeometryShape(), and FreeHandParserInternal::Shape::updateShape().

## ◆ measure()

MWAWGraphicShape MWAWGraphicShape::measure | ( | MWAWVec2f const & | orign,
|  | MWAWVec2f const & | dest
| ) |  |
| static

static constructor to create a measure

Referenced by MWAWGraphicShape(), and MacDraft5Parser::readObject().

## ◆ path()

static MWAWGraphicShape MWAWGraphicShape::path | ( | MWAWBox2f const & | box | ) |
| inline static

static constructor to create a path

Referenced by MsWksGraph::getEntryPicture(), MWAWGraphicShape::PathData::PathData(), GreatWksGraph::readFrameHeader(), rotate(), and transform().

## ◆ pie()

static MWAWGraphicShape MWAWGraphicShape::pie | ( | MWAWBox2f const & | box,
|  | MWAWBox2f const & | circleBox,
|  | MWAWVec2f const & | angles
| ) |  |
| inline static

static constructor to create a pie

Referenced by ApplePictParser::drawPie(), GreatWksGraph::readFrameHeader(), MacDrawProParser::readGeometryShapeData(), RagTime5Graph::readGraphicShape(), MacDraftParser::readObject(), MacDrawParser::readObject(), MacDraft5Parser::readObject(), SuperPaintParser::readShape(), ClarisDrawGraph::readShape(), ClarisWksGraph::readShape(), BeagleWksDRParser::readStyle(), PowerPoint3Parser::sendFrame(), and PowerPoint7GraphInternal::FrameArc::updateShape().

## ◆ polygon()

static MWAWGraphicShape MWAWGraphicShape::polygon | ( | MWAWBox2f const & | box | ) |
| inline static

static constructor to create a polygon

Referenced by MsWksGraph::getEntryPicture(), GreatWksGraph::readFrameHeader(), and BeagleWksDRParser::readShapeDefinitions().

## ◆ rectangle()

static MWAWGraphicShape MWAWGraphicShape::rectangle | ( | MWAWBox2f const & | box,
|  | MWAWVec2f const & | corners = `MWAWVec2f(0,0)`
| ) |  |
| inline static

static constructor to create a rectangle

Referenced by ApplePictParser::drawRectangle(), ApplePictParser::drawRoundRectangle(), GreatWksGraph::readFrameHeader(), RagTime5Graph::readGraphicShape(), MacDraftParser::readObject(), MacDrawParser::readObject(), MacDraft5Parser::readObject(), CricketDrawParser::readShape(), SuperPaintParser::readShape(), BeagleWksDRParser::readShapeDefinitions(), HanMacWrdKGraph::sendEmptyPicture(), HanMacWrdJGraph::sendEmptyPicture(), PowerPoint7Graph::sendFrame(), PowerPoint1Parser::sendFrame(), PowerPoint3Parser::sendFrame(), MarinerWrtGraph::sendRule(), MacDrawProParser::updateGeometryShape(), and FreeHandParserInternal::Shape::updateShape().

## ◆ rotate()

MWAWGraphicShape MWAWGraphicShape::rotate | ( | float | angle,
|  | MWAWVec2f const & | center
| ) |  | const

return a new shape corresponding to a rotation from center.

Note
  the final bdbox is not tight

Referenced by ClarisDrawGraph::readShape(), ClarisWksGraph::readShape(), PowerPoint7Graph::sendFrame(), PowerPoint3Parser::sendFrame(), and MacDraft5ParserInternal::Shape::transform().

## ◆ scale()

void MWAWGraphicShape::scale | ( | MWAWVec2f const & | factor | ) |

rescale all the coordinate

Referenced by PowerPoint7Graph::sendFrame(), PowerPoint3Parser::sendFrame(), MacDraft5ParserInternal::Shape::transform(), and transform().

## ◆ transform()

MWAWGraphicShape MWAWGraphicShape::transform | ( | MWAWTransformation const & | matrix | ) | const

returns a new shape corresponding to a matrix transformation

Referenced by CricketDrawParser::send(), and FreeHandParser::sendShape().

## ◆ translate()

void MWAWGraphicShape::translate | ( | MWAWVec2f const & | delta | ) |

translate all the coordinate by delta

Referenced by ClarisDrawGraph::readShape(), ClarisWksGraph::readShape(), PowerPoint7Graph::sendFrame(), PowerPoint3Parser::sendFrame(), MacDraft5ParserInternal::Shape::transform(), transform(), and MacDraft5ParserInternal::Shape::translate().

## Friends And Related Function Documentation

## ◆ operator<<

std::ostream& operator<< | ( | std::ostream & | o,
|  | MWAWGraphicShape const & | sh
| ) |  |
| friend

a print operator

## Member Data Documentation

## ◆ m_arcAngles

MWAWVec2f MWAWGraphicShape::m_arcAngles

the start and end value which defines an arc

Referenced by addTo(), arc(), cmp(), getPath(), operator<<(), pie(), HanMacWrdJGraph::readShapeGraph(), and HanMacWrdKGraph::readShapeGraph().

## ◆ m_bdBox

MWAWBox2f MWAWGraphicShape::m_bdBox

the shape bdbox

Referenced by addPathTo(), addTo(), arc(), circle(), cmp(), ApplePictParser::drawPolygon(), getBdBox(), MsWksGraph::getEntryPicture(), line(), operator<<(), path(), pie(), polygon(), GreatWksGraph::readFrameHeader(), MacDraftParser::readObject(), MacDrawParser::readObject(), MacDraft5Parser::readObject(), MacDrawProParser::readRotationInObjectData(), CricketDrawParser::readShape(), ClarisDrawGraph::readShape(), ClarisWksGraph::readShape(), HanMacWrdJGraph::readShapeGraph(), HanMacWrdKGraph::readShapeGraph(), rectangle(), rotate(), scale(), MarinerWrtGraph::sendRule(), FreeHandParser::sendShape(), transform(), translate(), MacDrawProParser::updateGeometryShape(), and FreeHandParserInternal::Shape::updateShape().

## ◆ m_cornerWidth

MWAWVec2f MWAWGraphicShape::m_cornerWidth

the rectangle round corner

Referenced by addTo(), cmp(), MsWksGraph::getEntryPicture(), getPath(), operator<<(), GreatWksGraph::readFrameHeader(), MacDraftParser::readObject(), ClarisDrawGraph::readShape(), ClarisWksGraph::readShape(), HanMacWrdJGraph::readShapeGraph(), HanMacWrdKGraph::readShapeGraph(), BeagleWksDRParser::readStyle(), and rectangle().

## ◆ m_extra

std::string MWAWGraphicShape::m_extra

extra data

Referenced by operator<<(), ClarisDrawGraph::readShape(), and ClarisWksGraph::readShape().

## ◆ m_formBox

MWAWBox2f MWAWGraphicShape::m_formBox

the internal shape bdbox ( used for arc, circle to store the circle bdbox )

Referenced by addTo(), arc(), circle(), cmp(), MsWksGraph::getEntryPicture(), getPath(), operator<<(), pie(), GreatWksGraph::readFrameHeader(), MacDraftParser::readObject(), MacDraft5Parser::readObject(), MacDrawProParser::readRotationInObjectData(), ClarisDrawGraph::readShape(), ClarisWksGraph::readShape(), HanMacWrdJGraph::readShapeGraph(), HanMacWrdKGraph::readShapeGraph(), rectangle(), scale(), and translate().

## ◆ m_path

std::vector<PathData> MWAWGraphicShape::m_path

the list of path component

Referenced by addTo(), cmp(), MsWksGraph::getEntryPicture(), getPath(), operator<<(), GreatWksGraph::readFrameExtraData(), ClarisDrawGraph::readPolygonData(), ClarisWksGraph::readPolygonData(), CricketDrawParser::readShape(), rotate(), scale(), transform(), translate(), and FreeHandParserInternal::Shape::updateShape().

## ◆ m_type

Type MWAWGraphicShape::m_type

the type

Referenced by arc(), circle(), cmp(), ApplePictParser::drawPolygon(), PowerPoint7GraphInternal::State::getCustomShape(), PowerPoint3ParserInternal::State::getCustomShape(), MsWksGraph::getEntryPicture(), line(), measure(), MacDrawProParserInternal::operator<<(), operator<<(), path(), pie(), polygon(), GreatWksGraph::readFrameExtraData(), GreatWksGraph::readFrameHeader(), HanMacWrdJGraph::readGraphData(), MacDraftParser::readObject(), MacDrawParser::readObject(), MacDrawProParser::readObject(), MacDraft5Parser::readObject(), ClarisDrawGraph::readPolygonData(), ClarisWksGraph::readPolygonData(), CricketDrawParser::readShape(), SuperPaintParser::readShape(), ClarisDrawGraph::readShape(), ClarisWksGraph::readShape(), HanMacWrdJGraph::readShapeGraph(), HanMacWrdKGraph::readShapeGraph(), rectangle(), MacDrawProParser::send(), HanMacWrdJGraph::sendGroup(), ClarisWksGraph::sendGroupChild(), HanMacWrdJGraph::sendGroupChild(), ClarisDrawGraph::sendShape(), ClarisWksGraph::sendShape(), HanMacWrdJGraph::sendShapeGraph(), PowerPoint7GraphInternal::FramePolygon::updateShape(), FreeHandParserInternal::Shape::updateShape(), and PowerPoint3ParserInternal::Polygon::updateShape().

## ◆ m_vertices

std::vector<MWAWVec2f> MWAWGraphicShape::m_vertices

the list of vertices for lines or polygons

Referenced by addTo(), cmp(), ApplePictParser::drawPolygon(), PowerPoint7GraphInternal::State::getCustomShape(), PowerPoint3ParserInternal::State::getCustomShape(), MsWksGraph::getEntryPicture(), getPath(), line(), operator<<(), GreatWksGraph::readFrameExtraData(), HanMacWrdJGraph::readGraphData(), MacDraftParser::readObject(), MacDrawParser::readObject(), MacDraft5Parser::readObject(), ClarisDrawGraph::readPolygonData(), ClarisWksGraph::readPolygonData(), CricketDrawParser::readShape(), SuperPaintParser::readShape(), BeagleWksDRParser::readShapeDatas(), HanMacWrdJGraph::readShapeGraph(), HanMacWrdKGraph::readShapeGraph(), scale(), translate(), PowerPoint7GraphInternal::FramePolygon::updateShape(), FreeHandParserInternal::Shape::updateShape(), and PowerPoint3ParserInternal::Polygon::updateShape().

The documentation for this class was generated from the following files:

- MWAWGraphicShape.hxx
- MWAWGraphicShape.cxx