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

Side by Side Diff: Source/platform/fonts/shaping/HarfBuzzShaper.h

Issue 645363003: Consolidate most simple vs. complex Font methods (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: minor cleanup Created 6 years, 2 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) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * 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 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 28 matching lines...) Expand all
39 #include "wtf/OwnPtr.h" 39 #include "wtf/OwnPtr.h"
40 #include "wtf/PassOwnPtr.h" 40 #include "wtf/PassOwnPtr.h"
41 #include "wtf/Vector.h" 41 #include "wtf/Vector.h"
42 #include "wtf/unicode/CharacterNames.h" 42 #include "wtf/unicode/CharacterNames.h"
43 43
44 #include <unicode/uscript.h> 44 #include <unicode/uscript.h>
45 45
46 namespace blink { 46 namespace blink {
47 47
48 class Font; 48 class Font;
49 class GlyphBufferWithOffsets; 49 class GlyphBuffer;
50 class SimpleFontData; 50 class SimpleFontData;
51 51
52 class HarfBuzzShaper final { 52 class HarfBuzzShaper final {
53 public: 53 public:
54 enum ForTextEmphasisOrNot { 54 enum ForTextEmphasisOrNot {
55 NotForTextEmphasis, 55 NotForTextEmphasis,
56 ForTextEmphasis 56 ForTextEmphasis
57 }; 57 };
58 58
59 HarfBuzzShaper(const Font*, const TextRun&, ForTextEmphasisOrNot = NotForTex tEmphasis, HashSet<const SimpleFontData*>* fallbackFonts = 0); 59 HarfBuzzShaper(const Font*, const TextRun&, ForTextEmphasisOrNot = NotForTex tEmphasis, HashSet<const SimpleFontData*>* fallbackFonts = 0);
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 int determineWordBreakSpacing(); 122 int determineWordBreakSpacing();
123 // setPadding sets a number of pixels to be distributed across the TextRun. 123 // setPadding sets a number of pixels to be distributed across the TextRun.
124 // WebKit uses this to justify text. 124 // WebKit uses this to justify text.
125 void setPadding(int); 125 void setPadding(int);
126 126
127 void setFontFeatures(); 127 void setFontFeatures();
128 128
129 bool createHarfBuzzRuns(); 129 bool createHarfBuzzRuns();
130 bool shapeHarfBuzzRuns(); 130 bool shapeHarfBuzzRuns();
131 bool fillGlyphBuffer(GlyphBuffer*); 131 bool fillGlyphBuffer(GlyphBuffer*);
132 void fillGlyphBufferFromHarfBuzzRun(GlyphBufferWithOffsets*, HarfBuzzRun*, f loat& carryAdvance); 132 void fillGlyphBufferFromHarfBuzzRun(GlyphBuffer*, HarfBuzzRun*, float& carry Advance);
133 void fillGlyphBufferForTextEmphasis(GlyphBuffer*, HarfBuzzRun* currentRun); 133 void fillGlyphBufferForTextEmphasis(GlyphBuffer*, HarfBuzzRun* currentRun);
134 void setGlyphPositionsForHarfBuzzRun(HarfBuzzRun*, hb_buffer_t*); 134 void setGlyphPositionsForHarfBuzzRun(HarfBuzzRun*, hb_buffer_t*);
135 void addHarfBuzzRun(unsigned startCharacter, unsigned endCharacter, const Si mpleFontData*, UScriptCode); 135 void addHarfBuzzRun(unsigned startCharacter, unsigned endCharacter, const Si mpleFontData*, UScriptCode);
136 136
137 const Font* m_font; 137 const Font* m_font;
138 OwnPtr<UChar[]> m_normalizedBuffer; 138 OwnPtr<UChar[]> m_normalizedBuffer;
139 unsigned m_normalizedBufferLength; 139 unsigned m_normalizedBufferLength;
140 const TextRun& m_run; 140 const TextRun& m_run;
141 141
142 float m_wordSpacingAdjustment; // Delta adjustment (pixels) for each word br eak. 142 float m_wordSpacingAdjustment; // Delta adjustment (pixels) for each word br eak.
(...skipping 13 matching lines...) Expand all
156 float m_totalWidth; 156 float m_totalWidth;
157 FloatBoxExtent m_glyphBoundingBox; 157 FloatBoxExtent m_glyphBoundingBox;
158 HashSet<const SimpleFontData*>* m_fallbackFonts; 158 HashSet<const SimpleFontData*>* m_fallbackFonts;
159 159
160 friend struct CachedShapingResults; 160 friend struct CachedShapingResults;
161 }; 161 };
162 162
163 } // namespace blink 163 } // namespace blink
164 164
165 #endif // HarfBuzzShaper_h 165 #endif // HarfBuzzShaper_h
OLDNEW
« no previous file with comments | « Source/platform/fonts/GlyphBufferTest.cpp ('k') | Source/platform/fonts/shaping/HarfBuzzShaper.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698