OLD | NEW |
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 "GrBlurUtils.h" | 10 #include "GrBlurUtils.h" |
(...skipping 1641 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1652 draw.fClip->getBounds()); | 1652 draw.fClip->getBounds()); |
1653 } | 1653 } |
1654 | 1654 |
1655 void SkGpuDevice::drawTextBlob(const SkDraw& draw, const SkTextBlob* blob, SkSca
lar x, SkScalar y, | 1655 void SkGpuDevice::drawTextBlob(const SkDraw& draw, const SkTextBlob* blob, SkSca
lar x, SkScalar y, |
1656 const SkPaint& paint, SkDrawFilter* drawFilter) { | 1656 const SkPaint& paint, SkDrawFilter* drawFilter) { |
1657 GR_CREATE_TRACE_MARKER_CONTEXT("SkGpuDevice::drawTextBlob", fContext); | 1657 GR_CREATE_TRACE_MARKER_CONTEXT("SkGpuDevice::drawTextBlob", fContext); |
1658 CHECK_SHOULD_DRAW(draw); | 1658 CHECK_SHOULD_DRAW(draw); |
1659 | 1659 |
1660 SkDEBUGCODE(this->validate();) | 1660 SkDEBUGCODE(this->validate();) |
1661 | 1661 |
1662 fTextContext->drawTextBlob(this, fRenderTarget, fClip, paint, *draw.fMatrix, | 1662 fTextContext->drawTextBlob(fRenderTarget, fClip, paint, *draw.fMatrix, |
1663 blob, x, y, drawFilter, draw.fClip->getBounds()); | 1663 blob, x, y, drawFilter, draw.fClip->getBounds()); |
1664 } | 1664 } |
1665 | 1665 |
1666 /////////////////////////////////////////////////////////////////////////////// | 1666 /////////////////////////////////////////////////////////////////////////////// |
1667 | 1667 |
1668 bool SkGpuDevice::onShouldDisableLCD(const SkPaint& paint) const { | 1668 bool SkGpuDevice::onShouldDisableLCD(const SkPaint& paint) const { |
1669 if (paint.getShader() || | 1669 return GrTextContext::ShouldDisableLCD(paint); |
1670 !SkXfermode::IsMode(paint.getXfermode(), SkXfermode::kSrcOver_Mode) || | |
1671 paint.getMaskFilter() || | |
1672 paint.getRasterizer() || | |
1673 paint.getColorFilter() || | |
1674 paint.getPathEffect() || | |
1675 paint.isFakeBoldText() || | |
1676 paint.getStyle() != SkPaint::kFill_Style) | |
1677 { | |
1678 return true; | |
1679 } | |
1680 return false; | |
1681 } | 1670 } |
1682 | 1671 |
1683 void SkGpuDevice::flush() { | 1672 void SkGpuDevice::flush() { |
1684 DO_DEFERRED_CLEAR(); | 1673 DO_DEFERRED_CLEAR(); |
1685 fRenderTarget->prepareForExternalRead(); | 1674 fRenderTarget->prepareForExternalRead(); |
1686 } | 1675 } |
1687 | 1676 |
1688 /////////////////////////////////////////////////////////////////////////////// | 1677 /////////////////////////////////////////////////////////////////////////////// |
1689 | 1678 |
1690 SkBaseDevice* SkGpuDevice::onCreateDevice(const CreateInfo& cinfo, const SkPaint
*) { | 1679 SkBaseDevice* SkGpuDevice::onCreateDevice(const CreateInfo& cinfo, const SkPaint
*) { |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1792 #endif | 1781 #endif |
1793 } | 1782 } |
1794 | 1783 |
1795 SkImageFilter::Cache* SkGpuDevice::getImageFilterCache() { | 1784 SkImageFilter::Cache* SkGpuDevice::getImageFilterCache() { |
1796 // We always return a transient cache, so it is freed after each | 1785 // We always return a transient cache, so it is freed after each |
1797 // filter traversal. | 1786 // filter traversal. |
1798 return SkImageFilter::Cache::Create(kDefaultImageFilterCacheSize); | 1787 return SkImageFilter::Cache::Create(kDefaultImageFilterCacheSize); |
1799 } | 1788 } |
1800 | 1789 |
1801 #endif | 1790 #endif |
OLD | NEW |