OSDN Git Service

WPFとWindowsで印刷ができなくなっていたので修正した
authorgdkhd812 <test@nnn.co.jp>
Sun, 25 Oct 2015 13:47:31 +0000 (19:17 +0530)
committergdkhd812 <test@nnn.co.jp>
Sun, 25 Oct 2015 13:47:31 +0000 (19:17 +0530)
Core/Document.cs
WPF/FooEditEngine/FooPrintText.cs
Windows/FooEditEngine/FooPrintText.cs

index 9252ed2..88a2d29 100644 (file)
@@ -156,6 +156,11 @@ namespace FooEditEngine
         {
         }
 
+        /// <summary>
+        /// コンストラクター
+        /// </summary>
+        /// <param name="doc">ドキュメントオブジェクト</param>
+        /// <remarks>docが複製されますが、プロパティは引き継がれません</remarks>
         internal Document(Document doc)
         {
             if (doc == null)
@@ -179,9 +184,9 @@ namespace FooEditEngine
             this.TabStopsChanged += (s, e) => { };
             this.DrawLineNumberChanged += (s, e) => { };
             this.Selections = new SelectCollection();
-            this.HideLineMarker = true;
             this.HideRulerChanged += (s, e) => { };
             this.CaretPostion = TextPoint.Null;
+            this.HideLineMarker = true;
         }
 
         void WacthDogPattern_Updated(object sender, EventArgs e)
index 697b0aa..2ff5219 100644 (file)
@@ -286,11 +286,17 @@ namespace FooEditEngine.WPF
             render.Url = this.URL;
             render.RightToLeft = this.FlowDirection == System.Windows.FlowDirection.RightToLeft;
             render.Printing = true;
-            PrintableView view = new PrintableView(this.Document, render,this.Padding);
+            Document documentSnap = new Document(this.Document);
+            documentSnap.LayoutLines.Render = render;
+            PrintableView view = new PrintableView(documentSnap, render,this.Padding);
             view.Header = this.Header;
             view.Footer = this.Footer;
             view.PageBound = this.PageRect;
             view.Hilighter = this.Hilighter;
+            documentSnap.LineBreak = this.LineBreakMethod;
+            documentSnap.LineBreakCharCount = this.LineBreakCharCount;
+            documentSnap.DrawLineNumber = this.DrawLineNumber;
+            documentSnap.UrlMark = this.MarkURL;
             view.PerfomLayouts();
 
             try
index d7b4ed9..da3a3e7 100644 (file)
@@ -187,9 +187,15 @@ namespace FooEditEngine.Windows
                 this.render = new PrintableTextRender(this.Font, e.Graphics);
                 this.render.Foreground = this.Foreground;
                 this.render.RightToLeft = this.RightToLeft;
-                this.view = new PrintableView(this.Document, this.render,this.Padding);
+                Document documentSnap = new Document(this.Document);
+                documentSnap.LayoutLines.Render = render;
+                this.view = new PrintableView(documentSnap, this.render,this.Padding);
                 this.view.PageBound = e.MarginBounds;
                 this.PageNumber = 1;
+                documentSnap.LineBreak = this.LineBreakMethod;
+                documentSnap.LineBreakCharCount = this.LineBreakCharCount;
+                documentSnap.DrawLineNumber = this.DrawLineNumber;
+                documentSnap.UrlMark = this.Document.UrlMark;
                 this.view.PerfomLayouts();
             }