20#ifndef LIBREPCB_EDITOR_PRIMITIVEZONEGRAPHICSITEM_H
21#define LIBREPCB_EDITOR_PRIMITIVEZONEGRAPHICSITEM_H
42class IF_GraphicsLayerProvider;
57 QGraphicsItem* parent =
nullptr) noexcept;
97 const QVariant& value) noexcept override;
103 QPainterPath
shape() const noexcept override;
104 void paint(QPainter* painter, const QStyleOptionGraphicsItem* option,
105 QWidget* widget = 0) noexcept override;
The Angle class is used to represent an angle (for example 12.75 degrees)
Definition: angle.h:78
The Layer class provides all supported geometry layers.
Definition: layer.h:42
The Path class represents a list of vertices connected by straight lines or circular arc segments.
Definition: path.h:58
The Point class is used to represent a point/coordinate/vector, for example (1.2mm; 5....
Definition: point.h:79
The GraphicsLayer class represents a graphical layer used in schematics and boards.
Definition: graphicslayer.h:53
The IF_GraphicsLayerProvider class defines an interface for classes which provide layers.
Definition: graphicslayer.h:111
The PrimitiveZoneGraphicsItem class.
Definition: primitivezonegraphicsitem.h:51
void setOutline(const Path &path) noexcept
Definition: primitivezonegraphicsitem.cpp:166
QPen mPenHighlighted
Definition: primitivezonegraphicsitem.h:129
void updateBoundingRectMargin() noexcept
Definition: primitivezonegraphicsitem.cpp:300
QRectF boundingRect() const noexcept override
Definition: primitivezonegraphicsitem.h:98
int getLineIndexAtPosition(const Point &pos) const noexcept
Definition: primitivezonegraphicsitem.cpp:81
qreal mBoundingRectMarginPx
Definition: primitivezonegraphicsitem.h:134
QVariant itemChange(GraphicsItemChange change, const QVariant &value) noexcept override
Definition: primitivezonegraphicsitem.cpp:200
QBrush mBrush
Definition: primitivezonegraphicsitem.h:130
QPainterPath mShape
Definition: primitivezonegraphicsitem.h:135
std::shared_ptr< GraphicsLayer > mLayer
Definition: primitivezonegraphicsitem.h:127
QBrush mBrushHighlighted
Definition: primitivezonegraphicsitem.h:131
PrimitiveZoneGraphicsItem(const PrimitiveZoneGraphicsItem &other)=delete
PrimitiveZoneGraphicsItem()=delete
qreal mVertexHandleRadiusPx
Definition: primitivezonegraphicsitem.h:136
QPainterPath shape() const noexcept override
Definition: primitivezonegraphicsitem.cpp:208
GraphicsLayer::OnEditedSlot mOnLayerEditedSlot
Definition: primitivezonegraphicsitem.h:144
const IF_GraphicsLayerProvider & mLayerProvider
Definition: primitivezonegraphicsitem.h:120
QRectF mBoundingRect
Definition: primitivezonegraphicsitem.h:133
QVector< std::shared_ptr< GraphicsLayer > > mAllGraphicsLayers
Definition: primitivezonegraphicsitem.h:121
Path mOutline
Definition: primitivezonegraphicsitem.h:123
QVector< VertexHandle > mVertexHandles
Definition: primitivezonegraphicsitem.h:141
void layerEdited(const GraphicsLayer &layer, GraphicsLayer::Event event) noexcept
Definition: primitivezonegraphicsitem.cpp:251
QPainterPath mPainterPath
Definition: primitivezonegraphicsitem.h:132
void setEnabledLayers(const QSet< const Layer * > &layers) noexcept
Definition: primitivezonegraphicsitem.cpp:149
QPen mPen
Definition: primitivezonegraphicsitem.h:128
void setRotation(const Angle &rot) noexcept
Definition: primitivezonegraphicsitem.cpp:129
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0) noexcept override
Definition: primitivezonegraphicsitem.cpp:212
QVector< int > getVertexIndicesAtPosition(const Point &pos) const noexcept
Definition: primitivezonegraphicsitem.cpp:108
QVector< std::shared_ptr< GraphicsLayer > > mEnabledGraphicsLayers
Definition: primitivezonegraphicsitem.h:122
bool mEditable
Definition: primitivezonegraphicsitem.h:124
void updateVisibility() noexcept
Definition: primitivezonegraphicsitem.cpp:315
void setEditable(bool editable) noexcept
Definition: primitivezonegraphicsitem.cpp:191
void setPosition(const Point &pos) noexcept
Definition: primitivezonegraphicsitem.cpp:125
void updateBoundingRectAndShape() noexcept
Definition: primitivezonegraphicsitem.cpp:292
void setAllLayers(const QSet< const Layer * > &layers) noexcept
Definition: primitivezonegraphicsitem.cpp:133
void updateColors() noexcept
Definition: primitivezonegraphicsitem.cpp:271
Definition: occmodel.cpp:77
Definition: primitivezonegraphicsitem.h:137
qreal maxGlowRadiusPx
Definition: primitivezonegraphicsitem.h:139
Point pos
Definition: primitivezonegraphicsitem.h:138