Open Source 2D CAD
RPainterPath Class Reference

Extended painter path with a z-level and a pen. More...

#include <RPainterPath.h>

Inheritance diagram for RPainterPath:

Public Types

enum  Mode {
  NoModes = 0x000, Selected = 0x001, Highlighted = 0x002, Invalid = 0x004,
  FixedPenColor = 0x008, FixedBrushColor = 0x010, AutoRegen = 0x020, AlwaysRegen = 0x040,
  InheritPen = 0x080, PixelUnit = 0x100, NoClipping = 0x200

Public Member Functions

void addArc (const RArc &arc)
void addBox (const RBox &box)
void addLine (const RLine &line)
void addOriginalShape (QSharedPointer< RShape > shape)
void addPath (const RPainterPath &path)
void addPoint (const RVector &position)
void addPolyline (const RPolyline &pl)
void addRect (double x1, double y1, double x2, double y2)
void addRect (const QRectF &rect)
 Fixes crashing QPainterPath::addRect. More...
void addShape (QSharedPointer< RShape > shape)
void addSpline (const RSpline &spline)
void appendPath (const RPainterPath &path)
void closeSubpath ()
bool containsPoint (const RVector &v) const
void cubicTo (const RVector &cp1, const RVector &cp2, const RVector &v)
void cubicTo (qreal ctrlPt1x, qreal ctrlPt1y, qreal ctrlPt2x, qreal ctrlPt2y, qreal endPtx, qreal endPty)
bool getAlwaysRegen () const
bool getAutoRegen () const
RBox getBoundingBox () const
QBrush getBrush () const
RVector getCurrentPosition () const
double getDistanceTo (const RVector &point) const
int getElementCount () const
RVector getEndPoint () const
double getFeatureSize () const
bool getInheritPen () const
bool getMode (RPainterPath::Mode mode) const
bool getNoClipping () const
QPen getPen () const
double getPixelSizeHint () const
bool getPixelUnit () const
QList< RVectorgetPoints () const
QList< QSharedPointer< RShape > > getShapes () const
RVector getStartPoint () const
QPainterPath::ElementType getTypeAt (int i) const
double getXAt (int i) const
double getYAt (int i) const
int getZLevel () const
bool hasOriginalShapes () const
bool hasPoints ()
bool isAtPosition (const RVector &p, double tolerance=RS::PointTolerance) const
bool isEmpty () const
bool isFixedBrushColor () const
bool isFixedPenColor () const
bool isHighlighted () const
bool isSane () const
bool isSelected () const
bool isValid () const
void lineTo (const RVector &v)
void lineTo (qreal x, qreal y)
void lineTo (const QPointF &p)
void move (const RVector &offset)
void moveTo (const RVector &v)
void moveTo (qreal x, qreal y)
void moveTo (const QPointF &p)
void moveToOrNop (const RVector &v)
void quadTo (const RVector &cp, const RVector &v)
void quadTo (qreal ctrlPtx, qreal ctrlPty, qreal endPtx, qreal endPty)
void rotate (double angle)
 RPainterPath ()
 Copyright (c) 2011-2017 by Andrew Mustun. More...
 RPainterPath (const QPainterPath &path)
 RPainterPath (const RPainterPath &other)
void scale (double fx, double fy)
void setAlwaysRegen (bool on)
void setAutoRegen (bool on)
void setBrush (const QBrush &b)
void setFeatureSize (double s)
void setFixedBrushColor (bool on)
void setFixedPenColor (bool on)
void setHighlighted (bool on)
void setInheritPen (bool on)
void setMode (RPainterPath::Mode mode, bool on=true)
void setNoClipping (bool on)
void setPath (const QPainterPath &path)
void setPen (const QPen &p)
 Sets the pen of this painter path. More...
void setPixelSizeHint (double s)
void setPixelUnit (bool on)
void setPoints (const QList< RVector > &p)
void setSelected (bool on)
void setValid (bool on)
void setZLevel (int zl)
 Sets the z-level of the painter path. More...
void transform (const QTransform &t)
virtual ~RPainterPath ()

Static Public Member Functions

static RVector getMaxList (QList< RPainterPath > &pps)
static RVector getMinList (QList< RPainterPath > &pps)
static void rotateList (QList< RPainterPath > &pps, double angle)
static void scaleList (QList< RPainterPath > &pps, double fx, double fy)
static void translateList (QList< RPainterPath > &pps, const RVector &offset)

Private Attributes

QBrush brush
double featureSize
Modes modes
QList< QSharedPointer< RShape > > originalShapes
QPen pen
double pixelSizeHint
QList< RVectorpoints
int zLevel

Detailed Description

Extended painter path with a z-level and a pen.

This class is available in script environments.
Objects are cleaned up automatically by the garbage collector of the script engine.

Constructor & Destructor Documentation

RPainterPath::RPainterPath ( )

Copyright (c) 2011-2017 by Andrew Mustun.

All rights reserved.

This file is part of the QCAD project.

QCAD is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

QCAD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with QCAD.

RPainterPath::RPainterPath ( const QPainterPath &  path)
RPainterPath::RPainterPath ( const RPainterPath other)
RPainterPath::~RPainterPath ( )

Member Function Documentation

void RPainterPath::addArc ( const RArc arc)
void RPainterPath::addBox ( const RBox box)
void RPainterPath::addLine ( const RLine line)
void RPainterPath::addOriginalShape ( QSharedPointer< RShape shape)
void RPainterPath::addPath ( const RPainterPath path)
void RPainterPath::addPoint ( const RVector position)
void RPainterPath::addPolyline ( const RPolyline pl)
void RPainterPath::addRect ( double  x1,
double  y1,
double  x2,
double  y2 
void RPainterPath::addRect ( const QRectF &  rect)

Fixes crashing QPainterPath::addRect.

void RPainterPath::addShape ( QSharedPointer< RShape shape)
void RPainterPath::addSpline ( const RSpline spline)
void RPainterPath::appendPath ( const RPainterPath path)
void RPainterPath::closeSubpath ( )
bool RPainterPath::containsPoint ( const RVector v) const
void RPainterPath::cubicTo ( const RVector cp1,
const RVector cp2,
const RVector v 
void RPainterPath::cubicTo ( qreal  ctrlPt1x,
qreal  ctrlPt1y,
qreal  ctrlPt2x,
qreal  ctrlPt2y,
qreal  endPtx,
qreal  endPty 
bool RPainterPath::getAlwaysRegen ( ) const
bool RPainterPath::getAutoRegen ( ) const
RBox RPainterPath::getBoundingBox ( ) const
QBrush RPainterPath::getBrush ( ) const
RVector RPainterPath::getCurrentPosition ( ) const
double RPainterPath::getDistanceTo ( const RVector point) const
Distance from this painter path to the given point.

This can be used for example to find out how close the visual representation of an entity is to the mouse cursor on the screen.

int RPainterPath::getElementCount ( ) const
RVector RPainterPath::getEndPoint ( ) const
double RPainterPath::getFeatureSize ( ) const
bool RPainterPath::getInheritPen ( ) const
RVector RPainterPath::getMaxList ( QList< RPainterPath > &  pps)
RVector RPainterPath::getMinList ( QList< RPainterPath > &  pps)
bool RPainterPath::getMode ( RPainterPath::Mode  mode) const
bool RPainterPath::getNoClipping ( ) const
QPen RPainterPath::getPen ( ) const
Pen of this painter path.
double RPainterPath::getPixelSizeHint ( ) const
bool RPainterPath::getPixelUnit ( ) const
QList< RVector > RPainterPath::getPoints ( ) const
QList< QSharedPointer< RShape > > RPainterPath::getShapes ( ) const
RVector RPainterPath::getStartPoint ( ) const
QPainterPath::ElementType RPainterPath::getTypeAt ( int  i) const
double RPainterPath::getXAt ( int  i) const
double RPainterPath::getYAt ( int  i) const
int RPainterPath::getZLevel ( ) const
Z-level of the painter path.
bool RPainterPath::hasOriginalShapes ( ) const
bool RPainterPath::hasPoints ( )
bool RPainterPath::isAtPosition ( const RVector p,
double  tolerance = RS::PointTolerance 
) const
bool RPainterPath::isEmpty ( ) const
bool RPainterPath::isFixedBrushColor ( ) const
bool RPainterPath::isFixedPenColor ( ) const
bool RPainterPath::isHighlighted ( ) const
bool RPainterPath::isSane ( ) const
bool RPainterPath::isSelected ( ) const
bool RPainterPath::isValid ( ) const
void RPainterPath::lineTo ( const RVector v)
void RPainterPath::lineTo ( qreal  x,
qreal  y 
void RPainterPath::lineTo ( const QPointF &  p)
This function is not available in script environments.
void RPainterPath::move ( const RVector offset)
void RPainterPath::moveTo ( const RVector v)
void RPainterPath::moveTo ( qreal  x,
qreal  y 
void RPainterPath::moveTo ( const QPointF &  p)
This function is not available in script environments.
void RPainterPath::moveToOrNop ( const RVector v)
void RPainterPath::quadTo ( const RVector cp,
const RVector v 
void RPainterPath::quadTo ( qreal  ctrlPtx,
qreal  ctrlPty,
qreal  endPtx,
qreal  endPty 
void RPainterPath::rotate ( double  angle)
void RPainterPath::rotateList ( QList< RPainterPath > &  pps,
double  angle 
void RPainterPath::scale ( double  fx,
double  fy 
void RPainterPath::scaleList ( QList< RPainterPath > &  pps,
double  fx,
double  fy 
void RPainterPath::setAlwaysRegen ( bool  on)
void RPainterPath::setAutoRegen ( bool  on)
void RPainterPath::setBrush ( const QBrush &  b)
void RPainterPath::setFeatureSize ( double  s)
void RPainterPath::setFixedBrushColor ( bool  on)
void RPainterPath::setFixedPenColor ( bool  on)
void RPainterPath::setHighlighted ( bool  on)
void RPainterPath::setInheritPen ( bool  on)
void RPainterPath::setMode ( RPainterPath::Mode  mode,
bool  on = true 
void RPainterPath::setNoClipping ( bool  on)
void RPainterPath::setPath ( const QPainterPath &  path)
void RPainterPath::setPen ( const QPen &  p)

Sets the pen of this painter path.

The pen may be set before painting the path but this is up to the caller.

void RPainterPath::setPixelSizeHint ( double  s)
void RPainterPath::setPixelUnit ( bool  on)
void RPainterPath::setPoints ( const QList< RVector > &  p)
void RPainterPath::setSelected ( bool  on)
void RPainterPath::setValid ( bool  on)
void RPainterPath::setZLevel ( int  zl)

Sets the z-level of the painter path.

Painter paths may be ordered by z-level when drawn.

void RPainterPath::transform ( const QTransform &  t)
void RPainterPath::translateList ( QList< RPainterPath > &  pps,
const RVector offset 

Member Data Documentation

QBrush RPainterPath::brush
double RPainterPath::featureSize
Modes RPainterPath::modes
QList<QSharedPointer<RShape> > RPainterPath::originalShapes
QPen RPainterPath::pen
double RPainterPath::pixelSizeHint
QList<RVector> RPainterPath::points
int RPainterPath::zLevel

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