100 aVars->push_back( wxT(
"KICAD_VERSION" ) );
101 aVars->push_back( wxT(
"#" ) );
102 aVars->push_back( wxT(
"##" ) );
103 aVars->push_back( wxT(
"SHEETNAME" ) );
104 aVars->push_back( wxT(
"SHEETPATH" ) );
105 aVars->push_back( wxT(
"FILENAME" ) );
106 aVars->push_back( wxT(
"FILEPATH" ) );
107 aVars->push_back( wxT(
"PROJECTNAME" ) );
108 aVars->push_back( wxT(
"PAPER" ) );
109 aVars->push_back( wxT(
"LAYER" ) );
116 std::function<bool( wxString* )> wsResolver =
117 [&]( wxString* token ) ->
bool
119 bool tokenUpdated =
false;
121 if( token->IsSameAs( wxT(
"KICAD_VERSION" ) ) &&
PgmOrNull() )
126 else if( token->IsSameAs( wxT(
"#" ) ) )
131 else if( token->IsSameAs( wxT(
"##" ) ) )
136 else if( token->IsSameAs( wxT(
"SHEETNAME" ) ) )
141 else if( token->IsSameAs( wxT(
"SHEETPATH" ) ) )
146 else if( token->IsSameAs( wxT(
"FILENAME" ) ) )
149 *token = fn.GetFullName();
152 else if( token->IsSameAs( wxT(
"FILEPATH" ) ) )
155 *token = fn.GetFullPath();
158 else if( token->IsSameAs( wxT(
"PAPER" ) ) )
163 else if( token->IsSameAs( wxT(
"LAYER" ) ) )
211 if( retv.Contains( wxS(
"@{" ) ) )
220 auto item =
dynamic_cast<const EDA_ITEM*
>( aItem );
225 switch( item->Type() )
233 default:
return false;
242 m_gal->SetIsStroke(
true );
243 m_gal->SetIsFill(
false );
252 m_gal->SetIsStroke(
true );
253 m_gal->SetIsFill(
false );
263 m_gal->SetIsFill(
true );
264 m_gal->SetIsStroke(
false );
268 for(
int idx = 0; idx < item->
GetPolygons().OutlineCount(); ++idx )
271 m_gal->DrawPolygon( outline );
306 m_gal->Translate( position );
309 if( !( bitmap && bitmap->m_ImageBitmap
310 && bitmap->m_ImageBitmap->GetImageData() ) )
317 double img_scale = bitmap->m_ImageBitmap->GetScale();
319 if( img_scale != 1.0 )
322 m_gal->DrawBitmap( *bitmap->m_ImageBitmap );
326 m_canvas->SetIsFill(
true );
327 m_canvas->SetIsStroke(
true );
328 m_canvas->SetFillColor(
COLOR4D( 1, 1, 1, 0.4 ) );
329 m_canvas->SetStrokeColor(
COLOR4D( 0, 0, 0, 1 ) );
331 if( img_scale != 1.0 )
332 m_canvas->Scale(
VECTOR2D( 1.0, 1.0 ) );
348 m_gal->SetIsStroke(
true );
352 m_gal->SetIsFill(
false );
355 m_gal->DrawRectangle( origin,
end );
364 m_gal->DrawCircle( pos, marker_size );
366 VECTOR2D( pos.
x + marker_size, pos.
y + marker_size ) );
368 VECTOR2D( pos.
x - marker_size, pos.
y + marker_size ) );
378 m_gal->SetIsStroke(
true );
382 m_gal->SetIsFill(
false );
384 m_gal->DrawRectangle( origin,
end );
BASE_SCREEN class implementation.
wxString GetBaseVersion()
Get the KiCad version string without the information added by the packagers.
constexpr const Vec GetEnd() const
constexpr const Vec & GetOrigin() const
Color settings are a bit different than most of the settings objects in that there can be more than o...
COLOR4D GetColor(int aLayer) const
virtual int GetPenWidth() const
DS_DATA_ITEM * GetPeer() const
const KIFONT::METRICS & GetFontMetrics() const
VECTOR2I GetPosition() const override
const BOX2I GetBoundingBox() const override
Return the orthogonal bounding box of this object for display purposes.
const VECTOR2I & GetStart() const
const VECTOR2I & GetEnd() const
int m_sheetCount
The number of sheets.
static void GetTextVars(wxArrayString *aVars)
const std::map< wxString, wxString > * m_properties
wxString BuildFullText(const wxString &aTextbase)
const TITLE_BLOCK * m_titleBlock
const PROJECT * m_project
wxString m_pageNumber
The actual page number displayed in the title block.
A rectangle with thick segment showing the page limits and a marker showing the coordinate origin.
const VECTOR2I & GetMarkerPos() const
double GetMarkerSize() const
VECTOR2I GetPageSize() const
SHAPE_POLY_SET & GetPolygons()
Non filled rectangle with thick segment.
const VECTOR2I & GetEnd() const
const VECTOR2I & GetStart() const
A base class for most all the KiCad significant classes used in schematics and boards.
KICAD_T Type() const
Returns the type of object.
bool IsBrightened() const
const VECTOR2I & GetTextPos() const
KIFONT::FONT * GetFont() const
const TEXT_ATTRIBUTES & GetAttributes() const
int GetEffectiveTextPenWidth(int aDefaultPenWidth=0) const
The EffectiveTextPenWidth uses the text thickness if > 1 or aDefaultPenWidth.
virtual wxString GetShownText(bool aAllowExtraText, int aDepth=0) const
Return the string actually shown after processing of the base text.
High-level wrapper for evaluating mathematical and string expressions in wxString format.
wxString Evaluate(const wxString &aInput)
Main evaluation function - processes input string and evaluates all} expressions.
FONT is an abstract base class for both outline and stroke fonts.
static FONT * GetFont(const wxString &aFontName=wxEmptyString, bool aBold=false, bool aItalic=false, const std::vector< wxString > *aEmbeddedFiles=nullptr, bool aForDrawingSheet=false)
void Draw(KIGFX::GAL *aGal, const wxString &aText, const VECTOR2I &aPosition, const VECTOR2I &aCursor, const TEXT_ATTRIBUTES &aAttributes, const METRICS &aFontMetrics) const
Draw a string.
A color representation with 4 components: red, green, blue, alpha.
static const COLOR4D UNSPECIFIED
For legacy support; used as a value to indicate color hasn't been set yet.
void DrawBorder(const PAGE_INFO *aPageInfo, int aScaleFactor) const
DS_RENDER_SETTINGS m_renderSettings
void draw(const DS_DRAW_ITEM_LINE *aItem, int aLayer) const
virtual bool Draw(const VIEW_ITEM *, int) override
Takes an instance of VIEW_ITEM and passes it to a function that knows how to draw the item.
COLOR4D m_pageBorderColor
void LoadColors(const COLOR_SETTINGS *aSettings) override
virtual COLOR4D GetColor(const VIEW_ITEM *aItem, int aLayer) const override
Returns the color that should be used to draw the specific VIEW_ITEM on the specific layer using curr...
COLOR4D m_brightenedColor
GAL * m_gal
Instance of graphic abstraction layer that gives an interface to call commands used to draw (eg.
COLOR4D m_backgroundColor
virtual void update()
Precalculates extra colors for layers (e.g.
std::map< int, COLOR4D > m_layerColors
An abstract base class for deriving all objects that can be added to a VIEW.
Describe the page size and margins of a paper page on which to eventually print or plot.
double GetHeightMils() const
double GetWidthMils() const
Represent a polyline containing arcs as well as line segments: A chain of connected line and/or arc s...
SHAPE_LINE_CHAIN & Outline(int aIndex)
Return the reference to aIndex-th outline in the set.
Hold the information shown in the lower right corner of a plot, printout, or editing view.
static void GetContextualTextVars(wxArrayString *aVars)
wxString ExpandTextVars(const wxString &aSource, const PROJECT *aProject, int aFlags)
static const wxString productName
@ LAYER_SCHEMATIC_DRAWINGSHEET
@ LAYER_SCHEMATIC_BACKGROUND
The Cairo implementation of the graphics abstraction layer.
PGM_BASE * PgmOrNull()
Return a reference that can be nullptr when running a shared lib from a script, not from a kicad app.
VECTOR2< double > VECTOR2D