BitmapImage::BitmapImage(cairo_surface_t* surface, ImageObserver* observer) : Image(observer) , m_currentFrame(0) , m_frames(0) , m_frameTimer(0) , m_repetitionCount(cAnimationNone) , m_repetitionCountStatus(Unknown) , m_repetitionsComplete(0) , m_isSolidColor(false) , m_checkedForSolidColor(false) , m_animationFinished(true) , m_allDataReceived(true) , m_haveSize(true) , m_sizeAvailable(true) , m_decodedSize(0) , m_haveFrameCount(true) , m_frameCount(1) { initPlatformData(); // TODO: check to be sure this is an image surface int width = cairo_image_surface_get_width(surface); int height = cairo_image_surface_get_height(surface); m_decodedSize = width * height * 4; m_size = IntSize(width, height); m_frames.grow(1); m_frames[0].m_frame = surface; m_frames[0].m_hasAlpha = cairo_surface_get_content(surface) != CAIRO_CONTENT_COLOR; m_frames[0].m_haveMetadata = true; checkForSolidColor(); }
BitmapImage::BitmapImage(CGImageRef cgImage, ImageObserver* observer) : Image(observer) , m_currentFrame(0) , m_frames(0) , m_frameTimer(0) , m_repetitionCount(cAnimationNone) , m_repetitionCountStatus(Unknown) , m_repetitionsComplete(0) , m_isSolidColor(false) , m_checkedForSolidColor(false) , m_animationFinished(true) , m_allDataReceived(true) , m_haveSize(true) , m_sizeAvailable(true) , m_decodedSize(0) , m_haveFrameCount(true) , m_frameCount(1) { initPlatformData(); CGFloat width = CGImageGetWidth(cgImage); CGFloat height = CGImageGetHeight(cgImage); m_decodedSize = width * height * 4; m_size = IntSize(width, height); m_frames.grow(1); m_frames[0].m_frame = cgImage; m_frames[0].m_hasAlpha = true; m_frames[0].m_haveMetadata = true; checkForSolidColor(); }
BitmapImage::BitmapImage(SkBitmapRef* ref, ImageObserver* observer) : Image(observer) , m_currentFrame(0) , m_frames(0) , m_frameTimer(0) , m_repetitionCount(0) , m_repetitionCountStatus(Unknown) , m_repetitionsComplete(0) , m_isSolidColor(false) , m_animationFinished(true) , m_allDataReceived(true) , m_haveSize(true) , m_sizeAvailable(true) , m_decodedSize(0) , m_haveFrameCount(true) , m_frameCount(1) { initPlatformData(); m_size = IntSize(ref->bitmap().width(), ref->bitmap().height()); m_frames.grow(1); m_frames[0].m_frame = ref; m_frames[0].m_hasAlpha = !ref->bitmap().isOpaque(); checkForSolidColor(); ref->ref(); }
BitmapImage::BitmapImage(BalSurface* surface, ImageObserver* observer) : Image(observer) , m_currentFrame(0) , m_frames(0) , m_frameTimer(0) , m_repetitionCount(cAnimationNone) , m_repetitionCountStatus(Unknown) , m_repetitionsComplete(0) , m_isSolidColor(false) , m_checkedForSolidColor(false) , m_animationFinished(true) , m_allDataReceived(true) , m_haveSize(true) , m_sizeAvailable(true) , m_decodedSize(0) , m_haveFrameCount(true) , m_frameCount(1) { initPlatformData(); // TODO: check to be sure this is an image surface surface->refcount++; int width = surface->w; int height = surface->h; m_decodedSize = width * height * 4; m_size = IntSize(width, height); m_frames.grow(1); m_frames[0].m_frame = surface; checkForSolidColor(); }
BitmapImage::BitmapImage(ImageObserver* observer) : Image(observer) , m_currentFrame(0) , m_frames(0) , m_frameTimer(0) , m_repetitionCount(0) , m_repetitionsComplete(0) , m_isSolidColor(false) , m_animatingImageType(true) , m_animationFinished(false) , m_allDataReceived(false) , m_haveSize(false) , m_sizeAvailable(false) , m_decodedSize(0) { initPlatformData(); }
BitmapImage::BitmapImage(ImageObserver* observer) : Image(observer) , m_currentFrame(0) , m_frames(0) , m_frameTimer(0) , m_repetitionCount(cAnimationNone) , m_repetitionCountStatus(Unknown) , m_repetitionsComplete(0) , m_desiredFrameStartTime(0) , m_isSolidColor(false) , m_animationFinished(false) , m_allDataReceived(false) , m_haveSize(false) , m_sizeAvailable(false) , m_hasUniformFrameSize(true) , m_decodedSize(0) , m_haveFrameCount(false) , m_frameCount(0) { initPlatformData(); }