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

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

Issue 2640983002: Rename paint data structures (Closed)
Patch Set: DrawingDisplayItem Created 3 years, 10 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
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 13 matching lines...) Expand all
24 24
25 #ifndef Font_h 25 #ifndef Font_h
26 #define Font_h 26 #define Font_h
27 27
28 #include "platform/LayoutUnit.h" 28 #include "platform/LayoutUnit.h"
29 #include "platform/PlatformExport.h" 29 #include "platform/PlatformExport.h"
30 #include "platform/fonts/FontDescription.h" 30 #include "platform/fonts/FontDescription.h"
31 #include "platform/fonts/FontFallbackList.h" 31 #include "platform/fonts/FontFallbackList.h"
32 #include "platform/fonts/FontFallbackPriority.h" 32 #include "platform/fonts/FontFallbackPriority.h"
33 #include "platform/fonts/SimpleFontData.h" 33 #include "platform/fonts/SimpleFontData.h"
34 #include "platform/graphics/paint/PaintCanvas.h"
35 #include "platform/graphics/paint/PaintFlags.h"
34 #include "platform/text/TabSize.h" 36 #include "platform/text/TabSize.h"
35 #include "platform/text/TextDirection.h" 37 #include "platform/text/TextDirection.h"
36 #include "wtf/Allocator.h" 38 #include "wtf/Allocator.h"
37 #include "wtf/HashMap.h" 39 #include "wtf/HashMap.h"
38 #include "wtf/HashSet.h" 40 #include "wtf/HashSet.h"
39 #include "wtf/MathExtras.h" 41 #include "wtf/MathExtras.h"
40 #include "wtf/text/CharacterNames.h" 42 #include "wtf/text/CharacterNames.h"
41 43
42 class SkCanvas;
43 class SkPaint;
44
45 namespace blink { 44 namespace blink {
46 45
47 struct CharacterRange; 46 struct CharacterRange;
48 class FloatPoint; 47 class FloatPoint;
49 class FloatRect; 48 class FloatRect;
50 class FontFallbackIterator; 49 class FontFallbackIterator;
51 class FontData; 50 class FontData;
52 class FontSelector; 51 class FontSelector;
53 class GlyphBuffer; 52 class GlyphBuffer;
54 class ShapeCache; 53 class ShapeCache;
(...skipping 17 matching lines...) Expand all
72 const FontDescription& getFontDescription() const { 71 const FontDescription& getFontDescription() const {
73 return m_fontDescription; 72 return m_fontDescription;
74 } 73 }
75 74
76 void update(FontSelector*) const; 75 void update(FontSelector*) const;
77 76
78 enum CustomFontNotReadyAction { 77 enum CustomFontNotReadyAction {
79 DoNotPaintIfFontNotReady, 78 DoNotPaintIfFontNotReady,
80 UseFallbackIfFontNotReady 79 UseFallbackIfFontNotReady
81 }; 80 };
82 bool drawText(SkCanvas*, 81 bool drawText(PaintCanvas*,
83 const TextRunPaintInfo&, 82 const TextRunPaintInfo&,
84 const FloatPoint&, 83 const FloatPoint&,
85 float deviceScaleFactor, 84 float deviceScaleFactor,
86 const SkPaint&) const; 85 const PaintFlags&) const;
87 bool drawBidiText(SkCanvas*, 86 bool drawBidiText(PaintCanvas*,
88 const TextRunPaintInfo&, 87 const TextRunPaintInfo&,
89 const FloatPoint&, 88 const FloatPoint&,
90 CustomFontNotReadyAction, 89 CustomFontNotReadyAction,
91 float deviceScaleFactor, 90 float deviceScaleFactor,
92 const SkPaint&) const; 91 const PaintFlags&) const;
93 void drawEmphasisMarks(SkCanvas*, 92 void drawEmphasisMarks(PaintCanvas*,
94 const TextRunPaintInfo&, 93 const TextRunPaintInfo&,
95 const AtomicString& mark, 94 const AtomicString& mark,
96 const FloatPoint&, 95 const FloatPoint&,
97 float deviceScaleFactor, 96 float deviceScaleFactor,
98 const SkPaint&) const; 97 const PaintFlags&) const;
99 98
100 struct TextIntercept { 99 struct TextIntercept {
101 float m_begin, m_end; 100 float m_begin, m_end;
102 }; 101 };
103 102
104 // Compute the text intercepts along the axis of the advance and write them 103 // Compute the text intercepts along the axis of the advance and write them
105 // into the specified Vector of TextIntercepts. The number of those is zero or 104 // into the specified Vector of TextIntercepts. The number of those is zero or
106 // a multiple of two, and is at most the number of glyphs * 2 in the TextRun 105 // a multiple of two, and is at most the number of glyphs * 2 in the TextRun
107 // part of TextRunPaintInfo. Specify bounds for the upper and lower extend of 106 // part of TextRunPaintInfo. Specify bounds for the upper and lower extend of
108 // a line crossing through the text, parallel to the baseline. 107 // a line crossing through the text, parallel to the baseline.
109 // TODO(drott): crbug.com/655154 Fix this for 108 // TODO(drott): crbug.com/655154 Fix this for
110 // upright in vertical. 109 // upright in vertical.
111 void getTextIntercepts(const TextRunPaintInfo&, 110 void getTextIntercepts(const TextRunPaintInfo&,
112 float deviceScaleFactor, 111 float deviceScaleFactor,
113 const SkPaint&, 112 const PaintFlags&,
114 const std::tuple<float, float>& bounds, 113 const std::tuple<float, float>& bounds,
115 Vector<TextIntercept>&) const; 114 Vector<TextIntercept>&) const;
116 115
117 // Glyph bounds will be the minimum rect containing all glyph strokes, in 116 // Glyph bounds will be the minimum rect containing all glyph strokes, in
118 // coordinates using (<text run x position>, <baseline position>) as the 117 // coordinates using (<text run x position>, <baseline position>) as the
119 // origin. 118 // origin.
120 float width(const TextRun&, 119 float width(const TextRun&,
121 HashSet<const SimpleFontData*>* fallbackFonts = nullptr, 120 HashSet<const SimpleFontData*>* fallbackFonts = nullptr,
122 FloatRect* glyphBounds = nullptr) const; 121 FloatRect* glyphBounds = nullptr) const;
123 122
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 m_shapeWordByWordComputed = true; 169 m_shapeWordByWordComputed = true;
171 } 170 }
172 171
173 private: 172 private:
174 enum ForTextEmphasisOrNot { NotForTextEmphasis, ForTextEmphasis }; 173 enum ForTextEmphasisOrNot { NotForTextEmphasis, ForTextEmphasis };
175 174
176 // Returns the total advance. 175 // Returns the total advance.
177 float buildGlyphBuffer(const TextRunPaintInfo&, 176 float buildGlyphBuffer(const TextRunPaintInfo&,
178 GlyphBuffer&, 177 GlyphBuffer&,
179 const GlyphData* emphasisData = nullptr) const; 178 const GlyphData* emphasisData = nullptr) const;
180 void drawGlyphBuffer(SkCanvas*, 179 void drawGlyphBuffer(PaintCanvas*,
181 const SkPaint&, 180 const PaintFlags&,
182 const TextRunPaintInfo&, 181 const TextRunPaintInfo&,
183 const GlyphBuffer&, 182 const GlyphBuffer&,
184 const FloatPoint&, 183 const FloatPoint&,
185 float deviceScaleFactor) const; 184 float deviceScaleFactor) const;
186 185
187 bool getEmphasisMarkGlyphData(const AtomicString&, GlyphData&) const; 186 bool getEmphasisMarkGlyphData(const AtomicString&, GlyphData&) const;
188 187
189 bool computeCanShapeWordByWord() const; 188 bool computeCanShapeWordByWord() const;
190 189
191 friend struct SimpleShaper; 190 friend struct SimpleShaper;
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 // advance an additional tab stop. 245 // advance an additional tab stop.
247 if (distanceToTabStop < fontData->spaceWidth() / 2) 246 if (distanceToTabStop < fontData->spaceWidth() / 2)
248 distanceToTabStop += baseTabWidth; 247 distanceToTabStop += baseTabWidth;
249 248
250 return distanceToTabStop; 249 return distanceToTabStop;
251 } 250 }
252 251
253 } // namespace blink 252 } // namespace blink
254 253
255 #endif 254 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698