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

Side by Side Diff: src/gpu/SkGpuDevice.cpp

Issue 292773002: Pass in GrContext instead of SkGpuDevice for dashing and Sk2GrPaint conversion (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Nit variable name Created 6 years, 7 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/gpu/SkGr.h ('k') | src/gpu/SkGr.cpp » ('j') | 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 2011 Google Inc. 2 * Copyright 2011 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 "SkGpuDevice.h" 8 #include "SkGpuDevice.h"
9 9
10 #include "effects/GrBicubicEffect.h" 10 #include "effects/GrBicubicEffect.h"
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 void SkGpuDevice::clear(SkColor color) { 391 void SkGpuDevice::clear(SkColor color) {
392 SkIRect rect = SkIRect::MakeWH(this->width(), this->height()); 392 SkIRect rect = SkIRect::MakeWH(this->width(), this->height());
393 fContext->clear(&rect, SkColor2GrColor(color), true, fRenderTarget); 393 fContext->clear(&rect, SkColor2GrColor(color), true, fRenderTarget);
394 fNeedClear = false; 394 fNeedClear = false;
395 } 395 }
396 396
397 void SkGpuDevice::drawPaint(const SkDraw& draw, const SkPaint& paint) { 397 void SkGpuDevice::drawPaint(const SkDraw& draw, const SkPaint& paint) {
398 CHECK_SHOULD_DRAW(draw, false); 398 CHECK_SHOULD_DRAW(draw, false);
399 399
400 GrPaint grPaint; 400 GrPaint grPaint;
401 SkPaint2GrPaintShader(this, paint, true, &grPaint); 401 SkPaint2GrPaintShader(this->context(), paint, true, &grPaint);
402 402
403 fContext->drawPaint(grPaint); 403 fContext->drawPaint(grPaint);
404 } 404 }
405 405
406 // must be in SkCanvas::PointMode order 406 // must be in SkCanvas::PointMode order
407 static const GrPrimitiveType gPointMode2PrimtiveType[] = { 407 static const GrPrimitiveType gPointMode2PrimtiveType[] = {
408 kPoints_GrPrimitiveType, 408 kPoints_GrPrimitiveType,
409 kLines_GrPrimitiveType, 409 kLines_GrPrimitiveType,
410 kLineStrip_GrPrimitiveType 410 kLineStrip_GrPrimitiveType
411 }; 411 };
412 412
413 void SkGpuDevice::drawPoints(const SkDraw& draw, SkCanvas::PointMode mode, 413 void SkGpuDevice::drawPoints(const SkDraw& draw, SkCanvas::PointMode mode,
414 size_t count, const SkPoint pts[], const SkPaint& p aint) { 414 size_t count, const SkPoint pts[], const SkPaint& p aint) {
415 CHECK_FOR_ANNOTATION(paint); 415 CHECK_FOR_ANNOTATION(paint);
416 CHECK_SHOULD_DRAW(draw, false); 416 CHECK_SHOULD_DRAW(draw, false);
417 417
418 SkScalar width = paint.getStrokeWidth(); 418 SkScalar width = paint.getStrokeWidth();
419 if (width < 0) { 419 if (width < 0) {
420 return; 420 return;
421 } 421 }
422 422
423 if (paint.getPathEffect() && 2 == count && SkCanvas::kLines_PointMode == mod e) { 423 if (paint.getPathEffect() && 2 == count && SkCanvas::kLines_PointMode == mod e) {
424 if (GrDashingEffect::DrawDashLine(pts, paint, this)) { 424 if (GrDashingEffect::DrawDashLine(pts, paint, this->context())) {
425 return; 425 return;
426 } 426 }
427 } 427 }
428 428
429 // we only handle hairlines and paints without path effects or mask filters, 429 // we only handle hairlines and paints without path effects or mask filters,
430 // else we let the SkDraw call our drawPath() 430 // else we let the SkDraw call our drawPath()
431 if (width > 0 || paint.getPathEffect() || paint.getMaskFilter()) { 431 if (width > 0 || paint.getPathEffect() || paint.getMaskFilter()) {
432 draw.drawPoints(mode, count, pts, paint, true); 432 draw.drawPoints(mode, count, pts, paint, true);
433 return; 433 return;
434 } 434 }
435 435
436 GrPaint grPaint; 436 GrPaint grPaint;
437 SkPaint2GrPaintShader(this, paint, true, &grPaint); 437 SkPaint2GrPaintShader(this->context(), paint, true, &grPaint);
438 438
439 fContext->drawVertices(grPaint, 439 fContext->drawVertices(grPaint,
440 gPointMode2PrimtiveType[mode], 440 gPointMode2PrimtiveType[mode],
441 SkToS32(count), 441 SkToS32(count),
442 (SkPoint*)pts, 442 (SkPoint*)pts,
443 NULL, 443 NULL,
444 NULL, 444 NULL,
445 NULL, 445 NULL,
446 0); 446 0);
447 } 447 }
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
484 } 484 }
485 485
486 if (usePath) { 486 if (usePath) {
487 SkPath path; 487 SkPath path;
488 path.addRect(rect); 488 path.addRect(rect);
489 this->drawPath(draw, path, paint, NULL, true); 489 this->drawPath(draw, path, paint, NULL, true);
490 return; 490 return;
491 } 491 }
492 492
493 GrPaint grPaint; 493 GrPaint grPaint;
494 SkPaint2GrPaintShader(this, paint, true, &grPaint); 494 SkPaint2GrPaintShader(this->context(), paint, true, &grPaint);
495 495
496 if (!doStroke) { 496 if (!doStroke) {
497 fContext->drawRect(grPaint, rect); 497 fContext->drawRect(grPaint, rect);
498 } else { 498 } else {
499 SkStrokeRec stroke(paint); 499 SkStrokeRec stroke(paint);
500 fContext->drawRect(grPaint, rect, &stroke); 500 fContext->drawRect(grPaint, rect, &stroke);
501 } 501 }
502 } 502 }
503 503
504 /////////////////////////////////////////////////////////////////////////////// 504 ///////////////////////////////////////////////////////////////////////////////
505 505
506 void SkGpuDevice::drawRRect(const SkDraw& draw, const SkRRect& rect, 506 void SkGpuDevice::drawRRect(const SkDraw& draw, const SkRRect& rect,
507 const SkPaint& paint) { 507 const SkPaint& paint) {
508 CHECK_FOR_ANNOTATION(paint); 508 CHECK_FOR_ANNOTATION(paint);
509 CHECK_SHOULD_DRAW(draw, false); 509 CHECK_SHOULD_DRAW(draw, false);
510 510
511 GrPaint grPaint; 511 GrPaint grPaint;
512 SkPaint2GrPaintShader(this, paint, true, &grPaint); 512 SkPaint2GrPaintShader(this->context(), paint, true, &grPaint);
513 513
514 SkStrokeRec stroke(paint); 514 SkStrokeRec stroke(paint);
515 if (paint.getMaskFilter()) { 515 if (paint.getMaskFilter()) {
516 // try to hit the fast path for drawing filtered round rects 516 // try to hit the fast path for drawing filtered round rects
517 517
518 SkRRect devRRect; 518 SkRRect devRRect;
519 if (rect.transform(fContext->getMatrix(), &devRRect)) { 519 if (rect.transform(fContext->getMatrix(), &devRRect)) {
520 if (devRRect.allCornersCircular()) { 520 if (devRRect.allCornersCircular()) {
521 SkRect maskRect; 521 SkRect maskRect;
522 if (paint.getMaskFilter()->canFilterMaskGPU(devRRect.rect(), 522 if (paint.getMaskFilter()->canFilterMaskGPU(devRRect.rect(),
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 556
557 void SkGpuDevice::drawDRRect(const SkDraw& draw, const SkRRect& outer, 557 void SkGpuDevice::drawDRRect(const SkDraw& draw, const SkRRect& outer,
558 const SkRRect& inner, const SkPaint& paint) { 558 const SkRRect& inner, const SkPaint& paint) {
559 SkStrokeRec stroke(paint); 559 SkStrokeRec stroke(paint);
560 if (stroke.isFillStyle()) { 560 if (stroke.isFillStyle()) {
561 561
562 CHECK_FOR_ANNOTATION(paint); 562 CHECK_FOR_ANNOTATION(paint);
563 CHECK_SHOULD_DRAW(draw, false); 563 CHECK_SHOULD_DRAW(draw, false);
564 564
565 GrPaint grPaint; 565 GrPaint grPaint;
566 SkPaint2GrPaintShader(this, paint, true, &grPaint); 566 SkPaint2GrPaintShader(this->context(), paint, true, &grPaint);
567 567
568 if (NULL == paint.getMaskFilter() && NULL == paint.getPathEffect()) { 568 if (NULL == paint.getMaskFilter() && NULL == paint.getPathEffect()) {
569 fContext->drawDRRect(grPaint, outer, inner); 569 fContext->drawDRRect(grPaint, outer, inner);
570 return; 570 return;
571 } 571 }
572 } 572 }
573 573
574 SkPath path; 574 SkPath path;
575 path.addRRect(outer); 575 path.addRRect(outer);
576 path.addRRect(inner); 576 path.addRRect(inner);
(...skipping 17 matching lines...) Expand all
594 } 594 }
595 595
596 if (usePath) { 596 if (usePath) {
597 SkPath path; 597 SkPath path;
598 path.addOval(oval); 598 path.addOval(oval);
599 this->drawPath(draw, path, paint, NULL, true); 599 this->drawPath(draw, path, paint, NULL, true);
600 return; 600 return;
601 } 601 }
602 602
603 GrPaint grPaint; 603 GrPaint grPaint;
604 SkPaint2GrPaintShader(this, paint, true, &grPaint); 604 SkPaint2GrPaintShader(this->context(), paint, true, &grPaint);
605 SkStrokeRec stroke(paint); 605 SkStrokeRec stroke(paint);
606 606
607 fContext->drawOval(grPaint, oval, stroke); 607 fContext->drawOval(grPaint, oval, stroke);
608 } 608 }
609 609
610 #include "SkMaskFilter.h" 610 #include "SkMaskFilter.h"
611 #include "SkBounder.h" 611 #include "SkBounder.h"
612 612
613 /////////////////////////////////////////////////////////////////////////////// 613 ///////////////////////////////////////////////////////////////////////////////
614 614
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
745 745
746 }; 746 };
747 747
748 void SkGpuDevice::drawPath(const SkDraw& draw, const SkPath& origSrcPath, 748 void SkGpuDevice::drawPath(const SkDraw& draw, const SkPath& origSrcPath,
749 const SkPaint& paint, const SkMatrix* prePathMatrix, 749 const SkPaint& paint, const SkMatrix* prePathMatrix,
750 bool pathIsMutable) { 750 bool pathIsMutable) {
751 CHECK_FOR_ANNOTATION(paint); 751 CHECK_FOR_ANNOTATION(paint);
752 CHECK_SHOULD_DRAW(draw, false); 752 CHECK_SHOULD_DRAW(draw, false);
753 753
754 GrPaint grPaint; 754 GrPaint grPaint;
755 SkPaint2GrPaintShader(this, paint, true, &grPaint); 755 SkPaint2GrPaintShader(this->context(), paint, true, &grPaint);
756 756
757 // If we have a prematrix, apply it to the path, optimizing for the case 757 // If we have a prematrix, apply it to the path, optimizing for the case
758 // where the original path can in fact be modified in place (even though 758 // where the original path can in fact be modified in place (even though
759 // its parameter type is const). 759 // its parameter type is const).
760 SkPath* pathPtr = const_cast<SkPath*>(&origSrcPath); 760 SkPath* pathPtr = const_cast<SkPath*>(&origSrcPath);
761 SkTLazy<SkPath> tmpPath; 761 SkTLazy<SkPath> tmpPath;
762 SkTLazy<SkPath> effectPath; 762 SkTLazy<SkPath> effectPath;
763 763
764 if (prePathMatrix) { 764 if (prePathMatrix) {
765 SkPath* result = pathPtr; 765 SkPath* result = pathPtr;
(...skipping 627 matching lines...) Expand 10 before | Expand all | Expand 10 after
1393 effect.reset(GrBicubicEffect::Create(texture, SkMatrix::I(), tileModes)) ; 1393 effect.reset(GrBicubicEffect::Create(texture, SkMatrix::I(), tileModes)) ;
1394 } else { 1394 } else {
1395 effect.reset(GrSimpleTextureEffect::Create(texture, SkMatrix::I(), param s)); 1395 effect.reset(GrSimpleTextureEffect::Create(texture, SkMatrix::I(), param s));
1396 } 1396 }
1397 1397
1398 // Construct a GrPaint by setting the bitmap texture as the first effect and then configuring 1398 // Construct a GrPaint by setting the bitmap texture as the first effect and then configuring
1399 // the rest from the SkPaint. 1399 // the rest from the SkPaint.
1400 GrPaint grPaint; 1400 GrPaint grPaint;
1401 grPaint.addColorEffect(effect); 1401 grPaint.addColorEffect(effect);
1402 bool alphaOnly = !(SkBitmap::kA8_Config == bitmap.config()); 1402 bool alphaOnly = !(SkBitmap::kA8_Config == bitmap.config());
1403 SkPaint2GrPaintNoShader(this, paint, alphaOnly, false, &grPaint); 1403 SkPaint2GrPaintNoShader(this->context(), paint, alphaOnly, false, &grPaint);
1404 1404
1405 fContext->drawRectToRect(grPaint, dstRect, paintRect, NULL); 1405 fContext->drawRectToRect(grPaint, dstRect, paintRect, NULL);
1406 } 1406 }
1407 1407
1408 static bool filter_texture(SkBaseDevice* device, GrContext* context, 1408 static bool filter_texture(SkBaseDevice* device, GrContext* context,
1409 GrTexture* texture, const SkImageFilter* filter, 1409 GrTexture* texture, const SkImageFilter* filter,
1410 int w, int h, const SkImageFilter::Context& ctx, 1410 int w, int h, const SkImageFilter::Context& ctx,
1411 SkBitmap* result, SkIPoint* offset) { 1411 SkBitmap* result, SkIPoint* offset) {
1412 SkASSERT(filter); 1412 SkASSERT(filter);
1413 SkDeviceImageFilterProxy proxy(device); 1413 SkDeviceImageFilterProxy proxy(device);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
1459 left += offset.x(); 1459 left += offset.x();
1460 top += offset.y(); 1460 top += offset.y();
1461 } else { 1461 } else {
1462 return; 1462 return;
1463 } 1463 }
1464 } 1464 }
1465 1465
1466 GrPaint grPaint; 1466 GrPaint grPaint;
1467 grPaint.addColorTextureEffect(texture, SkMatrix::I()); 1467 grPaint.addColorTextureEffect(texture, SkMatrix::I());
1468 1468
1469 SkPaint2GrPaintNoShader(this, paint, true, false, &grPaint); 1469 SkPaint2GrPaintNoShader(this->context(), paint, true, false, &grPaint);
1470 1470
1471 fContext->drawRectToRect(grPaint, 1471 fContext->drawRectToRect(grPaint,
1472 SkRect::MakeXYWH(SkIntToScalar(left), 1472 SkRect::MakeXYWH(SkIntToScalar(left),
1473 SkIntToScalar(top), 1473 SkIntToScalar(top),
1474 SkIntToScalar(w), 1474 SkIntToScalar(w),
1475 SkIntToScalar(h)), 1475 SkIntToScalar(h)),
1476 SkRect::MakeXYWH(0, 1476 SkRect::MakeXYWH(0,
1477 0, 1477 0,
1478 SK_Scalar1 * w / texture->width(), 1478 SK_Scalar1 * w / texture->width(),
1479 SK_Scalar1 * h / texture->height() )); 1479 SK_Scalar1 * h / texture->height() ));
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
1567 x += offset.fX; 1567 x += offset.fX;
1568 y += offset.fY; 1568 y += offset.fY;
1569 } else { 1569 } else {
1570 return; 1570 return;
1571 } 1571 }
1572 } 1572 }
1573 1573
1574 GrPaint grPaint; 1574 GrPaint grPaint;
1575 grPaint.addColorTextureEffect(devTex, SkMatrix::I()); 1575 grPaint.addColorTextureEffect(devTex, SkMatrix::I());
1576 1576
1577 SkPaint2GrPaintNoShader(this, paint, true, false, &grPaint); 1577 SkPaint2GrPaintNoShader(this->context(), paint, true, false, &grPaint);
1578 1578
1579 SkRect dstRect = SkRect::MakeXYWH(SkIntToScalar(x), 1579 SkRect dstRect = SkRect::MakeXYWH(SkIntToScalar(x),
1580 SkIntToScalar(y), 1580 SkIntToScalar(y),
1581 SkIntToScalar(w), 1581 SkIntToScalar(w),
1582 SkIntToScalar(h)); 1582 SkIntToScalar(h));
1583 1583
1584 // The device being drawn may not fill up its texture (e.g. saveLayer uses a pproximate 1584 // The device being drawn may not fill up its texture (e.g. saveLayer uses a pproximate
1585 // scratch texture). 1585 // scratch texture).
1586 SkRect srcRect = SkRect::MakeWH(SK_Scalar1 * w / devTex->width(), 1586 SkRect srcRect = SkRect::MakeWH(SK_Scalar1 * w / devTex->width(),
1587 SK_Scalar1 * h / devTex->height()); 1587 SK_Scalar1 * h / devTex->height());
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1628 int vertexCount, const SkPoint vertices[], 1628 int vertexCount, const SkPoint vertices[],
1629 const SkPoint texs[], const SkColor colors[], 1629 const SkPoint texs[], const SkColor colors[],
1630 SkXfermode* xmode, 1630 SkXfermode* xmode,
1631 const uint16_t indices[], int indexCount, 1631 const uint16_t indices[], int indexCount,
1632 const SkPaint& paint) { 1632 const SkPaint& paint) {
1633 CHECK_SHOULD_DRAW(draw, false); 1633 CHECK_SHOULD_DRAW(draw, false);
1634 1634
1635 GrPaint grPaint; 1635 GrPaint grPaint;
1636 // we ignore the shader if texs is null. 1636 // we ignore the shader if texs is null.
1637 if (NULL == texs) { 1637 if (NULL == texs) {
1638 SkPaint2GrPaintNoShader(this, paint, false, NULL == colors, &grPaint); 1638 SkPaint2GrPaintNoShader(this->context(), paint, false, NULL == colors, & grPaint);
1639 } else { 1639 } else {
1640 SkPaint2GrPaintShader(this, paint, NULL == colors, &grPaint); 1640 SkPaint2GrPaintShader(this->context(), paint, NULL == colors, &grPaint);
1641 } 1641 }
1642 1642
1643 if (NULL != xmode && NULL != texs && NULL != colors) { 1643 if (NULL != xmode && NULL != texs && NULL != colors) {
1644 if (!SkXfermode::IsMode(xmode, SkXfermode::kModulate_Mode)) { 1644 if (!SkXfermode::IsMode(xmode, SkXfermode::kModulate_Mode)) {
1645 SkDebugf("Unsupported vertex-color/texture xfer mode.\n"); 1645 SkDebugf("Unsupported vertex-color/texture xfer mode.\n");
1646 #if 0 1646 #if 0
1647 return 1647 return
1648 #endif 1648 #endif
1649 } 1649 }
1650 } 1650 }
(...skipping 19 matching lines...) Expand all
1670 1670
1671 /////////////////////////////////////////////////////////////////////////////// 1671 ///////////////////////////////////////////////////////////////////////////////
1672 1672
1673 void SkGpuDevice::drawText(const SkDraw& draw, const void* text, 1673 void SkGpuDevice::drawText(const SkDraw& draw, const void* text,
1674 size_t byteLength, SkScalar x, SkScalar y, 1674 size_t byteLength, SkScalar x, SkScalar y,
1675 const SkPaint& paint) { 1675 const SkPaint& paint) {
1676 CHECK_SHOULD_DRAW(draw, false); 1676 CHECK_SHOULD_DRAW(draw, false);
1677 1677
1678 if (fMainTextContext->canDraw(paint)) { 1678 if (fMainTextContext->canDraw(paint)) {
1679 GrPaint grPaint; 1679 GrPaint grPaint;
1680 SkPaint2GrPaintShader(this, paint, true, &grPaint); 1680 SkPaint2GrPaintShader(this->context(), paint, true, &grPaint);
1681 1681
1682 SkDEBUGCODE(this->validate();) 1682 SkDEBUGCODE(this->validate();)
1683 1683
1684 fMainTextContext->drawText(grPaint, paint, (const char *)text, byteLengt h, x, y); 1684 fMainTextContext->drawText(grPaint, paint, (const char *)text, byteLengt h, x, y);
1685 } else if (fFallbackTextContext && fFallbackTextContext->canDraw(paint)) { 1685 } else if (fFallbackTextContext && fFallbackTextContext->canDraw(paint)) {
1686 GrPaint grPaint; 1686 GrPaint grPaint;
1687 SkPaint2GrPaintShader(this, paint, true, &grPaint); 1687 SkPaint2GrPaintShader(this->context(), paint, true, &grPaint);
1688 1688
1689 SkDEBUGCODE(this->validate();) 1689 SkDEBUGCODE(this->validate();)
1690 1690
1691 fFallbackTextContext->drawText(grPaint, paint, (const char *)text, byteL ength, x, y); 1691 fFallbackTextContext->drawText(grPaint, paint, (const char *)text, byteL ength, x, y);
1692 } else { 1692 } else {
1693 // this guy will just call our drawPath() 1693 // this guy will just call our drawPath()
1694 draw.drawText_asPaths((const char*)text, byteLength, x, y, paint); 1694 draw.drawText_asPaths((const char*)text, byteLength, x, y, paint);
1695 } 1695 }
1696 } 1696 }
1697 1697
1698 void SkGpuDevice::drawPosText(const SkDraw& draw, const void* text, 1698 void SkGpuDevice::drawPosText(const SkDraw& draw, const void* text,
1699 size_t byteLength, const SkScalar pos[], 1699 size_t byteLength, const SkScalar pos[],
1700 SkScalar constY, int scalarsPerPos, 1700 SkScalar constY, int scalarsPerPos,
1701 const SkPaint& paint) { 1701 const SkPaint& paint) {
1702 CHECK_SHOULD_DRAW(draw, false); 1702 CHECK_SHOULD_DRAW(draw, false);
1703 1703
1704 if (fMainTextContext->canDraw(paint)) { 1704 if (fMainTextContext->canDraw(paint)) {
1705 GrPaint grPaint; 1705 GrPaint grPaint;
1706 SkPaint2GrPaintShader(this, paint, true, &grPaint); 1706 SkPaint2GrPaintShader(this->context(), paint, true, &grPaint);
1707 1707
1708 SkDEBUGCODE(this->validate();) 1708 SkDEBUGCODE(this->validate();)
1709 1709
1710 fMainTextContext->drawPosText(grPaint, paint, (const char *)text, byteLe ngth, pos, 1710 fMainTextContext->drawPosText(grPaint, paint, (const char *)text, byteLe ngth, pos,
1711 constY, scalarsPerPos); 1711 constY, scalarsPerPos);
1712 } else if (fFallbackTextContext && fFallbackTextContext->canDraw(paint)) { 1712 } else if (fFallbackTextContext && fFallbackTextContext->canDraw(paint)) {
1713 GrPaint grPaint; 1713 GrPaint grPaint;
1714 SkPaint2GrPaintShader(this, paint, true, &grPaint); 1714 SkPaint2GrPaintShader(this->context(), paint, true, &grPaint);
1715 1715
1716 SkDEBUGCODE(this->validate();) 1716 SkDEBUGCODE(this->validate();)
1717 1717
1718 fFallbackTextContext->drawPosText(grPaint, paint, (const char *)text, by teLength, pos, 1718 fFallbackTextContext->drawPosText(grPaint, paint, (const char *)text, by teLength, pos,
1719 constY, scalarsPerPos); 1719 constY, scalarsPerPos);
1720 } else { 1720 } else {
1721 draw.drawPosText_asPaths((const char*)text, byteLength, pos, constY, 1721 draw.drawPosText_asPaths((const char*)text, byteLength, pos, constY,
1722 scalarsPerPos, paint); 1722 scalarsPerPos, paint);
1723 } 1723 }
1724 } 1724 }
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
1990 GrCachedLayer* layer = fContext->getLayerCache()->findLayerOrCreate(pict ure, i); 1990 GrCachedLayer* layer = fContext->getLayerCache()->findLayerOrCreate(pict ure, i);
1991 1991
1992 if (NULL != layer->getTexture()) { 1992 if (NULL != layer->getTexture()) {
1993 fContext->unlockScratchTexture(layer->getTexture()); 1993 fContext->unlockScratchTexture(layer->getTexture());
1994 layer->setTexture(NULL); 1994 layer->setTexture(NULL);
1995 } 1995 }
1996 } 1996 }
1997 1997
1998 return true; 1998 return true;
1999 } 1999 }
OLDNEW
« no previous file with comments | « include/gpu/SkGr.h ('k') | src/gpu/SkGr.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698