OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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 } |
OLD | NEW |