1 //----------------------------------------------------------------
2 // Copyright (c) Microsoft Corporation. All rights reserved.
3 //----------------------------------------------------------------
5 namespace System.Activities.Presentation.Internal.PropertyEditing
7 using System.Collections.Generic;
9 using System.Windows.Media;
10 using System.Diagnostics.CodeAnalysis;
12 internal class PropertyInspectorFontAndColorDictionary : ResourceDictionary
14 [SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
15 internal PropertyInspectorFontAndColorDictionary(Dictionary<string, object> fontAndColorData)
21 foreach (KeyValuePair<string, object> keyValuePair in fontAndColorData)
23 if (keyValuePair.Value is System.Drawing.SolidBrush)
25 System.Drawing.SolidBrush drawingBrush = (System.Drawing.SolidBrush)(keyValuePair.Value);
26 Color color = new Color();
27 color.A = drawingBrush.Color.A;
28 color.R = drawingBrush.Color.R;
29 color.G = drawingBrush.Color.G;
30 color.B = drawingBrush.Color.B;
32 Add(keyValuePair.Key, new SolidColorBrush(color));
34 else if (keyValuePair.Value is System.Drawing.Drawing2D.LinearGradientBrush)
36 System.Drawing.Drawing2D.LinearGradientBrush drawingBrush = (System.Drawing.Drawing2D.LinearGradientBrush)keyValuePair.Value;
37 Color startingColor = new Color();
38 startingColor.A = drawingBrush.LinearColors[0].A;
39 startingColor.R = drawingBrush.LinearColors[0].R;
40 startingColor.G = drawingBrush.LinearColors[0].G;
41 startingColor.B = drawingBrush.LinearColors[0].B;
42 Color endingColor = new Color();
43 endingColor.A = drawingBrush.LinearColors[1].A;
44 endingColor.R = drawingBrush.LinearColors[1].R;
45 endingColor.G = drawingBrush.LinearColors[1].G;
46 endingColor.B = drawingBrush.LinearColors[1].B;
47 Add(keyValuePair.Key, new System.Windows.Media.LinearGradientBrush(startingColor, endingColor, 90));
49 else if (keyValuePair.Value is System.Drawing.FontFamily)
51 System.Drawing.FontFamily drawingFontFamily = (System.Drawing.FontFamily)keyValuePair.Value;
52 Add(keyValuePair.Key, new FontFamily(drawingFontFamily.Name));
54 else if (keyValuePair.Key == "FontWeightKey")
56 Add(keyValuePair.Key, System.Windows.FontWeights.Normal);
60 Add(keyValuePair.Key, keyValuePair.Value);