if (!image)
return IntSize();
- return IntSize(image->width(), image->height());
+ return IntSize(image->bitmap->width(), image->bitmap->height());
}
void deleteDragImage(DragImageRef image)
{
+ if (image)
+ delete image->bitmap;
delete image;
}
if (!image)
return 0;
- int imageWidth = scale.width() * image->width();
- int imageHeight = scale.height() * image->height();
- DragImageRef scaledImage = new SkBitmap(
- skia::ImageOperations::Resize(*image, skia::ImageOperations::RESIZE_LANCZOS3,
+ int imageWidth = scale.width() * image->bitmap->width();
+ int imageHeight = scale.height() * image->bitmap->height();
+ SkBitmap* scaledImage = new SkBitmap(
+ skia::ImageOperations::Resize(*image->bitmap, skia::ImageOperations::RESIZE_LANCZOS3,
imageWidth, imageHeight));
- delete image;
- return scaledImage;
+ delete image->bitmap;
+ image->bitmap = scaledImage;
+ return image;
}
DragImageRef dissolveDragImageToFraction(DragImageRef image, float fraction)
if (!image)
return 0;
- image->setIsOpaque(false);
- image->lockPixels();
+ image->bitmap->setIsOpaque(false);
+ image->bitmap->lockPixels();
- for (int row = 0; row < image->height(); ++row) {
- for (int column = 0; column < image->width(); ++column) {
- uint32_t* pixel = image->getAddr32(column, row);
+ for (int row = 0; row < image->bitmap->height(); ++row) {
+ for (int column = 0; column < image->bitmap->width(); ++column) {
+ uint32_t* pixel = image->bitmap->getAddr32(column, row);
*pixel = SkPreMultiplyARGB(SkColorGetA(*pixel) * fraction,
SkColorGetR(*pixel),
SkColorGetG(*pixel),
}
}
- image->unlockPixels();
+ image->bitmap->unlockPixels();
return image;
}
SkBitmap* dragImage = new SkBitmap();
bitmap->bitmap().copyTo(dragImage, SkBitmap::kARGB_8888_Config);
- return dragImage;
+ DragImageChromium* dragImageChromium = new DragImageChromium;
+ dragImageChromium->bitmap = dragImage;
+ dragImageChromium->resolutionScale = bitmap->resolutionScale();
+ return dragImageChromium;
}
DragImageRef createDragImageIconForCachedImage(CachedImage*)