コード例 #1
0
ファイル: AbstractNode.cs プロジェクト: rajeshwarn/MochaNote
        public override void ReadExternal(IMemento memento, ExternalizeContext context)
        {
            base.ReadExternal(memento, context);

            _font                = (FontDescription)memento.ReadSerializable("Font");
            _fontColor           = (Color)memento.ReadSerializable("FontColor");
            _foreground          = (Color)memento.ReadSerializable("Foreground");
            _background          = (IBrushDescription)memento.ReadSerializable("Background");
            _isForegroundEnabled = memento.ReadBool("IsForegroundEnabled");
            _isBackgroundEnabled = memento.ReadBool("IsBackgroundEnabled");
            _borderWidth         = memento.ReadInt("BorderWidth");
            _borderDashStyle     = (DashStyle)memento.ReadSerializable("BorderDashStyle");
            _minSize             = (Size)memento.ReadSerializable("MinSize");
            _maxSize             = (Size)memento.ReadSerializable("MaxSize");
            _autoSize            = (AutoSizeKinds)memento.ReadSerializable("AutoSize");

            _padding = (Insets)memento.ReadSerializable("Padding");

            _selectionBorderColor = (Color)memento.ReadSerializable("SelectionBorderColor");
            _selectionBrush       = (IBrushDescription)memento.ReadSerializable("SelectionBrush");
            StyledText            = (StyledText)memento.ReadSerializable("StyledText");

            _text = memento.ReadString("Text");
            _textHorizontalAlignment =
                (DataType::HorizontalAlignment)memento.ReadSerializable("TextHorizontalAlignment");
            _textVerticalAlignment =
                (VerticalAlignment)memento.ReadSerializable("TextVerticalAlignment");
        }
コード例 #2
0
ファイル: AbstractNode.cs プロジェクト: rajeshwarn/MochaNote
        private bool _showBlockBreak = false; /// transient

        // ========================================
        // constructor
        // ========================================
        public AbstractNode() : base()
        {
            _font                = SystemFontDescriptions.DefaultFont;
            _fontColor           = FigureConsts.WindowTextColor;
            _foreground          = FigureConsts.WindowTextColor;
            _background          = FigureConsts.WindowBrush;
            _isForegroundEnabled = true;
            _isBackgroundEnabled = true;
            _borderWidth         = 1;
            _borderDashStyle     = DashStyle.Solid;
            _minSize             = new Size(4, 4);
            _maxSize             = new Size(int.MaxValue, int.MaxValue);
            _autoSize            = AutoSizeKinds.None;

            _padding = new Insets(2);

            _text                    = string.Empty;
            _textSizeCache           = Size.Empty;
            _textHorizontalAlignment = DataType::HorizontalAlignment.Left;
            _textVerticalAlignment   = VerticalAlignment.Top;

            _styledText            = null;
            _selectionBorderColor  = FigureConsts.HighlightColor;
            _selectionBrush        = FigureConsts.HighlightBrush;
            _fontCache             = new FontCache();
            _updateStyledTextDepth = 0;

            _ResourceCache.RegisterResourceCreator(
                FontResourceKey,
                () => _font.CreateFont(),
                ResourceDisposingPolicy.Explicit
                );
            _ResourceCache.RegisterResourceCreator(
                PenResourceKey,
                () => {
                var ret       = new Pen(_foreground, _borderWidth);
                ret.DashStyle = _borderDashStyle;
                return(ret);
            },
                ResourceDisposingPolicy.Immediate
                );
            _ResourceCache.RegisterResourceCreator(
                BrushResourceKey,
                () => _background == null? null: _background.CreateBrush(Bounds),
                ResourceDisposingPolicy.Immediate
                );
            _ResourceCache.RegisterResourceCreator(
                SelectionPenResourceKey,
                () => new Pen(_selectionBorderColor),
                ResourceDisposingPolicy.Immediate
                );
            _ResourceCache.RegisterResourceCreator(
                SelectionBrushResourceKey,
                () => _selectionBrush.CreateBrush(Bounds),
                ResourceDisposingPolicy.Immediate
                );
        }