20#ifndef LIBREPCB_EDITOR_BGI_DEVICE_H
21#define LIBREPCB_EDITOR_BGI_DEVICE_H
26#include "../../../graphics/graphicslayer.h"
44class OriginCrossGraphicsItem;
45class PrimitiveCircleGraphicsItem;
46class PrimitiveHoleGraphicsItem;
47class PrimitivePathGraphicsItem;
48class PrimitiveZoneGraphicsItem;
77 QPainterPath
shape() const noexcept override;
86 virtual QVariant
itemChange(GraphicsItemChange change,
87 const QVariant& value) noexcept override;
The BI_Device class.
Definition: bi_device.h:57
The Layer class provides all supported geometry layers.
Definition: layer.h:42
The Signal class is used to emit signals on non-QObject derived classes.
Definition: signalslot.h:65
The BGI_Device class.
Definition: bgi_device.h:57
void updateBoardSide() noexcept
Definition: bgi_device.cpp:216
BI_Device & mDevice
Definition: bgi_device.h:96
std::shared_ptr< OriginCrossGraphicsItem > mOriginCrossGraphicsItem
Definition: bgi_device.h:99
QVector< std::shared_ptr< PrimitiveHoleGraphicsItem > > mHoleGraphicsItems
Definition: bgi_device.h:103
void updatePosition() noexcept
Definition: bgi_device.cpp:204
QVector< std::shared_ptr< PrimitivePathGraphicsItem > > mPolygonGraphicsItems
Definition: bgi_device.h:101
std::shared_ptr< GraphicsLayer > mGrabAreaLayer
Definition: bgi_device.h:98
virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value) noexcept override
Definition: bgi_device.cpp:183
QVector< std::shared_ptr< PrimitiveZoneGraphicsItem > > mZoneGraphicsItems
Definition: bgi_device.h:102
QPainterPath mShape
Definition: bgi_device.h:104
void updateHoleStopMaskOffsets() noexcept
Definition: bgi_device.cpp:279
virtual ~BGI_Device() noexcept
Definition: bgi_device.cpp:119
Event
Definition: bgi_device.h:60
QPainterPath shape() const noexcept override
Definition: bgi_device.cpp:126
GraphicsLayer::OnEditedSlot mOnLayerEditedSlot
Definition: bgi_device.h:108
const IF_GraphicsLayerProvider & mLayerProvider
Definition: bgi_device.h:97
BGI_Device(const BGI_Device &other)=delete
void updateRotationAndMirrored() noexcept
Definition: bgi_device.cpp:209
BI_Device::OnEditedSlot mOnEditedSlot
Definition: bgi_device.h:107
Signal< BGI_Device, Event > onEdited
Definition: bgi_device.h:64
void layerEdited(const GraphicsLayer &layer, GraphicsLayer::Event event) noexcept
Definition: bgi_device.cpp:165
QVector< std::shared_ptr< PrimitiveCircleGraphicsItem > > mCircleGraphicsItems
Definition: bgi_device.h:100
void deviceEdited(const BI_Device &obj, BI_Device::Event event) noexcept
Definition: bgi_device.cpp:138
Slot< BGI_Device, Event > OnEditedSlot
Definition: bgi_device.h:65
BI_Device & getDevice() noexcept
Definition: bgi_device.h:74
std::shared_ptr< GraphicsLayer > getLayer(const Layer &layer) const noexcept
Definition: bgi_device.cpp:317
void updateZoneLayers() noexcept
Definition: bgi_device.cpp:292
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 OriginCrossGraphicsItem class.
Definition: origincrossgraphicsitem.h:50
The PrimitiveCircleGraphicsItem class.
Definition: primitivecirclegraphicsitem.h:49
Independent graphical representation of a librepcb::Hole.
Definition: primitiveholegraphicsitem.h:53
The PrimitivePathGraphicsItem class.
Definition: primitivepathgraphicsitem.h:50
The PrimitiveZoneGraphicsItem class.
Definition: primitivezonegraphicsitem.h:51
Definition: occmodel.cpp:77