2 Copyright 2004, Apple, Inc. All rights reserved.
4 #ifndef OMIT_TIGER_FEATURES
6 #import <Cocoa/Cocoa.h>
8 // Needed for CGCompositeOperation
9 #import <CoreGraphics/CGContextPrivate.h>
11 @class WebImageRenderer;
13 @interface WebImageData : NSObject <NSCopying>
17 size_t imagePropertiesSize;
18 CFDictionaryRef fileProperties;
19 CFDictionaryRef *imageProperties;
20 CGImageSourceRef imageSource;
25 CFMutableDictionaryRef animatingRenderers;
28 size_t frameDurationsSize;
29 float *frameDurations;
32 int repetitionsComplete;
33 BOOL animationFinished;
40 BOOL isSolidColor; // Is frame 0 a solid color?
41 CGColorRef solidColor; // If isSolidColor this is the color, or NULL for transparent
46 - (size_t)numberOfImages;
47 - (CGImageRef)imageAtIndex:(size_t)index;
48 - (BOOL)incrementalLoadWithBytes:(const void *)bytes length:(unsigned)length complete:(BOOL)isComplete callback:(id)c;
49 - (void)drawImageAtIndex:(size_t)index inRect:(CGRect)ir fromRect:(CGRect)fr compositeOperation:(CGCompositeOperation)op context:(CGContextRef)aContext;
50 - (void)drawImageAtIndex:(size_t)index inRect:(CGRect)ir fromRect:(CGRect)fr adjustedSize:(CGSize)size compositeOperation:(CGCompositeOperation)op context:(CGContextRef)aContext;
51 - (void)tileInRect:(CGRect)rect fromPoint:(CGPoint)point context:(CGContextRef)aContext;
55 - (BOOL)shouldAnimate;
56 + (void)stopAnimationsInView:(NSView *)aView;
57 - (void)addAnimatingRenderer:(WebImageRenderer *)r inView:(NSView *)view;
58 - (void)removeAnimatingRenderer:(WebImageRenderer *)self;
59 - (BOOL)isAnimationFinished;
60 - (size_t)currentFrame;
61 - (CFDictionaryRef)propertiesAtIndex:(size_t)index;
63 - (void)decodeData:(CFDataRef)data isComplete:(BOOL)f callback:(id)c;
65 - (void)setIsPDF:(BOOL)f;
68 - (void)resetAnimation;