/* * Copyright (C) 2013 FooProject * * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ using System; using System.Collections.Generic; using FooEditEngine; #if WINDOWS_UWP using Windows.UI.Xaml.Shapes; #endif namespace FooEditEngine { class DummyRender : IEditorRender,IDisposable { public DummyRender() { } public bool RightToLeft { get; set; } public Rectangle TextArea { get; set; } public double LineNemberWidth { get { return 0; } } public double FoldingWidth { get { return 0; } } public Size emSize { get { return new Size(); } } public int TabWidthChar { get; set; } public bool ShowFullSpace { get; set; } public bool ShowHalfSpace { get; set; } public bool ShowTab { get; set; } public bool ShowLineBreak { get; set; } #pragma warning disable 0067 //ダミーレンダーなので使わない public event ChangedRenderResourceEventHandler ChangedRenderResource; public event EventHandler ChangedRightToLeft; #pragma warning restore 0067 public void DrawCachedBitmap(Rectangle rect) { throw new NotImplementedException(); } public void DrawLine(Point from, Point to) { throw new NotImplementedException(); } public void CacheContent() { throw new NotImplementedException(); } public bool IsVaildCache() { throw new NotImplementedException(); } public void DrawString(string str, double x, double y, StringAlignment align, Size layoutRect,StringColorType type) { throw new NotImplementedException(); } public void FillRectangle(Rectangle rect, FillRectType type) { throw new NotImplementedException(); } public void DrawFoldingMark(bool expand, double x, double y) { throw new NotImplementedException(); } public void FillBackground(Rectangle rect) { throw new NotImplementedException(); } public void DrawOneLine(LineToIndexTable lti, int row, double x, double y, IEnumerable SelectRanges) { throw new NotImplementedException(); } public List BreakLine(Document doc,LineToIndexTable layoutLineCollection, int startIndex, int endIndex, double wrapwidth) { throw new NotImplementedException(); } public ITextLayout CreateLaytout(string str, SyntaxInfo[] syntaxCollection, IEnumerable MarkerRanges) { return new DummyTextLayout(); } public void DrawGripper(Point p, double radius) { throw new NotImplementedException(); } public void BeginClipRect(Rectangle rect) { } public void EndClipRect() { } public void Dispose() { } #if WINDOWS_UWP public double FontSize { get; set; } public void SetImeConvationInfo(Windows.UI.Text.Core.CoreTextFormatUpdatingEventArgs arg) { } public void DrawContent(EditView view, bool isEnabled, Rectangle updateRect) { } public bool Resize(Windows.UI.Xaml.Shapes.Rectangle rectangle, double width, double height) { return false; } #endif } class DummyTextLayout : ITextLayout { public double Width { get { return 0; } } public double Height { get { return 0; } } public bool Disposed { get; private set; } public bool Invaild { get { return false; } } public int GetIndexFromColPostion(double x) { return 0; } public double GetWidthFromIndex(int index) { return 0; } public double GetColPostionFromIndex(int index) { return index; } public int AlignIndexToNearestCluster(int index, AlignDirection flow) { if(flow == AlignDirection.Back) return Math.Max(index - 1,0); if (flow == AlignDirection.Forward) return index + 1; throw new ArgumentOutOfRangeException("flowの値がおかしい"); } public void Dispose() { this.Disposed = true; } } }