flutter/packages/unit/test/widget/shader_mask_test.dart
Hans Muller 4de0a99b3f ShaderMask
The ShaderMask widget enables rendering its child with an alpha channel defined by a Shader. For example if the Shader was a linear gradient in alpha then the component behind the ShaderMask's child would appear wherever the gradient's alpha value was not fully opaque.

The card_collection.dart example demonstrates this. Select the "Let the sun shine" checkbox in the app's drawer.
2015-10-02 17:08:00 -07:00

28 lines
671 B
Dart

import 'dart:sky' as sky;
import 'package:sky/painting.dart';
import 'package:sky/widgets.dart';
import 'package:test/test.dart';
import 'widget_tester.dart';
sky.Shader createShader(Rect bounds) {
return new LinearGradient(
begin: Point.origin,
end: new Point(0.0, bounds.height),
colors: [const Color(0x00FFFFFF), const Color(0xFFFFFFFF)],
stops: [0.1, 0.35]
)
.createShader();
}
void main() {
test('Can be constructed', () {
testWidgets((WidgetTester tester) {
Widget child = new Container(width: 100.0, height: 100.0);
tester.pumpWidget(new ShaderMask(child: child, shaderCallback: createShader));
});
});
}