Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 60 static PassRefPtr<ShapeResult> CreateForTabulationCharacters( | 60 static PassRefPtr<ShapeResult> CreateForTabulationCharacters( |
| 61 const Font*, | 61 const Font*, |
| 62 const TextRun&, | 62 const TextRun&, |
| 63 float position_offset, | 63 float position_offset, |
| 64 unsigned count); | 64 unsigned count); |
| 65 ~ShapeResult(); | 65 ~ShapeResult(); |
| 66 | 66 |
| 67 float Width() const { return width_; } | 67 float Width() const { return width_; } |
| 68 LayoutUnit SnappedWidth() const { return LayoutUnit::FromFloatCeil(width_); } | 68 LayoutUnit SnappedWidth() const { return LayoutUnit::FromFloatCeil(width_); } |
| 69 const FloatRect& Bounds() const { return glyph_bounding_box_; } | 69 const FloatRect& Bounds() const { return glyph_bounding_box_; } |
| 70 // The character start index of a range shape result. | |
| 71 unsigned CharacterStartIndex() const; | |
|
eae
2017/05/12 18:45:49
CharacterOffset perhaps and CharacterLength for (N
kojii
2017/05/12 19:08:13
Existing functions such as OffsetForPosition() use
eae
2017/05/12 21:24:05
Ah, fair enough. Perhaps we could be even more exp
| |
| 70 unsigned NumCharacters() const { return num_characters_; } | 72 unsigned NumCharacters() const { return num_characters_; } |
| 71 void FallbackFonts(HashSet<const SimpleFontData*>*) const; | 73 void FallbackFonts(HashSet<const SimpleFontData*>*) const; |
| 72 TextDirection Direction() const { | 74 TextDirection Direction() const { |
| 73 return static_cast<TextDirection>(direction_); | 75 return static_cast<TextDirection>(direction_); |
| 74 } | 76 } |
| 75 bool Rtl() const { return Direction() == TextDirection::kRtl; } | 77 bool Rtl() const { return Direction() == TextDirection::kRtl; } |
| 76 bool HasVerticalOffsets() const { return has_vertical_offsets_; } | 78 bool HasVerticalOffsets() const { return has_vertical_offsets_; } |
| 77 | 79 |
| 78 // For memory reporting. | 80 // For memory reporting. |
| 79 size_t ByteSize() const; | 81 size_t ByteSize() const; |
| 80 | 82 |
| 83 enum OffsetOptions { | |
| 84 // If the position is outside of this result, returns the start or the end | |
| 85 // offset depends on the position. | |
| 86 kOutsideAsStartOrEnd, | |
| 87 // If the position is outside of this result, returns the most right offset. | |
| 88 kOutsideAsRight, | |
| 89 }; | |
| 90 unsigned OffsetForPosition(float target_x, OffsetOptions) const; | |
|
eae
2017/05/12 18:45:49
Isn't kOutsideAsStartOrEnd always the desirable be
kojii
2017/05/12 19:08:13
I think so, but there are bunch of existing caller
| |
| 81 unsigned OffsetForPosition(float target_x, bool include_partial_glyphs) const; | 91 unsigned OffsetForPosition(float target_x, bool include_partial_glyphs) const; |
| 82 float PositionForOffset(unsigned offset) const; | 92 float PositionForOffset(unsigned offset) const; |
| 83 LayoutUnit SnappedStartPositionForOffset(unsigned offset) const { | 93 LayoutUnit SnappedStartPositionForOffset(unsigned offset) const { |
| 84 return LayoutUnit::FromFloatFloor(PositionForOffset(offset)); | 94 return LayoutUnit::FromFloatFloor(PositionForOffset(offset)); |
| 85 } | 95 } |
| 86 LayoutUnit SnappedEndPositionForOffset(unsigned offset) const { | 96 LayoutUnit SnappedEndPositionForOffset(unsigned offset) const { |
| 87 return LayoutUnit::FromFloatCeil(PositionForOffset(offset)); | 97 return LayoutUnit::FromFloatCeil(PositionForOffset(offset)); |
| 88 } | 98 } |
| 89 | 99 |
| 90 PassRefPtr<ShapeResult> ApplySpacingToCopy(ShapeResultSpacing&, | 100 PassRefPtr<ShapeResult> ApplySpacingToCopy(ShapeResultSpacing&, |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 125 unsigned has_vertical_offsets_ : 1; | 135 unsigned has_vertical_offsets_ : 1; |
| 126 | 136 |
| 127 friend class HarfBuzzShaper; | 137 friend class HarfBuzzShaper; |
| 128 friend class ShapeResultBuffer; | 138 friend class ShapeResultBuffer; |
| 129 friend class ShapeResultBloberizer; | 139 friend class ShapeResultBloberizer; |
| 130 }; | 140 }; |
| 131 | 141 |
| 132 } // namespace blink | 142 } // namespace blink |
| 133 | 143 |
| 134 #endif // ShapeResult_h | 144 #endif // ShapeResult_h |
| OLD | NEW |