Scribus Developer Documentation - API
logo-pen

Scribus Developer Documentation - API

FPointArray Class Reference

#include <fpointarray.h>

Collaboration diagram for FPointArray:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 FPointArray ()
 FPointArray (int size)
 FPointArray (const FPointArray &a)
uint size () const
bool resize (uint newCount)
void setPoint (uint i, double x, double y)
void setPoint (uint i, FPoint p)
bool setPoints (int nPoints, double firstx, double firsty,...)
bool putPoints (int index, int nPoints, double firstx, double firsty,...)
bool putPoints (int index, int nPoints, const FPointArray &from, int fromIndex=0)
void point (uint i, double *x, double *y) const
const FPointpoint (uint i) const
QPoint pointQ (uint i) const
QPointF pointQF (uint i) const
void translate (double dx, double dy)
void scale (double sx, double sy)
FPoint WidthHeight () const
void map (QMatrix m)
FPointArrayoperator= (const FPointArray &a)
FPointArray copy () const
void setMarker ()
void addPoint (double x, double y)
void addPoint (FPoint p)
bool hasLastQuadPoint (double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4) const
void addQuadPoint (double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4)
void addQuadPoint (FPoint p1, FPoint p2, FPoint p3, FPoint p4)
double lenPathSeg (int seg) const
double lenPathDist (int seg, double t1, double t2) const
void pointTangentNormalAt (int seg, double t, FPoint *p, FPoint *tn, FPoint *n) const
void pointDerivativesAt (int seg, double t, FPoint *p, FPoint *d1, FPoint *d2) const
bool operator== (const FPointArray &rhs) const
bool operator!= (const FPointArray &rhs) const
 ~FPointArray ()
void svgInit ()
void svgMoveTo (double x, double y)
void svgLineTo (double x, double y)
void svgCurveToCubic (double x1, double y1, double x2, double y2, double x3, double y3)
void svgArcTo (double r1, double r2, double angle, bool largeArcFlag, bool sweepFlag, double x1, double y1)
void svgClosePath ()
void calculateArc (bool relative, double &curx, double &cury, double angle, double x, double y, double r1, double r2, bool largeArcFlag, bool sweepFlag)
bool parseSVG (const QString &svgPath)
QString svgPath () const
QPainterPath toQPainterPath (bool closed)
void fromQPainterPath (QPainterPath &path)

Private Attributes

uint count
uint capacity
SVGStatesvgState


Detailed Description

Definition at line 42 of file fpointarray.h.


Constructor & Destructor Documentation

FPointArray::FPointArray (  )  [inline]

Definition at line 45 of file fpointarray.h.

FPointArray::FPointArray ( int  size  )  [inline]

Definition at line 46 of file fpointarray.h.

FPointArray::FPointArray ( const FPointArray a  )  [inline]

Definition at line 47 of file fpointarray.h.

FPointArray::~FPointArray (  ) 

Definition at line 655 of file fpointarray.cpp.

References svgState.


Member Function Documentation

uint FPointArray::size (  )  const [inline]

Definition at line 48 of file fpointarray.h.

