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

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 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
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))
2456 , fShadowParams(params) {
2455 2457
2456 SkString* str = new SkString; 2458 SkString* str = new SkString;
2457 str->appendf("SkPicture: L: %f T: %f R: %f B: %f", 2459 str->appendf("SkPicture: L: %f T: %f R: %f B: %f\n",
2458 picture->cullRect().fLeft, picture->cullRect().fTop, 2460 picture->cullRect().fLeft, picture->cullRect().fTop,
2459 picture->cullRect().fRight, picture->cullRect().fBottom); 2461 picture->cullRect().fRight, picture->cullRect().fBottom);
2462 str->appendf("SkShadowParams: bias:%f, minVariance:%f, shRadius:%f, shType:" ,
2463 params.fBiasingConstant,
2464 params.fMinVariance,
2465 params.fShadowRadius);
2466
2467 SkASSERT(SkShadowParams::kShadowTypeCount == 2);
2468
2469 switch (params.fType) {
2470 case SkShadowParams::ShadowType::kNoBlur_ShadowType:
2471 str->append("kNoBlur_ShadowType\n");
2472 break;
2473 case SkShadowParams::ShadowType::kVariance_ShadowType:
2474 str->append("kVariance_ShadowType\n");
2475 break;
2476 }
2477
2460 fInfo.push(str); 2478 fInfo.push(str);
2461 2479
2462 if (matrix) { 2480 if (matrix) {
2463 fMatrix.set(*matrix); 2481 fMatrix.set(*matrix);
2464 fInfo.push(SkObjectParser::MatrixToString(*matrix)); 2482 fInfo.push(SkObjectParser::MatrixToString(*matrix));
2465 } 2483 }
2466 2484
2467 if (paint) { 2485 if (paint) {
2468 fPaint.set(*paint); 2486 fPaint.set(*paint);
2469 fInfo.push(SkObjectParser::PaintToString(*paint)); 2487 fInfo.push(SkObjectParser::PaintToString(*paint));
(...skipping 15 matching lines...) Expand all
2485 } 2503 }
2486 canvas->concat(*fMatrix.get()); 2504 canvas->concat(*fMatrix.get());
2487 } 2505 }
2488 } 2506 }
2489 2507
2490 bool SkBeginDrawShadowedPictureCommand::render(SkCanvas* canvas) const { 2508 bool SkBeginDrawShadowedPictureCommand::render(SkCanvas* canvas) const {
2491 canvas->clear(0xFFFFFFFF); 2509 canvas->clear(0xFFFFFFFF);
2492 canvas->save(); 2510 canvas->save();
2493 2511
2494 xlate_and_scale_to_bounds(canvas, fPicture->cullRect()); 2512 xlate_and_scale_to_bounds(canvas, fPicture->cullRect());
2495 2513 canvas->drawShadowedPicture(fPicture.get(), fMatrix.get(), fPaint.get(), fSh adowParams);
2496 canvas->drawPicture(fPicture.get());
2497
2498 canvas->restore(); 2514 canvas->restore();
2499 2515
2500 return true; 2516 return true;
2501 } 2517 }
2502 2518
2503 SkEndDrawShadowedPictureCommand::SkEndDrawShadowedPictureCommand(bool restore) 2519 SkEndDrawShadowedPictureCommand::SkEndDrawShadowedPictureCommand(bool restore)
2504 : INHERITED(kEndDrawShadowedPicture_OpType) , fRestore(restore) { } 2520 : INHERITED(kEndDrawShadowedPicture_OpType) , fRestore(restore) { }
2505 2521
2506 void SkEndDrawShadowedPictureCommand::execute(SkCanvas* canvas) const { 2522 void SkEndDrawShadowedPictureCommand::execute(SkCanvas* canvas) const {
2507 if (fRestore) { 2523 if (fRestore) {
(...skipping 951 matching lines...) Expand 10 before | Expand all | Expand 10 after
3459 SkTranslateZCommand* SkTranslateZCommand::fromJSON(Json::Value& command, 3475 SkTranslateZCommand* SkTranslateZCommand::fromJSON(Json::Value& command,
3460 UrlDataManager& urlDataManager) { 3476 UrlDataManager& urlDataManager) {
3461 SkScalar z; 3477 SkScalar z;
3462 #ifdef SK_EXPERIMENTAL_SHADOWING 3478 #ifdef SK_EXPERIMENTAL_SHADOWING
3463 extract_json_scalar(command[SKDEBUGCANVAS_ATTRIBUTE_DRAWDEPTHTRANS], &z); 3479 extract_json_scalar(command[SKDEBUGCANVAS_ATTRIBUTE_DRAWDEPTHTRANS], &z);
3464 #else 3480 #else
3465 z = 0; 3481 z = 0;
3466 #endif 3482 #endif
3467 return new SkTranslateZCommand(z); 3483 return new SkTranslateZCommand(z);
3468 } 3484 }
OLDNEW
« samplecode/SampleShadowing.cpp ('K') | « tools/debugger/SkDrawCommand.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698