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 2371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2382 : INHERITED(kEndDrawPicture_OpType) , fRestore(restore) { } | 2382 : INHERITED(kEndDrawPicture_OpType) , fRestore(restore) { } |
2383 | 2383 |
2384 void SkEndDrawPictureCommand::execute(SkCanvas* canvas) const { | 2384 void SkEndDrawPictureCommand::execute(SkCanvas* canvas) const { |
2385 if (fRestore) { | 2385 if (fRestore) { |
2386 canvas->restore(); | 2386 canvas->restore(); |
2387 } | 2387 } |
2388 } | 2388 } |
2389 | 2389 |
2390 SkBeginDrawShadowedPictureCommand::SkBeginDrawShadowedPictureCommand(const SkPic ture* picture, | 2390 SkBeginDrawShadowedPictureCommand::SkBeginDrawShadowedPictureCommand(const SkPic ture* picture, |
2391 const SkMat rix* matrix, | 2391 const SkMat rix* matrix, |
2392 const SkPai nt* paint) | 2392 const SkPai nt* paint, |
2393 const SkSha dowParams& params) | |
2393 : INHERITED(kBeginDrawShadowedPicture_OpType) | 2394 : INHERITED(kBeginDrawShadowedPicture_OpType) |
2394 , fPicture(SkRef(picture)) { | 2395 , fPicture(SkRef(picture)) { |
2395 | 2396 |
2396 SkString* str = new SkString; | 2397 SkString* str = new SkString; |
2397 str->appendf("SkPicture: L: %f T: %f R: %f B: %f", | 2398 str->appendf("SkPicture: L: %f T: %f R: %f B: %f", |
2398 picture->cullRect().fLeft, picture->cullRect().fTop, | 2399 picture->cullRect().fLeft, picture->cullRect().fTop, |
2399 picture->cullRect().fRight, picture->cullRect().fBottom); | 2400 picture->cullRect().fRight, picture->cullRect().fBottom); |
2400 fInfo.push(str); | 2401 fInfo.push(str); |
2401 | 2402 |
2402 if (matrix) { | 2403 if (matrix) { |
2403 fMatrix.set(*matrix); | 2404 fMatrix.set(*matrix); |
2404 fInfo.push(SkObjectParser::MatrixToString(*matrix)); | 2405 fInfo.push(SkObjectParser::MatrixToString(*matrix)); |
2405 } | 2406 } |
2406 | 2407 |
2407 if (paint) { | 2408 if (paint) { |
2408 fPaint.set(*paint); | 2409 fPaint.set(*paint); |
2409 fInfo.push(SkObjectParser::PaintToString(*paint)); | 2410 fInfo.push(SkObjectParser::PaintToString(*paint)); |
2410 } | 2411 } |
2412 | |
robertphillips
2016/08/16 19:36:09
put this copy in the ctor list ?
vjiaoblack
2016/08/17 12:58:56
Done.
| |
2413 fShadowParams = params; | |
robertphillips
2016/08/16 19:36:09
don't make shStr and just appendf to str ?
vjiaoblack
2016/08/17 12:58:56
Done.
| |
2414 SkString* shStr = new SkString; | |
2415 shStr->appendf("SkShadowParams: bias:%f, minVariance:%f, shRadius:%f, shType :%d\n", | |
2416 params.fBiasingConstant, | |
2417 params.fMinVariance, | |
2418 params.fShadowRadius, | |
2419 params.fType); | |
2411 } | 2420 } |
2412 | 2421 |
2413 void SkBeginDrawShadowedPictureCommand::execute(SkCanvas* canvas) const { | 2422 void SkBeginDrawShadowedPictureCommand::execute(SkCanvas* canvas) const { |
2414 if (fPaint.isValid()) { | 2423 if (fPaint.isValid()) { |
2415 SkRect bounds = fPicture->cullRect(); | 2424 SkRect bounds = fPicture->cullRect(); |
2416 if (fMatrix.isValid()) { | 2425 if (fMatrix.isValid()) { |
2417 fMatrix.get()->mapRect(&bounds); | 2426 fMatrix.get()->mapRect(&bounds); |
2418 } | 2427 } |
2419 canvas->saveLayer(&bounds, fPaint.get()); | 2428 canvas->saveLayer(&bounds, fPaint.get()); |
2420 } | 2429 } |
2421 | 2430 |
2422 if (fMatrix.isValid()) { | 2431 if (fMatrix.isValid()) { |
2423 if (!fPaint.isValid()) { | 2432 if (!fPaint.isValid()) { |
2424 canvas->save(); | 2433 canvas->save(); |
2425 } | 2434 } |
2426 canvas->concat(*fMatrix.get()); | 2435 canvas->concat(*fMatrix.get()); |
2427 } | 2436 } |
2428 } | 2437 } |
2429 | 2438 |
2430 bool SkBeginDrawShadowedPictureCommand::render(SkCanvas* canvas) const { | 2439 bool SkBeginDrawShadowedPictureCommand::render(SkCanvas* canvas) const { |
2431 canvas->clear(0xFFFFFFFF); | 2440 canvas->clear(0xFFFFFFFF); |
2432 canvas->save(); | 2441 canvas->save(); |
2433 | 2442 |
2434 xlate_and_scale_to_bounds(canvas, fPicture->cullRect()); | 2443 xlate_and_scale_to_bounds(canvas, fPicture->cullRect()); |
robertphillips
2016/08/16 19:36:09
don't we have fMatrix and fPaint ?
vjiaoblack
2016/08/17 12:58:56
Done.
| |
2435 | 2444 canvas->drawShadowedPicture(fPicture.get(), nullptr, nullptr, fShadowParams) ; |
2436 canvas->drawPicture(fPicture.get()); | |
2437 | |
2438 canvas->restore(); | 2445 canvas->restore(); |
2439 | 2446 |
2440 return true; | 2447 return true; |
2441 } | 2448 } |
2442 | 2449 |
2443 SkEndDrawShadowedPictureCommand::SkEndDrawShadowedPictureCommand(bool restore) | 2450 SkEndDrawShadowedPictureCommand::SkEndDrawShadowedPictureCommand(bool restore) |
2444 : INHERITED(kEndDrawShadowedPicture_OpType) , fRestore(restore) { } | 2451 : INHERITED(kEndDrawShadowedPicture_OpType) , fRestore(restore) { } |
2445 | 2452 |
2446 void SkEndDrawShadowedPictureCommand::execute(SkCanvas* canvas) const { | 2453 void SkEndDrawShadowedPictureCommand::execute(SkCanvas* canvas) const { |
2447 if (fRestore) { | 2454 if (fRestore) { |
(...skipping 951 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3399 SkTranslateZCommand* SkTranslateZCommand::fromJSON(Json::Value& command, | 3406 SkTranslateZCommand* SkTranslateZCommand::fromJSON(Json::Value& command, |
3400 UrlDataManager& urlDataManager) { | 3407 UrlDataManager& urlDataManager) { |
3401 SkScalar z; | 3408 SkScalar z; |
3402 #ifdef SK_EXPERIMENTAL_SHADOWING | 3409 #ifdef SK_EXPERIMENTAL_SHADOWING |
3403 extract_json_scalar(command[SKDEBUGCANVAS_ATTRIBUTE_DRAWDEPTHTRANS], &z); | 3410 extract_json_scalar(command[SKDEBUGCANVAS_ATTRIBUTE_DRAWDEPTHTRANS], &z); |
3404 #else | 3411 #else |
3405 z = 0; | 3412 z = 0; |
3406 #endif | 3413 #endif |
3407 return new SkTranslateZCommand(z); | 3414 return new SkTranslateZCommand(z); |
3408 } | 3415 } |
OLD | NEW |