~ubuntu-branches/ubuntu/oneiric/monodevelop/oneiric

« back to all changes in this revision

Viewing changes to src/core/Mono.Texteditor/Mono.TextEditor.Highlighting/ChunkStyle.cs

  • Committer: Bazaar Package Importer
  • Author(s): Jo Shields
  • Date: 2011-06-27 17:03:13 UTC
  • mto: (1.8.1 upstream)
  • mto: This revision was merged to the branch mainline in revision 54.
  • Revision ID: james.westby@ubuntu.com-20110627170313-6cvz3s19x6e9hqe9
ImportĀ upstreamĀ versionĀ 2.5.92+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
39
39
        
40
40
        public class ChunkStyle
41
41
        {
42
 
                public virtual Gdk.Color Color {
 
42
                public virtual Cairo.Color CairoColor {
43
43
                        get;
44
44
                        set;
45
45
                }
46
 
 
47
 
                Gdk.Color backColor = Gdk.Color.Zero;
 
46
                
 
47
                public Gdk.Color Color {
 
48
                        get {
 
49
                                return (HslColor)CairoColor;
 
50
                        }
 
51
                }
 
52
                
48
53
                bool backColorIsZero = true;
49
 
                public virtual Gdk.Color BackgroundColor {
 
54
                Cairo.Color cairoBackgroundColor = new Cairo.Color (0, 0, 0, 0);
 
55
                public virtual Cairo.Color CairoBackgroundColor {
 
56
                        get { return cairoBackgroundColor; }
 
57
                        set { cairoBackgroundColor = value; backColorIsZero = false; }
 
58
                }
 
59
                
 
60
                public Gdk.Color BackgroundColor {
50
61
                        get {
51
 
                                return backColor;
52
 
                        }
53
 
                        set {
54
 
                                backColor = value;
55
 
                                backColorIsZero = value.Equal (Gdk.Color.Zero);
 
62
                                return (HslColor)CairoBackgroundColor;
56
63
                        }
57
64
                }
58
65
                
92
99
                
93
100
                public ChunkStyle (ChunkStyle style)
94
101
                {
95
 
                        Color                = style.Color;
96
 
                        BackgroundColor      = style.BackgroundColor;
 
102
                        CairoColor           = style.CairoColor;
 
103
                        if (!style.backColorIsZero)
 
104
                                CairoBackgroundColor = style.CairoBackgroundColor;
97
105
                        ChunkProperties      = style.ChunkProperties;
98
106
                }
99
107
 
109
117
                        return Bold ? Pango.Weight.Bold : Pango.Weight.Normal;
110
118
                }
111
119
                
112
 
                public ChunkStyle () : this (Gdk.Color.Zero, Gdk.Color.Zero, ChunkProperties.None)
113
 
                {
114
 
                }
115
 
                
116
 
                public ChunkStyle (Gdk.Color color) : this (color, Gdk.Color.Zero, ChunkProperties.None)
117
 
                {
118
 
                }
119
 
                
120
 
                public ChunkStyle (Gdk.Color color, ChunkProperties chunkProperties) : this (color, Gdk.Color.Zero, chunkProperties)
121
 
                {
 
120
                public ChunkStyle ()
 
121
                {
 
122
                }
 
123
                
 
124
                public ChunkStyle (Gdk.Color color)
 
125
                {
 
126
                        this.CairoColor =(HslColor) color;
 
127
                }
 
128
                
 
129
                public ChunkStyle (Gdk.Color color, ChunkProperties chunkProperties)
 
130
                {
 
131
                        this.CairoColor      = (HslColor)color;
 
132
                        this.ChunkProperties = chunkProperties;
122
133
                }
123
134
                
124
135
                public ChunkStyle (Gdk.Color color, Gdk.Color bgColor) : this (color, bgColor, ChunkProperties.None)
127
138
                
128
139
                public ChunkStyle (Gdk.Color color, Gdk.Color bgColor, ChunkProperties chunkProperties)
129
140
                {
130
 
                        this.Color           = color;
131
 
                        this.BackgroundColor = bgColor;
 
141
                        this.CairoColor           = (HslColor)color;
 
142
                        this.CairoBackgroundColor = (HslColor)bgColor;
 
143
                        this.ChunkProperties = chunkProperties;
 
144
                }
 
145
                
 
146
                public ChunkStyle (Cairo.Color color, Cairo.Color bgColor, ChunkProperties chunkProperties)
 
147
                {
 
148
                        this.CairoColor           = color;
 
149
                        this.CairoBackgroundColor = bgColor;
 
150
                        this.ChunkProperties = chunkProperties;
 
151
                }
 
152
                
 
153
                public ChunkStyle (Cairo.Color color, ChunkProperties chunkProperties)
 
154
                {
 
155
                        this.CairoColor           = color;
132
156
                        this.ChunkProperties = chunkProperties;
133
157
                }
134
158
                
135
159
                public override string ToString ()
136
160
                {
137
 
                        return string.Format ("[ChunkStyle: Color={0}, BackgroundColor={1}, TransparentBackround={2}, ChunkProperties={3}, Link={4}]", Color, BackgroundColor, TransparentBackround, ChunkProperties, Link);
 
161
                        return string.Format ("[ChunkStyle: Color={0}, BackgroundColor={1}, TransparentBackround={2}, ChunkProperties={3}, Link={4}]", CairoColor, CairoBackgroundColor, TransparentBackround, ChunkProperties, Link);
138
162
                }
139
163
                
140
164
                public override int GetHashCode ()
141
165
                {
142
 
                        return Color.GetHashCode () ^ Bold.GetHashCode ();
 
166
                        return CairoColor.GetHashCode () ^ Bold.GetHashCode ();
143
167
                }
144
168
 
145
169
                public override bool Equals (object o)
146
170
                {
147
171
                        ChunkStyle c = o as ChunkStyle;
148
 
                        return c != null && Bold == c.Bold && Italic == c.Italic && Color.GetHashCode () == c.Color.GetHashCode ();
 
172
                        return c != null && Bold == c.Bold && Italic == c.Italic && CairoColor.GetHashCode () == c.CairoColor.GetHashCode ();
149
173
                }
150
174
                
151
175
                public Gdk.GC CreateBgGC (Gdk.Drawable drawable)