WPSGraphicShape Class Reference

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

#include <WPSGraphicShape.h>

Classes

struct  PathData
 a simple path component More...

Public Types

enum  Type {
  Arc , Circle , Line , Rectangle ,
  Path , Pie , Polygon , Polyline ,
  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

 WPSGraphicShape ()
 constructor
 WPSGraphicShape (WPSGraphicShape const &)=default
 WPSGraphicShape (WPSGraphicShape &&)=default
WPSGraphicShapeoperator= (WPSGraphicShape const &)=default
WPSGraphicShapeoperator= (WPSGraphicShape &&)=default
 ~WPSGraphicShape ()
 destructor
void translate (Vec2f const &delta)
 translate all the coordinate by delta
void scale (Vec2f const &factor)
 rescale all the coordinate
WPSGraphicShape rotate (float angle, Vec2f const &center) const
 return a new shape corresponding to a rotation from center.
WPSGraphicShape transform (WPSTransformation const &matrix) const
 returns a new shape corresponding to a matrix transformation
Type getType () const
 returns the type corresponding to a shape
WPSBox2f getBdBox () const
 returns the basic bdbox
Command addTo (Vec2f const &orig, bool asSurface, librevenge::RVNGPropertyList &propList) const
 updates the propList to send to an interface
int cmp (WPSGraphicShape const &a) const
 compare two shapes

Static Public Member Functions

static WPSGraphicShape line (Vec2f const &orign, Vec2f const &dest)
 static constructor to create a line
static WPSGraphicShape rectangle (WPSBox2f const &box, Vec2f const &corners=Vec2f(0, 0))
 static constructor to create a rectangle
static WPSGraphicShape circle (WPSBox2f const &box)
 static constructor to create a circle
static WPSGraphicShape arc (WPSBox2f const &box, WPSBox2f const &circleWPSBox, Vec2f const &angles)
 static constructor to create a arc
static WPSGraphicShape pie (WPSBox2f const &box, WPSBox2f const &circleWPSBox, Vec2f const &angles)
 static constructor to create a pie
static WPSGraphicShape polygon (WPSBox2f const &box)
 static constructor to create a polygon
static WPSGraphicShape polyline (WPSBox2f const &box)
 static constructor to create a polyline
static WPSGraphicShape path (WPSBox2f const &box)
 static constructor to create a path

Public Attributes

Type m_type
 the type
WPSBox2f m_bdBox
 the shape bdbox
WPSBox2f m_formBox
 the internal shape bdbox ( used for arc, circle to store the circle bdbox )
Vec2f m_cornerWidth
 the rectangle round corner
Vec2f m_arcAngles
 the start and end value which defines an arc
std::vector< Vec2fm_vertices
 the list of vertices for lines or polygons
std::vector< PathDatam_path
 the list of path component
std::string m_extra
 extra data

Protected Member Functions

std::vector< PathDatagetPath (bool forTransformation) const
 return a path corresponding to the shape

Friends

std::ostream & operator<< (std::ostream &o, WPSGraphicShape const &sh)
 a print operator

Detailed Description

a structure used to define a picture shape

Member Enumeration Documentation

◆ Command

an enum used to define the interface command

Enumerator
C_Ellipse 
C_Polyline 
C_Rectangle 
C_Path 
C_Polygon 
C_Bad 

◆ Type

an enum used to define the shape type

Enumerator
Arc 
Circle 
Line 
Rectangle 
Path 
Pie 
Polygon 
Polyline 
ShapeUnknown 

Constructor & Destructor Documentation

◆ WPSGraphicShape() [1/3]

WPSGraphicShape::WPSGraphicShape ( )
inline

◆ WPSGraphicShape() [2/3]

WPSGraphicShape::WPSGraphicShape ( WPSGraphicShape const & )
default

◆ WPSGraphicShape() [3/3]

WPSGraphicShape::WPSGraphicShape ( WPSGraphicShape && )
default

◆ ~WPSGraphicShape()

WPSGraphicShape::~WPSGraphicShape ( )
inline

destructor

Member Function Documentation

◆ addTo()

WPSGraphicShape::Command WPSGraphicShape::addTo ( Vec2f const & orig,
bool asSurface,
librevenge::RVNGPropertyList & propList ) const

updates the propList to send to an interface

Referenced by WKSContentListener::insertPicture().

◆ arc()

WPSGraphicShape WPSGraphicShape::arc ( WPSBox2f const & box,
WPSBox2f const & circleWPSBox,
Vec2f const & angles )
inlinestatic

◆ circle()

◆ cmp()

int WPSGraphicShape::cmp ( WPSGraphicShape const & a) const

compare two shapes

◆ getBdBox()

WPSBox2f WPSGraphicShape::getBdBox ( ) const
inline

returns the basic bdbox

Referenced by Quattro9Graph::sendShape(), and LotusGraph::sendZone().

◆ getPath()

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

return a path corresponding to the shape

Referenced by rotate(), and transform().

◆ getType()

Type WPSGraphicShape::getType ( ) const
inline

returns the type corresponding to a shape

Referenced by WKSContentListener::insertPicture().

◆ line()

WPSGraphicShape WPSGraphicShape::line ( Vec2f const & orign,
Vec2f const & dest )
static

◆ operator=() [1/2]

WPSGraphicShape & WPSGraphicShape::operator= ( WPSGraphicShape && )
default

◆ operator=() [2/2]

WPSGraphicShape & WPSGraphicShape::operator= ( WPSGraphicShape const & )
default

◆ path()

WPSGraphicShape WPSGraphicShape::path ( WPSBox2f const & box)
inlinestatic

◆ pie()

WPSGraphicShape WPSGraphicShape::pie ( WPSBox2f const & box,
WPSBox2f const & circleWPSBox,
Vec2f const & angles )
inlinestatic

static constructor to create a pie

◆ polygon()

WPSGraphicShape WPSGraphicShape::polygon ( WPSBox2f const & box)
inlinestatic

◆ polyline()

WPSGraphicShape WPSGraphicShape::polyline ( WPSBox2f const & box)
inlinestatic

static constructor to create a polyline

Referenced by QuattroGraph::readPolygon(), and Quattro9Graph::readShapeRec().

◆ rectangle()

WPSGraphicShape WPSGraphicShape::rectangle ( WPSBox2f const & box,
Vec2f const & corners = Vec2f(0,0) )
inlinestatic

◆ rotate()

WPSGraphicShape WPSGraphicShape::rotate ( float angle,
Vec2f const & center ) const

return a new shape corresponding to a rotation from center.

Note
the final bdbox is not tight

◆ scale()

void WPSGraphicShape::scale ( Vec2f const & factor)

rescale all the coordinate

Referenced by transform().

◆ transform()

WPSGraphicShape WPSGraphicShape::transform ( WPSTransformation const & matrix) const

returns a new shape corresponding to a matrix transformation

Referenced by Quattro9Graph::sendShape(), and LotusGraph::sendZone().

◆ translate()

void WPSGraphicShape::translate ( Vec2f const & delta)

translate all the coordinate by delta

Referenced by transform().

◆ operator<<

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

a print operator

Member Data Documentation

◆ m_arcAngles

Vec2f WPSGraphicShape::m_arcAngles

the start and end value which defines an arc

Referenced by addTo(), arc(), cmp(), getPath(), operator<<, pie(), and WPSGraphicShape().

◆ m_bdBox

◆ m_cornerWidth

Vec2f WPSGraphicShape::m_cornerWidth

the rectangle round corner

Referenced by addTo(), cmp(), getPath(), operator<<, rectangle(), and WPSGraphicShape().

◆ m_extra

std::string WPSGraphicShape::m_extra

extra data

Referenced by operator<<, and WPSGraphicShape().

◆ m_formBox

WPSBox2f WPSGraphicShape::m_formBox

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

Referenced by addTo(), arc(), circle(), cmp(), getPath(), operator<<, pie(), rectangle(), scale(), translate(), and WPSGraphicShape().

◆ m_path

std::vector<PathData> WPSGraphicShape::m_path

◆ m_type

Type WPSGraphicShape::m_type

◆ m_vertices

std::vector<Vec2f> WPSGraphicShape::m_vertices

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

Generated on Sat Jul 19 2025 05:24:40 for libwps by doxygen 1.14.0