OSDN Git Service

Documentのコンストラクターを変更した
[fooeditengine/FooEditEngine.git] / Metro / FooEditEngine / Print / DocumentSource.cs
index f55e984..df94768 100644 (file)
@@ -62,9 +62,9 @@ namespace FooEditEngine
         Windows.UI.Color foreground, comment, keyword1, keyword2, literal, url;\r
         string fontName;\r
         double fontSize;\r
-        Document document;\r
         LineBreakMethod lineBreakMethod;\r
         int lineBreakCharCount, tabCount;\r
+        Document document;\r
         bool urlMark;\r
         IHilighter hilighter;\r
         float displayDpi;\r
@@ -80,7 +80,7 @@ namespace FooEditEngine
             this.fontName = textbox.FontFamily.Source;\r
             this.fontSize = textbox.FontSize;\r
             this.tabCount = textbox.TabChars;\r
-            this.document = new Document(textbox.Document);\r
+            this.document = textbox.Document;\r
             this.lineBreakMethod = textbox.LineBreakMethod;\r
             this.lineBreakCharCount = textbox.LineBreakCharCount;\r
             this.drawLineNumber = textbox.DrawLineNumber;\r
@@ -90,9 +90,9 @@ namespace FooEditEngine
             this.padding = padding;\r
             this.EnableHilight = true;\r
         }\r
-        public D2DRenderBase CreateRender(PrintPageDescription pagedesc, IPrintDocumentPackageTarget docPackageTarget)\r
+        public D2DPrintRender CreateRender(PrintPageDescription pagedesc, IPrintDocumentPackageTarget docPackageTarget)\r
         {\r
-            D2DRenderBase render;\r
+            D2DPrintRender render;\r
             Size size = new Size(pagedesc.ImageableRect.Width, pagedesc.ImageableRect.Height);\r
             render = new D2DPrintRender(this.fontName, this.fontSize, size, Math.Min(pagedesc.DpiX, pagedesc.DpiY), docPackageTarget);\r
             render.Foreground = D2DRenderBase.ToColor4(this.foreground);\r
@@ -116,9 +116,11 @@ namespace FooEditEngine
             render.Url = D2DRenderBase.ToColor4(this.url);\r
             return render;\r
         }\r
-        public PrintableView CreateView(PrintPageDescription pagedesc, D2DRenderBase render, string header, string footer)\r
+        public PrintableView CreateView(PrintPageDescription pagedesc, IPrintableTextRender render, string header, string footer)\r
         {\r
-            PrintableView view = new PrintableView(this.document, (IPrintableTextRender)render,padding);\r
+            Document documentSnap = new Document(this.document);\r
+            documentSnap.LayoutLines.Render = render;\r
+            PrintableView view = new PrintableView(documentSnap, render,padding);\r
             view.TabStops = this.tabCount;\r
             view.LineBreak = this.lineBreakMethod == LineBreakMethod.None ? LineBreakMethod.PageBound : this.lineBreakMethod;\r
             view.LineBreakCharCount = this.lineBreakCharCount;\r
@@ -217,7 +219,7 @@ namespace FooEditEngine
             PrintTaskOptions options = (PrintTaskOptions)printTaskOptions;\r
             PrintPageDescription pagedesc = options.GetPageDescription(1);\r
 \r
-            D2DRenderBase render = this.factory.CreateRender(pagedesc, docPackageTarget);\r
+            D2DPrintRender render = this.factory.CreateRender(pagedesc, docPackageTarget);\r
             PrintableView view = this.factory.CreateView(pagedesc, render, this.Header, this.Fotter);\r
 \r
             bool result = false;\r