47
47
static const wxString productName = wxT( "KiCad E.D.A. " );
49
/* Draws the item list crated by BuildWorkSheetGraphicList
50
* aClipBox = the clipping rect, or NULL if no clipping
51
* aDC = the current Device Context
53
void WS_DRAW_ITEM_LIST::Draw( EDA_RECT* aClipBox, wxDC* aDC )
55
for( WS_DRAW_ITEM_BASE* item = GetFirst(); item; item = GetNext() )
57
switch( item->GetType() )
59
case WS_DRAW_ITEM_BASE::wsg_line:
61
WS_DRAW_ITEM_LINE* line = (WS_DRAW_ITEM_LINE*) item;
62
GRLine( aClipBox, aDC,
63
line->GetStart(), line->GetEnd(),
64
line->GetPenWidth(), line->GetColor() );
68
case WS_DRAW_ITEM_BASE::wsg_rect:
70
WS_DRAW_ITEM_RECT* rect = (WS_DRAW_ITEM_RECT*) item;
71
GRRect( aClipBox, aDC,
72
rect->GetStart().x, rect->GetStart().y,
73
rect->GetEnd().x, rect->GetEnd().y,
74
rect->GetPenWidth(), rect->GetColor() );
78
case WS_DRAW_ITEM_BASE::wsg_text:
80
WS_DRAW_ITEM_TEXT* text = (WS_DRAW_ITEM_TEXT*) item;
81
DrawGraphicText( aClipBox, aDC, text->GetTextPosition(),
82
text->GetColor(), text->GetText(),
83
text->GetOrientation(), text->GetSize(),
84
text->GetHorizJustify(), text->GetVertJustify(),
85
text->GetPenWidth(), text->IsItalic(), text->IsBold() );
89
case WS_DRAW_ITEM_BASE::wsg_poly:
91
WS_DRAW_ITEM_POLYGON* poly = (WS_DRAW_ITEM_POLYGON*) item;
92
GRPoly( aClipBox, aDC,
93
poly->m_Corners.size(), &poly->m_Corners[0],
94
poly->IsFilled() ? FILLED_SHAPE : NO_FILL,
96
poly->GetColor(), poly->GetColor() );
103
49
void DrawPageLayout( wxDC* aDC, EDA_RECT* aClipBox,
104
50
const PAGE_INFO& aPageInfo,
105
51
const wxString &aFullSheetName,
112
58
GRSetDrawMode( aDC, GR_COPY );
113
59
WS_DRAW_ITEM_LIST drawList;
115
wxPoint LTmargin( aPageInfo.GetLeftMarginMils(), aPageInfo.GetTopMarginMils() );
116
wxPoint RBmargin( aPageInfo.GetRightMarginMils(), aPageInfo.GetBottomMarginMils() );
117
wxSize pagesize = aPageInfo.GetSizeMils();
119
drawList.SetMargins( LTmargin, RBmargin );
120
61
drawList.SetPenSize( aPenWidth );
121
62
drawList.SetMilsToIUfactor( aScalar );
122
drawList.SetPageSize( pagesize );
123
63
drawList.SetSheetNumber( aSheetNumber );
124
64
drawList.SetSheetCount( aSheetCount );
65
drawList.SetFileName( aFileName );
66
drawList.SetSheetName( aFullSheetName );
126
drawList.BuildWorkSheetGraphicList(
127
aPageInfo.GetType(), aFullSheetName, aFileName,
68
drawList.BuildWorkSheetGraphicList( aPageInfo,
128
69
aTitleBlock, aColor, aAltColor );
154
95
EDA_COLOR_T color = RED;
156
97
DrawPageLayout( aDC, m_canvas->GetClipBox(), pageInfo,
157
aFilename, GetScreenDesc(), t_block,
98
GetScreenDesc(), aFilename, t_block,
158
99
aScreen->m_NumberOfScreens, aScreen->m_ScreenNumber,
159
100
aLineWidth, aScalar, color, color );