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

Side by Side Diff: tools/debugger/SkDrawCommand.cpp

Issue 2224163005: Made shadows blurry (thru implementing variance mapping) (Closed) Base URL: https://skia.googlesource.com/skia@master
Patch Set: made req changes; needs to move blurimagefilter into core Created 4 years, 4 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 /* 1 /*
2 * Copyright 2012 Google Inc. 2 * Copyright 2012 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "SkDrawCommand.h" 8 #include "SkDrawCommand.h"
9 9
10 #include "SkBlurMaskFilter.h" 10 #include "SkBlurMaskFilter.h"
(...skipping 2371 matching lines...) Expand 10 before | Expand all | Expand 10 after
2382 : INHERITED(kEndDrawPicture_OpType) , fRestore(restore) { } 2382 : INHERITED(kEndDrawPicture_OpType) , fRestore(restore) { }
2383 2383
2384 void SkEndDrawPictureCommand::execute(SkCanvas* canvas) const { 2384 void SkEndDrawPictureCommand::execute(SkCanvas* canvas) const {
2385 if (fRestore) { 2385 if (fRestore) {
2386 canvas->restore(); 2386 canvas->restore();
2387 } 2387 }
2388 } 2388 }
2389 2389
2390 SkBeginDrawShadowedPictureCommand::SkBeginDrawShadowedPictureCommand(const SkPic ture* picture, 2390 SkBeginDrawShadowedPictureCommand::SkBeginDrawShadowedPictureCommand(const SkPic ture* picture,
2391 const SkMat rix* matrix, 2391 const SkMat rix* matrix,
2392 const SkPai nt* paint) 2392 const SkPai nt* paint,
2393 const SkSha dowParams& params)
2393 : INHERITED(kBeginDrawShadowedPicture_OpType) 2394 : INHERITED(kBeginDrawShadowedPicture_OpType)
2394 , fPicture(SkRef(picture)) { 2395 , fPicture(SkRef(picture)) {
2395 2396
2396 SkString* str = new SkString; 2397 SkString* str = new SkString;
2397 str->appendf("SkPicture: L: %f T: %f R: %f B: %f", 2398 str->appendf("SkPicture: L: %f T: %f R: %f B: %f",
2398 picture->cullRect().fLeft, picture->cullRect().fTop, 2399 picture->cullRect().fLeft, picture->cullRect().fTop,
2399 picture->cullRect().fRight, picture->cullRect().fBottom); 2400 picture->cullRect().fRight, picture->cullRect().fBottom);
2400 fInfo.push(str); 2401 fInfo.push(str);
2401 2402
2402 if (matrix) { 2403 if (matrix) {
2403 fMatrix.set(*matrix); 2404 fMatrix.set(*matrix);
2404 fInfo.push(SkObjectParser::MatrixToString(*matrix)); 2405 fInfo.push(SkObjectParser::MatrixToString(*matrix));
2405 } 2406 }
2406 2407
2407 if (paint) { 2408 if (paint) {
2408 fPaint.set(*paint); 2409 fPaint.set(*paint);
2409 fInfo.push(SkObjectParser::PaintToString(*paint)); 2410 fInfo.push(SkObjectParser::PaintToString(*paint));
2410 } 2411 }
2412
robertphillips 2016/08/16 19:36:09 put this copy in the ctor list ?
vjiaoblack 2016/08/17 12:58:56 Done.
2413 fShadowParams = params;
robertphillips 2016/08/16 19:36:09 don't make shStr and just appendf to str ?
vjiaoblack 2016/08/17 12:58:56 Done.
2414 SkString* shStr = new SkString;
2415 shStr->appendf("SkShadowParams: bias:%f, minVariance:%f, shRadius:%f, shType :%d\n",
2416 params.fBiasingConstant,
2417 params.fMinVariance,
2418 params.fShadowRadius,
2419 params.fType);
2411 } 2420 }
2412 2421
2413 void SkBeginDrawShadowedPictureCommand::execute(SkCanvas* canvas) const { 2422 void SkBeginDrawShadowedPictureCommand::execute(SkCanvas* canvas) const {
2414 if (fPaint.isValid()) { 2423 if (fPaint.isValid()) {
2415 SkRect bounds = fPicture->cullRect(); 2424 SkRect bounds = fPicture->cullRect();
2416 if (fMatrix.isValid()) { 2425 if (fMatrix.isValid()) {
2417 fMatrix.get()->mapRect(&bounds); 2426 fMatrix.get()->mapRect(&bounds);
2418 } 2427 }
2419 canvas->saveLayer(&bounds, fPaint.get()); 2428 canvas->saveLayer(&bounds, fPaint.get());
2420 } 2429 }
2421 2430
2422 if (fMatrix.isValid()) { 2431 if (fMatrix.isValid()) {
2423 if (!fPaint.isValid()) { 2432 if (!fPaint.isValid()) {
2424 canvas->save(); 2433 canvas->save();
2425 } 2434 }
2426 canvas->concat(*fMatrix.get()); 2435 canvas->concat(*fMatrix.get());
2427 } 2436 }
2428 } 2437 }
2429 2438
2430 bool SkBeginDrawShadowedPictureCommand::render(SkCanvas* canvas) const { 2439 bool SkBeginDrawShadowedPictureCommand::render(SkCanvas* canvas) const {
2431 canvas->clear(0xFFFFFFFF); 2440 canvas->clear(0xFFFFFFFF);
2432 canvas->save(); 2441 canvas->save();
2433 2442
2434 xlate_and_scale_to_bounds(canvas, fPicture->cullRect()); 2443 xlate_and_scale_to_bounds(canvas, fPicture->cullRect());
robertphillips 2016/08/16 19:36:09 don't we have fMatrix and fPaint ?
vjiaoblack 2016/08/17 12:58:56 Done.
2435 2444 canvas->drawShadowedPicture(fPicture.get(), nullptr, nullptr, fShadowParams) ;
2436 canvas->drawPicture(fPicture.get());
2437
2438 canvas->restore(); 2445 canvas->restore();
2439 2446
2440 return true; 2447 return true;
2441 } 2448 }
2442 2449
2443 SkEndDrawShadowedPictureCommand::SkEndDrawShadowedPictureCommand(bool restore) 2450 SkEndDrawShadowedPictureCommand::SkEndDrawShadowedPictureCommand(bool restore)
2444 : INHERITED(kEndDrawShadowedPicture_OpType) , fRestore(restore) { } 2451 : INHERITED(kEndDrawShadowedPicture_OpType) , fRestore(restore) { }
2445 2452
2446 void SkEndDrawShadowedPictureCommand::execute(SkCanvas* canvas) const { 2453 void SkEndDrawShadowedPictureCommand::execute(SkCanvas* canvas) const {
2447 if (fRestore) { 2454 if (fRestore) {
(...skipping 951 matching lines...) Expand 10 before | Expand all | Expand 10 after
3399 SkTranslateZCommand* SkTranslateZCommand::fromJSON(Json::Value& command, 3406 SkTranslateZCommand* SkTranslateZCommand::fromJSON(Json::Value& command,
3400 UrlDataManager& urlDataManager) { 3407 UrlDataManager& urlDataManager) {
3401 SkScalar z; 3408 SkScalar z;
3402 #ifdef SK_EXPERIMENTAL_SHADOWING 3409 #ifdef SK_EXPERIMENTAL_SHADOWING
3403 extract_json_scalar(command[SKDEBUGCANVAS_ATTRIBUTE_DRAWDEPTHTRANS], &z); 3410 extract_json_scalar(command[SKDEBUGCANVAS_ATTRIBUTE_DRAWDEPTHTRANS], &z);
3404 #else 3411 #else
3405 z = 0; 3412 z = 0;
3406 #endif 3413 #endif
3407 return new SkTranslateZCommand(z); 3414 return new SkTranslateZCommand(z);
3408 } 3415 }
OLDNEW
« src/utils/SkShadowPaintFilterCanvas.h ('K') | « tools/debugger/SkDrawCommand.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698