예제 #1
0
 void IDockLayoutRenderer.ReplaceChild(
     int index,
     IElementRenderer childRenderer,
     DockRegion dockRegion)
 {
     this.ReplaceChild(index, childRenderer, dockRegion);
 }
예제 #2
0
        public void AddChild(
            IElementRenderer childRenderer)
        {
            var nativeChild = (FrameworkElement)childRenderer.NativeElement;

            this._panel.Children.Add(nativeChild);
        }
예제 #3
0
        public override void RenderTo(IElementRenderer renderer, double x, double y)
        {
            var color     = Foreground ?? Brushes.Black;
            var rectangle = new Rect(x, y - Height, Width, Height);

            renderer.RenderRectangle(rectangle, color, Brushes.Transparent);
        }
예제 #4
0
        public override void RenderTo(IElementRenderer renderer, double x, double y)
        {
            var color     = this.Foreground ?? Brushes.Black;
            var rectangle = new Rect(x, y - this.Height, this.Width, this.Height);

            renderer.RenderRectangle(rectangle, color);
        }
예제 #5
0
 void IDockLayoutRenderer.InsertChild(
     int index,
     IElementRenderer childRenderer,
     DockRegion dockRegion)
 {
     this.InsertChild(index, childRenderer, dockRegion);
 }
예제 #6
0
        public override void RenderTo(IElementRenderer renderer, double x, double y)
        {
            var color     = Foreground ?? Brushes.Red;
            var rectangle = new Rect(x - Width, y, Width, Height);

            renderer.RenderRectangle(rectangle, color, color);
        }
예제 #7
0
        void IDockLayoutRenderer.AddChild(
            IElementRenderer childRenderer,
            DockRegion dockRegion)
        {
            var child = this.AddChild(childRenderer);

            this.SetAndroidDockRegion(child, dockRegion);
        }
예제 #8
0
        protected virtual NativeView AddChild(
            IElementRenderer childRenderer)
        {
            var nativeChild = (NativeView)childRenderer.NativeElement;

            this.NativeElement.AddSubview(nativeChild);
            return(nativeChild);
        }
예제 #9
0
        public void ReplaceChild(
            int index,
            IElementRenderer childRenderer)
        {
            var nativeChild = (FrameworkElement)childRenderer.NativeElement;

            this._panel.Children[index] = nativeChild;
        }
예제 #10
0
        public void InsertChild(
            int index,
            IElementRenderer childRenderer)
        {
            var nativeChild = (FrameworkElement)childRenderer.NativeElement;

            this._panel.Children.Insert(index, nativeChild);
        }
예제 #11
0
        public override void RenderTo(IElementRenderer renderer, double x, double y)
        {
            var color = Foreground ?? Brushes.Black;
            var pt1   = new Point(x, y);
            var pt2   = new Point(x - Width, y - Height);

            renderer.RenderLine(pt1, pt2, color);
        }
예제 #12
0
        protected virtual AndroidView AddChild(
            IElementRenderer childRenderer)
        {
            var nativeChild = (AndroidView)childRenderer.NativeElement;

            this.NativeElement.AddView(nativeChild);
            return(nativeChild);
        }
예제 #13
0
        protected virtual void AddChild(
            IElementRenderer childRenderer,
            DockRegion dockRegion)
        {
            var nativeChild = (FrameworkElement)childRenderer.NativeElement;

            NativeDockPanel.SetDock(nativeChild, ToXamlDockRegion(dockRegion));
            this._panel.Children.Add(nativeChild);
        }
예제 #14
0
        protected virtual NativeView InsertChild(
            int index,
            IElementRenderer childRenderer)
        {
            var nativeChild = (NativeView)childRenderer.NativeElement;

            this.NativeElement.InsertSubview(nativeChild, index);
            return(nativeChild);
        }
예제 #15
0
        void IDockLayoutRenderer.InsertChild(
            int index,
            IElementRenderer childRenderer,
            DockRegion dockRegion)
        {
            var child = this.InsertChild(index, childRenderer);

            this.SetAndroidDockRegion(child, dockRegion);
        }
예제 #16
0
        void IDockLayoutRenderer.ReplaceChild(
            int index,
            IElementRenderer childRenderer,
            DockRegion dockRegion)
        {
            var child = this.ReplaceChild(index, childRenderer);

            SetAndroidDockRegion(child, dockRegion);
        }
