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

Side by Side Diff: cc/raster/bitmap_raster_buffer_provider.cc

Issue 2563743004: [3/5] Add translated rasterization support for RasterBuffer & below (Closed)
Patch Set: Created 4 years 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "cc/raster/bitmap_raster_buffer_provider.h" 5 #include "cc/raster/bitmap_raster_buffer_provider.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 22 matching lines...) Expand all
33 resource_has_previous_content_( 33 resource_has_previous_content_(
34 resource_content_id && resource_content_id == previous_content_id) { 34 resource_content_id && resource_content_id == previous_content_id) {
35 } 35 }
36 36
37 // Overridden from RasterBuffer: 37 // Overridden from RasterBuffer:
38 void Playback( 38 void Playback(
39 const RasterSource* raster_source, 39 const RasterSource* raster_source,
40 const gfx::Rect& raster_full_rect, 40 const gfx::Rect& raster_full_rect,
41 const gfx::Rect& raster_dirty_rect, 41 const gfx::Rect& raster_dirty_rect,
42 uint64_t new_content_id, 42 uint64_t new_content_id,
43 const gfx::SizeF& scales, 43 const ScaleTranslate2d& transform,
44 const RasterSource::PlaybackSettings& playback_settings) override { 44 const RasterSource::PlaybackSettings& playback_settings) override {
45 TRACE_EVENT0("cc", "BitmapRasterBuffer::Playback"); 45 TRACE_EVENT0("cc", "BitmapRasterBuffer::Playback");
46 gfx::Rect playback_rect = raster_full_rect; 46 gfx::Rect playback_rect = raster_full_rect;
47 if (resource_has_previous_content_) { 47 if (resource_has_previous_content_) {
48 playback_rect.Intersect(raster_dirty_rect); 48 playback_rect.Intersect(raster_dirty_rect);
49 } 49 }
50 DCHECK(!playback_rect.IsEmpty()) 50 DCHECK(!playback_rect.IsEmpty())
51 << "Why are we rastering a tile that's not dirty?"; 51 << "Why are we rastering a tile that's not dirty?";
52 52
53 sk_sp<SkColorSpace> raster_color_space = 53 sk_sp<SkColorSpace> raster_color_space =
54 raster_source->HasImpliedColorSpace() ? nullptr 54 raster_source->HasImpliedColorSpace() ? nullptr
55 : lock_.sk_color_space(); 55 : lock_.sk_color_space();
56 56
57 size_t stride = 0u; 57 size_t stride = 0u;
58 RasterBufferProvider::PlaybackToMemory( 58 RasterBufferProvider::PlaybackToMemory(
59 lock_.sk_bitmap().getPixels(), resource_->format(), resource_->size(), 59 lock_.sk_bitmap().getPixels(), resource_->format(), resource_->size(),
60 stride, raster_source, raster_full_rect, playback_rect, scales, 60 stride, raster_source, raster_full_rect, playback_rect, transform,
61 raster_color_space, playback_settings); 61 raster_color_space, playback_settings);
62 } 62 }
63 63
64 private: 64 private:
65 ResourceProvider::ScopedWriteLockSoftware lock_; 65 ResourceProvider::ScopedWriteLockSoftware lock_;
66 const Resource* resource_; 66 const Resource* resource_;
67 bool resource_has_previous_content_; 67 bool resource_has_previous_content_;
68 68
69 DISALLOW_COPY_AND_ASSIGN(RasterBufferImpl); 69 DISALLOW_COPY_AND_ASSIGN(RasterBufferImpl);
70 }; 70 };
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 return ResourceFormatRequiresSwizzle(GetResourceFormat(must_support_alpha)); 112 return ResourceFormatRequiresSwizzle(GetResourceFormat(must_support_alpha));
113 } 113 }
114 114
115 bool BitmapRasterBufferProvider::CanPartialRasterIntoProvidedResource() const { 115 bool BitmapRasterBufferProvider::CanPartialRasterIntoProvidedResource() const {
116 return true; 116 return true;
117 } 117 }
118 118
119 void BitmapRasterBufferProvider::Shutdown() {} 119 void BitmapRasterBufferProvider::Shutdown() {}
120 120
121 } // namespace cc 121 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698