Chromium Code Reviews| Index: Source/core/platform/graphics/Font.h |
| diff --git a/Source/core/platform/graphics/Font.h b/Source/core/platform/graphics/Font.h |
| index d7858e77f647349819c21720e93c9e13d02b4ba6..1261b64e868999b625ea40319b9cbc64ae65ad82 100644 |
| --- a/Source/core/platform/graphics/Font.h |
| +++ b/Source/core/platform/graphics/Font.h |
| @@ -54,6 +54,7 @@ class GraphicsContext; |
| class RenderText; |
| class TextLayout; |
| class TextRun; |
| +struct TextRunPaintInfo; |
| struct GlyphData; |
| @@ -97,8 +98,8 @@ public: |
| void update(PassRefPtr<FontSelector>) const; |
| enum CustomFontNotReadyAction { DoNotPaintIfFontNotReady, UseFallbackIfFontNotReady }; |
| - void drawText(GraphicsContext*, const TextRun&, const FloatPoint&, int from = 0, int to = -1, CustomFontNotReadyAction = DoNotPaintIfFontNotReady) const; |
| - void drawEmphasisMarks(GraphicsContext*, const TextRun&, const AtomicString& mark, const FloatPoint&, int from = 0, int to = -1) const; |
| + void drawText(GraphicsContext*, const TextRunPaintInfo&, const FloatPoint&, CustomFontNotReadyAction = DoNotPaintIfFontNotReady) const; |
| + void drawEmphasisMarks(GraphicsContext*, const TextRunPaintInfo&, const AtomicString& mark, const FloatPoint&) const; |
| float width(const TextRun&, HashSet<const SimpleFontData*>* fallbackFonts = 0, GlyphOverflow* = 0) const; |
| float width(const TextRun&, int& charsConsumed, String& glyphName) const; |
| @@ -173,11 +174,11 @@ private: |
| // Returns the initial in-stream advance. |
| float getGlyphsAndAdvancesForSimpleText(const TextRun&, int from, int to, GlyphBuffer&, ForTextEmphasisOrNot = NotForTextEmphasis) const; |
| - void drawSimpleText(GraphicsContext*, const TextRun&, const FloatPoint&, int from, int to) const; |
| - void drawEmphasisMarksForSimpleText(GraphicsContext*, const TextRun&, const AtomicString& mark, const FloatPoint&, int from, int to) const; |
| - void drawGlyphs(GraphicsContext*, const SimpleFontData*, const GlyphBuffer&, int from, int to, const FloatPoint&) const; |
| - void drawGlyphBuffer(GraphicsContext*, const TextRun&, const GlyphBuffer&, const FloatPoint&) const; |
| - void drawEmphasisMarks(GraphicsContext*, const TextRun&, const GlyphBuffer&, const AtomicString&, const FloatPoint&) const; |
| + void drawSimpleText(GraphicsContext*, const TextRunPaintInfo&, const FloatPoint&) const; |
| + void drawEmphasisMarksForSimpleText(GraphicsContext*, const TextRunPaintInfo&, const AtomicString& mark, const FloatPoint&) const; |
| + void drawGlyphs(GraphicsContext*, const SimpleFontData*, const GlyphBuffer&, int from, int to, const FloatPoint&, const FloatRect& textRect) const; |
|
bungeman-chromium
2013/05/06 19:30:43
Any reason why this is just a FloatRect?
alokp
2013/05/06 20:39:54
I do not understand. If you mean why drawGlyphs do
bungeman-chromium
2013/05/06 21:02:31
Hmmm... I see. The use case I had in mind meant pa
alokp
2013/05/06 22:12:34
Yes. Extra information could either be added direc
|
| + void drawGlyphBuffer(GraphicsContext*, const TextRunPaintInfo&, const GlyphBuffer&, const FloatPoint&) const; |
| + void drawEmphasisMarks(GraphicsContext*, const TextRunPaintInfo&, const GlyphBuffer&, const AtomicString&, const FloatPoint&) const; |
| float floatWidthForSimpleText(const TextRun&, HashSet<const SimpleFontData*>* fallbackFonts = 0, GlyphOverflow* = 0) const; |
| int offsetForPositionForSimpleText(const TextRun&, float position, bool includePartialGlyphs) const; |
| FloatRect selectionRectForSimpleText(const TextRun&, const FloatPoint&, int h, int from, int to) const; |
| @@ -189,8 +190,8 @@ private: |
| // Returns the initial in-stream advance. |
| float getGlyphsAndAdvancesForComplexText(const TextRun&, int from, int to, GlyphBuffer&, ForTextEmphasisOrNot = NotForTextEmphasis) const; |
| - void drawComplexText(GraphicsContext*, const TextRun&, const FloatPoint&, int from, int to) const; |
| - void drawEmphasisMarksForComplexText(GraphicsContext*, const TextRun&, const AtomicString& mark, const FloatPoint&, int from, int to) const; |
| + void drawComplexText(GraphicsContext*, const TextRunPaintInfo&, const FloatPoint&) const; |
| + void drawEmphasisMarksForComplexText(GraphicsContext*, const TextRunPaintInfo&, const AtomicString& mark, const FloatPoint&) const; |
| float floatWidthForComplexText(const TextRun&, HashSet<const SimpleFontData*>* fallbackFonts = 0, GlyphOverflow* = 0) const; |
| int offsetForPositionForComplexText(const TextRun&, float position, bool includePartialGlyphs) const; |
| FloatRect selectionRectForComplexText(const TextRun&, const FloatPoint&, int h, int from, int to) const; |