Referenced by CanvasMode_NodeEdit::activate(), WMFImport::arc(), CharZoom::CharZoom(), WMFImport::chord(), PageItem::convertClip(), ScribusDoc::convertItemTo(), StencilReader::createObjects(), ScPreview::createPreview(), StencilReader::createShape(), CharTableModel::data(), CurveWidget::doInvert(), CurveWidget::doSave(), CanvasMode_NodeEdit::drawControls(), Canvas::drawControlsBezierCurve(), ScPageOutput::DrawGlyphs(), ScPageOutput::DrawItem_ImageFrame(), ScPageOutput::DrawItem_PathText(), ScPageOutput::DrawItem_PolyLine(), PageItem_PolyLine::DrawObj_Item(), PageItem_PathText::DrawObj_Item(), PageItem_ImageFrame::DrawObj_Item(), PageItem_TextFrame::DrawObj_Post(), ScPageOutput::DrawPattern(), ScPreview::DrawZeichenS(), ScPainter::endLayer(), WMFImport::extTextOut(), FlattenPath(), FontSample(), getCurveYValue(), getMaxClipF(), getMinClipF(), ScPainterEx_Ps2::getPathBoundingBox(), PageItem_ImageFrame::handleModeEditKey(), CanvasMode_NodeEdit::handleNodeEditMove(), CanvasMode_NodeEdit::handleNodeEditPress(), NodePalette::HaveNode(), ScribusDoc::itemSelection_SetImageOffset(), ScribusDoc::itemSelection_SetImageScale(), ScribusDoc::itemSelection_SetImageScaleAndOffset(), ScribusDoc::itemSelection_SplitItems(), ScribusDoc::itemSelection_UniteItems(), itemShape(), ScribusMainWindow::keyPressEvent(), KCurve::keyPressEvent(), KCurve::mouseMoveEvent(), LegacyMode::mouseMoveEvent(), FreehandMode::mouseMoveEvent(), KCurve::mousePressEvent(), LegacyMode::mousePressEvent(), CreateMode::mousePressEvent(), LegacyMode::mouseReleaseEvent(), FreehandMode::mouseReleaseEvent(), BezierMode::mouseReleaseEvent(), CreateMode::mouseReleaseEvent(), NodeEditContext::moveClipPoint(), KCurve::paintEvent(), SVGPlug::parseClipPath(), SVGPlug::parseGroup(), StencilReader::parseGroup(), OODPlug::parseGroup(), StencilReader::parseGroupProperties(), SVGPlug::parseImage(), EPSPlug::parseOutput(), SVGPlug::parsePath(), OODPlug::parsePath(), StencilReader::parseSVG(), OODPlug::parseSVG(), parseSVG(), SVGPlug::parseTextNode(), PDFLibCore::PDF_Begin_Doc(), PDFLibCore::PDF_ProcessItem(), PDFLibCore::PDF_TemplatePage(), WMFImport::pie(), WMFImport::pointsToPolyline(), WMFImport::polygon(), WMFImport::polyline(), AIPlug::processData(), PSLib::ProcessItem(), SVGExPlug::ProcessPage(), NodeEditContext::reset1Control(), NodeEditContext::resetControl(), SubdividePlugin::run(), PathStrokerPlugin::run(), PathCutPlugin::run(), EffectsDialog::selectEffectHelper(), SVGExPlug::SetClipPath(), PSLib::SetClipPath(), PDFLibCore::SetClipPath(), PDFLibCore::SetClipPathArray(), SVGExPlug::SetClipPathImage(), PDFLibCore::SetClipPathImage(), ScriXmlDoc::SetItemProps(), Scribus134Format::SetItemProps(), PDFLibCore::setTextCh(), PropertiesPalette::setTextFlowMode(), ScPainterEx_Ps2::setupPolygon(), ScPainterEx_GDIPlus::setupPolygon(), ScPainterEx_GDI::setupPolygon(), ScPainterEx_Ps2::setupTextPolygon(), ScPainterEx_GDIPlus::setupTextPolygon(), ScPainterEx_GDI::setupTextPolygon(), StencilReader::svgClosePath(), OODPlug::svgClosePath(), svgClosePath(), StencilReader::svgCurveToCubic(), OODPlug::svgCurveToCubic(), svgCurveToCubic(), StencilReader::svgLineTo(), OODPlug::svgLineTo(), svgLineTo(), svgPath(), ScribusMainWindow::ToggleFrameEdit(), toQPainterPath(), traceCubicBezier(), and traceGlyph().

bool FPointArray::resize ( uint  newCount  ) 

Definition at line 65 of file fpointarray.cpp.

References capacity, count, and sDebug().

