Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        /// <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);
            }
        }
Esempio n. 3
0
 public void SetUp()
 {
     fontFamilyProvider = A.Fake <IFontFamilyProvider>();
     command            = new SetFontCommand(fontFamilyProvider);
 }