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

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: rebased off master again! Created 4 years, 3 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
« src/core/SkShadowShader.cpp ('K') | « tools/debugger/SkDrawCommand.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 2431 matching lines...) Expand 10 before | Expand all | Expand 10 after
2442 : INHERITED(kEndDrawPicture_OpType) , fRestore(restore) { } 2442 : INHERITED(kEndDrawPicture_OpType) , fRestore(restore) { }
2443 2443
2444 void SkEndDrawPictureCommand::execute(SkCanvas* canvas) const { 2444 void SkEndDrawPictureCommand::execute(SkCanvas* canvas) const {
2445 if (fRestore) { 2445 if (fRestore) {
2446 canvas->restore(); 2446 canvas->restore();
2447 } 2447 }
2448 } 2448 }
2449 2449
2450 SkBeginDrawShadowedPictureCommand::SkBeginDrawShadowedPictureCommand(const SkPic ture* picture, 2450 SkBeginDrawShadowedPictureCommand::SkBeginDrawShadowedPictureCommand(const SkPic ture* picture,
2451 const SkMat rix* matrix, 2451 const SkMat rix* matrix,
2452 const SkPai nt* paint) 2452 const SkPai nt* paint,
2453 const SkSha dowParams& params)
2453 : INHERITED(kBeginDrawShadowedPicture_OpType) 2454 : INHERITED(kBeginDrawShadowedPicture_OpType)
2454 , fPicture(SkRef(picture)) { 2455 , fPicture(SkRef(picture)) {
2455 2456
2456 SkString* str = new SkString; 2457 SkString* str = new SkString;
2457 str->appendf("SkPicture: L: %f T: %f R: %f B: %f", 2458 str->appendf("SkPicture: L: %f T: %f R: %f B: %f\n",
2458 picture->cullRect().fLeft, picture->cullRect().fTop, 2459 picture->cullRect().fLeft, picture->cullRect().fTop,
2459 picture->cullRect().fRight, picture->cullRect().fBottom); 2460 picture->cullRect().fRight, picture->cullRect().fBottom);
2461 str->appendf("SkShadowParams: bias:%f, minVariance:%f, shRadius:%f, shType:% d\n",
2462 params.fBiasingConstant,
2463 params.fMinVariance,
2464 params.fShadowRadius,
robertphillips 2016/08/23 17:19:40 params.fType == X ? "X" : "Y" - make it human read
vjiaoblack 2016/08/23 18:01:22 Done.
2465 params.fType);
2460 fInfo.push(str); 2466 fInfo.push(str);
2461 2467
2462 if (matrix) { 2468 if (matrix) {
2463 fMatrix.set(*matrix); 2469 fMatrix.set(*matrix);
2464 fInfo.push(SkObjectParser::MatrixToString(*matrix)); 2470 fInfo.push(SkObjectParser::MatrixToString(*matrix));
2465 } 2471 }
2466 2472
2467 if (paint) { 2473 if (paint) {
2468 fPaint.set(*paint); 2474 fPaint.set(*paint);
2469 fInfo.push(SkObjectParser::PaintToString(*paint)); 2475 fInfo.push(SkObjectParser::PaintToString(*paint));
2470 } 2476 }
robertphillips 2016/08/23 17:19:40 put this in the ctor list
vjiaoblack 2016/08/23 18:01:22 Done.
2477 fShadowParams = params;
2471 } 2478 }
2472 2479
2473 void SkBeginDrawShadowedPictureCommand::execute(SkCanvas* canvas) const { 2480 void SkBeginDrawShadowedPictureCommand::execute(SkCanvas* canvas) const {
2474 if (fPaint.isValid()) { 2481 if (fPaint.isValid()) {
2475 SkRect bounds = fPicture->cullRect(); 2482 SkRect bounds = fPicture->cullRect();
2476 if (fMatrix.isValid()) { 2483 if (fMatrix.isValid()) {
2477 fMatrix.get()->mapRect(&bounds); 2484 fMatrix.get()->mapRect(&bounds);
2478 } 2485 }
2479 canvas->saveLayer(&bounds, fPaint.get()); 2486 canvas->saveLayer(&bounds, fPaint.get());
2480 } 2487 }
2481 2488
2482 if (fMatrix.isValid()) { 2489 if (fMatrix.isValid()) {
2483 if (!fPaint.isValid()) { 2490 if (!fPaint.isValid()) {
2484 canvas->save(); 2491 canvas->save();
2485 } 2492 }
2486 canvas->concat(*fMatrix.get()); 2493 canvas->concat(*fMatrix.get());
2487 } 2494 }
2488 } 2495 }
2489 2496
2490 bool SkBeginDrawShadowedPictureCommand::render(SkCanvas* canvas) const { 2497 bool SkBeginDrawShadowedPictureCommand::render(SkCanvas* canvas) const {
2491 canvas->clear(0xFFFFFFFF); 2498 canvas->clear(0xFFFFFFFF);
2492 canvas->save(); 2499 canvas->save();
2493 2500
2494 xlate_and_scale_to_bounds(canvas, fPicture->cullRect()); 2501 xlate_and_scale_to_bounds(canvas, fPicture->cullRect());
2495 2502 canvas->drawShadowedPicture(fPicture.get(), fMatrix.get(), fPaint.get(), fSh adowParams);
2496 canvas->drawPicture(fPicture.get());
2497
2498 canvas->restore(); 2503 canvas->restore();
2499 2504
2500 return true; 2505 return true;
2501 } 2506 }
2502 2507
2503 SkEndDrawShadowedPictureCommand::SkEndDrawShadowedPictureCommand(bool restore) 2508 SkEndDrawShadowedPictureCommand::SkEndDrawShadowedPictureCommand(bool restore)
2504 : INHERITED(kEndDrawShadowedPicture_OpType) , fRestore(restore) { } 2509 : INHERITED(kEndDrawShadowedPicture_OpType) , fRestore(restore) { }
2505 2510
2506 void SkEndDrawShadowedPictureCommand::execute(SkCanvas* canvas) const { 2511 void SkEndDrawShadowedPictureCommand::execute(SkCanvas* canvas) const {
2507 if (fRestore) { 2512 if (fRestore) {
(...skipping 951 matching lines...) Expand 10 before | Expand all | Expand 10 after
3459 SkTranslateZCommand* SkTranslateZCommand::fromJSON(Json::Value& command, 3464 SkTranslateZCommand* SkTranslateZCommand::fromJSON(Json::Value& command,
3460 UrlDataManager& urlDataManager) { 3465 UrlDataManager& urlDataManager) {
3461 SkScalar z; 3466 SkScalar z;
3462 #ifdef SK_EXPERIMENTAL_SHADOWING 3467 #ifdef SK_EXPERIMENTAL_SHADOWING
3463 extract_json_scalar(command[SKDEBUGCANVAS_ATTRIBUTE_DRAWDEPTHTRANS], &z); 3468 extract_json_scalar(command[SKDEBUGCANVAS_ATTRIBUTE_DRAWDEPTHTRANS], &z);
3464 #else 3469 #else
3465 z = 0; 3470 z = 0;
3466 #endif 3471 #endif
3467 return new SkTranslateZCommand(z); 3472 return new SkTranslateZCommand(z);
3468 } 3473 }
OLDNEW
« src/core/SkShadowShader.cpp ('K') | « tools/debugger/SkDrawCommand.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698