Referenced by addPoint(), addQuadPoint(), ScribusDoc::addSymbols(), ScImage::applyEffect(), ScPainter::beginLayer(), ScribusDoc::canvasMinMax(), PageItem_ImageFrame::clearContents(), SVGPlug::convert(), OODPlug::convert(), AIPlug::convert(), PageItem::convertClip(), ScribusDoc::convertItemTo(), StencilReader::createObjects(), StencilReader::createPreview(), ScPreview::createPreview(), PSLib::CreatePS(), StencilReader::createShape(), CurveWidget::doLoad(), PageItem_TextFrame::DrawObj_Post(), ExtImageProps::ExtImageProps(), fromQPainterPath(), Canvas::getClipPathForPages(), AutoformButtonGroup::getIconPixmap(), ScriXmlDoc::GetItemProps(), Scribus12Format::GetItemProps(), CanvasMode_NodeEdit::handleNodeEditPress(), EPSPlug::import(), AIPlug::import(), WMFImport::importWMF(), ScribusDoc::itemSelection_GroupObjects(), ScribusDoc::itemSelection_SplitItems(), KCurve::KCurve(), ScribusMainWindow::keyPressEvent(), WMFImport::lineTo(), ScImgDataLoader_PSD::LoadPSDResources(), KCurve::mousePressEvent(), LegacyMode::mousePressEvent(), FreehandMode::mousePressEvent(), CreateMode::mousePressEvent(), LegacyMode::mouseReleaseEvent(), FreehandMode::mouseReleaseEvent(), BezierMode::mouseReleaseEvent(), CreateMode::mouseReleaseEvent(), ExtImageProps::noPath(), PageItem::PageItem(), SVGPlug::parseClipPathAttr(), SVGPlug::parseGroup(), StencilReader::parseGroup(), OODPlug::parseGroup(), StencilReader::parseGroupProperties(), SVGPlug::parseImage(), SVGPlug::parseLine(), OODPlug::parseLine(), EPSPlug::parseOutput(), OODPlug::parsePath(), OODPlug::parsePolygon(), SVGPlug::parsePolyline(), OODPlug::parsePolyline(), ScImgDataLoader::parseRessourceData(), WMFImport::pointsFromParam(), AIPlug::processData(), putPoints(), ArrowChooser::rebuildList(), KCurve::resetCurve(), scribus_bezierline(), scribus_polygon(), scribus_polyline(), EffectsDialog::selectEffect(), KCurve::setCurve(), PageItem::SetFrameShape(), setPoints(), and traceGlyph().

void FPointArray::setPoint ( uint  i,
double  x,
double  y 
) [inline]

void FPointArray::setPoint ( uint  i,
FPoint  p 
) [inline]

Definition at line 51 of file fpointarray.h.

References FPoint::xp, and FPoint::yp.

bool FPointArray::setPoints ( int  nPoints,
double  firstx,
double  firsty,
  ... 
)

bool FPointArray::putPoints ( int  index,
int  nPoints,
double  firstx,
double  firsty,
  ... 
)

bool FPointArray::putPoints ( int  index,
int  nPoints,
const FPointArray from,
int  fromIndex = 0 
)

Definition at line 139 of file fpointarray.cpp.

References count, p, and resize().

void FPointArray::point ( uint  i,
double *  x,
double *  y 
) const

Definition at line 159 of file fpointarray.cpp.

References p.

