| 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, |
| 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 } |
| 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 |