| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2003, 2004, 2005, 2006, 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2003, 2004, 2005, 2006, 2009 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2013 Google Inc. All rights reserved. | 3 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 900 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 911 FloatPoint currPoint = point; | 911 FloatPoint currPoint = point; |
| 912 BidiCharacterRun* bidiRun = bidiRuns.firstRun(); | 912 BidiCharacterRun* bidiRun = bidiRuns.firstRun(); |
| 913 while (bidiRun) { | 913 while (bidiRun) { |
| 914 TextRun subrun = run.subRun(bidiRun->start(), bidiRun->stop() - bidiRun-
>start()); | 914 TextRun subrun = run.subRun(bidiRun->start(), bidiRun->stop() - bidiRun-
>start()); |
| 915 bool isRTL = bidiRun->level() % 2; | 915 bool isRTL = bidiRun->level() % 2; |
| 916 subrun.setDirection(isRTL ? RTL : LTR); | 916 subrun.setDirection(isRTL ? RTL : LTR); |
| 917 subrun.setDirectionalOverride(bidiRun->dirOverride()); | 917 subrun.setDirectionalOverride(bidiRun->dirOverride()); |
| 918 | 918 |
| 919 TextRunPaintInfo subrunInfo(subrun); | 919 TextRunPaintInfo subrunInfo(subrun); |
| 920 subrunInfo.bounds = runInfo.bounds; | 920 subrunInfo.bounds = runInfo.bounds; |
| 921 font.drawText(this, subrunInfo, currPoint, customFontNotReadyAction); | 921 float runWidth = font.drawUncachedText(this, subrunInfo, currPoint, cust
omFontNotReadyAction); |
| 922 | 922 |
| 923 bidiRun = bidiRun->next(); | 923 bidiRun = bidiRun->next(); |
| 924 // FIXME: Have Font::drawText return the width of what it drew so that w
e don't have to re-measure here. | 924 currPoint.move(runWidth, 0); |
| 925 if (bidiRun) | |
| 926 currPoint.move(font.width(subrun), 0); | |
| 927 } | 925 } |
| 928 | 926 |
| 929 bidiRuns.deleteRuns(); | 927 bidiRuns.deleteRuns(); |
| 930 } | 928 } |
| 931 | 929 |
| 932 void GraphicsContext::drawHighlightForText(const Font& font, const TextRun& run,
const FloatPoint& point, int h, const Color& backgroundColor, int from, int to) | 930 void GraphicsContext::drawHighlightForText(const Font& font, const TextRun& run,
const FloatPoint& point, int h, const Color& backgroundColor, int from, int to) |
| 933 { | 931 { |
| 934 if (contextDisabled()) | 932 if (contextDisabled()) |
| 935 return; | 933 return; |
| 936 | 934 |
| (...skipping 898 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1835 // FIXME: This is to not break tests (it results in the filter bitmap fl
ag | 1833 // FIXME: This is to not break tests (it results in the filter bitmap fl
ag |
| 1836 // being set to true). We need to decide if we respect InterpolationNone | 1834 // being set to true). We need to decide if we respect InterpolationNone |
| 1837 // being returned from computeInterpolationQuality. | 1835 // being returned from computeInterpolationQuality. |
| 1838 resampling = InterpolationLow; | 1836 resampling = InterpolationLow; |
| 1839 } | 1837 } |
| 1840 resampling = limitInterpolationQuality(this, resampling); | 1838 resampling = limitInterpolationQuality(this, resampling); |
| 1841 paint->setFilterLevel(static_cast<SkPaint::FilterLevel>(resampling)); | 1839 paint->setFilterLevel(static_cast<SkPaint::FilterLevel>(resampling)); |
| 1842 } | 1840 } |
| 1843 | 1841 |
| 1844 } // namespace blink | 1842 } // namespace blink |
| OLD | NEW |