126                                          std::optional<int> aDistToNearest, 
int snapRange,
 
  130    void SetDirections( 
const std::vector<VECTOR2I>& aDirections );
 
 
  205                                   bool                                     aIsPersistent );
 
 
A helper class to manage the activation of a "proposal" after a timeout.
 
A class that manages "construction" objects and geometry.
 
void GetConstructionItems(std::vector< CONSTRUCTION_ITEM_BATCH > &aToExtend) const
Get the list of additional geometry items that should be considered.
 
void ProposeConstructionItems(std::unique_ptr< CONSTRUCTION_ITEM_BATCH > aBatch, bool aIsPersistent)
Add a batch of construction items to the helper.
 
CONSTRUCTION_VIEW_HANDLER & m_viewHandler
 
bool HasActiveConstruction() const
 
CONSTRUCTION_MANAGER(CONSTRUCTION_VIEW_HANDLER &aViewHandler)
 
void CancelProposal()
Cancel outstanding proposals for new geometry.
 
std::deque< CONSTRUCTION_ITEM_BATCH > m_temporaryConstructionBatches
Temporary construction items are added and removed as needed.
 
std::vector< CONSTRUCTION_ITEM > CONSTRUCTION_ITEM_BATCH
 
std::optional< CONSTRUCTION_ITEM_BATCH > m_persistentConstructionBatch
Within one "operation", there is one set of construction items that are "persistent",...
 
std::unique_ptr< ACTIVATION_HELPER< std::unique_ptr< PENDING_BATCH > > > m_activationHelper
 
unsigned getMaxTemporaryBatches() const
How many batches of temporary construction items can be active at once.
 
std::mutex m_batchesMutex
Protects the persistent and temporary construction batches.
 
bool InvolvesAllGivenRealItems(const std::vector< EDA_ITEM * > &aItems) const
Check if all 'real' (non-null = constructed) the items in the batch are in the list of items currentl...
 
void acceptConstructionItems(std::unique_ptr< PENDING_BATCH > aAcceptedBatchHash)
 
std::set< EDA_ITEM * > m_involvedItems
Set of all items for which construction geometry has been added.
 
Interface wrapper for the construction geometry preview with a callback to signal the view owner that...
 
KIGFX::CONSTRUCTION_GEOM & m_constructionGeomPreview
 
CONSTRUCTION_VIEW_HANDLER(KIGFX::CONSTRUCTION_GEOM &aHelper)
 
virtual void updateView()=0
 
KIGFX::CONSTRUCTION_GEOM & GetViewItem()
 
A base class for most all the KiCad significant classes used in schematics and boards.
 
A color representation with 4 components: red, green, blue, alpha.
 
Shows construction geometry for things like line extensions, arc centers, etc.
 
std::variant< SEG, LINE, HALF_LINE, CIRCLE, SHAPE_ARC, VECTOR2I > DRAWABLE
 
OPT_VECTOR2I GetNearestSnapLinePoint(const VECTOR2I &aCursor, const VECTOR2I &aNearestGrid, std::optional< int > aDistToNearest, int snapRange, const VECTOR2D &aGridSize=VECTOR2D(0, 0), const VECTOR2I &aGridOrigin=VECTOR2I(0, 0)) const
If the snap line is active, return the best snap point that is closest to the cursor.
 
OPT_VECTOR2I m_snapLineEnd
 
void SetDirections(const std::vector< VECTOR2I > &aDirections)
 
void SetSnappedAnchor(const VECTOR2I &aAnchorPos)
Inform this manager that an anchor snap has been made.
 
const std::vector< VECTOR2I > & GetDirections() const
 
CONSTRUCTION_VIEW_HANDLER & m_viewHandler
 
void ClearSnapLine()
Clear the snap line origin and end points.
 
std::vector< VECTOR2I > m_directions
 
SNAP_MANAGER * m_snapManager
 
bool HasCompleteSnapLine() const
 
SNAP_LINE_MANAGER(CONSTRUCTION_VIEW_HANDLER &aViewHandler)
 
std::optional< int > GetActiveDirection() const
 
void SetSnapLineOrigin(const VECTOR2I &aOrigin)
The snap point is a special point that is located at the last point the cursor snapped to.
 
std::optional< int > m_activeDirection
 
void SetSnapLineEnd(const OPT_VECTOR2I &aSnapPoint)
Set the end point of the snap line.
 
const OPT_VECTOR2I & GetSnapLineOrigin() const
 
OPT_VECTOR2I m_snapLineOrigin
 
A SNAP_MANAGER glues together the snap line manager and construction manager., along with some other ...
 
const SNAP_LINE_MANAGER & GetSnapLineManager() const
 
SNAP_LINE_MANAGER & GetSnapLineManager()
 
void SetSnapGuideColors(const KIGFX::COLOR4D &aBase, const KIGFX::COLOR4D &aHighlight)
 
KIGFX::COLOR4D m_snapGuideColor
 
KIGFX::COLOR4D m_snapGuideHighlightColor
 
CONSTRUCTION_MANAGER & GetConstructionManager()
 
GFX_UPDATE_CALLBACK m_updateCallback
 
std::vector< VECTOR2I > m_referenceOnlyPoints
 
CONSTRUCTION_MANAGER m_constructionManager
 
void SetUpdateCallback(GFX_UPDATE_CALLBACK aCallback)
Set the callback to call when the construction geometry changes and a view may need updating.
 
const std::vector< VECTOR2I > & GetReferenceOnlyPoints() const
 
std::function< void(bool aShowAnything)> GFX_UPDATE_CALLBACK
 
std::vector< CONSTRUCTION_MANAGER::CONSTRUCTION_ITEM_BATCH > GetConstructionItems() const
Get a list of all the active construction geometry, computed from the combined state of the snap line...
 
void updateView() override
 
SNAP_LINE_MANAGER m_snapLineManager
 
SNAP_MANAGER(KIGFX::CONSTRUCTION_GEOM &aHelper)
 
void SetReferenceOnlyPoints(std::vector< VECTOR2I > aPoints)
Set the reference-only points - these are points that are not snapped to, but can still be used for c...
 
std::optional< VECTOR2I > OPT_VECTOR2I
 
KIGFX::CONSTRUCTION_GEOM::DRAWABLE Drawable
 
Items to be used for the construction of "virtual" anchors, for example, when snapping to a point inv...
 
std::vector< DRAWABLE_ENTRY > Constructions
 
VECTOR2< int32_t > VECTOR2I
 
VECTOR2< double > VECTOR2D