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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/ImagePattern.cpp

Issue 2727133002: Remove ColorBehavior argument to Image::imageForCurrentFrame (Closed)
Patch Set: Rebase Created 3 years, 9 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 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 "platform/graphics/ImagePattern.h" 5 #include "platform/graphics/ImagePattern.h"
6 6
7 #include "platform/graphics/Image.h" 7 #include "platform/graphics/Image.h"
8 #include "platform/graphics/paint/PaintShader.h" 8 #include "platform/graphics/paint/PaintShader.h"
9 #include "platform/graphics/skia/SkiaUtils.h" 9 #include "platform/graphics/skia/SkiaUtils.h"
10 #include "third_party/skia/include/core/SkImage.h" 10 #include "third_party/skia/include/core/SkImage.h"
11 #include "third_party/skia/include/core/SkSurface.h" 11 #include "third_party/skia/include/core/SkSurface.h"
12 12
13 namespace blink { 13 namespace blink {
14 14
15 PassRefPtr<ImagePattern> ImagePattern::create(PassRefPtr<Image> image, 15 PassRefPtr<ImagePattern> ImagePattern::create(PassRefPtr<Image> image,
16 RepeatMode repeatMode) { 16 RepeatMode repeatMode) {
17 return adoptRef(new ImagePattern(std::move(image), repeatMode)); 17 return adoptRef(new ImagePattern(std::move(image), repeatMode));
18 } 18 }
19 19
20 // TODO(ccameron): ImagePattern should not draw to a globally set color space.
21 // https://crbug.com/672306
22 ImagePattern::ImagePattern(PassRefPtr<Image> image, RepeatMode repeatMode) 20 ImagePattern::ImagePattern(PassRefPtr<Image> image, RepeatMode repeatMode)
23 : Pattern(repeatMode), 21 : Pattern(repeatMode), m_tileImage(image->imageForCurrentFrame()) {
24 m_tileImage(image->imageForCurrentFrame(
25 ColorBehavior::transformToGlobalTarget())) {
26 m_previousLocalMatrix.setIdentity(); 22 m_previousLocalMatrix.setIdentity();
27 if (m_tileImage) { 23 if (m_tileImage) {
28 // TODO(fmalita): mechanism to extract the actual SkImageInfo from an 24 // TODO(fmalita): mechanism to extract the actual SkImageInfo from an
29 // SkImage? 25 // SkImage?
30 const SkImageInfo info = SkImageInfo::MakeN32Premul( 26 const SkImageInfo info = SkImageInfo::MakeN32Premul(
31 m_tileImage->width() + (isRepeatX() ? 0 : 2), 27 m_tileImage->width() + (isRepeatX() ? 0 : 2),
32 m_tileImage->height() + (isRepeatY() ? 0 : 2)); 28 m_tileImage->height() + (isRepeatY() ? 0 : 2));
33 adjustExternalMemoryAllocated(info.getSafeSize(info.minRowBytes())); 29 adjustExternalMemoryAllocated(info.getSafeSize(info.minRowBytes()));
34 } 30 }
35 } 31 }
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 78
83 return MakePaintShaderImage(surface->makeImageSnapshot(), tileModeX, 79 return MakePaintShaderImage(surface->makeImageSnapshot(), tileModeX,
84 tileModeY, &adjustedMatrix); 80 tileModeY, &adjustedMatrix);
85 } 81 }
86 82
87 bool ImagePattern::isTextureBacked() const { 83 bool ImagePattern::isTextureBacked() const {
88 return m_tileImage && m_tileImage->isTextureBacked(); 84 return m_tileImage && m_tileImage->isTextureBacked();
89 } 85 }
90 86
91 } // namespace blink 87 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698