Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var renderTools = new RenderTools();
- // Register gradient brush
- renderTools.RegisterTool<Tuple<Color, Color>, Brush>(tuple =>
- new LinearGradientBrush
- {
- GradientStops = new GradientStopCollection(new []
- {
- new GradientStop(tuple.Item1, 0),
- new GradientStop(tuple.Item2, 1)
- })
- });
- // Register solid pen.
- renderTools.RegisterTool<Tuple<Brush, double>, Pen>(tuple => new Pen(tuple.Item1, tuple.Item2));
- // Register pen with dashstyle support.
- renderTools.RegisterTool<Tuple<Brush, double, DashStyle>, Pen>(tuple => new Pen(tuple.Item1, tuple.Item2) { DashStyle = tuple.Item3 });
- var brush1 = renderTools.GetTool<Brush>(new Tuple<Color, Color>(Colors.Red, Colors.Yellow));
- var brush2 = renderTools.GetTool<Brush>(new Tuple<Color, Color>(Colors.Red, Colors.Yellow));
- Console.WriteLine(Object.ReferenceEquals(brush1, brush2));
- var pen1 = renderTools.GetTool<Pen>(new Tuple<Brush, double>(Brushes.Red, 5));
- var pen2 = renderTools.GetTool<Pen>(new Tuple<Brush, double>(Brushes.Red, 5));
- Console.WriteLine(Object.ReferenceEquals(pen1, pen2));
- var pen3 = renderTools.GetTool<Pen>(new Tuple<Brush, double, DashStyle>(Brushes.Blue, 2, DashStyles.DashDotDot));
- var pen4 = renderTools.GetTool<Pen>(new Tuple<Brush, double, DashStyle>(Brushes.Blue, 2, DashStyles.DashDotDot));
- Console.WriteLine(Object.ReferenceEquals(pen3, pen4));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement