@@ -134,6 +134,13 @@ -(void) setOpacity: (CGFloat) opacity
134134 [super setOpacity: opacity];
135135 [self updateColor ];
136136}
137+
138+ - (void )updateDisplayedOpacity : (CGFloat)parentOpacity
139+ {
140+ [super updateDisplayedOpacity: parentOpacity];
141+ [self updateColor ];
142+ }
143+
137144@end
138145
139146
@@ -185,9 +192,8 @@ - (void) updateColor
185192
186193 float gmin = MIN (MIN (g0, g1), MIN (g2, g3));
187194 float gmax = MAX (MAX (g0, g1), MAX (g2, g3));
188-
189- GLKVector4 a = GLKVector4Make (_color.r *_color.a , _color.g *_color.a , _color.b *_color.a , _color.a );
190- GLKVector4 b = GLKVector4Make (_endColor.r *_endColor.a , _endColor.g *_endColor.a , _endColor.b *_endColor.a , _endColor.a );
195+ GLKVector4 a = GLKVector4Make (_color.r *_color.a *_displayColor.a , _color.g *_color.a *_displayColor.a , _color.b *_color.a *_displayColor.a , _color.a *_displayColor.a );
196+ GLKVector4 b = GLKVector4Make (_endColor.r *_endColor.a *_displayColor.a , _endColor.g *_endColor.a *_displayColor.a , _endColor.b *_endColor.a *_displayColor.a , _endColor.a *_displayColor.a );
191197 _colors[0 ] = GLKVector4Lerp (a, b, (g0 - gmin)/(gmax - gmin));
192198 _colors[1 ] = GLKVector4Lerp (a, b, (g1 - gmin)/(gmax - gmin));
193199 _colors[2 ] = GLKVector4Lerp (a, b, (g2 - gmin)/(gmax - gmin));
0 commit comments