@@ -134,6 +134,13 @@ -(void) setOpacity: (CGFloat) opacity
134
134
[super setOpacity: opacity];
135
135
[self updateColor ];
136
136
}
137
+
138
+ - (void )updateDisplayedOpacity : (CGFloat)parentOpacity
139
+ {
140
+ [super updateDisplayedOpacity: parentOpacity];
141
+ [self updateColor ];
142
+ }
143
+
137
144
@end
138
145
139
146
@@ -185,9 +192,8 @@ - (void) updateColor
185
192
186
193
float gmin = MIN (MIN (g0, g1), MIN (g2, g3));
187
194
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 );
191
197
_colors[0 ] = GLKVector4Lerp (a, b, (g0 - gmin)/(gmax - gmin));
192
198
_colors[1 ] = GLKVector4Lerp (a, b, (g1 - gmin)/(gmax - gmin));
193
199
_colors[2 ] = GLKVector4Lerp (a, b, (g2 - gmin)/(gmax - gmin));
0 commit comments