Automatically mark the NSClipView as needing redisplay when the background

color - or the drawsBackground flag - changes


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@11631 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Nicola Pero 2001-12-05 13:01:43 +00:00
parent b4481e1c16
commit b588777480

View file

@ -569,31 +569,42 @@ static inline NSRect integralRect (NSRect rect, NSView *view)
- (void) setBackgroundColor: (NSColor*)aColor
{
ASSIGN (_backgroundColor, aColor);
if (_drawsBackground == NO || _backgroundColor == nil
|| [_backgroundColor alphaComponent] < 1.0)
if (![_backgroundColor isEqual: aColor])
{
_isOpaque = NO;
}
else
{
_isOpaque = YES;
ASSIGN (_backgroundColor, aColor);
[self setNeedsDisplay: YES];
if (_drawsBackground == NO || _backgroundColor == nil
|| [_backgroundColor alphaComponent] < 1.0)
{
_isOpaque = NO;
}
else
{
_isOpaque = YES;
}
}
}
- (void) setDrawsBackground:(BOOL)flag
{
_drawsBackground = flag;
if (_drawsBackground != flag)
{
_drawsBackground = flag;
if (_drawsBackground == NO || _backgroundColor == nil
|| [_backgroundColor alphaComponent] < 1.0)
{
_isOpaque = NO;
}
else
{
_isOpaque = YES;
[self setNeedsDisplay: YES];
if (_drawsBackground == NO || _backgroundColor == nil
|| [_backgroundColor alphaComponent] < 1.0)
{
_isOpaque = NO;
}
else
{
_isOpaque = YES;
}
}
}