Loading eeschema/sch_sheet.cpp +24 −13 Original line number Original line Diff line number Diff line Loading @@ -525,7 +525,7 @@ void SCH_SHEET::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, int name_orientation; int name_orientation; wxPoint pos_sheetname,pos_filename; wxPoint pos_sheetname,pos_filename; wxPoint pos = m_Pos + aOffset; wxPoint pos = m_Pos + aOffset; int LineWidth = g_DrawDefaultLineThickness; int lineWidth = GetPenSize(); if( aColor >= 0 ) if( aColor >= 0 ) color = aColor; color = aColor; Loading @@ -535,7 +535,7 @@ void SCH_SHEET::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, GRSetDrawMode( aDC, aDrawMode ); GRSetDrawMode( aDC, aDrawMode ); GRRect( &aPanel->m_ClipBox, aDC, pos.x, pos.y, GRRect( &aPanel->m_ClipBox, aDC, pos.x, pos.y, pos.x + m_Size.x, pos.y + m_Size.y, LineWidth, color ); pos.x + m_Size.x, pos.y + m_Size.y, lineWidth, color ); pos_sheetname = GetSheetNamePosition() + aOffset; pos_sheetname = GetSheetNamePosition() + aOffset; pos_filename = GetFileNamePosition() + aOffset; pos_filename = GetFileNamePosition() + aOffset; Loading @@ -555,7 +555,7 @@ void SCH_SHEET::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, DrawGraphicText( aPanel, aDC, pos_sheetname, DrawGraphicText( aPanel, aDC, pos_sheetname, (EDA_Colors) txtcolor, Text, name_orientation, (EDA_Colors) txtcolor, Text, name_orientation, wxSize( m_SheetNameSize, m_SheetNameSize ), wxSize( m_SheetNameSize, m_SheetNameSize ), GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_VJUSTIFY_BOTTOM, LineWidth, GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_VJUSTIFY_BOTTOM, lineWidth, false, false ); false, false ); /* Draw text : FileName */ /* Draw text : FileName */ Loading @@ -568,7 +568,7 @@ void SCH_SHEET::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, DrawGraphicText( aPanel, aDC, pos_filename, DrawGraphicText( aPanel, aDC, pos_filename, (EDA_Colors) txtcolor, Text, name_orientation, (EDA_Colors) txtcolor, Text, name_orientation, wxSize( m_FileNameSize, m_FileNameSize ), wxSize( m_FileNameSize, m_FileNameSize ), GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_VJUSTIFY_TOP, LineWidth, GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_VJUSTIFY_TOP, lineWidth, false, false ); false, false ); Loading @@ -583,19 +583,30 @@ void SCH_SHEET::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, EDA_RECT SCH_SHEET::GetBoundingBox() const EDA_RECT SCH_SHEET::GetBoundingBox() const { { int dx, dy; wxPoint end; EDA_RECT box( m_Pos, m_Size ); int lineWidth = GetPenSize(); // Determine length of texts // Determine length of texts wxString Text1 = wxT( "Sheet: " ) + m_SheetName; wxString text = wxT( "Sheet: " ) + m_SheetName; wxString Text2 = wxT( "File: " ) + m_FileName; int textlen = ReturnGraphicTextWidth( text, m_SheetNameSize, false, lineWidth ); int textlen1 = 10 * Text1.Len() * m_SheetNameSize / 9; text = wxT( "File: " ) + m_FileName; int textlen2 = 10 * Text2.Len() * m_FileNameSize / 9; int textlen2 = ReturnGraphicTextWidth( text, m_FileNameSize, false, lineWidth ); textlen1 = MAX( textlen1, textlen2 ); // Calculate bounding box X size: dx = MAX( m_Size.x, textlen1 ); textlen = MAX( textlen, textlen2 ); dy = m_Size.y + m_SheetNameSize + m_FileNameSize + 16; end.x = MAX( m_Size.x, textlen ); EDA_RECT box( wxPoint( m_Pos.x, m_Pos.y - m_SheetNameSize - 8 ), wxSize( dx, dy ) ); // Calculate bounding box pos: end.y = m_Size.y; end += m_Pos; // Move upper and lower limits to include texts: box.m_Pos.y -= wxRound( m_SheetNameSize * 1.3 ) + 8; end.y += wxRound( m_FileNameSize * 1.3 ) + 8; box.SetEnd( end ); box.Inflate( lineWidth / 2 ); return box; return box; } } Loading Loading
eeschema/sch_sheet.cpp +24 −13 Original line number Original line Diff line number Diff line Loading @@ -525,7 +525,7 @@ void SCH_SHEET::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, int name_orientation; int name_orientation; wxPoint pos_sheetname,pos_filename; wxPoint pos_sheetname,pos_filename; wxPoint pos = m_Pos + aOffset; wxPoint pos = m_Pos + aOffset; int LineWidth = g_DrawDefaultLineThickness; int lineWidth = GetPenSize(); if( aColor >= 0 ) if( aColor >= 0 ) color = aColor; color = aColor; Loading @@ -535,7 +535,7 @@ void SCH_SHEET::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, GRSetDrawMode( aDC, aDrawMode ); GRSetDrawMode( aDC, aDrawMode ); GRRect( &aPanel->m_ClipBox, aDC, pos.x, pos.y, GRRect( &aPanel->m_ClipBox, aDC, pos.x, pos.y, pos.x + m_Size.x, pos.y + m_Size.y, LineWidth, color ); pos.x + m_Size.x, pos.y + m_Size.y, lineWidth, color ); pos_sheetname = GetSheetNamePosition() + aOffset; pos_sheetname = GetSheetNamePosition() + aOffset; pos_filename = GetFileNamePosition() + aOffset; pos_filename = GetFileNamePosition() + aOffset; Loading @@ -555,7 +555,7 @@ void SCH_SHEET::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, DrawGraphicText( aPanel, aDC, pos_sheetname, DrawGraphicText( aPanel, aDC, pos_sheetname, (EDA_Colors) txtcolor, Text, name_orientation, (EDA_Colors) txtcolor, Text, name_orientation, wxSize( m_SheetNameSize, m_SheetNameSize ), wxSize( m_SheetNameSize, m_SheetNameSize ), GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_VJUSTIFY_BOTTOM, LineWidth, GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_VJUSTIFY_BOTTOM, lineWidth, false, false ); false, false ); /* Draw text : FileName */ /* Draw text : FileName */ Loading @@ -568,7 +568,7 @@ void SCH_SHEET::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, DrawGraphicText( aPanel, aDC, pos_filename, DrawGraphicText( aPanel, aDC, pos_filename, (EDA_Colors) txtcolor, Text, name_orientation, (EDA_Colors) txtcolor, Text, name_orientation, wxSize( m_FileNameSize, m_FileNameSize ), wxSize( m_FileNameSize, m_FileNameSize ), GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_VJUSTIFY_TOP, LineWidth, GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_VJUSTIFY_TOP, lineWidth, false, false ); false, false ); Loading @@ -583,19 +583,30 @@ void SCH_SHEET::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, EDA_RECT SCH_SHEET::GetBoundingBox() const EDA_RECT SCH_SHEET::GetBoundingBox() const { { int dx, dy; wxPoint end; EDA_RECT box( m_Pos, m_Size ); int lineWidth = GetPenSize(); // Determine length of texts // Determine length of texts wxString Text1 = wxT( "Sheet: " ) + m_SheetName; wxString text = wxT( "Sheet: " ) + m_SheetName; wxString Text2 = wxT( "File: " ) + m_FileName; int textlen = ReturnGraphicTextWidth( text, m_SheetNameSize, false, lineWidth ); int textlen1 = 10 * Text1.Len() * m_SheetNameSize / 9; text = wxT( "File: " ) + m_FileName; int textlen2 = 10 * Text2.Len() * m_FileNameSize / 9; int textlen2 = ReturnGraphicTextWidth( text, m_FileNameSize, false, lineWidth ); textlen1 = MAX( textlen1, textlen2 ); // Calculate bounding box X size: dx = MAX( m_Size.x, textlen1 ); textlen = MAX( textlen, textlen2 ); dy = m_Size.y + m_SheetNameSize + m_FileNameSize + 16; end.x = MAX( m_Size.x, textlen ); EDA_RECT box( wxPoint( m_Pos.x, m_Pos.y - m_SheetNameSize - 8 ), wxSize( dx, dy ) ); // Calculate bounding box pos: end.y = m_Size.y; end += m_Pos; // Move upper and lower limits to include texts: box.m_Pos.y -= wxRound( m_SheetNameSize * 1.3 ) + 8; end.y += wxRound( m_FileNameSize * 1.3 ) + 8; box.SetEnd( end ); box.Inflate( lineWidth / 2 ); return box; return box; } } Loading