OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef UnacceleratedStaticBitmapImage_h | 5 #ifndef UnacceleratedStaticBitmapImage_h |
6 #define UnacceleratedStaticBitmapImage_h | 6 #define UnacceleratedStaticBitmapImage_h |
7 | 7 |
8 #include "platform/graphics/StaticBitmapImage.h" | 8 #include "platform/graphics/StaticBitmapImage.h" |
9 | 9 |
10 namespace blink { | 10 namespace blink { |
11 | 11 |
12 class PLATFORM_EXPORT UnacceleratedStaticBitmapImage final | 12 class PLATFORM_EXPORT UnacceleratedStaticBitmapImage final |
13 : public StaticBitmapImage { | 13 : public StaticBitmapImage { |
14 public: | 14 public: |
15 ~UnacceleratedStaticBitmapImage() override; | 15 ~UnacceleratedStaticBitmapImage() override; |
16 static PassRefPtr<UnacceleratedStaticBitmapImage> create(sk_sp<SkImage>); | 16 static PassRefPtr<UnacceleratedStaticBitmapImage> create(sk_sp<SkImage>); |
17 | 17 |
18 bool currentFrameKnownToBeOpaque(MetadataMode = UseCurrentMetadata) override; | 18 bool currentFrameKnownToBeOpaque(MetadataMode = UseCurrentMetadata) override; |
19 IntSize size() const override; | 19 IntSize size() const override; |
20 sk_sp<SkImage> imageForCurrentFrame(const ColorBehavior&) override; | 20 sk_sp<SkImage> imageForCurrentFrame(const ColorBehavior&) override; |
21 // In our current design, the SkImage in this class is always *not* | |
22 // texture-backed. | |
23 bool isTextureBacked() { return false; } | |
24 | 21 |
25 void draw(SkCanvas*, | 22 void draw(SkCanvas*, |
26 const SkPaint&, | 23 const SkPaint&, |
27 const FloatRect& dstRect, | 24 const FloatRect& dstRect, |
28 const FloatRect& srcRect, | 25 const FloatRect& srcRect, |
29 RespectImageOrientationEnum, | 26 RespectImageOrientationEnum, |
30 ImageClampingMode, | 27 ImageClampingMode, |
31 const ColorBehavior&) override; | 28 const ColorBehavior&) override; |
32 | 29 |
33 private: | 30 private: |
34 UnacceleratedStaticBitmapImage(sk_sp<SkImage>); | 31 UnacceleratedStaticBitmapImage(sk_sp<SkImage>); |
35 sk_sp<SkImage> m_image; | 32 sk_sp<SkImage> m_image; |
36 }; | 33 }; |
37 | 34 |
38 } // namespace blink | 35 } // namespace blink |
39 | 36 |
40 #endif | 37 #endif |
OLD | NEW |