1717// DEALINGS IN THE SOFTWARE.
1818
1919using System ;
20+ using System . Collections . Generic ;
2021using System . Windows ;
2122using System . Windows . Controls ;
2223using System . Windows . Documents ;
@@ -117,7 +118,6 @@ public override void Visit(ExportText exportColumn){
117118 }
118119 var dragingElement = new DrawingElement ( visual ) ;
119120 UIElement = dragingElement ;
120-
121121 }
122122
123123
@@ -140,34 +140,32 @@ public override void Visit(ExportRectangle exportRectangle)
140140 var border = CreateBorder ( exportRectangle ) ;
141141 border . CornerRadius = new CornerRadius ( Convert . ToDouble ( exportRectangle . CornerRadius ) ) ;
142142 CanvasHelper . SetPosition ( border , new Point ( 0 , 0 ) ) ;
143- var panel = new StackPanel ( ) ;
144- panel . Orientation = Orientation . Horizontal ;
145- foreach ( var element in exportRectangle . ExportedItems ) {
146- var acceptor = element as IAcceptor ;
147- acceptor . Accept ( this ) ;
148- panel . Children . Add ( UIElement ) ;
149- }
150- border . Child = panel ;
143+ var containerCanvas = CreateItemsInContainer ( exportRectangle . ExportedItems ) ;
144+ border . Child = containerCanvas ;
151145 UIElement = border ;
152146 }
153147
154148
155149 public override void Visit ( ExportCircle exportCircle )
156150 {
157- var containerCanvas = new Canvas ( ) ;
158-
159151 var drawingElement = CircleVisual ( exportCircle ) ;
160-
161- containerCanvas . Children . Add ( drawingElement ) ;
162- foreach ( var element in exportCircle . ExportedItems ) {
163- var acceptor = element as IAcceptor ;
164- acceptor . Accept ( this ) ;
165- containerCanvas . Children . Add ( UIElement ) ;
166- }
152+ var containerCanvas = CreateItemsInContainer ( exportCircle . ExportedItems ) ;
153+ containerCanvas . Children . Insert ( 0 , drawingElement ) ;
167154 UIElement = containerCanvas ;
168155 }
169156
170157
158+ Canvas CreateItemsInContainer ( List < IExportColumn > items ) {
159+ var canvas = new Canvas ( ) ;
160+ foreach ( var element in items ) {
161+ var acceptor = element as IAcceptor ;
162+ acceptor . Accept ( this ) ;
163+ canvas . Children . Add ( UIElement ) ;
164+ }
165+ return canvas ;
166+ }
167+
168+
171169 bool IsGraphicsContainer ( IExportColumn column ) {
172170 return column is GraphicsContainer ;
173171 }
@@ -196,21 +194,22 @@ DrawingElement CircleVisual(GraphicsContainer circle){
196194
197195 Border CreateBorder ( IExportColumn exportColumn )
198196 {
199- double bT ;
200- var gc = IsGraphicsContainer ( exportColumn ) ;
201- if ( ! IsGraphicsContainer ( exportColumn ) ) {
202- bT = 1 ;
203- } else {
204- bT = Convert . ToDouble ( ( ( GraphicsContainer ) exportColumn ) . Thickness ) ;
205- }
206197 var border = new Border ( ) ;
207- border . BorderThickness = new Thickness ( bT ) ;
198+ border . BorderThickness = Thickness ( exportColumn ) ;
208199 border . BorderBrush = FixedDocumentCreator . ConvertBrush ( exportColumn . ForeColor ) ;
209200 border . Background = FixedDocumentCreator . ConvertBrush ( exportColumn . BackColor ) ;
210201 border . Width = exportColumn . Size . Width ;
211202 border . Height = exportColumn . Size . Height ;
212203 return border ;
213204 }
205+
206+
207+ Thickness Thickness ( IExportColumn exportColumn )
208+ {
209+ double bT ;
210+ bT = ! IsGraphicsContainer ( exportColumn ) ? 1 : Convert . ToDouble ( ( ( GraphicsContainer ) exportColumn ) . Thickness ) ;
211+ return new Thickness ( bT ) ;
212+ }
214213
215214
216215 static Point CalcRadius ( System . Drawing . Size size ) {
0 commit comments