| OLD | NEW |
| (Empty) |
| 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 | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 import 'dart:sky' as sky; | |
| 6 import 'package:sky/rendering/object.dart'; | |
| 7 import 'package:sky/rendering/box.dart'; | |
| 8 | |
| 9 class RenderSolidColorBox extends RenderDecoratedBox { | |
| 10 final Size desiredSize; | |
| 11 final Color backgroundColor; | |
| 12 | |
| 13 RenderSolidColorBox(Color backgroundColor, { this.desiredSize: Size.infinite }
) | |
| 14 : backgroundColor = backgroundColor, | |
| 15 super(decoration: new BoxDecoration(backgroundColor: backgroundColor)); | |
| 16 | |
| 17 double getMinIntrinsicWidth(BoxConstraints constraints) { | |
| 18 return constraints.constrainHeight( | |
| 19 this.desiredSize == Size.infinite ? 0.0 : desiredSize.width | |
| 20 ); | |
| 21 } | |
| 22 | |
| 23 double getMaxIntrinsicWidth(BoxConstraints constraints) { | |
| 24 return constraints.constrainWidth( | |
| 25 this.desiredSize == Size.infinite ? 0.0 : desiredSize.width | |
| 26 ); | |
| 27 } | |
| 28 | |
| 29 double getMinIntrinsicHeight(BoxConstraints constraints) { | |
| 30 return constraints.constrainHeight( | |
| 31 this.desiredSize == Size.infinite ? 0.0 : desiredSize.height | |
| 32 ); | |
| 33 } | |
| 34 | |
| 35 double getMaxIntrinsicHeight(BoxConstraints constraints) { | |
| 36 return constraints.constrainHeight( | |
| 37 this.desiredSize == Size.infinite ? 0.0 : desiredSize.height | |
| 38 ); | |
| 39 } | |
| 40 | |
| 41 void performLayout() { | |
| 42 size = constraints.constrain(desiredSize); | |
| 43 } | |
| 44 | |
| 45 void handleEvent(sky.Event event, BoxHitTestEntry entry) { | |
| 46 if (event.type == 'pointerdown') | |
| 47 decoration = new BoxDecoration(backgroundColor: const Color(0xFFFF0000)); | |
| 48 else if (event.type == 'pointerup') | |
| 49 decoration = new BoxDecoration(backgroundColor: backgroundColor); | |
| 50 } | |
| 51 } | |
| OLD | NEW |