/// <returns>処理後の文字列</returns>\r
public delegate string ParseCommandHandler(object sender, ParseCommandEventArgs e);\r
\r
+\r
sealed class PrintableViewFactory\r
{\r
Windows.UI.Color foreground, comment, keyword1, keyword2, literal, url;\r
Document document;\r
LineBreakMethod lineBreakMethod;\r
int lineBreakCharCount, tabCount;\r
- bool drawLineNumber, urlMark;\r
+ bool urlMark;\r
IHilighter hilighter;\r
float displayDpi;\r
Padding padding;\r
this.hilighter = textbox.Hilighter;\r
this.displayDpi = DisplayInformation.GetForCurrentView().LogicalDpi;\r
this.padding = padding;\r
+ this.EnableHilight = true;\r
}\r
public D2DRenderBase CreateRender(PrintPageDescription pagedesc, IPrintDocumentPackageTarget docPackageTarget)\r
{\r
view.Footer = footer;\r
view.UrlMark = this.urlMark;\r
view.PageBound = new Rectangle(pagedesc.ImageableRect.X, pagedesc.ImageableRect.Y, pagedesc.ImageableRect.Width, pagedesc.ImageableRect.Height);\r
- view.Hilighter = this.hilighter;\r
+ view.Hilighter = this.EnableHilight ? this.hilighter : null;\r
view.PerfomLayouts();\r
\r
return view;\r
}\r
+\r
+ public bool drawLineNumber\r
+ {\r
+ get;\r
+ set;\r
+ }\r
+\r
+ public bool EnableHilight\r
+ {\r
+ get;\r
+ set;\r
+ }\r
}\r
\r
- sealed class DocumentSource : IPrintDocumentPageSource, IPrintPreviewPageCollection, IPrintDocumentSource\r
+ sealed class DocumentSource : IPrintDocumentPageSource, IPrintPreviewPageCollection, IPrintDocumentSource,IPrintPreviewSource\r
{\r
IPrintPreviewDxgiPackageTarget dxgiPreviewTarget;\r
bool paginateCalled = false;\r
this.factory = new PrintableViewFactory(textbox, padding);\r
}\r
\r
- public void GetPreviewPageCollection(IPrintDocumentPackageTarget docPackageTarget,out IPrintPreviewPageCollection docPageCollection)\r
+ internal enum SyntaxHilightApplibility\r
+ {\r
+ Apply,\r
+ NoApply,\r
+ }\r
+\r
+ [DisplayPrintOptionResourceID("SyntaxHilight")]\r
+ internal SyntaxHilightApplibility EnableHilight\r
+ {\r
+ get\r
+ {\r
+ return this.factory.EnableHilight ? SyntaxHilightApplibility.Apply : SyntaxHilightApplibility.NoApply;\r
+ }\r
+ set\r
+ {\r
+ this.factory.EnableHilight = value == SyntaxHilightApplibility.Apply;\r
+ }\r
+ }\r
+\r
+ internal enum LineNumberVisiblity\r
+ {\r
+ Visible,\r
+ Hidden\r
+ }\r
+\r
+ [DisplayPrintOptionResourceID("ShowLineNumber")]\r
+ internal LineNumberVisiblity ShowLineNumber\r
+ {\r
+ get\r
+ {\r
+ return this.factory.drawLineNumber ? LineNumberVisiblity.Visible : LineNumberVisiblity.Hidden;\r
+ }\r
+ set\r
+ {\r
+ this.factory.drawLineNumber = value == LineNumberVisiblity.Visible;\r
+ }\r
+ }\r
+\r
+ public void GetPreviewPageCollection(IPrintDocumentPackageTarget docPackageTarget, out IPrintPreviewPageCollection docPageCollection)\r
{\r
Guid guid = new Guid(PreviewPackageIds.IID_PREVIEWPACKAGETARGET_DXGI);\r
IntPtr target;\r
this.paginateCalled = true;\r
}\r
\r
+ public void InvalidatePreview()\r
+ {\r
+ this.dxgiPreviewTarget.InvalidatePreview();\r
+ }\r
+\r
public void MakePage(uint desiredJobPage, float width, float height)\r
{\r
if (width <= 0 || height <= 0)\r