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

Side by Side Diff: blimp/client/feature/compositor/decoding_image_generator.cc

Issue 1982893002: [blimp] Add SkPicture caching support. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: git merge origin/master Created 4 years, 6 months 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 unified diff | Download patch
OLDNEW
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 #include "blimp/client/feature/compositor/decoding_image_generator.h" 5 #include "blimp/client/feature/compositor/decoding_image_generator.h"
6 6
7 #include "base/numerics/safe_conversions.h" 7 #include "base/numerics/safe_conversions.h"
8 #include "blimp/client/feature/compositor/blimp_image_decoder.h" 8 #include "blimp/client/feature/compositor/blimp_image_decoder.h"
9 #include "blimp/common/proto/blob_cache.pb.h" 9 #include "blimp/common/proto/blob_cache.pb.h"
10 #include "third_party/libwebp/webp/decode.h" 10 #include "third_party/libwebp/webp/decode.h"
(...skipping 16 matching lines...) Expand all
27 return new DecodingImageGenerator( 27 return new DecodingImageGenerator(
28 SkImageInfo::MakeN32Premul(parsed_metadata.width(), 28 SkImageInfo::MakeN32Premul(parsed_metadata.width(),
29 parsed_metadata.height()), 29 parsed_metadata.height()),
30 data->data(), data->size()); 30 data->data(), data->size());
31 } 31 }
32 32
33 DecodingImageGenerator::DecodingImageGenerator(const SkImageInfo info, 33 DecodingImageGenerator::DecodingImageGenerator(const SkImageInfo info,
34 const void* data, 34 const void* data,
35 size_t size) 35 size_t size)
36 : SkImageGenerator(info) { 36 : SkImageGenerator(info) {
37 BlimpImageDecoder(data, size, &decoded_bitmap_); 37 DecodeBlimpImage(data, size, &decoded_bitmap_);
38 } 38 }
39 39
40 DecodingImageGenerator::~DecodingImageGenerator() {} 40 DecodingImageGenerator::~DecodingImageGenerator() {}
41 41
42 bool DecodingImageGenerator::onGetPixels(const SkImageInfo& info, 42 bool DecodingImageGenerator::onGetPixels(const SkImageInfo& info,
43 void* pixels, 43 void* pixels,
44 size_t rowBytes, 44 size_t rowBytes,
45 SkPMColor table[], 45 SkPMColor table[],
46 int* tableCount) { 46 int* tableCount) {
47 SkAutoLockPixels bitmapLock(decoded_bitmap_); 47 SkAutoLockPixels bitmapLock(decoded_bitmap_);
48 if (decoded_bitmap_.getPixels() != pixels) { 48 if (decoded_bitmap_.getPixels() != pixels) {
49 return decoded_bitmap_.copyPixelsTo(pixels, rowBytes * info.height(), 49 return decoded_bitmap_.copyPixelsTo(pixels, rowBytes * info.height(),
50 rowBytes); 50 rowBytes);
51 } 51 }
52 return true; 52 return true;
53 } 53 }
54 54
55 bool DecodingImageGenerator::onQueryYUV8(SkYUVSizeInfo* sizeInfo, 55 bool DecodingImageGenerator::onQueryYUV8(SkYUVSizeInfo* sizeInfo,
56 SkYUVColorSpace* colorSpace) const { 56 SkYUVColorSpace* colorSpace) const {
57 return false; 57 return false;
58 } 58 }
59 59
60 bool DecodingImageGenerator::onGetYUV8Planes(const SkYUVSizeInfo& sizeInfo, 60 bool DecodingImageGenerator::onGetYUV8Planes(const SkYUVSizeInfo& sizeInfo,
61 void* planes[3]) { 61 void* planes[3]) {
62 return false; 62 return false;
63 } 63 }
64 64
65 } // namespace client 65 } // namespace client
66 } // namespace blimp 66 } // namespace blimp
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698