public void SetUp() { var imageSavers = new List <IImageSaver> { new PngSaver(), new JpgSaver() }; var fileReaders = new List <IFileAllLinesReader> { new TxtReader(), new DocReader() }; var fileReader = new FileReader(new FileReaderProvider(fileReaders)); var imageHolder = new ImageHolder(new ImageSaverProvider(imageSavers)); var imageSettings = new ImageSettings(); var wordFrequency = new WordFrequency(new GrammemeChecker()); var painter = new TagCloudPainter(imageHolder, imageSettings); var algorithmGenerator = new Func <Point, ILayoutAlgorithm>(x => new SpiralAlgorithm(x)); var layoutGenerator = new Func <ILayoutAlgorithm, TagCloudLayouter>(x => new TagCloudLayouter(x)); tagCloudCommand = new TagCloudCommand( painter, wordFrequency, imageSettings, imageSettings, algorithmGenerator, layoutGenerator, fileReader); saveCommand = new SaveCommand(imageHolder); addColorCommand = new AddColorCommand(imageSettings); setFontCommand = new SetFontCommand(imageSettings); setImageSizeCommand = new SetImageSizeCommand(imageSettings); }
/// <summary> /// Selectionの範囲の文字列のFontを設定する. /// </summary> public void SetFont(Func <Flow, FontDescription> fontProvider) { if (_selection.IsEmpty) { if (_nextInputInline == null) { var inline = default(Inline); if (_target.IsLineHead(_caretIndex)) { inline = _target.GetInlineAt(_caretIndex); } else { inline = _target.GetInlineAt(_caretIndex - 1); } if (inline.IsLineEndCharacter) { _nextInputInline = new Run(); _nextInputInline.Font = inline.Font; } else { _nextInputInline = inline.Clone() as Run; _nextInputInline.Font = inline.Font; } } _nextInputInline.Font = fontProvider(_nextInputInline); } else { var cmd = new SetFontCommand(_target, _selection.Range, fontProvider); _executor.Execute(cmd); ReflectExecutedRange(cmd); } }
public void SetUp() { fontFamilyProvider = A.Fake <IFontFamilyProvider>(); command = new SetFontCommand(fontFamilyProvider); }