Пример #1
0
 public override void paint(PaintingContext context, Offset offset)
 {
     if (child?.geometry?.visible == true)
     {
         context.paintChild(child, offset);
     }
 }
Пример #2
0
 public override void paint(PaintingContext paintContext, Offset offset)
 {
     if (constraints.overlap < 0.0 || constraints.scrollOffset + child.size.height > 0)
     {
         paintContext.paintChild(child, offset);
     }
 }
Пример #3
0
        public override void paint(PaintingContext context, Offset offset)
        {
            D.assert(this._children.Count == this.rows * this.columns);
            if (this.rows * this.columns == 0)
            {
                if (this.border != null)
                {
                    Rect borderRect = Rect.fromLTWH(offset.dx, offset.dy, this.size.width, 0.0f);
                    this.border.paint(context.canvas, borderRect, rows: new List <float>(), columns: new List <float>());
                }

                return;
            }

            D.assert(this._rowTops.Count == this.rows + 1);
            if (this._rowDecorations != null)
            {
                Canvas canvas = context.canvas;
                for (int y = 0; y < this.rows; y++)
                {
                    if (this._rowDecorations.Count <= y)
                    {
                        break;
                    }

                    if (this._rowDecorations[y] != null)
                    {
                        this._rowDecorationPainters[y] = this._rowDecorationPainters[y] ??
                                                         this._rowDecorations[y].createBoxPainter(this.markNeedsPaint);
                        this._rowDecorationPainters[y].paint(
                            canvas,
                            new Offset(offset.dx, offset.dy + this._rowTops[y]),
                            this.configuration.copyWith(
                                size: new Size(this.size.width, this._rowTops[y + 1] - this._rowTops[y])
                                )
                            );
                    }
                }
            }

            for (int index = 0; index < this._children.Count; index++)
            {
                RenderBox child = this._children[index];
                if (child != null)
                {
                    BoxParentData childParentData = (BoxParentData)child.parentData;
                    context.paintChild(child, childParentData.offset + offset);
                }
            }

            D.assert(this._rows == this._rowTops.Count - 1);
            D.assert(this._columns == this._columnLefts.Count);
            if (this.border != null)
            {
                Rect         borderRect = Rect.fromLTWH(offset.dx, offset.dy, this.size.width, this._rowTops.Last());
                List <float> rows       = this._rowTops.GetRange(1, this._rowTops.Count - 2);
                List <float> columns    = this._columnLefts.GetRange(1, this._columnLefts.Count - 1);
                this.border.paint(context.canvas, borderRect, rows: rows, columns: columns);
            }
        }
Пример #4
0
 public override void paint(PaintingContext context, Offset offset)
 {
     if (this.child != null)
     {
         context.paintChild(this.child, offset);
     }
 }
Пример #5
0
        void _paintChild(PaintingContext context, Offset offset, RenderBox child, int childIndex)
        {
            D.assert(child != null);

            _SegmentedControlContainerBoxParentData childParentData = child.parentData as _SegmentedControlContainerBoxParentData;

            context.canvas.drawRRect(
                childParentData.surroundingRect.shift(offset),
                new Paint()
            {
                color = backgroundColors[childIndex],
                style = PaintingStyle.fill
            }
                );
            context.canvas.drawRRect(
                childParentData.surroundingRect.shift(offset),
                new Paint()
            {
                color       = borderColor,
                strokeWidth = 1.0f,
                style       = PaintingStyle.stroke
            }
                );

            context.paintChild(child, childParentData.offset + offset);
        }
        public override void paint(PaintingContext context, Offset offset)
        {
            if (this.child != null && this.geometry.visible)
            {
                switch (GrowthDirectionUtils.applyGrowthDirectionToAxisDirection(this.constraints.axisDirection,
                                                                                 this.constraints.growthDirection))
                {
                case AxisDirection.up:
                    offset += new Offset(0.0f,
                                         this.geometry.paintExtent - this.childMainAxisPosition(this.child) - this.childExtent);
                    break;

                case AxisDirection.down:
                    offset += new Offset(0.0f, this.childMainAxisPosition(this.child));
                    break;

                case AxisDirection.left:
                    offset += new Offset(
                        this.geometry.paintExtent - this.childMainAxisPosition(this.child) - this.childExtent,
                        0.0f);
                    break;

                case AxisDirection.right:
                    offset += new Offset(this.childMainAxisPosition(this.child), 0.0f);
                    break;
                }

                context.paintChild(this.child, offset);
            }
        }
Пример #7
0
 public override void paint(PaintingContext context, Offset offset)
 {
     if (child != null && child.geometry.visible)
     {
         SliverPhysicalParentData childParentData = child.parentData as SliverPhysicalParentData;
         context.paintChild(child, offset + childParentData.paintOffset);
     }
 }
        void _paintChild(PaintingContext context, Offset offset, RenderBox child, int childIndex)
        {
            D.assert(child != null);
            _SlidingSegmentedControlContainerBoxParentData childParentData =
                child.parentData as _SlidingSegmentedControlContainerBoxParentData;

            context.paintChild(child, childParentData.offset + offset);
        }
Пример #9
0
 public override void paint(PaintingContext context, Offset offset)
 {
     if (this.child != null && this.geometry.visible)
     {
         var childParentData = (SliverPhysicalParentData)this.child.parentData;
         context.paintChild(this.child, offset + childParentData.paintOffset);
     }
 }
Пример #10
0
 public override void paint(PaintingContext context, Offset offset)
 {
     if (this.child != null)
     {
         var childParentData = (BoxParentData)this.child.parentData;
         context.paintChild(this.child, childParentData.offset + offset);
     }
 }
