Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(86)

Unified Diff: third_party/WebKit/Source/platform/graphics/UnacceleratedStaticBitmapImage.h

Issue 2455983005: Refactor AcceleratedStaticBitmapImage (Closed)
Patch Set: WeakPtr, still figuring out why one layout test timed out Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/platform/graphics/UnacceleratedStaticBitmapImage.h
diff --git a/third_party/WebKit/Source/platform/graphics/UnacceleratedStaticBitmapImage.h b/third_party/WebKit/Source/platform/graphics/UnacceleratedStaticBitmapImage.h
new file mode 100644
index 0000000000000000000000000000000000000000..9044ce717b12b5e36e0f33ac7ff031cac10e5b6a
--- /dev/null
+++ b/third_party/WebKit/Source/platform/graphics/UnacceleratedStaticBitmapImage.h
@@ -0,0 +1,48 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef UnacceleratedStaticBitmapImage_h
+#define UnacceleratedStaticBitmapImage_h
+
+#include "platform/graphics/StaticBitmapImage.h"
+
+namespace blink {
+
+class PLATFORM_EXPORT UnacceleratedStaticBitmapImage final
+ : public StaticBitmapImage {
+ public:
+ ~UnacceleratedStaticBitmapImage() override;
+ static PassRefPtr<UnacceleratedStaticBitmapImage> create(sk_sp<SkImage>);
+
+ bool currentFrameKnownToBeOpaque(MetadataMode = UseCurrentMetadata) override;
+ IntSize size() const override;
+ sk_sp<SkImage> imageForCurrentFrame() override;
+ // In our current design, the SkImage in this class is always *not*
+ // texture-backed.
+ bool isTextureBacked() { return false; }
+
+ void draw(SkCanvas*,
+ const SkPaint&,
+ const FloatRect& dstRect,
+ const FloatRect& srcRect,
+ RespectImageOrientationEnum,
+ ImageClampingMode) override;
+
+ bool originClean() const override { return m_isOriginClean; }
+ void setOriginClean(bool flag) override { m_isOriginClean = flag; }
+ bool isPremultiplied() const override { return m_isPremultiplied; }
+ void setPremultiplied(bool flag) override { m_isPremultiplied = flag; }
+
+ private:
+ UnacceleratedStaticBitmapImage(sk_sp<SkImage>);
+ bool m_isOriginClean = true;
+ // The premultiply info is stored here because the SkImage API
+ // doesn't expose this info.
+ bool m_isPremultiplied = true;
+ sk_sp<SkImage> m_image;
+};
+
+} // namespace blink
+
+#endif

Powered by Google App Engine
This is Rietveld 408576698