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

Side by Side Diff: Source/platform/fonts/Font.h

Issue 1153173011: Force glyph overflow calculation (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Update test expectations Created 5 years, 6 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) 3 * (C) 2000 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * Copyright (C) 2003, 2006, 2007, 2010, 2011 Apple Inc. All rights reserved. 5 * Copyright (C) 2003, 2006, 2007, 2010, 2011 Apple Inc. All rights reserved.
6 * Copyright (C) 2008 Holger Hans Peter Freyther 6 * Copyright (C) 2008 Holger Hans Peter Freyther
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 float buildGlyphBuffer(const TextRunPaintInfo&, GlyphBuffer&, const GlyphDat a* emphasisData = nullptr) const; 132 float buildGlyphBuffer(const TextRunPaintInfo&, GlyphBuffer&, const GlyphDat a* emphasisData = nullptr) const;
133 PassTextBlobPtr buildTextBlob(const GlyphBuffer&) const; 133 PassTextBlobPtr buildTextBlob(const GlyphBuffer&) const;
134 void paintGlyphs(SkCanvas*, const SkPaint&, const SimpleFontData*, const Gly ph glyphs[], unsigned numGlyphs, 134 void paintGlyphs(SkCanvas*, const SkPaint&, const SimpleFontData*, const Gly ph glyphs[], unsigned numGlyphs,
135 const SkPoint pos[], const FloatRect& textRect, float deviceScaleFactor) const; 135 const SkPoint pos[], const FloatRect& textRect, float deviceScaleFactor) const;
136 void paintGlyphsHorizontal(SkCanvas*, const SkPaint&, const SimpleFontData*, const Glyph glyphs[], unsigned numGlyphs, 136 void paintGlyphsHorizontal(SkCanvas*, const SkPaint&, const SimpleFontData*, const Glyph glyphs[], unsigned numGlyphs,
137 const SkScalar xpos[], SkScalar constY, const FloatRect& textRect, float deviceScaleFactor) const; 137 const SkScalar xpos[], SkScalar constY, const FloatRect& textRect, float deviceScaleFactor) const;
138 void drawGlyphs(SkCanvas*, const SkPaint&, const SimpleFontData*, const Glyp hBuffer&, unsigned from, unsigned numGlyphs, 138 void drawGlyphs(SkCanvas*, const SkPaint&, const SimpleFontData*, const Glyp hBuffer&, unsigned from, unsigned numGlyphs,
139 const FloatPoint&, const FloatRect& textRect, float deviceScaleFactor) c onst; 139 const FloatPoint&, const FloatRect& textRect, float deviceScaleFactor) c onst;
140 void drawTextBlob(SkCanvas*, const SkPaint&, const SkTextBlob*, const SkPoin t& origin) const; 140 void drawTextBlob(SkCanvas*, const SkPaint&, const SkTextBlob*, const SkPoin t& origin) const;
141 void drawGlyphBuffer(SkCanvas*, const SkPaint&, const TextRunPaintInfo&, con st GlyphBuffer&, const FloatPoint&, float deviceScaleFactor) const; 141 void drawGlyphBuffer(SkCanvas*, const SkPaint&, const TextRunPaintInfo&, con st GlyphBuffer&, const FloatPoint&, float deviceScaleFactor) const;
142 float floatWidthForSimpleText(const TextRun&, HashSet<const SimpleFontData*> * fallbackFonts = 0, IntRectOutsets* glyphBounds = 0) const; 142 float floatWidthForSimpleText(const TextRun&, HashSet<const SimpleFontData*> * fallbackFonts = 0, FloatRectOutsets* glyphBounds = 0) const;
143 int offsetForPositionForSimpleText(const TextRun&, float position, bool incl udePartialGlyphs) const; 143 int offsetForPositionForSimpleText(const TextRun&, float position, bool incl udePartialGlyphs) const;
144 FloatRect selectionRectForSimpleText(const TextRun&, const FloatPoint&, int h, int from, int to, bool accountForGlyphBounds) const; 144 FloatRect selectionRectForSimpleText(const TextRun&, const FloatPoint&, int h, int from, int to, bool accountForGlyphBounds) const;
145 145
146 bool getEmphasisMarkGlyphData(const AtomicString&, GlyphData&) const; 146 bool getEmphasisMarkGlyphData(const AtomicString&, GlyphData&) const;
147 147
148 float floatWidthForComplexText(const TextRun&, HashSet<const SimpleFontData* >* fallbackFonts, IntRectOutsets* glyphBounds) const; 148 float floatWidthForComplexText(const TextRun&, HashSet<const SimpleFontData* >* fallbackFonts, FloatRectOutsets* glyphBounds) const;
149 int offsetForPositionForComplexText(const TextRun&, float position, bool inc ludePartialGlyphs) const; 149 int offsetForPositionForComplexText(const TextRun&, float position, bool inc ludePartialGlyphs) const;
150 FloatRect selectionRectForComplexText(const TextRun&, const FloatPoint&, int h, int from, int to) const; 150 FloatRect selectionRectForComplexText(const TextRun&, const FloatPoint&, int h, int from, int to) const;
151 151
152 friend struct SimpleShaper; 152 friend struct SimpleShaper;
153 153
154 public: 154 public:
155 FontSelector* fontSelector() const; 155 FontSelector* fontSelector() const;
156 156
157 void willUseFontData(UChar32) const; 157 void willUseFontData(UChar32) const;
158 158
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 // to the next tab stop is less than that, advance an additional tab stop. 201 // to the next tab stop is less than that, advance an additional tab stop.
202 if (distanceToTabStop < fontDescription().letterSpacing()) 202 if (distanceToTabStop < fontDescription().letterSpacing())
203 distanceToTabStop += baseTabWidth; 203 distanceToTabStop += baseTabWidth;
204 204
205 return distanceToTabStop; 205 return distanceToTabStop;
206 } 206 }
207 207
208 } // namespace blink 208 } // namespace blink
209 209
210 #endif 210 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698