Referenced by CanvasMode_NodeEdit::activate(), ScribusDoc::canvasMinMax(), SVGPlug::convert(), OODPlug::convert(), ScribusDoc::convertItemTo(), StencilReader::createObjects(), ScPreview::createPreview(), PSLib::CreatePS(), StencilReader::createShape(), CurveWidget::doInvert(), CurveWidget::doSave(), CanvasMode_NodeEdit::drawControls(), Canvas::drawControlsBezierCurve(), ScPageOutput::DrawItem_PolyLine(), ScPageOutput::DrawItem_Pre(), PageItem_PolyLine::DrawObj_Item(), SVGPlug::finishNode(), FlattenPath(), getCurveYValue(), getMaxClipF(), getMinClipF(), ScPainterEx_Ps2::getPathBoundingBox(), CanvasMode_NodeEdit::handleNodeEditDrag(), CanvasMode_NodeEdit::handleNodeEditPress(), EPSPlug::import(), AIPlug::import(), WMFImport::importWMF(), ScribusDoc::itemSelection_GroupObjects(), ScribusDoc::itemSelection_SplitItems(), ScribusMainWindow::keyPressEvent(), KCurve::keyPressEvent(), lenPathDist(), lenPathSeg(), KCurve::mouseMoveEvent(), LegacyMode::mouseMoveEvent(), FreehandMode::mouseMoveEvent(), KCurve::mousePressEvent(), LegacyMode::mousePressEvent(), CreateMode::mousePressEvent(), LegacyMode::mouseReleaseEvent(), FreehandMode::mouseReleaseEvent(), BezierMode::mouseReleaseEvent(), CreateMode::mouseReleaseEvent(), NodeEditContext::moveClipPoint(), KCurve::paintEvent(), SVGPlug::parseGroup(), StencilReader::parseGroup(), OODPlug::parseGroup(), StencilReader::parseSVG(), OODPlug::parseSVG(), parseSVG(), PDFLibCore::PDF_Begin_Doc(), PDFLibCore::PDF_ProcessItem(), PDFLibCore::PDF_TemplatePage(), pointDerivativesAt(), WMFImport::pointsToPolyline(), pointTangentNormalAt(), PSLib::ProcessItem(), ScribusView::RefreshGradient(), NodeEditContext::reset1Control(), NodeEditContext::resetControl(), SubdividePlugin::run(), PathStrokerPlugin::run(), PathCutPlugin::run(), ScribusDoc::scaleGroup(), scribus_bezierline(), EffectsDialog::selectEffectHelper(), SVGExPlug::SetClipPath(), PSLib::SetClipPath(), PDFLibCore::SetClipPath(), PDFLibCore::SetClipPathArray(), SVGExPlug::SetClipPathImage(), PDFLibCore::SetClipPathImage(), Selection::setGroupRect(), ScriXmlDoc::SetItemProps(), Scribus134Format::SetItemProps(), PDFLibCore::setTextCh(), ScPainterEx_Ps2::setupPolygon(), ScPainterEx_GDIPlus::setupPolygon(), ScPainterEx_GDI::setupPolygon(), ScPainterEx_Ps2::setupTextPolygon(), ScPainterEx_GDIPlus::setupTextPolygon(), ScPainterEx_GDI::setupTextPolygon(), StencilReader::svgClosePath(), OODPlug::svgClosePath(), svgClosePath(), StencilReader::svgCurveToCubic(), OODPlug::svgCurveToCubic(), svgCurveToCubic(), StencilReader::svgLineTo(), OODPlug::svgLineTo(), svgLineTo(), svgPath(), NodePalette::ToggleAbsMode(), toQPainterPath(), and ScriXmlDoc::WriteElem().

const FPoint& FPointArray::point ( uint  i  )  const [inline]

Definition at line 56 of file fpointarray.h.

References p.

QPoint FPointArray::pointQ ( uint  i  )  const

QPointF FPointArray::pointQF ( uint  i  )  const

void FPointArray::translate ( double  dx,
double  dy 
)

void FPointArray::scale ( double  sx,
double  sy 
)

Definition at line 201 of file fpointarray.cpp.

References count, and p.

Referenced by ScFace::ScFaceData::glyphOutline(), PrefsManager::initArrowStyles(), and traceGlyph().

FPoint FPointArray::WidthHeight (  )  const

void FPointArray::map ( QMatrix  m  ) 

Definition at line 244 of file fpointarray.cpp.

References count, and p.

Referenced by OODPlug::appendPoints(), CharZoom::CharZoom(), ScribusDoc::convertItemTo(), ScPreview::createPreview(), PSLib::CreatePS(), CharTableModel::data(), ScPageOutput::DrawItem_Embedded(), ScPageOutput::DrawItem_Line(), ScPageOutput::DrawItem_PolyLine(), ScPageOutput::DrawItem_Pre(), Canvas::drawLinkFrameLine(), ScPageOutput::DrawMasterItems(), Canvas::DrawMasterItems(), PageItem_PolyLine::DrawObj_Item(), PageItem_Line::DrawObj_Item(), ScPageOutput::DrawPageItems(), Canvas::DrawPageItems(), ScPreview::DrawZeichenS(), WMFImport::ellipse(), ExtImageProps::ExtImageProps(), WMFImport::finishCmdParsing(), SVGPlug::finishNode(), PageItem_ImageFrame::handleModeEditKey(), ScribusDoc::itemSelection_SetImageOffset(), ScribusDoc::itemSelection_SetImageScale(), ScribusDoc::itemSelection_SetImageScaleAndOffset(), ScribusDoc::itemSelection_UniteItems(), ScribusDoc::MirrorPolyH(), ScribusDoc::MirrorPolyV(), SVGPlug::parseCircle(), SVGPlug::parseEllipse(), SVGPlug::parseGroup(), OODPlug::parsePath(), SVGPlug::parseRect(), OODPlug::parseTransform(), Scribus13Format::PasteItem(), Scribus134Format::PasteItem(), PDFLibCore::PDF_Begin_Doc(), PDFLibCore::PDF_Gradient(), PDFLibCore::PDF_ProcessItem(), PDFLibCore::PDF_ProcessPage(), PDFLibCore::PDF_TemplatePage(), PSLib::ProcessItem(), PSLib::ProcessPage(), PSLib::PS_begin_doc(), ScriXmlDoc::ReadElem(), ArrowChooser::rebuildList(), WMFImport::rectangle(), ScribusView::RefreshGradient(), WMFImport::roundRect(), PathStrokerPlugin::run(), PathCutPlugin::run(), ScribusDoc::scaleGroup(), ExtImageProps::selPath(), PSLib::setTextCh(), PDFLibCore::setTextCh(), traceGlyph(), and ScribusView::TransformPoly().

