[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:57 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit c1cee061745a3d6688d834ff3ee4875923739cc6
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Jun 22 00:24:09 2002 +0000

            * WebCoreSupport.subproj/IFImageRenderer.m:
            (-[IFImageRenderer nextFrame:]): Add back the higher-speed case where
    	we draw directly for opaque animated images.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1417 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 117d13c..a279662 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,5 +1,11 @@
 2002-06-21  Darin Adler  <darin at apple.com>
 
+        * WebCoreSupport.subproj/IFImageRenderer.m:
+        (-[IFImageRenderer nextFrame:]): Add back the higher-speed case where
+	we draw directly for opaque animated images.
+
+2002-06-21  Darin Adler  <darin at apple.com>
+
 	Cache the patterns we make for tiled images for added speed.
 
         * WebCoreSupport.subproj/IFImageRenderer.h: Removed declarations of
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index 117d13c..a279662 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,5 +1,11 @@
 2002-06-21  Darin Adler  <darin at apple.com>
 
+        * WebCoreSupport.subproj/IFImageRenderer.m:
+        (-[IFImageRenderer nextFrame:]): Add back the higher-speed case where
+	we draw directly for opaque animated images.
+
+2002-06-21  Darin Adler  <darin at apple.com>
+
 	Cache the patterns we make for tiled images for added speed.
 
         * WebCoreSupport.subproj/IFImageRenderer.h: Removed declarations of
diff --git a/WebKit/WebCoreSupport.subproj/IFImageRenderer.m b/WebKit/WebCoreSupport.subproj/IFImageRenderer.m
index 562c194..772501c 100644
--- a/WebKit/WebCoreSupport.subproj/IFImageRenderer.m
+++ b/WebKit/WebCoreSupport.subproj/IFImageRenderer.m
@@ -134,6 +134,7 @@ static NSMutableArray *activeImageRenderers;
 - (void)nextFrame:(id)context
 {
     int currentFrame;
+    NSWindow *window;
     
     // Release the timer that just fired.
     [frameTimer release];
@@ -145,25 +146,28 @@ static NSMutableArray *activeImageRenderers;
     }
     [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
-                fromRect:imageRect
-               operation:NSCompositeSourceOver	// Renders transparency correctly
-                fraction:1.0];
-        [frameView unlockFocus];
+    window = [frameView window];
+    
+    if ([[[self representations] objectAtIndex:0] isOpaque]) {
+        if ([frameView canDraw]) {
+            [frameView lockFocus];
+            [self drawInRect:targetRect
+                    fromRect:imageRect
+                operation:NSCompositeSourceOver	// Renders transparency correctly
+                    fraction:1.0];
+            [frameView unlockFocus];
+        }
+    
+        frameTimer = [[NSTimer scheduledTimerWithTimeInterval:[self frameDuration]
+                                                    target:self
+                                                    selector:@selector(nextFrame:)
+                                                    userInfo:nil
+                                                    repeats:NO] retain];
+    } else {
+        [frameView displayRect:targetRect];
     }
-
-    frameTimer = [[NSTimer scheduledTimerWithTimeInterval:[self frameDuration]
-                                                   target:self
-                                                 selector:@selector(nextFrame:)
-                                                 userInfo:nil
-                                                  repeats:NO] retain];
-#endif
+    
+    [window flushWindow];
 }
 
 - (void)beginAnimationInRect: (NSRect)ir fromRect: (NSRect)fr
diff --git a/WebKit/WebCoreSupport.subproj/WebImageRenderer.m b/WebKit/WebCoreSupport.subproj/WebImageRenderer.m
index 562c194..772501c 100644
--- a/WebKit/WebCoreSupport.subproj/WebImageRenderer.m
+++ b/WebKit/WebCoreSupport.subproj/WebImageRenderer.m
@@ -134,6 +134,7 @@ static NSMutableArray *activeImageRenderers;
 - (void)nextFrame:(id)context
 {
     int currentFrame;
+    NSWindow *window;
     
     // Release the timer that just fired.
     [frameTimer release];
@@ -145,25 +146,28 @@ static NSMutableArray *activeImageRenderers;
     }
     [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
-                fromRect:imageRect
-               operation:NSCompositeSourceOver	// Renders transparency correctly
-                fraction:1.0];
-        [frameView unlockFocus];
+    window = [frameView window];
+    
+    if ([[[self representations] objectAtIndex:0] isOpaque]) {
+        if ([frameView canDraw]) {
+            [frameView lockFocus];
+            [self drawInRect:targetRect
+                    fromRect:imageRect
+                operation:NSCompositeSourceOver	// Renders transparency correctly
+                    fraction:1.0];
+            [frameView unlockFocus];
+        }
+    
+        frameTimer = [[NSTimer scheduledTimerWithTimeInterval:[self frameDuration]
+                                                    target:self
+                                                    selector:@selector(nextFrame:)
+                                                    userInfo:nil
+                                                    repeats:NO] retain];
+    } else {
+        [frameView displayRect:targetRect];
     }
-
-    frameTimer = [[NSTimer scheduledTimerWithTimeInterval:[self frameDuration]
-                                                   target:self
-                                                 selector:@selector(nextFrame:)
-                                                 userInfo:nil
-                                                  repeats:NO] retain];
-#endif
+    
+    [window flushWindow];
 }
 
 - (void)beginAnimationInRect: (NSRect)ir fromRect: (NSRect)fr

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list