KiCad PCB EDA Suite
|
#include <view_overlay.h>
Classes | |
struct | COMMAND |
struct | COMMAND_ARC |
struct | COMMAND_BITMAP_TEXT |
struct | COMMAND_CIRCLE |
struct | COMMAND_GLYPH_SIZE |
struct | COMMAND_LINE |
struct | COMMAND_POINT_POLYGON |
struct | COMMAND_POLY_POLYGON |
struct | COMMAND_POLYGON |
struct | COMMAND_RECTANGLE |
struct | COMMAND_SET_COLOR |
struct | COMMAND_SET_FILL |
struct | COMMAND_SET_STROKE |
struct | COMMAND_SET_WIDTH |
Public Member Functions | |
VIEW_OVERLAY () | |
virtual | ~VIEW_OVERLAY () |
void | Clear () |
virtual const BOX2I | ViewBBox () const override |
Return the bounding box of the item covering all its layers. | |
virtual void | ViewDraw (int aLayer, VIEW *aView) const override |
Draw the parts of the object belonging to layer aLayer. | |
virtual std::vector< int > | ViewGetLayers () const override |
Return the all the layers within the VIEW the object is painted on. | |
void | Line (const VECTOR2D &aStartPoint, const VECTOR2D &aEndPoint) |
void | Line (const SEG &aSeg) |
void | Segment (const VECTOR2D &aStartPoint, const VECTOR2D &aEndPoint, double aWidth) |
void | Circle (const VECTOR2D &aCenterPoint, double aRadius) |
void | Arc (const VECTOR2D &aCenterPoint, double aRadius, const EDA_ANGLE &aStartAngle, const EDA_ANGLE &aEndAngle) |
void | Rectangle (const VECTOR2D &aStartPoint, const VECTOR2D &aEndPoint) |
void | Cross (const VECTOR2D &aP, int aSize) |
void | Polygon (const std::deque< VECTOR2D > &aPointList) |
void | Polygon (const SHAPE_POLY_SET &aPolySet) |
void | Polyline (const SHAPE_LINE_CHAIN &aPolyLine) |
void | Polygon (const VECTOR2D aPointList[], int aListSize) |
void | BitmapText (const wxString &aText, const VECTOR2I &aPosition, const EDA_ANGLE &aAngle) |
void | SetIsFill (bool aIsFillEnabled) |
void | SetIsStroke (bool aIsStrokeEnabled) |
void | SetFillColor (const COLOR4D &aColor) |
void | SetStrokeColor (const COLOR4D &aColor) |
void | SetGlyphSize (const VECTOR2I &aSize) |
void | SetLineWidth (double aLineWidth) |
const COLOR4D & | GetStrokeColor () const |
const COLOR4D & | GetFillColor () const |
bool | IsSCH_ITEM () const |
bool | IsBOARD_ITEM () const |
virtual double | ViewGetLOD (int aLayer, VIEW *aView) const |
Return the level of detail (LOD) of the item. | |
VIEW_ITEM_DATA * | viewPrivData () const |
void | SetForcedTransparency (double aForcedTransparency) |
double | GetForcedTransparency () const |
bool | Set (PROPERTY_BASE *aProperty, wxAny &aValue, bool aNotify=true) |
template<typename T > | |
bool | Set (PROPERTY_BASE *aProperty, T aValue, bool aNotify=true) |
template<typename T > | |
bool | Set (const wxString &aProperty, T aValue, bool aNotify=true) |
wxAny | Get (PROPERTY_BASE *aProperty) const |
template<typename T > | |
T | Get (PROPERTY_BASE *aProperty) const |
template<typename T > | |
std::optional< T > | Get (const wxString &aProperty) const |
Private Member Functions | |
void | releaseCommands () |
Private Attributes | |
COLOR4D | m_strokeColor |
COLOR4D | m_fillColor |
std::vector< COMMAND * > | m_commands |
bool | m_isSCH_ITEM |
bool | m_isBOARD_ITEM |
VIEW_ITEM_DATA * | m_viewPrivData |
double | m_forcedTransparency |
Additional transparency for diff'ing items. | |
Definition at line 44 of file view_overlay.h.
KIGFX::VIEW_OVERLAY::VIEW_OVERLAY | ( | ) |
Definition at line 264 of file view_overlay.cpp.
|
virtual |
Definition at line 269 of file view_overlay.cpp.
References releaseCommands().
void KIGFX::VIEW_OVERLAY::Arc | ( | const VECTOR2D & | aCenterPoint, |
double | aRadius, | ||
const EDA_ANGLE & | aStartAngle, | ||
const EDA_ANGLE & | aEndAngle | ||
) |
Definition at line 370 of file view_overlay.cpp.
References m_commands.
Referenced by PNS_LOG_VIEWER_OVERLAY::Arc().
void KIGFX::VIEW_OVERLAY::BitmapText | ( | const wxString & | aText, |
const VECTOR2I & | aPosition, | ||
const EDA_ANGLE & | aAngle | ||
) |
Definition at line 395 of file view_overlay.cpp.
References m_commands.
Referenced by LABEL_MANAGER::Redraw().
void KIGFX::VIEW_OVERLAY::Circle | ( | const VECTOR2D & | aCenterPoint, |
double | aRadius | ||
) |
Definition at line 364 of file view_overlay.cpp.
References m_commands.
void KIGFX::VIEW_OVERLAY::Clear | ( | ) |
Definition at line 284 of file view_overlay.cpp.
References releaseCommands().
void KIGFX::VIEW_OVERLAY::Cross | ( | const VECTOR2D & | aP, |
int | aSize | ||
) |
Definition at line 426 of file view_overlay.cpp.
References Line().
|
inlineinherited |
Definition at line 119 of file inspectable.h.
References PROPERTY_BASE::get(), PROPERTY_MANAGER::GetProperty(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 99 of file inspectable.h.
References PROPERTY_BASE::getter(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
Referenced by BOOST_AUTO_TEST_CASE(), CLASS_D_DESC::CLASS_D_DESC(), PROPERTIES_PANEL::getItemValue(), PCBEXPR_VAR_REF::GetValue(), and SCHEMATIC::SCHEMATIC().
|
inlineinherited |
Definition at line 107 of file inspectable.h.
References PROPERTY_BASE::get(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inline |
Definition at line 105 of file view_overlay.h.
|
inlineinherited |
Definition at line 158 of file view_item.h.
Referenced by KIGFX::SCH_PAINTER::draw(), EDA_ITEM::EDA_ITEM(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), and EDA_ITEM::operator=().
|
inline |
Definition at line 104 of file view_overlay.h.
Referenced by PNS_LOG_VIEWER_OVERLAY::AnnotatedPoint(), PNS_LOG_VIEWER_OVERLAY::AnnotatedPolyline(), and PNS_LOG_VIEWER_OVERLAY::Arc().
|
inlineinherited |
Definition at line 100 of file view_item.h.
Referenced by KIGFX::PCB_VIEW::Add(), PCB_BASE_EDIT_FRAME::ClearListAndDeleteItems(), CONVERT_TOOL::CreatePolys(), EDIT_TOOL::doMoveSelection(), KIGFX::PCB_PAINTER::Draw(), PCB_SELECTION_TOOL::highlightInternal(), PCB_TEST_SELECTION_TOOL::highlightInternal(), GENERAL_COLLECTOR::Inspect(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), BOARD_COMMIT::MakeImage(), BOARD::Move(), DRAWING_TOOL::PlaceImportedGraphics(), EDIT_TOOL::Properties(), BOARD_COMMIT::Push(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), KIGFX::PCB_VIEW::Remove(), EDIT_TOOL::removeNonRootItems(), BOARD_COMMIT::Revert(), PCB_EDIT_FRAME::SetActiveLayer(), PCB_BASE_FRAME::SetPlotSettings(), PCB_EDIT_FRAME::ShowBoardSetupDialog(), EDIT_TOOL::Swap(), PCB_SELECTION_TOOL::unhighlightInternal(), PCB_TEST_SELECTION_TOOL::unhighlightInternal(), KIGFX::PCB_VIEW::Update(), EDIT_TOOL::updateModificationPoint(), and DIALOG_POSITION_RELATIVE::UpdatePickedItem().
|
inlineinherited |
Definition at line 99 of file view_item.h.
void KIGFX::VIEW_OVERLAY::Line | ( | const SEG & | aSeg | ) |
Definition at line 323 of file view_overlay.cpp.
Definition at line 317 of file view_overlay.cpp.
References m_commands.
Referenced by PNS_LOG_VIEWER_OVERLAY::AnnotatedPoint(), Cross(), Line(), Polyline(), LABEL_MANAGER::Redraw(), and Segment().
void KIGFX::VIEW_OVERLAY::Polygon | ( | const SHAPE_POLY_SET & | aPolySet | ) |
Definition at line 346 of file view_overlay.cpp.
References m_commands.
void KIGFX::VIEW_OVERLAY::Polygon | ( | const std::deque< VECTOR2D > & | aPointList | ) |
Definition at line 352 of file view_overlay.cpp.
References m_commands.
void KIGFX::VIEW_OVERLAY::Polygon | ( | const VECTOR2D | aPointList[], |
int | aListSize | ||
) |
Definition at line 358 of file view_overlay.cpp.
References m_commands.
void KIGFX::VIEW_OVERLAY::Polyline | ( | const SHAPE_LINE_CHAIN & | aPolyLine | ) |
Definition at line 336 of file view_overlay.cpp.
References SHAPE_LINE_CHAIN::CSegment(), Line(), SHAPE_LINE_CHAIN::SegmentCount(), SetIsFill(), and SetIsStroke().
Referenced by PNS_LOG_VIEWER_OVERLAY::AnnotatedPolyline().
Definition at line 377 of file view_overlay.cpp.
References m_commands.
Referenced by LABEL_MANAGER::Redraw().
|
private |
Definition at line 275 of file view_overlay.cpp.
References m_commands.
Referenced by Clear(), and ~VIEW_OVERLAY().
void KIGFX::VIEW_OVERLAY::Segment | ( | const VECTOR2D & | aStartPoint, |
const VECTOR2D & | aEndPoint, | ||
double | aWidth | ||
) |
Definition at line 329 of file view_overlay.cpp.
References Line(), and SetLineWidth().
|
inlineinherited |
Definition at line 76 of file inspectable.h.
References PROPERTY_MANAGER::GetProperty(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), PROPERTY_MANAGER::PropertyChanged(), PROPERTY_BASE::set(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 59 of file inspectable.h.
References PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), PROPERTY_MANAGER::PropertyChanged(), PROPERTY_BASE::set(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 42 of file inspectable.h.
References PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), PROPERTY_MANAGER::PropertyChanged(), PROPERTY_BASE::setter(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
Referenced by SCH_PROPERTIES_PANEL::valueChanged(), and PCB_PROPERTIES_PANEL::valueChanged().
void KIGFX::VIEW_OVERLAY::SetFillColor | ( | const COLOR4D & | aColor | ) |
Definition at line 408 of file view_overlay.cpp.
References m_commands, and m_fillColor.
|
inlineinherited |
Definition at line 153 of file view_item.h.
Referenced by EDA_ITEM::EDA_ITEM(), SYMBOL_DIFF_WIDGET::onSlider(), FOOTPRINT_DIFF_WIDGET::onSlider(), and EDA_ITEM::operator=().
void KIGFX::VIEW_OVERLAY::SetGlyphSize | ( | const VECTOR2I & | aSize | ) |
Definition at line 389 of file view_overlay.cpp.
References m_commands.
void KIGFX::VIEW_OVERLAY::SetIsFill | ( | bool | aIsFillEnabled | ) |
Definition at line 383 of file view_overlay.cpp.
References m_commands.
Referenced by Polyline(), and LABEL_MANAGER::Redraw().
void KIGFX::VIEW_OVERLAY::SetIsStroke | ( | bool | aIsStrokeEnabled | ) |
Definition at line 402 of file view_overlay.cpp.
References m_commands.
Referenced by Polyline(), and LABEL_MANAGER::Redraw().
void KIGFX::VIEW_OVERLAY::SetLineWidth | ( | double | aLineWidth | ) |
Definition at line 421 of file view_overlay.cpp.
References m_commands.
Referenced by PNS_LOG_VIEWER_OVERLAY::Arc(), LABEL_MANAGER::Redraw(), and Segment().
void KIGFX::VIEW_OVERLAY::SetStrokeColor | ( | const COLOR4D & | aColor | ) |
Definition at line 415 of file view_overlay.cpp.
References m_commands, and m_strokeColor.
Referenced by PNS_LOG_VIEWER_OVERLAY::Arc(), and LABEL_MANAGER::Redraw().
|
overridevirtual |
Return the bounding box of the item covering all its layers.
Implements KIGFX::VIEW_ITEM.
Definition at line 290 of file view_overlay.cpp.
References BOX2< Vec >::SetMaximum().
|
overridevirtual |
Draw the parts of the object belonging to layer aLayer.
An alternative way for drawing objects if there is no #PAINTER assigned for the view or if the PAINTER doesn't know how to paint this particular implementation of VIEW_ITEM. The preferred way of drawing is to design an appropriate PAINTER object, the method below is intended only for quick hacks and debugging purposes.
aLayer | is the current drawing layer. |
aView | is a pointer to the VIEW device we are drawing on. |
Reimplemented from KIGFX::VIEW_ITEM.
Definition at line 299 of file view_overlay.cpp.
References KIGFX::VIEW::GetGAL(), KIGFX::GAL::GetMinDepth(), KIGFX::GAL_SCOPED_ATTRS::LAYER_DEPTH, m_commands, and KIGFX::GAL::SetLayerDepth().
|
overridevirtual |
Return the all the layers within the VIEW the object is painted on.
For instance, a PAD spans zero or more copper layers and a few technical layers. ViewDraw() or PAINTER::Draw() is repeatedly called for each of the layers returned by ViewGetLayers(), depending on the rendering order.
Implements KIGFX::VIEW_ITEM.
Definition at line 311 of file view_overlay.cpp.
References LAYER_GP_OVERLAY.
|
inlinevirtualinherited |
Return the level of detail (LOD) of the item.
A level of detail is the minimal VIEW scale that is sufficient for an item to be shown on a given layer.
aLayer | is the current drawing layer. |
aView | is a pointer to the VIEW device we are drawing on. |
Reimplemented in SCH_LINE, GERBER_DRAW_ITEM, FOOTPRINT, PAD, PCB_FIELD, PCB_GROUP, PCB_REFERENCE_IMAGE, PCB_SHAPE, PCB_TEXT, PCB_TEXTBOX, PCB_TRACK, PCB_VIA, and ZONE.
Definition at line 142 of file view_item.h.
Referenced by PCB_GRID_HELPER::computeAnchors(), PNS_KICAD_IFACE::IsItemVisible(), KIGFX::VIEW::DRAW_ITEM_VISITOR::operator()(), EE_GRID_HELPER::queryVisible(), and PCB_GRID_HELPER::queryVisible().
|
inlineinherited |
Definition at line 148 of file view_item.h.
Referenced by KIGFX::VIEW::Add(), KIGFX::VIEW::draw(), KIGFX::VIEW::HasItem(), KIGFX::VIEW::Hide(), KIGFX::VIEW::invalidateItem(), KIGFX::VIEW::IsHiddenOnOverlay(), KIGFX::VIEW::IsVisible(), KIGFX::VIEW::UPDATE_COLOR_VISITOR::operator()(), KIGFX::VIEW::UPDATE_DEPTH_VISITOR::operator()(), KIGFX::VIEW::DRAW_ITEM_VISITOR::operator()(), KIGFX::VIEW::RECACHE_ITEM_VISITOR::operator()(), KIGFX::VIEW::CLEAR_LAYER_CACHE_VISITOR::operator()(), KIGFX::VIEW::SetVisible(), KIGFX::VIEW::Update(), KIGFX::VIEW::updateItemColor(), KIGFX::VIEW::updateItemGeometry(), and KIGFX::VIEW::updateLayers().
|
private |
Definition at line 113 of file view_overlay.h.
Referenced by Arc(), BitmapText(), Circle(), Line(), Polygon(), Rectangle(), releaseCommands(), SetFillColor(), SetGlyphSize(), SetIsFill(), SetIsStroke(), SetLineWidth(), SetStrokeColor(), and ViewDraw().
|
private |
Definition at line 111 of file view_overlay.h.
Referenced by SetFillColor().
|
privateinherited |
Additional transparency for diff'ing items.
Definition at line 169 of file view_item.h.
Referenced by KIGFX::VIEW::DRAW_ITEM_VISITOR::operator()().
|
privateinherited |
Definition at line 167 of file view_item.h.
|
privateinherited |
Definition at line 166 of file view_item.h.
|
private |
Definition at line 110 of file view_overlay.h.
Referenced by SetStrokeColor().
|
privateinherited |
Definition at line 168 of file view_item.h.
Referenced by KIGFX::VIEW::Add(), KIGFX::VIEW::OnDestroy(), KIGFX::VIEW::Remove(), KIGFX::VIEW::updateBbox(), KIGFX::VIEW::updateLayers(), and KIGFX::VIEW_ITEM::~VIEW_ITEM().