예제 #17
0
        protected virtual AndroidView InsertChild(
            int index,
            IElementRenderer childRenderer)
        {
            var nativeChild = (AndroidView)childRenderer.NativeElement;

            this.NativeElement.AddView(nativeChild, index);
            return(nativeChild);
        }
예제 #18
0
        protected virtual NativeView ReplaceChild(
            int index,
            IElementRenderer childRenderer)
        {
            var nativeChild = (NativeView)childRenderer.NativeElement;

            this.NativeElement.Subviews[index]?.RemoveFromSuperview();
            this.NativeElement.InsertSubview(nativeChild, index);
            return(nativeChild);
        }
예제 #19
0
        public override void RenderTo(IElementRenderer renderer, double x, double y)
        {
            var curX = x;

            foreach (var box in Children)
            {
                renderer.RenderElement(box, curX, y + box.Shift);
                curX += box.Width;
            }
        }
예제 #20
0
        protected virtual AndroidView ReplaceChild(
            int index,
            IElementRenderer childRenderer)
        {
            var nativeChild = (AndroidView)childRenderer.NativeElement;

            this.NativeElement.RemoveViewAt(index);
            this.NativeElement.AddView(nativeChild, index);
            return(nativeChild);
        }
예제 #21
0
        protected virtual void ReplaceChild(
            int index,
            IElementRenderer childRenderer,
            DockRegion dockRegion)
        {
            var nativeChild = (FrameworkElement)childRenderer.NativeElement;

            NativeDockPanel.SetDock(nativeChild, ToXamlDockRegion(dockRegion));
            this._panel.Children[index] = nativeChild;
        }
예제 #22
0
        public override void RenderTo(IElementRenderer renderer, double x, double y)
        {
            var curY = y - this.Height;

            foreach (var child in this.Children)
            {
                curY += child.Height;
                renderer.RenderElement(child, x + child.Shift - this.leftMostPos, curY);
                curY += child.Depth;
            }
        }
예제 #23
0
        public override void RenderTo(IElementRenderer renderer, double x, double y)
        {
            renderer.RenderElement(this.BaseBox, x, y);

            if (this.Over)
            {
                // Draw delimeter and script boxes over base box.
                var centerY      = y - this.BaseBox.Height - this.DelimiterBox.Width;
                var translationX = x + this.DelimiterBox.Width / 2;
                var translationY = centerY + this.DelimiterBox.Width / 2;

                RenderDelimiter(translationX, translationY);

                // Draw script box as superscript.
                RenderScriptBox(centerY - this.Kern - this.ScriptBox !.Depth); // Nullable TODO: This probably needs null checking
            }
            else
            {
                // Draw delimeter and script boxes under base box.
                var centerY      = y + this.BaseBox.Depth + this.DelimiterBox.Width;
                var translationX = x + this.DelimiterBox.Width / 2;
                var translationY = centerY - this.DelimiterBox.Width / 2;

                RenderDelimiter(translationX, translationY);

                // Draw script box as subscript.
                RenderScriptBox(centerY + this.Kern + this.ScriptBox !.Height); // Nullable TODO: This probably needs null checking
            }

            void RenderDelimiter(double translationX, double translationY)
            {
                var transformations = new Transformation[]
                {
                    new Transformation.Translate(translationX, translationY),
                    new Transformation.Rotate(90)
                };

                renderer.RenderTransformed(
                    this.DelimiterBox,
                    transformations,
                    -this.DelimiterBox.Width / 2,
                    -this.DelimiterBox.Depth + this.DelimiterBox.Width / 2);
            }

            void RenderScriptBox(double yPosition)
            {
                if (this.ScriptBox != null)
                {
                    renderer.RenderElement(this.ScriptBox, x, yPosition);
                }
            }
        }
