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

Side by Side Diff: Source/platform/graphics/skia/NativeImageSkia.cpp

Issue 669123002: Fixed Shadow blur for transparent objects (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Added missing virtual layout test to TestExpectations Created 6 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2008, Google Inc. All rights reserved. 2 * Copyright (c) 2008, Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 void NativeImageSkia::draw( 157 void NativeImageSkia::draw(
158 GraphicsContext* context, 158 GraphicsContext* context,
159 const SkRect& srcRect, 159 const SkRect& srcRect,
160 const SkRect& destRect, 160 const SkRect& destRect,
161 CompositeOperator compositeOp, 161 CompositeOperator compositeOp,
162 WebBlendMode blendMode) const 162 WebBlendMode blendMode) const
163 { 163 {
164 TRACE_EVENT0("skia", "NativeImageSkia::draw"); 164 TRACE_EVENT0("skia", "NativeImageSkia::draw");
165 165
166 bool isLazyDecoded = DeferredImageDecoder::isLazyDecoded(bitmap()); 166 bool isLazyDecoded = DeferredImageDecoder::isLazyDecoded(bitmap());
167 bool isOpaque = bitmap().isOpaque();
167 168
168 SkPaint paint; 169 SkPaint paint;
169 context->preparePaintForDrawRectToRect(&paint, srcRect, destRect, compositeO p, blendMode, isLazyDecoded, isDataComplete()); 170 context->preparePaintForDrawRectToRect(&paint, srcRect, destRect, compositeO p, blendMode, !isOpaque, isLazyDecoded, isDataComplete());
170 // We want to filter it if we decided to do interpolation above, or if 171 // We want to filter it if we decided to do interpolation above, or if
171 // there is something interesting going on with the matrix (like a rotation) . 172 // there is something interesting going on with the matrix (like a rotation) .
172 // Note: for serialization, we will want to subset the bitmap first so we 173 // Note: for serialization, we will want to subset the bitmap first so we
173 // don't send extra pixels. 174 // don't send extra pixels.
174 context->drawBitmapRect(bitmap(), &srcRect, destRect, &paint); 175 context->drawBitmapRect(bitmap(), &srcRect, destRect, &paint);
175 176
176 if (isLazyDecoded) 177 if (isLazyDecoded)
177 PlatformInstrumentation::didDrawLazyPixelRef(bitmap().getGenerationID()) ; 178 PlatformInstrumentation::didDrawLazyPixelRef(bitmap().getGenerationID()) ;
178 context->didDrawRect(destRect, paint, &bitmap()); 179 context->didDrawRect(destRect, paint, &bitmap());
179 } 180 }
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 SkIRect NativeImageSkia::ImageResourceInfo::rectInSubset(const SkIRect& otherSca ledImageSubset) 370 SkIRect NativeImageSkia::ImageResourceInfo::rectInSubset(const SkIRect& otherSca ledImageSubset)
370 { 371 {
371 if (!scaledImageSubset.contains(otherScaledImageSubset)) 372 if (!scaledImageSubset.contains(otherScaledImageSubset))
372 return SkIRect::MakeEmpty(); 373 return SkIRect::MakeEmpty();
373 SkIRect subsetRect = otherScaledImageSubset; 374 SkIRect subsetRect = otherScaledImageSubset;
374 subsetRect.offset(-scaledImageSubset.x(), -scaledImageSubset.y()); 375 subsetRect.offset(-scaledImageSubset.x(), -scaledImageSubset.y());
375 return subsetRect; 376 return subsetRect;
376 } 377 }
377 378
378 } // namespace blink 379 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698