예제 #1
0
void PCB_TEXT::AddToBoard()
{
    m_name.textPositionX = m_positionX;
    m_name.textPositionY = m_positionY;
    m_name.textRotation = m_rotation;

    TEXTE_PCB* pcbtxt = new TEXTE_PCB( m_board );
    m_board->Add( pcbtxt, ADD_APPEND );

    pcbtxt->SetText( m_name.text );

    SetTextSizeFromStrokeFontHeight( pcbtxt, m_name.textHeight );

    pcbtxt->SetThickness( m_name.textstrokeWidth );
    pcbtxt->SetOrientation( m_name.textRotation );

    SetTextJustify( pcbtxt, m_name.justify );
    pcbtxt->SetTextPosition( wxPoint( m_name.textPositionX,
                                      m_name.textPositionY ) );

    pcbtxt->SetMirrored( m_name.mirror );
    pcbtxt->SetTimeStamp( 0 );

    pcbtxt->SetLayer( m_KiCadLayer );
}
예제 #2
0
void PCB_TEXT::AddToBoard()
{
    // Simple, not the best, but acceptable text positioning.
    m_name.textPositionX    = m_positionX;
    m_name.textPositionY    = m_positionY;
    CorrectTextPosition( &m_name, m_rotation );

    TEXTE_PCB* pcbtxt = new TEXTE_PCB( m_board );
    m_board->Add( pcbtxt, ADD_APPEND );

    pcbtxt->SetText( m_name.text );

    pcbtxt->SetSize( wxSize( KiROUND( m_name.textHeight / 2 ),
                             KiROUND( m_name.textHeight / 1.1 ) ) );

    pcbtxt->SetThickness( m_name.textstrokeWidth );
    pcbtxt->SetOrientation( m_rotation );

    pcbtxt->SetPosition( wxPoint( m_name.correctedPositionX, m_name.correctedPositionY ) );

    pcbtxt->SetMirrored( m_name.mirror );
    pcbtxt->SetTimeStamp( 0 );

    pcbtxt->SetLayer( m_KiCadLayer );
}