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

Side by Side Diff: src/core/SkPicturePlayback.cpp

Issue 2241473002: Delete quickRejectY() (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Inline quickRejectY logic Created 4 years, 4 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
« no previous file with comments | « include/core/SkCanvas.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2014 Google Inc. 2 * Copyright 2014 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 "SkCanvas.h" 8 #include "SkCanvas.h"
9 #include "SkPatchUtils.h" 9 #include "SkPatchUtils.h"
10 #include "SkPictureData.h" 10 #include "SkPictureData.h"
(...skipping 401 matching lines...) Expand 10 before | Expand all | Expand 10 after
412 } 412 }
413 } break; 413 } break;
414 case DRAW_POS_TEXT_TOP_BOTTOM: { 414 case DRAW_POS_TEXT_TOP_BOTTOM: {
415 const SkPaint* paint = fPictureData->getPaint(reader); 415 const SkPaint* paint = fPictureData->getPaint(reader);
416 TextContainer text; 416 TextContainer text;
417 get_text(reader, &text); 417 get_text(reader, &text);
418 size_t points = reader->readInt(); 418 size_t points = reader->readInt();
419 const SkPoint* pos = (const SkPoint*)reader->skip(points * sizeof(Sk Point)); 419 const SkPoint* pos = (const SkPoint*)reader->skip(points * sizeof(Sk Point));
420 const SkScalar top = reader->readScalar(); 420 const SkScalar top = reader->readScalar();
421 const SkScalar bottom = reader->readScalar(); 421 const SkScalar bottom = reader->readScalar();
422 if (!canvas->quickRejectY(top, bottom) && paint) { 422 SkRect clip;
423 canvas->getClipBounds(&clip);
424 if (top < clip.fBottom && bottom > clip.fTop && paint) {
423 canvas->drawPosText(text.text(), text.length(), pos, *paint); 425 canvas->drawPosText(text.text(), text.length(), pos, *paint);
424 } 426 }
425 } break; 427 } break;
426 case DRAW_POS_TEXT_H: { 428 case DRAW_POS_TEXT_H: {
427 const SkPaint* paint = fPictureData->getPaint(reader); 429 const SkPaint* paint = fPictureData->getPaint(reader);
428 TextContainer text; 430 TextContainer text;
429 get_text(reader, &text); 431 get_text(reader, &text);
430 size_t xCount = reader->readInt(); 432 size_t xCount = reader->readInt();
431 const SkScalar constY = reader->readScalar(); 433 const SkScalar constY = reader->readScalar();
432 const SkScalar* xpos = (const SkScalar*)reader->skip(xCount * sizeof (SkScalar)); 434 const SkScalar* xpos = (const SkScalar*)reader->skip(xCount * sizeof (SkScalar));
433 if (paint) { 435 if (paint) {
434 canvas->drawPosTextH(text.text(), text.length(), xpos, constY, * paint); 436 canvas->drawPosTextH(text.text(), text.length(), xpos, constY, * paint);
435 } 437 }
436 } break; 438 } break;
437 case DRAW_POS_TEXT_H_TOP_BOTTOM: { 439 case DRAW_POS_TEXT_H_TOP_BOTTOM: {
438 const SkPaint* paint = fPictureData->getPaint(reader); 440 const SkPaint* paint = fPictureData->getPaint(reader);
439 TextContainer text; 441 TextContainer text;
440 get_text(reader, &text); 442 get_text(reader, &text);
441 size_t xCount = reader->readInt(); 443 size_t xCount = reader->readInt();
442 const SkScalar* xpos = (const SkScalar*)reader->skip((3 + xCount) * sizeof(SkScalar)); 444 const SkScalar* xpos = (const SkScalar*)reader->skip((3 + xCount) * sizeof(SkScalar));
443 const SkScalar top = *xpos++; 445 const SkScalar top = *xpos++;
444 const SkScalar bottom = *xpos++; 446 const SkScalar bottom = *xpos++;
445 const SkScalar constY = *xpos++; 447 const SkScalar constY = *xpos++;
446 if (!canvas->quickRejectY(top, bottom) && paint) { 448 SkRect clip;
449 canvas->getClipBounds(&clip);
450 if (top < clip.fBottom && bottom > clip.fTop && paint) {
447 canvas->drawPosTextH(text.text(), text.length(), xpos, constY, * paint); 451 canvas->drawPosTextH(text.text(), text.length(), xpos, constY, * paint);
448 } 452 }
449 } break; 453 } break;
450 case DRAW_RECT: { 454 case DRAW_RECT: {
451 const SkPaint* paint = fPictureData->getPaint(reader); 455 const SkPaint* paint = fPictureData->getPaint(reader);
452 SkRect rect; 456 SkRect rect;
453 reader->readRect(&rect); 457 reader->readRect(&rect);
454 if (paint) { 458 if (paint) {
455 canvas->drawRect(rect, *paint); 459 canvas->drawRect(rect, *paint);
456 } 460 }
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 } break; 495 } break;
492 case DRAW_TEXT_TOP_BOTTOM: { 496 case DRAW_TEXT_TOP_BOTTOM: {
493 const SkPaint* paint = fPictureData->getPaint(reader); 497 const SkPaint* paint = fPictureData->getPaint(reader);
494 TextContainer text; 498 TextContainer text;
495 get_text(reader, &text); 499 get_text(reader, &text);
496 const SkScalar* ptr = (const SkScalar*)reader->skip(4 * sizeof(SkSca lar)); 500 const SkScalar* ptr = (const SkScalar*)reader->skip(4 * sizeof(SkSca lar));
497 // ptr[0] == x 501 // ptr[0] == x
498 // ptr[1] == y 502 // ptr[1] == y
499 // ptr[2] == top 503 // ptr[2] == top
500 // ptr[3] == bottom 504 // ptr[3] == bottom
501 if (!canvas->quickRejectY(ptr[2], ptr[3]) && paint) { 505 SkRect clip;
506 canvas->getClipBounds(&clip);
507 float top = ptr[2];
508 float bottom = ptr[3];
509 if (top < clip.fBottom && bottom > clip.fTop && paint) {
502 canvas->drawText(text.text(), text.length(), ptr[0], ptr[1], *pa int); 510 canvas->drawText(text.text(), text.length(), ptr[0], ptr[1], *pa int);
503 } 511 }
504 } break; 512 } break;
505 case DRAW_TEXT_ON_PATH: { 513 case DRAW_TEXT_ON_PATH: {
506 const SkPaint* paint = fPictureData->getPaint(reader); 514 const SkPaint* paint = fPictureData->getPaint(reader);
507 TextContainer text; 515 TextContainer text;
508 get_text(reader, &text); 516 get_text(reader, &text);
509 const SkPath& path = fPictureData->getPath(reader); 517 const SkPath& path = fPictureData->getPath(reader);
510 SkMatrix matrix; 518 SkMatrix matrix;
511 reader->readMatrix(&matrix); 519 reader->readMatrix(&matrix);
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
631 case TRANSLATE_Z: { 639 case TRANSLATE_Z: {
632 #ifdef SK_EXPERIMENTAL_SHADOWING 640 #ifdef SK_EXPERIMENTAL_SHADOWING
633 SkScalar dz = reader->readScalar(); 641 SkScalar dz = reader->readScalar();
634 canvas->translateZ(dz); 642 canvas->translateZ(dz);
635 #endif 643 #endif
636 } break; 644 } break;
637 default: 645 default:
638 SkASSERTF(false, "Unknown draw type: %d", op); 646 SkASSERTF(false, "Unknown draw type: %d", op);
639 } 647 }
640 } 648 }
OLDNEW
« no previous file with comments | « include/core/SkCanvas.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698