Пример #11
0
 public override void paint(PaintingContext context, Offset offset)
 {
     if (offstage)
     {
         return;
     }
     context.paintChild(child, offset);
 }
Пример #12
0
        void paintStack(PaintingContext context, Offset offset)
        {
            RenderBox child = _firstOnstageChild;

            while (child != null)
            {
                StackParentData childParentData = child.parentData as StackParentData;
                context.paintChild(child, childParentData.offset + offset);
                child = childParentData.nextSibling;
            }
        }
Пример #13
0
        void _drawButtons(PaintingContext context, Offset offset)
        {
            RenderBox child = firstChild;

            while (child != null)
            {
                MultiChildLayoutParentData childParentData = child.parentData as MultiChildLayoutParentData;
                context.paintChild(child, childParentData.offset + offset);
                child = childAfter(child);
            }
        }
Пример #14
0
        public void defaultPaint(PaintingContext context, Offset offset)
        {
            var child = this.firstChild;

            while (child != null)
            {
                var childParentData = (ParentDataType)child.parentData;
                context.paintChild(child, childParentData.offset + offset);
                child = childParentData.nextSibling;
            }
        }
Пример #15
0
        public override void paintStack(PaintingContext context, Offset offset)
        {
            if (this.firstChild == null || this.index == null)
            {
                return;
            }

            RenderBox       child           = this._childAtIndex();
            StackParentData childParentData = (StackParentData)child.parentData;

            context.paintChild(child, childParentData.offset + offset);
        }
Пример #16
0
        public override void paint(PaintingContext context, Offset offset)
        {
            visitChildren((RenderObject renderObjectChild) => {
                RenderBox child = renderObjectChild as RenderBox;
                _ToolbarParentData childParentData = child.parentData as _ToolbarParentData;
                if (!childParentData.shouldPaint)
                {
                    return;
                }

                context.paintChild(child, childParentData.offset + offset);
            });
        }
Пример #17
0
        public override void paint(PaintingContext context, Offset offset)
        {
            void doPaint(RenderBox child)
            {
                if (child != null)
                {
                    BoxParentData parentData = (BoxParentData)child.parentData;
                    context.paintChild(child, parentData.offset + offset);
                }
            }

            doPaint(this.leading);
            doPaint(this.title);
            doPaint(this.subtitle);
            doPaint(this.trailing);
        }
 public override void paint(PaintingContext context, Offset offset)
 {
     if (child != null)
     {
         if (_alpha == 0)
         {
             layer = null;
             return;
         }
         if (_alpha == 255)
         {
             layer = null;
             context.paintChild(child, offset);
             return;
         }
         D.assert(needsCompositing);
         layer = context.pushOpacity(offset, _alpha, base.paint, oldLayer: layer as OpacityLayer);
     }
 }
        public override void paint(PaintingContext context, Offset offset)
        {
            if (this.firstChild == null)
            {
                return;
            }

            Offset mainAxisUnit = null, crossAxisUnit = null, originOffset = null;
            bool   addExtent = false;

            switch (GrowthDirectionUtils.applyGrowthDirectionToAxisDirection(this.constraints.axisDirection,
                                                                             this.constraints.growthDirection))
            {
            case AxisDirection.up:
                mainAxisUnit  = new Offset(0.0f, -1.0f);
                crossAxisUnit = new Offset(1.0f, 0.0f);
                originOffset  = offset + new Offset(0.0f, this.geometry.paintExtent);
                addExtent     = true;
                break;

            case AxisDirection.right:
                mainAxisUnit  = new Offset(1.0f, 0.0f);
                crossAxisUnit = new Offset(0.0f, 1.0f);
                originOffset  = offset;
                addExtent     = false;
                break;

            case AxisDirection.down:
                mainAxisUnit  = new Offset(0.0f, 1.0f);
                crossAxisUnit = new Offset(1.0f, 0.0f);
                originOffset  = offset;
                addExtent     = false;
                break;

            case AxisDirection.left:
                mainAxisUnit  = new Offset(-1.0f, 0.0f);
                crossAxisUnit = new Offset(0.0f, 1.0f);
                originOffset  = offset + new Offset(this.geometry.paintExtent, 0.0f);
                addExtent     = true;
                break;
            }

            RenderBox child = this.firstChild;

            while (child != null)
            {
                float  mainAxisDelta  = this.childMainAxisPosition(child);
                float  crossAxisDelta = this.childCrossAxisPosition(child);
                Offset childOffset    = new Offset(
                    originOffset.dx + mainAxisUnit.dx * mainAxisDelta + crossAxisUnit.dx * crossAxisDelta,
                    originOffset.dy + mainAxisUnit.dy * mainAxisDelta + crossAxisUnit.dy * crossAxisDelta
                    );
                if (addExtent)
                {
                    childOffset += mainAxisUnit * this.paintExtentOf(child);
                }

                if (mainAxisDelta < this.constraints.remainingPaintExtent &&
                    mainAxisDelta + this.paintExtentOf(child) > 0)
                {
                    context.paintChild(child, childOffset);
                }

                child = this.childAfter(child);
            }
        }
Пример #20
0
 void _paintChild(PaintingContext context, Offset offset)
 {
     context.paintChild(this.child, offset);
 }
Пример #21
0
        public override void paint(PaintingContext context, Offset offset)
        {
            _ToolbarParentData childParentData = child.parentData as _ToolbarParentData;

            context.paintChild(child, childParentData.offset + offset);
        }