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