예제 #24
0
        public override void RenderTo(IElementRenderer renderer, double x, double y)
        {
            renderer.RenderElement(BaseBox, x, y);

            if (Over)
            {
                // Draw delimeter and script boxes over base box.
                var centerY      = y - BaseBox.Height - DelimeterBox.Width;
                var translationX = x + DelimeterBox.Width / 2;
                var translationY = centerY + DelimeterBox.Width / 2;

                RenderDelimiter(translationX, translationY);

                // Draw script box as superscript.
                RenderScriptBox(centerY - Kern - ScriptBox.Depth);
            }
            else
            {
                // Draw delimeter and script boxes under base box.
                var centerY      = y + BaseBox.Depth + DelimeterBox.Width;
                var translationX = x + DelimeterBox.Width / 2;
                var translationY = centerY - DelimeterBox.Width / 2;

                RenderDelimiter(translationX, translationY);

                // Draw script box as subscript.
                RenderScriptBox(centerY + Kern + ScriptBox.Height);
            }

            void RenderDelimiter(double translationX, double translationY)
            {
                var transformations = new Transformation[]
                {
                    new Transformation.Translate(translationX, translationY),
                    new Transformation.Rotate(90)
                };

                renderer.RenderTransformed(
                    DelimeterBox,
                    transformations,
                    -DelimeterBox.Width / 2,
                    -DelimeterBox.Depth + DelimeterBox.Width / 2);
            }

            void RenderScriptBox(double yPosition)
            {
                if (ScriptBox != null)
                {
                    renderer.RenderElement(ScriptBox, x, yPosition);
                }
            }
        }
예제 #25
0
        public override void RenderTo(IElementRenderer renderer, double x, double y)
        {
            var color     = Foreground ?? Brushes.Black;
            var rectangle = new Rect(x, y - Height, Width, Height);

            renderer.RenderRectangle(rectangle, color, Brushes.Transparent);
            if (File.Exists(ImageLocation))
            {
                renderer.RenderImage(rectangle, ImageLocation);
            }
            else
            {
                throw new TexParseException($"The given file: {ImageLocation} could not be found");
            }
        }
예제 #26
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CSF.Zpt.DocumentProviders.ZptHtmlDocument"/> class.
        /// </summary>
        /// <param name="document">An HTML document from which to create the current instance.</param>
        /// <param name="sourceFile">Information about the document's source file.</param>
        /// <param name="elementRenderer">The element renderer.</param>
        public ZptHtmlDocument(HtmlDocument document,
                           ISourceInfo sourceFile,
                           IElementRenderer elementRenderer = null)
            : base(elementRenderer)
        {
            if(document == null)
              {
            throw new ArgumentNullException(nameof(document));
              }
              if(sourceFile == null)
              {
            throw new ArgumentNullException(nameof(sourceFile));
              }

              _document = document;
              _sourceFile = sourceFile;
        }
예제 #27
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CSF.Zpt.DocumentProviders.ZptXmlDocument"/> class.
        /// </summary>
        /// <param name="document">An XML document from which to create the current instance.</param>
        /// <param name="sourceFile">Information about the document's source file.</param>
        /// <param name="elementRenderer">The element renderer.</param>
        public ZptXmlDocument(XmlDocument document,
                          ISourceInfo sourceFile,
                          IElementRenderer elementRenderer = null)
            : base(elementRenderer)
        {
            if(document == null)
              {
            throw new ArgumentNullException(nameof(document));
              }
              if(sourceFile == null)
              {
            throw new ArgumentNullException(nameof(sourceFile));
              }

              _document = document;
              _sourceFile = sourceFile;

              this.IndentOutput = DefaultIndentMode;
              this.IndentationCharacters = DefaultIndentationCharacters;
        }
예제 #28
0
 internal override void Accept(IElementRenderer renderer)
 {
     renderer.Render(this);
 }
예제 #29
0
 internal abstract void Accept(IElementRenderer renderer);
예제 #30
0
 public void RenderFormulaTo(IElementRenderer renderer, double x, double y)
 {
     renderer.RenderElement(Box, x / Scale, y / Scale + Box.Height);
     renderer.FinishRendering();
 }
예제 #31
0
파일: StrutBox.cs 프로젝트: victm/wpf-math
 public override void RenderTo(IElementRenderer renderer, double x, double y)
 {
 }
예제 #32
0
        public override void RenderTo(IElementRenderer renderer, double x, double y)
        {
            var color = Foreground ?? Brushes.Black;

            renderer.RenderGlyphRun(scale => GetGlyphRun(scale, x, y), x, y, color);
        }