Box highlighting of selected text was never finished.
In particular, pin numbers and names weren't done.
This commit is contained in:
parent
e2ce2e6ca9
commit
684d15895c
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
|
|
||||||
#include <sch_item.h>
|
#include <sch_item.h>
|
||||||
|
#include <trigo.h>
|
||||||
#include <bezier_curves.h>
|
#include <bezier_curves.h>
|
||||||
#include <symbol_library.h>
|
#include <symbol_library.h>
|
||||||
#include <connection_graph.h>
|
#include <connection_graph.h>
|
||||||
|
@ -205,8 +205,8 @@ bool SCH_PAINTER::Draw( const VIEW_ITEM *aItem, int aLayer )
|
||||||
|
|
||||||
m_gal->SetIsFill( false );
|
m_gal->SetIsFill( false );
|
||||||
m_gal->SetIsStroke( true );
|
m_gal->SetIsStroke( true );
|
||||||
m_gal->SetStrokeColor( item->IsSelected() ? COLOR4D( 1.0, 0.2, 0.2, 1 ) :
|
m_gal->SetStrokeColor( item->IsSelected() ? COLOR4D( 1.0, 0.2, 0.2, 1 )
|
||||||
COLOR4D( 0.2, 0.2, 0.2, 1 ) );
|
: COLOR4D( 0.2, 0.2, 0.2, 1 ) );
|
||||||
m_gal->SetLineWidth( Mils2iu( 3 ) );
|
m_gal->SetLineWidth( Mils2iu( 3 ) );
|
||||||
m_gal->DrawRectangle( box.GetOrigin(), box.GetEnd() );
|
m_gal->DrawRectangle( box.GetOrigin(), box.GetEnd() );
|
||||||
}
|
}
|
||||||
|
@ -409,9 +409,46 @@ float SCH_PAINTER::getTextThickness( const LIB_TEXT* aItem, bool aDrawingShadows
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static VECTOR2D mapCoords( const wxPoint& aCoord )
|
||||||
|
{
|
||||||
|
return VECTOR2D( aCoord.x, -aCoord.y );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void SCH_PAINTER::strokeText( const wxString& aText, const VECTOR2D& aPosition, double aAngle )
|
void SCH_PAINTER::strokeText( const wxString& aText, const VECTOR2D& aPosition, double aAngle )
|
||||||
{
|
{
|
||||||
m_gal->StrokeText( aText, aPosition, aAngle );
|
m_gal->StrokeText( aText, VECTOR2D( aPosition.x, aPosition.y ), aAngle );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void SCH_PAINTER::boxText( const wxString& aText, const VECTOR2D& aPosition, double aAngle )
|
||||||
|
{
|
||||||
|
const STROKE_FONT& font = m_gal->GetStrokeFont();
|
||||||
|
VECTOR2D extents = font.ComputeStringBoundaryLimits( aText, m_gal->GetGlyphSize(),
|
||||||
|
m_gal->GetLineWidth() );
|
||||||
|
EDA_RECT box( (wxPoint) aPosition, wxSize( extents.x, extents.y ) );
|
||||||
|
|
||||||
|
if( m_gal->GetHorizontalJustify() == GR_TEXT_HJUSTIFY_CENTER )
|
||||||
|
box.SetX( box.GetX() - ( box.GetWidth() / 2) );
|
||||||
|
else if( m_gal->GetHorizontalJustify() == GR_TEXT_HJUSTIFY_RIGHT )
|
||||||
|
box.SetX( box.GetX() - box.GetWidth() );
|
||||||
|
|
||||||
|
if( m_gal->GetVerticalJustify() == GR_TEXT_VJUSTIFY_CENTER )
|
||||||
|
box.SetY( box.GetY() - ( box.GetHeight() / 2) );
|
||||||
|
else if( m_gal->GetVerticalJustify() == GR_TEXT_VJUSTIFY_BOTTOM )
|
||||||
|
box.SetY( box.GetY() - box.GetHeight() );
|
||||||
|
|
||||||
|
box.Normalize(); // Make h and v sizes always >= 0
|
||||||
|
box = box.GetBoundingBoxRotated((wxPoint) aPosition, RAD2DECIDEG( aAngle ) );
|
||||||
|
box.RevertYAxis();
|
||||||
|
m_gal->DrawRectangle( mapCoords( box.GetOrigin() ), mapCoords( box.GetEnd() ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void SCH_PAINTER::triLine( const VECTOR2D &a, const VECTOR2D &b, const VECTOR2D &c )
|
||||||
|
{
|
||||||
|
m_gal->DrawLine( a, b );
|
||||||
|
m_gal->DrawLine( b, c );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -448,19 +485,6 @@ void SCH_PAINTER::draw( const LIB_SYMBOL *aSymbol, int aLayer, bool aDrawFields,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static VECTOR2D mapCoords( const wxPoint& aCoord )
|
|
||||||
{
|
|
||||||
return VECTOR2D( aCoord.x, -aCoord.y );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void SCH_PAINTER::triLine( const VECTOR2D &a, const VECTOR2D &b, const VECTOR2D &c )
|
|
||||||
{
|
|
||||||
m_gal->DrawLine( a, b );
|
|
||||||
m_gal->DrawLine( b, c );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool SCH_PAINTER::setDeviceColors( const LIB_ITEM* aItem, int aLayer )
|
bool SCH_PAINTER::setDeviceColors( const LIB_ITEM* aItem, int aLayer )
|
||||||
{
|
{
|
||||||
switch( aLayer )
|
switch( aLayer )
|
||||||
|
@ -1015,148 +1039,173 @@ void SCH_PAINTER::draw( LIB_PIN *aPin, int aLayer )
|
||||||
|
|
||||||
int insideOffset = textOffset;
|
int insideOffset = textOffset;
|
||||||
int outsideOffset = 2 * Mils2iu( PIN_TEXT_MARGIN ) + ( dangling ? TARGET_PIN_RADIUS / 2 : 0 );
|
int outsideOffset = 2 * Mils2iu( PIN_TEXT_MARGIN ) + ( dangling ? TARGET_PIN_RADIUS / 2 : 0 );
|
||||||
float lineThickness = (float) m_schSettings.GetDefaultPenWidth();
|
int aboveOffset = Mils2iu( PIN_TEXT_MARGIN ) + m_schSettings.GetDefaultPenWidth() / 2;
|
||||||
float aboveOffset = Mils2iu( PIN_TEXT_MARGIN ) + ( thickness[ABOVE] + lineThickness ) / 2.0;
|
int belowOffset = Mils2iu( PIN_TEXT_MARGIN ) + m_schSettings.GetDefaultPenWidth() / 2;
|
||||||
float belowOffset = Mils2iu( PIN_TEXT_MARGIN ) + ( thickness[BELOW] + lineThickness ) / 2.0;
|
|
||||||
|
|
||||||
if( drawingShadows )
|
if( drawingShadows )
|
||||||
{
|
{
|
||||||
for( float& t : thickness )
|
float shadowWidth = getShadowWidth();
|
||||||
t += getShadowWidth();
|
|
||||||
|
|
||||||
insideOffset -= KiROUND( getShadowWidth() / 2 );
|
if( !eeconfig()->m_Selection.text_as_box )
|
||||||
outsideOffset -= KiROUND( getShadowWidth() / 2 );
|
{
|
||||||
|
aboveOffset += thickness[ABOVE] / 2;
|
||||||
|
belowOffset += thickness[BELOW] / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define SET_DC( i ) \
|
for( float& t : thickness )
|
||||||
m_gal->SetGlyphSize( VECTOR2D( size[i], size[i] ) ); \
|
t += shadowWidth;
|
||||||
m_gal->SetLineWidth( thickness[i] ); \
|
|
||||||
m_gal->SetStrokeColor( colour[i] )
|
insideOffset -= KiROUND( shadowWidth / 2.0 );
|
||||||
|
outsideOffset -= KiROUND( shadowWidth / 2.0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
auto setupDC =
|
||||||
|
[&]( int i )
|
||||||
|
{
|
||||||
|
m_gal->SetGlyphSize( VECTOR2D( size[i], size[i] ) );
|
||||||
|
m_gal->SetIsStroke( !( drawingShadows && eeconfig()->m_Selection.text_as_box ) );
|
||||||
|
m_gal->SetLineWidth( thickness[i] );
|
||||||
|
m_gal->SetStrokeColor( colour[i] );
|
||||||
|
m_gal->SetIsFill( drawingShadows && eeconfig()->m_Selection.text_as_box );
|
||||||
|
m_gal->SetFillColor( colour[i] );
|
||||||
|
};
|
||||||
|
|
||||||
|
auto drawText =
|
||||||
|
[&]( const wxString& text, const VECTOR2D& pos, double angle )
|
||||||
|
{
|
||||||
|
if( text.IsEmpty() )
|
||||||
|
return;
|
||||||
|
|
||||||
|
if( drawingShadows && eeconfig()->m_Selection.text_as_box )
|
||||||
|
boxText( text, pos, angle );
|
||||||
|
else
|
||||||
|
strokeText( text, pos, angle );
|
||||||
|
};
|
||||||
|
|
||||||
switch( orient )
|
switch( orient )
|
||||||
{
|
{
|
||||||
case PIN_LEFT:
|
case PIN_LEFT:
|
||||||
if( size[INSIDE] )
|
if( size[INSIDE] )
|
||||||
{
|
{
|
||||||
SET_DC( INSIDE );
|
setupDC( INSIDE );
|
||||||
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_RIGHT );
|
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_RIGHT );
|
||||||
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_CENTER );
|
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_CENTER );
|
||||||
strokeText( text[INSIDE], pos + VECTOR2D( -insideOffset - len, 0 ), 0 );
|
drawText( text[INSIDE], pos + VECTOR2D( -insideOffset - len, 0 ), 0 );
|
||||||
}
|
}
|
||||||
if( size[OUTSIDE] )
|
if( size[OUTSIDE] )
|
||||||
{
|
{
|
||||||
SET_DC( OUTSIDE );
|
setupDC( OUTSIDE );
|
||||||
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_LEFT );
|
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_LEFT );
|
||||||
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_CENTER );
|
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_CENTER );
|
||||||
strokeText( text[OUTSIDE], pos + VECTOR2D( outsideOffset, 0 ), 0 );
|
drawText( text[OUTSIDE], pos + VECTOR2D( outsideOffset, 0 ), 0 );
|
||||||
}
|
}
|
||||||
if( size[ABOVE] )
|
if( size[ABOVE] )
|
||||||
{
|
{
|
||||||
SET_DC( ABOVE );
|
setupDC( ABOVE );
|
||||||
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_CENTER );
|
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_CENTER );
|
||||||
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_BOTTOM );
|
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_BOTTOM );
|
||||||
strokeText( text[ABOVE], pos + VECTOR2D( -len / 2.0, -aboveOffset ), 0 );
|
drawText( text[ABOVE], pos + VECTOR2D( -len / 2.0, -aboveOffset ), 0 );
|
||||||
}
|
}
|
||||||
if( size[BELOW] )
|
if( size[BELOW] )
|
||||||
{
|
{
|
||||||
SET_DC( BELOW );
|
setupDC( BELOW );
|
||||||
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_CENTER );
|
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_CENTER );
|
||||||
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_TOP );
|
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_TOP );
|
||||||
strokeText( text[BELOW], pos + VECTOR2D( -len / 2.0, belowOffset ), 0 );
|
drawText( text[BELOW], pos + VECTOR2D( -len / 2.0, belowOffset ), 0 );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PIN_RIGHT:
|
case PIN_RIGHT:
|
||||||
if( size[INSIDE] )
|
if( size[INSIDE] )
|
||||||
{
|
{
|
||||||
SET_DC( INSIDE );
|
setupDC( INSIDE );
|
||||||
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_LEFT );
|
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_LEFT );
|
||||||
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_CENTER );
|
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_CENTER );
|
||||||
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_LEFT );
|
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_LEFT );
|
||||||
strokeText( text[INSIDE], pos + VECTOR2D( insideOffset + len, 0 ), 0 );
|
drawText( text[INSIDE], pos + VECTOR2D( insideOffset + len, 0 ), 0 );
|
||||||
}
|
}
|
||||||
if( size[OUTSIDE] )
|
if( size[OUTSIDE] )
|
||||||
{
|
{
|
||||||
SET_DC( OUTSIDE );
|
setupDC( OUTSIDE );
|
||||||
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_RIGHT );
|
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_RIGHT );
|
||||||
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_CENTER );
|
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_CENTER );
|
||||||
strokeText( text[OUTSIDE], pos + VECTOR2D( -outsideOffset, 0 ), 0 );
|
drawText( text[OUTSIDE], pos + VECTOR2D( -outsideOffset, 0 ), 0 );
|
||||||
}
|
}
|
||||||
if( size[ABOVE] )
|
if( size[ABOVE] )
|
||||||
{
|
{
|
||||||
SET_DC( ABOVE );
|
setupDC( ABOVE );
|
||||||
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_CENTER );
|
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_CENTER );
|
||||||
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_BOTTOM );
|
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_BOTTOM );
|
||||||
strokeText( text[ABOVE], pos + VECTOR2D( len / 2.0, -aboveOffset ), 0 );
|
drawText( text[ABOVE], pos + VECTOR2D( len / 2.0, -aboveOffset ), 0 );
|
||||||
}
|
}
|
||||||
if( size[BELOW] )
|
if( size[BELOW] )
|
||||||
{
|
{
|
||||||
SET_DC( BELOW );
|
setupDC( BELOW );
|
||||||
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_CENTER );
|
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_CENTER );
|
||||||
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_TOP );
|
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_TOP );
|
||||||
strokeText( text[BELOW], pos + VECTOR2D( len / 2.0, belowOffset ), 0 );
|
drawText( text[BELOW], pos + VECTOR2D( len / 2.0, belowOffset ), 0 );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PIN_DOWN:
|
case PIN_DOWN:
|
||||||
if( size[INSIDE] )
|
if( size[INSIDE] )
|
||||||
{
|
{
|
||||||
SET_DC( INSIDE );
|
setupDC( INSIDE );
|
||||||
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_RIGHT );
|
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_RIGHT );
|
||||||
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_CENTER );
|
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_CENTER );
|
||||||
strokeText( text[INSIDE], pos + VECTOR2D( 0, insideOffset + len ), M_PI / 2 );
|
drawText( text[INSIDE], pos + VECTOR2D( 0, insideOffset + len ), M_PI / 2 );
|
||||||
}
|
}
|
||||||
if( size[OUTSIDE] )
|
if( size[OUTSIDE] )
|
||||||
{
|
{
|
||||||
SET_DC( OUTSIDE );
|
setupDC( OUTSIDE );
|
||||||
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_LEFT );
|
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_LEFT );
|
||||||
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_CENTER );
|
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_CENTER );
|
||||||
strokeText( text[OUTSIDE], pos + VECTOR2D( 0, -outsideOffset ), M_PI / 2 );
|
drawText( text[OUTSIDE], pos + VECTOR2D( 0, -outsideOffset ), M_PI / 2 );
|
||||||
}
|
}
|
||||||
if( size[ABOVE] )
|
if( size[ABOVE] )
|
||||||
{
|
{
|
||||||
SET_DC( ABOVE );
|
setupDC( ABOVE );
|
||||||
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_CENTER );
|
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_CENTER );
|
||||||
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_BOTTOM );
|
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_BOTTOM );
|
||||||
strokeText( text[ABOVE], pos + VECTOR2D( -aboveOffset, len / 2.0 ), M_PI / 2 );
|
drawText( text[ABOVE], pos + VECTOR2D( -aboveOffset, len / 2.0 ), M_PI / 2 );
|
||||||
}
|
}
|
||||||
if( size[BELOW] )
|
if( size[BELOW] )
|
||||||
{
|
{
|
||||||
SET_DC( BELOW );
|
setupDC( BELOW );
|
||||||
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_CENTER );
|
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_CENTER );
|
||||||
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_TOP );
|
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_TOP );
|
||||||
strokeText( text[BELOW], pos + VECTOR2D( belowOffset, len / 2.0 ), M_PI / 2 );
|
drawText( text[BELOW], pos + VECTOR2D( belowOffset, len / 2.0 ), M_PI / 2 );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PIN_UP:
|
case PIN_UP:
|
||||||
if( size[INSIDE] )
|
if( size[INSIDE] )
|
||||||
{
|
{
|
||||||
SET_DC( INSIDE );
|
setupDC( INSIDE );
|
||||||
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_LEFT );
|
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_LEFT );
|
||||||
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_CENTER );
|
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_CENTER );
|
||||||
strokeText( text[INSIDE], pos + VECTOR2D( 0, -insideOffset - len ), M_PI / 2 );
|
drawText( text[INSIDE], pos + VECTOR2D( 0, -insideOffset - len ), M_PI / 2 );
|
||||||
}
|
}
|
||||||
if( size[OUTSIDE] )
|
if( size[OUTSIDE] )
|
||||||
{
|
{
|
||||||
SET_DC( OUTSIDE );
|
setupDC( OUTSIDE );
|
||||||
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_RIGHT );
|
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_RIGHT );
|
||||||
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_CENTER );
|
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_CENTER );
|
||||||
strokeText( text[OUTSIDE], pos + VECTOR2D( 0, outsideOffset ), M_PI / 2 );
|
drawText( text[OUTSIDE], pos + VECTOR2D( 0, outsideOffset ), M_PI / 2 );
|
||||||
}
|
}
|
||||||
if( size[ABOVE] )
|
if( size[ABOVE] )
|
||||||
{
|
{
|
||||||
SET_DC( ABOVE );
|
setupDC( ABOVE );
|
||||||
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_CENTER );
|
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_CENTER );
|
||||||
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_BOTTOM );
|
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_BOTTOM );
|
||||||
strokeText( text[ABOVE], pos + VECTOR2D( -aboveOffset, -len / 2.0 ), M_PI / 2 );
|
drawText( text[ABOVE], pos + VECTOR2D( -aboveOffset, -len / 2.0 ), M_PI / 2 );
|
||||||
}
|
}
|
||||||
if( size[BELOW] )
|
if( size[BELOW] )
|
||||||
{
|
{
|
||||||
SET_DC( BELOW );
|
setupDC( BELOW );
|
||||||
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_CENTER );
|
m_gal->SetHorizontalJustify( GR_TEXT_HJUSTIFY_CENTER );
|
||||||
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_TOP );
|
m_gal->SetVerticalJustify( GR_TEXT_VJUSTIFY_TOP );
|
||||||
strokeText( text[BELOW], pos + VECTOR2D( belowOffset, -len / 2.0 ), M_PI / 2 );
|
drawText( text[BELOW], pos + VECTOR2D( belowOffset, -len / 2.0 ), M_PI / 2 );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -1651,7 +1700,7 @@ void SCH_PAINTER::draw( SCH_HIERLABEL *aLabel, int aLayer )
|
||||||
|
|
||||||
aLabel->CreateGraphicShape( &m_schSettings, pts, aLabel->GetTextPos() );
|
aLabel->CreateGraphicShape( &m_schSettings, pts, aLabel->GetTextPos() );
|
||||||
|
|
||||||
for( auto p : pts )
|
for( const wxPoint& p : pts )
|
||||||
pts2.emplace_back( VECTOR2D( p.x, p.y ) );
|
pts2.emplace_back( VECTOR2D( p.x, p.y ) );
|
||||||
|
|
||||||
m_gal->SetIsFill( true );
|
m_gal->SetIsFill( true );
|
||||||
|
@ -1788,13 +1837,17 @@ void SCH_PAINTER::draw( const SCH_BUS_ENTRY_BASE *aEntry, int aLayer )
|
||||||
m_gal->SetLineWidth( drawingShadows ? getShadowWidth() : 1.0F );
|
m_gal->SetLineWidth( drawingShadows ? getShadowWidth() : 1.0F );
|
||||||
|
|
||||||
if( aEntry->IsDanglingStart() )
|
if( aEntry->IsDanglingStart() )
|
||||||
|
{
|
||||||
m_gal->DrawCircle( aEntry->GetPosition(),
|
m_gal->DrawCircle( aEntry->GetPosition(),
|
||||||
aEntry->GetPenWidth() + ( TARGET_BUSENTRY_RADIUS / 2 ) );
|
aEntry->GetPenWidth() + ( TARGET_BUSENTRY_RADIUS / 2 ) );
|
||||||
|
}
|
||||||
|
|
||||||
if( aEntry->IsDanglingEnd() )
|
if( aEntry->IsDanglingEnd() )
|
||||||
|
{
|
||||||
m_gal->DrawCircle( aEntry->GetEnd(),
|
m_gal->DrawCircle( aEntry->GetEnd(),
|
||||||
aEntry->GetPenWidth() + ( TARGET_BUSENTRY_RADIUS / 2 ) );
|
aEntry->GetPenWidth() + ( TARGET_BUSENTRY_RADIUS / 2 ) );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void SCH_PAINTER::draw( const SCH_BITMAP *aBitmap, int aLayer )
|
void SCH_PAINTER::draw( const SCH_BITMAP *aBitmap, int aLayer )
|
||||||
|
|
|
@ -196,7 +196,9 @@ private:
|
||||||
|
|
||||||
void triLine ( const VECTOR2D &a, const VECTOR2D &b, const VECTOR2D &c );
|
void triLine ( const VECTOR2D &a, const VECTOR2D &b, const VECTOR2D &c );
|
||||||
void strokeText( const wxString& aText, const VECTOR2D& aPosition, double aRotationAngle );
|
void strokeText( const wxString& aText, const VECTOR2D& aPosition, double aRotationAngle );
|
||||||
|
void boxText( const wxString& aText, const VECTOR2D& aPosition, double aAngle );
|
||||||
|
|
||||||
|
private:
|
||||||
SCH_RENDER_SETTINGS m_schSettings;
|
SCH_RENDER_SETTINGS m_schSettings;
|
||||||
|
|
||||||
SCHEMATIC* m_schematic;
|
SCHEMATIC* m_schematic;
|
||||||
|
|
Loading…
Reference in New Issue