void _paintTickMarks( Canvas canvas, Rect trackLeft, Rect trackRight, Paint leftPaint, Paint rightPaint) { if (this.isDiscrete) { const float tickRadius = _trackHeight / 2.0f; float trackWidth = trackRight.right - trackLeft.left; float dx = (trackWidth - _trackHeight) / this.divisions.Value; if (dx >= 3.0 * _trackHeight) { for (int i = 0; i <= this.divisions.Value; i += 1) { float left = trackLeft.left + i * dx; Offset center = new Offset(left + tickRadius, trackLeft.top + tickRadius); if (trackLeft.contains(center)) { canvas.drawCircle(center, tickRadius, leftPaint); } else if (trackRight.contains(center)) { canvas.drawCircle(center, tickRadius, rightPaint); } } } } }
public override void paint( PaintingContext context, Offset center, Animation <float> activationAnimation = null, Animation <float> enableAnimation = null, bool?isDiscrete = null, TextPainter labelPainter = null, RenderBox parentBox = null, SliderThemeData sliderTheme = null, float?value = null ) { Canvas canvas = context.canvas; FloatTween radiusTween = new FloatTween( begin: 0.0f, end: this.overlayRadius ); canvas.drawCircle( center, radiusTween.evaluate(activationAnimation), new Paint { color = sliderTheme.overlayColor } ); }
public override void paint(Canvas canvas, Size size) { Paint paint = new Paint(); paint.color = this.color; float radius = size.width / 2.0f; canvas.drawCircle(new Offset(radius, radius), radius, paint); canvas.drawRect(Rect.fromLTWH(0.0f, 0.0f, radius, radius), paint); }
void _paintOverlay( Canvas canvas, Offset center) { Paint overlayPaint = new Paint { color = this._sliderTheme.overlayColor }; float radius = _overlayRadiusTween.evaluate(this._overlayAnimation); canvas.drawCircle(center, radius, overlayPaint); }
public override void paint(Canvas canvas, Rect rect, TextDirection?textDirection = null) { switch (side.style) { case BorderStyle.none: break; case BorderStyle.solid: canvas.drawCircle(rect.center, (rect.shortestSide - side.width) / 2.0f, side.toPaint()); break; } }
public override void paint(Canvas canvas, Rect rect) { switch (this.side.style) { case BorderStyle.none: break; case BorderStyle.solid: canvas.drawCircle(rect.center, (rect.shortestSide - this.side.width) / 2.0f, this.side.toPaint()); break; } }
protected override void paintFeature(Canvas canvas, Matrix4 transform) { Paint paint = new Paint { color = this.color.withAlpha(this._alpha.value) }; Offset center = this._position; if (this._repositionToReferenceBox) { center = Offset.lerp(center, this.referenceBox.size.center(Offset.zero), this._radiusController.value); } Offset originOffset = transform.getAsTranslation(); canvas.save(); if (originOffset == null) { canvas.concat(transform.toMatrix3()); } else { canvas.translate(originOffset.dx, originOffset.dy); } if (this._clipCallback != null) { Rect rect = this._clipCallback(); if (this._customBorder != null) { canvas.clipPath(this._customBorder.getOuterPath(rect)); } else if (this._borderRadius != BorderRadius.zero) { canvas.clipRRect(RRect.fromRectAndCorners( rect, topLeft: this._borderRadius.topLeft, topRight: this._borderRadius.topRight, bottomLeft: this._borderRadius.bottomLeft, bottomRight: this._borderRadius.bottomRight)); } else { canvas.clipRect(rect); } } canvas.drawCircle(center, this._radius.value, paint); canvas.restore(); }
public override void paint(Canvas canvas, Size size) { Paint paint = new Paint { color = CustomTextSelectionControlsUtils._kHandlesColor, strokeWidth = 2.0f }; canvas.drawCircle(this.origin.translate(0.0f, 6.0f), 5.5f, paint); canvas.drawLine( this.origin, this.origin.translate( 0.0f, -(size.height - 2.0f * CustomTextSelectionControlsUtils._kHandlesPadding) ), paint ); }
public override void paint(Canvas canvas, Size size) { Paint paint = new Paint(); paint.color = CupertinoTextSelectionUtils._kHandlesColor; paint.strokeWidth = 2.0f; canvas.drawCircle(this.origin.translate(0.0f, 4.0f), 5.5f, paint); canvas.drawLine( this.origin, this.origin.translate( 0.0f, -(size.height - 2.0f * CupertinoTextSelectionUtils._kHandlesPadding) ), paint ); }
void _drawOuterBubblesFrame(Canvas canvas) { if (this.m_CirclePaints.Count == 0) { return; } for (int i = 0; i < this.m_BubblesCount; i++) { float cX = this.m_CenterX + this.m_CurrentRadius1 * Mathf.Cos(i * LikeButtonUtil.degToRad(deg: this.m_OuterBubblesPositionAngle)); float cY = this.m_CenterY + this.m_CurrentRadius1 * Mathf.Sin(i * LikeButtonUtil.degToRad(deg: this.m_OuterBubblesPositionAngle)); canvas.drawCircle(new Offset(dx: cX, dy: cY), radius: this.m_CurrentDotSize1, this.m_CirclePaints[i % this.m_CirclePaints.Count]); } }
public override void paint(Canvas canvas, Size size) { foreach (_Circle circle in this.circles) { Paint paint = new Paint(); paint.color = circle.color; Rect rect = Rect.fromLTWH(0.0f, 0.0f, size.width, size.height); canvas.clipRect(rect); float leftFraction = circle.horizontalLeadingOffset; Offset center = new Offset(leftFraction * size.width, size.height / 2.0f); FloatTween radiusTween = new FloatTween( begin: 0.0f, end: _maxRadius(center, size) ); canvas.drawCircle( center, radiusTween.evaluate(circle.animation), paint ); } }
public void paint(Canvas canvas, Size size) { if (_glowOpacity.value == 0.0f) { return; } float baseGlowScale = size.width > size.height ? size.height / size.width : 1.0f; float radius = size.width * 3.0f / 2.0f; float height = Mathf.Min(size.height, size.width * _widthToHeightFactor); float scaleY = _glowSize.value * baseGlowScale; Rect rect = Rect.fromLTWH(0.0f, 0.0f, size.width, height); Offset center = new Offset((size.width / 2.0f) * (0.5f + _displacement), height - radius); Paint paint = new Paint(); paint.color = color.withOpacity(_glowOpacity.value); canvas.save(); canvas.scale(1.0f, scaleY); canvas.clipRect(rect); canvas.drawCircle(center, radius, paint); canvas.restore(); }
void _paintBox(Canvas canvas, Rect rect, Paint paint) { switch (this._decoration.shape) { case BoxShape.circle: D.assert(this._decoration.borderRadius == null); Offset center = rect.center; float radius = rect.shortestSide / 2.0f; canvas.drawCircle(center, radius, paint); break; case BoxShape.rectangle: if (this._decoration.borderRadius == null) { canvas.drawRect(rect, paint); } else { canvas.drawRRect(this._decoration.borderRadius.toRRect(rect), paint); } break; } }
public override void debugPaint(PaintingContext context, Offset offset) { D.assert(() => { if (D.debugPaintSizeEnabled) { float strokeWidth = Mathf.Min(4.0f, geometry.paintExtent / 30.0f); Paint paint = new Paint(); paint.color = new Color(0xFF33CC33); paint.strokeWidth = strokeWidth; paint.style = PaintingStyle.stroke; paint.maskFilter = MaskFilter.blur(BlurStyle.solid, strokeWidth); float arrowExtent = geometry.paintExtent; float padding = Mathf.Max(2.0f, strokeWidth); Canvas canvas = context.canvas; canvas.drawCircle( offset.translate(padding, padding), padding * 0.5f, paint ); switch (constraints.axis) { case Axis.vertical: canvas.drawLine( offset, offset.translate(constraints.crossAxisExtent, 0.0f), paint ); _debugDrawArrow( canvas, paint, offset.translate(constraints.crossAxisExtent * 1.0f / 4.0f, padding), offset.translate(constraints.crossAxisExtent * 1.0f / 4.0f, (arrowExtent - padding)), constraints.normalizedGrowthDirection ); _debugDrawArrow( canvas, paint, offset.translate(constraints.crossAxisExtent * 3.0f / 4.0f, padding), offset.translate(constraints.crossAxisExtent * 3.0f / 4.0f, (arrowExtent - padding)), constraints.normalizedGrowthDirection ); break; case Axis.horizontal: canvas.drawLine( offset, offset.translate(0.0f, constraints.crossAxisExtent), paint ); _debugDrawArrow( canvas, paint, offset.translate(padding, constraints.crossAxisExtent * 1.0f / 4.0f), offset.translate((arrowExtent - padding), constraints.crossAxisExtent * 1.0f / 4.0f), constraints.normalizedGrowthDirection ); _debugDrawArrow( canvas, paint, offset.translate(padding, constraints.crossAxisExtent * 3.0f / 4.0f), offset.translate((arrowExtent - padding), constraints.crossAxisExtent * 3.0f / 4.0f), constraints.normalizedGrowthDirection ); break; } } return(true); }); }