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

Side by Side Diff: Source/core/platform/graphics/chromium/UniscribeHelper.h

Issue 24422003: Merge FontPlatformData::setupPaint and setupPaintForFont on Win (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: w/gdi fix Created 7 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
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2006, 2007, 2008, 2009, Google Inc. All rights reserved. 2 * Copyright (c) 2006, 2007, 2008, 2009, 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 39
40 #include <unicode/uchar.h> 40 #include <unicode/uchar.h>
41 #include "wtf/Vector.h" 41 #include "wtf/Vector.h"
42 42
43 class UniscribeTest_TooBig_Test; // A gunit test for UniscribeHelper. 43 class UniscribeTest_TooBig_Test; // A gunit test for UniscribeHelper.
44 44
45 namespace WebCore { 45 namespace WebCore {
46 46
47 class FloatRect; 47 class FloatRect;
48 class FontFeatureSettings; 48 class FontFeatureSettings;
49 class FontPlatformData;
49 class GraphicsContext; 50 class GraphicsContext;
50 51
51 const unsigned cUniscribeHelperStackRuns = 8; 52 const unsigned cUniscribeHelperStackRuns = 8;
52 const unsigned cUniscribeHelperStackChars = 32; 53 const unsigned cUniscribeHelperStackChars = 32;
53 const unsigned cUniscribeHelperFeatures = 4; 54 const unsigned cUniscribeHelperFeatures = 4;
54 55
55 // This object should be safe to create & destroy frequently, as long as the 56 // This object should be safe to create & destroy frequently, as long as the
56 // caller preserves the script_cache when possible (this data may be slow to 57 // caller preserves the script_cache when possible (this data may be slow to
57 // compute). 58 // compute).
58 // 59 //
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 // Converts the given pixel X position into a logical character offset into 191 // Converts the given pixel X position into a logical character offset into
191 // the run. For positions appearing before the first character, this will 192 // the run. For positions appearing before the first character, this will
192 // return -1. 193 // return -1.
193 int xToCharacter(int x) const; 194 int xToCharacter(int x) const;
194 195
195 // Draws the given characters to (x, y) in the given DC. The font will be 196 // Draws the given characters to (x, y) in the given DC. The font will be
196 // handled by this function, but the font color and other attributes should 197 // handled by this function, but the font color and other attributes should
197 // be pre-set. 198 // be pre-set.
198 // 199 //
199 // The y position is the upper left corner, NOT the baseline. 200 // The y position is the upper left corner, NOT the baseline.
200 void draw(GraphicsContext* graphicsContext, HDC dc, 201 void draw(GraphicsContext*, const FontPlatformData&, HDC,
201 int x, int y, 202 int x, int y, const FloatRect& textRect,
202 const FloatRect& textRect, 203 int from, int to);
203 int from, int to);
204 204
205 // Returns the first glyph assigned to the character at the given offset. 205 // Returns the first glyph assigned to the character at the given offset.
206 // This function is used to retrieve glyph information when Uniscribe is 206 // This function is used to retrieve glyph information when Uniscribe is
207 // being used to generate glyphs for non-complex, non-BMP (above U+FFFF) 207 // being used to generate glyphs for non-complex, non-BMP (above U+FFFF)
208 // characters. These characters are not otherwise special and have no 208 // characters. These characters are not otherwise special and have no
209 // complex shaping rules, so we don't otherwise need Uniscribe, except 209 // complex shaping rules, so we don't otherwise need Uniscribe, except
210 // Uniscribe is the only way to get glyphs for non-BMP characters. 210 // Uniscribe is the only way to get glyphs for non-BMP characters.
211 // 211 //
212 // Returns 0 if there is no glyph for the given character. 212 // Returns 0 if there is no glyph for the given character.
213 WORD firstGlyphForCharacter(int charOffset) const; 213 WORD firstGlyphForCharacter(int charOffset) const;
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 440
441 // This contains Uniscribe's OpenType feature settings. This structure 441 // This contains Uniscribe's OpenType feature settings. This structure
442 // is filled by using WebKit's |FontFeatureSettings|. 442 // is filled by using WebKit's |FontFeatureSettings|.
443 TEXTRANGE_PROPERTIES m_rangeProperties; 443 TEXTRANGE_PROPERTIES m_rangeProperties;
444 Vector<OPENTYPE_FEATURE_RECORD, cUniscribeHelperFeatures> m_featureRecords; 444 Vector<OPENTYPE_FEATURE_RECORD, cUniscribeHelperFeatures> m_featureRecords;
445 }; 445 };
446 446
447 } // namespace WebCore 447 } // namespace WebCore
448 448
449 #endif // UniscribeHelper_h 449 #endif // UniscribeHelper_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698