FPointArray & FPointArray::operator= ( const FPointArray a  ) 

Definition at line 50 of file fpointarray.cpp.

References capacity, count, and svgState.

FPointArray FPointArray::copy (  )  const

Definition at line 40 of file fpointarray.cpp.

References capacity, and count.

Referenced by CreateMode::activate(), ScribusDoc::AdjustItemSize(), ScribusDoc::convertItemTo(), ScPreview::createPreview(), PSLib::CreatePS(), ScPageOutput::DrawItem_Embedded(), ScPageOutput::DrawMasterItems(), Canvas::DrawMasterItems(), ScPageOutput::DrawPageItems(), Canvas::DrawPageItems(), KCurve::getCurve(), CanvasMode_NodeEdit::handleNodeEditPress(), PrefsManager::initArrowStyles(), ScribusDoc::itemAddDetails(), ScribusDoc::itemSelection_SplitItems(), ScribusDoc::itemSelection_UniteItems(), ScribusMainWindow::keyPressEvent(), KCurve::keyPressEvent(), KCurve::mousePressEvent(), LegacyMode::mouseReleaseEvent(), FreehandMode::mouseReleaseEvent(), BezierMode::mouseReleaseEvent(), CreateMode::mouseReleaseEvent(), NodeEditContext::moveClipPoint(), SVGPlug::parseClipPathAttr(), SVGPlug::parseGroup(), OODPlug::parseGroup(), SVGPlug::parseImage(), EPSPlug::parseOutput(), ScImgDataLoader::parseRessourceData(), PDFLibCore::PDF_Gradient(), PDFLibCore::PDF_ProcessPage(), AIPlug::processData(), PSLib::ProcessItem(), PSLib::ProcessPage(), PSLib::PS_begin_doc(), ArrowChooser::rebuildList(), NodeEditContext::reset1Control(), NodePalette::ResetContour(), NodePalette::ResetContourToImageClip(), NodeEditContext::resetControl(), KCurve::resetCurve(), PathStrokerPlugin::run(), PathFinderPlugin::run(), PathCutPlugin::run(), LensEffectsPlugin::run(), KCurve::setCurve(), PSLib::setTextCh(), and PDFLibCore::setTextCh().

void FPointArray::setMarker (  ) 

void FPointArray::addPoint ( double  x,
double  y 
)

Definition at line 280 of file fpointarray.cpp.

References count, resize(), and setPoint().

