[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
darin
darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 06:20:54 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 617bfaf95d5472fe59eea041e6eea7c5d7f89b6c
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Jun 21 17:24:05 2002 +0000
Fix rendering of non-opaque animated images.
* WebCoreSupport.subproj/IFImageRenderer.m:
(-[IFImageRenderer nextFrame:]): Use [NSView displayRect:] instead of
drawing explicitly so that views behind us get a chance to draw too.
This is less efficient than just drawing for opaque images, but NSImage
doesn't offer a way to find out if the image is opaque. Also, this changes
things a bit because beginAnimationInView gets called again, so we don't
have to reschedule the timer.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1414 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 3bbab25..2ae4d59 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,15 @@
+2002-06-21 Darin Adler <darin at apple.com>
+
+ Fix rendering of non-opaque animated images.
+
+ * WebCoreSupport.subproj/IFImageRenderer.m:
+ (-[IFImageRenderer nextFrame:]): Use [NSView displayRect:] instead of
+ drawing explicitly so that views behind us get a chance to draw too.
+ This is less efficient than just drawing for opaque images, but NSImage
+ doesn't offer a way to find out if the image is opaque. Also, this changes
+ things a bit because beginAnimationInView gets called again, so we don't
+ have to reschedule the timer.
+
2002-06-20 Richard Williamson (local) <rjw at apple.com>
* WebCoreSupport.subproj/IFImageRenderer.m:
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index 3bbab25..2ae4d59 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,15 @@
+2002-06-21 Darin Adler <darin at apple.com>
+
+ Fix rendering of non-opaque animated images.
+
+ * WebCoreSupport.subproj/IFImageRenderer.m:
+ (-[IFImageRenderer nextFrame:]): Use [NSView displayRect:] instead of
+ drawing explicitly so that views behind us get a chance to draw too.
+ This is less efficient than just drawing for opaque images, but NSImage
+ doesn't offer a way to find out if the image is opaque. Also, this changes
+ things a bit because beginAnimationInView gets called again, so we don't
+ have to reschedule the timer.
+
2002-06-20 Richard Williamson (local) <rjw at apple.com>
* WebCoreSupport.subproj/IFImageRenderer.m:
diff --git a/WebKit/WebCoreSupport.subproj/IFImageRenderer.m b/WebKit/WebCoreSupport.subproj/IFImageRenderer.m
index 1d70b97..645c437 100644
--- a/WebKit/WebCoreSupport.subproj/IFImageRenderer.m
+++ b/WebKit/WebCoreSupport.subproj/IFImageRenderer.m
@@ -132,18 +132,22 @@ static NSMutableArray *activeImageRenderers;
- (void)nextFrame:(id)context
{
- int currentFrame = [self currentFrame];
+ int currentFrame;
// Release the timer that just fired.
[frameTimer release];
+ frameTimer = nil;
- currentFrame++;
+ currentFrame = [self currentFrame] + 1;
if (currentFrame >= [self frameCount]) {
currentFrame = 0;
}
+ [self setCurrentFrame:currentFrame];
- [self setCurrentFrame: currentFrame];
-
+ [frameView displayRect:targetRect];
+ [[frameView window] flushWindow];
+
+#if 0 // The following would be more efficient than using displayRect if we knew the image was opaque.
if ([frameView canDraw]) {
[frameView lockFocus];
[self drawInRect:targetRect
@@ -151,7 +155,6 @@ static NSMutableArray *activeImageRenderers;
operation:NSCompositeSourceOver // Renders transparency correctly
fraction:1.0];
[frameView unlockFocus];
- [[frameView window] flushWindow];
}
frameTimer = [[NSTimer scheduledTimerWithTimeInterval:[self frameDuration]
@@ -159,11 +162,12 @@ static NSMutableArray *activeImageRenderers;
selector:@selector(nextFrame:)
userInfo:nil
repeats:NO] retain];
+#endif
}
- (void)beginAnimationInView: (NSView *)view inRect: (NSRect)ir fromRect: (NSRect)fr
{
- // The previous, if any, frameView, is released in stopAnimations.
+ // The previous, if any, frameView, is released in stopAnimation.
[self stopAnimation];
if ([self frameCount] > 1) {
diff --git a/WebKit/WebCoreSupport.subproj/WebImageRenderer.m b/WebKit/WebCoreSupport.subproj/WebImageRenderer.m
index 1d70b97..645c437 100644
--- a/WebKit/WebCoreSupport.subproj/WebImageRenderer.m
+++ b/WebKit/WebCoreSupport.subproj/WebImageRenderer.m
@@ -132,18 +132,22 @@ static NSMutableArray *activeImageRenderers;
- (void)nextFrame:(id)context
{
- int currentFrame = [self currentFrame];
+ int currentFrame;
// Release the timer that just fired.
[frameTimer release];
+ frameTimer = nil;
- currentFrame++;
+ currentFrame = [self currentFrame] + 1;
if (currentFrame >= [self frameCount]) {
currentFrame = 0;
}
+ [self setCurrentFrame:currentFrame];
- [self setCurrentFrame: currentFrame];
-
+ [frameView displayRect:targetRect];
+ [[frameView window] flushWindow];
+
+#if 0 // The following would be more efficient than using displayRect if we knew the image was opaque.
if ([frameView canDraw]) {
[frameView lockFocus];
[self drawInRect:targetRect
@@ -151,7 +155,6 @@ static NSMutableArray *activeImageRenderers;
operation:NSCompositeSourceOver // Renders transparency correctly
fraction:1.0];
[frameView unlockFocus];
- [[frameView window] flushWindow];
}
frameTimer = [[NSTimer scheduledTimerWithTimeInterval:[self frameDuration]
@@ -159,11 +162,12 @@ static NSMutableArray *activeImageRenderers;
selector:@selector(nextFrame:)
userInfo:nil
repeats:NO] retain];
+#endif
}
- (void)beginAnimationInView: (NSView *)view inRect: (NSRect)ir fromRect: (NSRect)fr
{
- // The previous, if any, frameView, is released in stopAnimations.
+ // The previous, if any, frameView, is released in stopAnimation.
[self stopAnimation];
if ([self frameCount] > 1) {
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list