main
cs 114 lines 4.07 KB
Raw
1 // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3 namespace WixToolset.Data
4 {
5 using WixToolset.Data.Symbols;
6
7 public static partial class SymbolDefinitions
8 {
9 public static readonly IntermediateSymbolDefinition TextStyle = new IntermediateSymbolDefinition(
10 SymbolDefinitionType.TextStyle,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(TextStyleSymbolFields.FaceName), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(TextStyleSymbolFields.Size), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(TextStyleSymbolFields.Red), IntermediateFieldType.Number),
16 new IntermediateFieldDefinition(nameof(TextStyleSymbolFields.Green), IntermediateFieldType.Number),
17 new IntermediateFieldDefinition(nameof(TextStyleSymbolFields.Blue), IntermediateFieldType.Number),
18 new IntermediateFieldDefinition(nameof(TextStyleSymbolFields.Bold), IntermediateFieldType.Bool),
19 new IntermediateFieldDefinition(nameof(TextStyleSymbolFields.Italic), IntermediateFieldType.Bool),
20 new IntermediateFieldDefinition(nameof(TextStyleSymbolFields.Strike), IntermediateFieldType.Bool),
21 new IntermediateFieldDefinition(nameof(TextStyleSymbolFields.Underline), IntermediateFieldType.Bool),
22 },
23 typeof(TextStyleSymbol));
24 }
25 }
26
27 namespace WixToolset.Data.Symbols
28 {
29 public enum TextStyleSymbolFields
30 {
31 FaceName,
32 Size,
33 Red,
34 Green,
35 Blue,
36 Bold,
37 Italic,
38 Strike,
39 Underline,
40 }
41
42 public class TextStyleSymbol : IntermediateSymbol
43 {
44 public TextStyleSymbol() : base(SymbolDefinitions.TextStyle, null, null)
45 {
46 }
47
48 public TextStyleSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(SymbolDefinitions.TextStyle, sourceLineNumber, id)
49 {
50 }
51
52 public IntermediateField this[TextStyleSymbolFields index] => this.Fields[(int)index];
53
54 public string FaceName
55 {
56 get => (string)this.Fields[(int)TextStyleSymbolFields.FaceName];
57 set => this.Set((int)TextStyleSymbolFields.FaceName, value);
58 }
59
60 public string LocalizedSize
61 {
62 get => (string)this.Fields[(int)TextStyleSymbolFields.Size];
63 set => this.Set((int)TextStyleSymbolFields.Size, value);
64 }
65
66 public int Size
67 {
68 get => (int)this.Fields[(int)TextStyleSymbolFields.Size];
69 set => this.Set((int)TextStyleSymbolFields.Size, value);
70 }
71
72 public int? Red
73 {
74 get => (int?)this.Fields[(int)TextStyleSymbolFields.Red];
75 set => this.Set((int)TextStyleSymbolFields.Red, value);
76 }
77
78 public int? Green
79 {
80 get => (int?)this.Fields[(int)TextStyleSymbolFields.Green];
81 set => this.Set((int)TextStyleSymbolFields.Green, value);
82 }
83
84 public int? Blue
85 {
86 get => (int?)this.Fields[(int)TextStyleSymbolFields.Blue];
87 set => this.Set((int)TextStyleSymbolFields.Blue, value);
88 }
89
90 public bool Bold
91 {
92 get => (bool)this.Fields[(int)TextStyleSymbolFields.Bold];
93 set => this.Set((int)TextStyleSymbolFields.Bold, value);
94 }
95
96 public bool Italic
97 {
98 get => (bool)this.Fields[(int)TextStyleSymbolFields.Italic];
99 set => this.Set((int)TextStyleSymbolFields.Italic, value);
100 }
101
102 public bool Strike
103 {
104 get => (bool)this.Fields[(int)TextStyleSymbolFields.Strike];
105 set => this.Set((int)TextStyleSymbolFields.Strike, value);
106 }
107
108 public bool Underline
109 {
110 get => (bool)this.Fields[(int)TextStyleSymbolFields.Underline];
111 set => this.Set((int)TextStyleSymbolFields.Underline, value);
112 }
113 }
114 }