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:sky' as sky; | 5 import 'dart:sky' as sky; |
6 | 6 |
7 /// Helper class to build a Paint DrawLooper that adds shadows to the Paint's | 7 /// Helper class to build a Paint DrawLooper that adds shadows to the Paint's |
8 /// operation. | 8 /// operation. |
9 class ShadowDrawLooperBuilder { | 9 class ShadowDrawLooperBuilder { |
10 var builder_ = new sky.LayerDrawLooperBuilder(); | 10 var builder_ = new sky.LayerDrawLooperBuilder(); |
11 | 11 |
12 void addShadow(sky.Size offset, sky.Color color, double blur) { | 12 void addShadow(sky.Size offset, sky.Color color, double blur) { |
13 builder_.addLayerOnTop( | 13 builder_.addLayerOnTop( |
14 new sky.DrawLooperLayerInfo() | 14 new sky.DrawLooperLayerInfo() |
15 ..setPaintBits(-1) | 15 ..setPaintBits(-1) |
16 ..setOffset(offset.toPoint()) | 16 ..setOffset(offset.toPoint()) |
17 ..setColorMode(sky.TransferMode.srcMode), | 17 ..setColorMode(sky.TransferMode.srcMode), |
18 (sky.Paint layerPaint) { | 18 (sky.Paint layerPaint) { |
19 layerPaint.color = color; | 19 layerPaint.color = color; |
20 layerPaint.setMaskFilter( | 20 layerPaint.setMaskFilter( |
21 new sky.MaskFilter.Blur(sky.BlurStyle.normal, | 21 new sky.MaskFilter.blur(sky.BlurStyle.normal, |
22 blur, | 22 blur, |
23 highQuality: true)); | 23 highQuality: true)); |
24 }); | 24 }); |
25 } | 25 } |
26 | 26 |
27 sky.DrawLooper build() { | 27 sky.DrawLooper build() { |
28 builder_.addLayerOnTop(new sky.DrawLooperLayerInfo(), (_) {}); | 28 builder_.addLayerOnTop(new sky.DrawLooperLayerInfo(), (_) {}); |
29 return builder_.build(); | 29 return builder_.build(); |
30 } | 30 } |
31 } | 31 } |
OLD | NEW |