23#ifndef __DRAWING_TOOL_H
24#define __DRAWING_TOOL_H
54class STATUS_MIN_MAX_POPUP;
63 int aWorstClearance,
int aEpsilon );
73 const LSET& aLayers,
int aSnapRange = 0 );
130 bool aDrawNow,
VECTOR2I* tablesize );
302 std::stack<PCB_SHAPE*>* aCommittedGraphics );
330 const std::optional<ARC_TANGENT_SEED>& aTangentSeed = std::nullopt,
363 typedef std::numeric_limits<int> coord_limits;
364 const int guardValue = 1;
371 if( xDiff > maxDiff )
373 if( yDiff > maxDiff )
376 if( xDiff < -maxDiff )
378 if( yDiff < -maxDiff )
381 return aOrigin +
VECTOR2I(
int( xDiff ),
int( yDiff ) );
393 typedef std::numeric_limits<int> coord_limits;
394 const int guardValue = 10;
399 double maxRadius = coord_limits::max() / 2 - guardValue;
400 double radius = std::hypot( xDiff, yDiff );
404 double scaleFactor = maxRadius /
radius;
410 return aOrigin +
VECTOR2I(
int( xDiff ),
int( yDiff ) );
constexpr BOX2I KiROUND(const BOX2D &aBoxD)
A base class derived from BOARD_ITEM for items that can be connected and have a net,...
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
Information pertinent to a Pcbnew printed circuit board.
Design Rule Checker object that performs all the DRC tests.
An interface for classes handling user events controlling the view behavior such as zooming,...
Hold a (potentially large) number of VIEW_ITEMs and renders them on a graphics device provided by the...
LSET is a set of PCB_LAYER_IDs.
Common, abstract interface for edit frames.
Class that handles the drawing of a polygon, including management of last corner deletion and drawing...
Abstract interface for interactive shape-drawing behaviours.
Simple container to manage line stroke parameters.
VECTOR2_TRAITS< int32_t >::extended_type extended_type
Handle a list of polygons defining a copper zone.
PCB_LAYER_ID
A quick note on layer IDs:
The Cairo implementation of the graphics abstraction layer.
SHAPE_DRAW_RESULT
Outcome of an interactive shape drawing loop, telling the caller how to continue.
VECTOR2< int32_t > VECTOR2I