Referenced by OODPlug::appendPoints(), ScImage::applyEffect(), ScribusDoc::canvasMinMax(), SVGPlug::convert(), OODPlug::convert(), ScribusDoc::convertItemTo(), StencilReader::createObjects(), StencilReader::createPreview(), ScPreview::createPreview(), PSLib::CreatePS(), StencilReader::createShape(), EPSPlug::Curve(), CurveWidget::doLoad(), ScPageOutput::DrawItem_PolyLine(), PageItem_PolyLine::DrawObj_Item(), Canvas::getClipPathForPages(), AutoformButtonGroup::getIconPixmap(), EPSPlug::import(), AIPlug::import(), WMFImport::importWMF(), ScribusDoc::itemSelection_GroupObjects(), KCurve::KCurve(), EPSPlug::LineTo(), Scribus13Format::loadFile(), Scribus134Format::loadFile(), Scribus13Format::loadPage(), Scribus134Format::loadPage(), ScImgDataLoader_PSD::LoadPSDResources(), LegacyMode::mouseMoveEvent(), FreehandMode::mouseMoveEvent(), LegacyMode::mousePressEvent(), BezierMode::mousePressEvent(), LegacyMode::mouseReleaseEvent(), FreehandMode::mouseReleaseEvent(), BezierMode::mouseReleaseEvent(), SVGPlug::parseGroup(), StencilReader::parseGroup(), OODPlug::parseGroup(), StencilReader::parseGroupProperties(), ScImgDataLoader::parseRessourceData(), ScriXmlDoc::ReadElem(), SubdividePlugin::run(), ScribusDoc::scaleGroup(), EffectsDialog::selectEffect(), PageItem::SetFrameShape(), StencilReader::svgClosePath(), OODPlug::svgClosePath(), svgClosePath(), StencilReader::svgCurveToCubic(), OODPlug::svgCurveToCubic(), svgCurveToCubic(), StencilReader::svgLineTo(), OODPlug::svgLineTo(), svgLineTo(), and traceMoveto().

void FPointArray::addPoint ( FPoint  p  ) 

Definition at line 286 of file fpointarray.cpp.

References count, resize(), and setPoint().

bool FPointArray::hasLastQuadPoint ( double  x1,
double  y1,
double  x2,
double  y2,
double  x3,
double  y3,
double  x4,
double  y4 
) const

Definition at line 293 of file fpointarray.cpp.

References count, and p.

Referenced by traceCubicBezier(), traceLineto(), and traceQuadraticBezier().

void FPointArray::addQuadPoint ( double  x1,
double  y1,
double  x2,
double  y2,
double  x3,
double  y3,
double  x4,
double  y4 
)

void FPointArray::addQuadPoint ( FPoint  p1,
FPoint  p2,
FPoint  p3,
FPoint  p4 
)

Definition at line 330 of file fpointarray.cpp.

References count, p, and resize().

double FPointArray::lenPathSeg ( int  seg  )  const

double FPointArray::lenPathDist ( int  seg,
double  t1,
double  t2 
) const

Definition at line 376 of file fpointarray.cpp.

References point(), FPoint::x(), and FPoint::y().

void FPointArray::pointTangentNormalAt ( int  seg,
double  t,
FPoint p,
FPoint tn,
FPoint n 
) const

void FPointArray::pointDerivativesAt ( int  seg,
double  t,
FPoint p,
FPoint d1,
FPoint d2 
) const

Definition at line 433 of file fpointarray.cpp.

References point().

Referenced by pointTangentNormalAt().

bool FPointArray::operator== ( const FPointArray rhs  )  const

Definition at line 468 of file fpointarray.cpp.

References capacity, count, and operator==().

bool FPointArray::operator!= ( const FPointArray rhs  )  const

Definition at line 475 of file fpointarray.cpp.

References capacity, count, and operator!=().

void FPointArray::svgInit (  ) 

void FPointArray::svgMoveTo ( double  x,
double  y 
)

void FPointArray::svgLineTo ( double  x,
double  y 
)

void FPointArray::svgCurveToCubic ( double  x1,
double  y1,
double  x2,
double  y2,
double  x3,
double  y3 
)

void FPointArray::svgArcTo ( double  r1,
double  r2,
double  angle,
bool  largeArcFlag,
bool  sweepFlag,
double  x1,
double  y1 
)

Definition at line 749 of file fpointarray.cpp.

References calculateArc(), SVGState::CurrX, SVGState::CurrY, and svgState.

void FPointArray::svgClosePath (  ) 

void FPointArray::calculateArc ( bool  relative,
double &  curx,
double &  cury,
double  angle,
double  x,
double  y,
double  r1,
double  r2,
bool  largeArcFlag,
bool  sweepFlag 
)

Definition at line 754 of file fpointarray.cpp.

References M_PI, and svgCurveToCubic().

Referenced by parseSVG(), and svgArcTo().

bool FPointArray::parseSVG ( const QString &  svgPath  ) 

QString FPointArray::svgPath (  )  const

Definition at line 517 of file fpointarray.cpp.

References point(), size(), FPoint::x(), and FPoint::y().

Referenced by toXMLString().

QPainterPath FPointArray::toQPainterPath ( bool  closed  )