summaryrefslogtreecommitdiff
path: root/chromium/cc/paint/paint_image_builder.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/cc/paint/paint_image_builder.h')
-rw-r--r--chromium/cc/paint/paint_image_builder.h27
1 files changed, 20 insertions, 7 deletions
diff --git a/chromium/cc/paint/paint_image_builder.h b/chromium/cc/paint/paint_image_builder.h
index 25a20bf1a9c..8820b078f5e 100644
--- a/chromium/cc/paint/paint_image_builder.h
+++ b/chromium/cc/paint/paint_image_builder.h
@@ -43,10 +43,17 @@ class CC_PAINT_EXPORT PaintImageBuilder {
PaintImageBuilder&& set_image(sk_sp<SkImage> sk_image,
PaintImage::ContentId content_id) {
+ DCHECK(!sk_image->isTextureBacked());
paint_image_.sk_image_ = std::move(sk_image);
paint_image_.content_id_ = content_id;
return std::move(*this);
}
+ PaintImageBuilder&& set_texture_backing(sk_sp<TextureBacking> texture_backing,
+ PaintImage::ContentId content_id) {
+ paint_image_.texture_backing_ = std::move(texture_backing);
+ paint_image_.content_id_ = content_id;
+ return std::move(*this);
+ }
PaintImageBuilder&& set_paint_record(sk_sp<PaintRecord> paint_record,
const gfx::Rect& rect,
PaintImage::ContentId content_id) {
@@ -62,7 +69,6 @@ class CC_PAINT_EXPORT PaintImageBuilder {
paint_image_.paint_image_generator_ = std::move(generator);
return std::move(*this);
}
-
PaintImageBuilder&& set_animation_type(PaintImage::AnimationType type) {
paint_image_.animation_type_ = type;
return std::move(*this);
@@ -105,19 +111,26 @@ class CC_PAINT_EXPORT PaintImageBuilder {
paint_image_.paint_worklet_input_ = std::move(input);
return std::move(*this);
}
- PaintImageBuilder&& set_texture_backing(sk_sp<TextureBacking> texture_backing,
- PaintImage::ContentId content_id) {
- paint_image_.texture_backing_ = std::move(texture_backing);
- paint_image_.content_id_ = content_id;
- return std::move(*this);
- }
PaintImage TakePaintImage();
private:
+ friend class PaintOpReader;
+ friend class PaintShader;
+ friend class ImagePaintFilter;
+ friend PaintImage CreateNonDiscardablePaintImage(const gfx::Size& size);
+
PaintImageBuilder();
PaintImageBuilder(PaintImage starting_image, bool clear_contents);
+ // For GPU process callers using a texture backed SkImage.
+ PaintImageBuilder&& set_texture_image(sk_sp<SkImage> sk_image,
+ PaintImage::ContentId content_id) {
+ paint_image_.sk_image_ = std::move(sk_image);
+ paint_image_.content_id_ = content_id;
+ return std::move(*this);
+ }
+
PaintImage paint_image_;
#if DCHECK_IS_ON()
bool id_set_ = false;