| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 import 'dart:math' as math; | 5 import 'dart:math' as math; |
| 6 import 'dart:sky' as sky; | 6 import 'dart:sky' as sky; |
| 7 import 'dart:sky' show Point, Offset, Size, Rect, Color, Paint, Path; | 7 import 'dart:sky' show Point, Offset, Size, Rect, Color, Paint, Path; |
| 8 | 8 |
| 9 import 'shadows.dart'; | 9 import 'shadows.dart'; |
| 10 | 10 |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 200 return _cachedBackgroundPaint; | 200 return _cachedBackgroundPaint; |
| 201 } | 201 } |
| 202 | 202 |
| 203 void paint(sky.Canvas canvas, Rect rect) { | 203 void paint(sky.Canvas canvas, Rect rect) { |
| 204 if (_decoration.backgroundColor != null || _decoration.boxShadow != null || | 204 if (_decoration.backgroundColor != null || _decoration.boxShadow != null || |
| 205 _decoration.gradient != null) { | 205 _decoration.gradient != null) { |
| 206 switch (_decoration.shape) { | 206 switch (_decoration.shape) { |
| 207 case Shape.circle: | 207 case Shape.circle: |
| 208 assert(_decoration.borderRadius == null); | 208 assert(_decoration.borderRadius == null); |
| 209 Point center = rect.center; | 209 Point center = rect.center; |
| 210 Size size = rect.size; | 210 double radius = rect.shortestSide / 2.0; |
| 211 double radius = math.min(size.width, size.height) / 2.0; | |
| 212 canvas.drawCircle(center, radius, _backgroundPaint); | 211 canvas.drawCircle(center, radius, _backgroundPaint); |
| 213 break; | 212 break; |
| 214 case Shape.rectangle: | 213 case Shape.rectangle: |
| 215 if (_decoration.borderRadius == null) | 214 if (_decoration.borderRadius == null) |
| 216 canvas.drawRect(rect, _backgroundPaint); | 215 canvas.drawRect(rect, _backgroundPaint); |
| 217 else | 216 else |
| 218 canvas.drawRRect(new sky.RRect()..setRectXY(rect, _decoration.border
Radius, _decoration.borderRadius), _backgroundPaint); | 217 canvas.drawRRect(new sky.RRect()..setRectXY(rect, _decoration.border
Radius, _decoration.borderRadius), _backgroundPaint); |
| 219 break; | 218 break; |
| 220 } | 219 } |
| 221 } | 220 } |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 263 path = new Path(); | 262 path = new Path(); |
| 264 path.moveTo(rect.left, rect.bottom); | 263 path.moveTo(rect.left, rect.bottom); |
| 265 path.lineTo(rect.left + _decoration.border.left.width, rect.bottom - _deco
ration.border.bottom.width); | 264 path.lineTo(rect.left + _decoration.border.left.width, rect.bottom - _deco
ration.border.bottom.width); |
| 266 path.lineTo(rect.left + _decoration.border.left.width, rect.top + _decorat
ion.border.top.width); | 265 path.lineTo(rect.left + _decoration.border.left.width, rect.top + _decorat
ion.border.top.width); |
| 267 path.lineTo(rect.left, rect.top); | 266 path.lineTo(rect.left, rect.top); |
| 268 path.close(); | 267 path.close(); |
| 269 canvas.drawPath(path, paint); | 268 canvas.drawPath(path, paint); |
| 270 } | 269 } |
| 271 } | 270 } |
| 272 } | 271 } |
| OLD | NEW |