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

Unified Diff: third_party/WebKit/Source/platform/fonts/shaping/ShapeResult.h

Issue 2875933006: [LayoutNG] Misc fixes in ShapingLineBreaker (Closed)
Patch Set: clang build fix Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/platform/fonts/shaping/ShapeResult.h
diff --git a/third_party/WebKit/Source/platform/fonts/shaping/ShapeResult.h b/third_party/WebKit/Source/platform/fonts/shaping/ShapeResult.h
index b6923ef937d9907360a26a68e6d34b09bb4c0b3f..8ce29a181949413d690beee62a5f48f4de2505e7 100644
--- a/third_party/WebKit/Source/platform/fonts/shaping/ShapeResult.h
+++ b/third_party/WebKit/Source/platform/fonts/shaping/ShapeResult.h
@@ -67,6 +67,8 @@ class PLATFORM_EXPORT ShapeResult : public RefCounted<ShapeResult> {
float Width() const { return width_; }
LayoutUnit SnappedWidth() const { return LayoutUnit::FromFloatCeil(width_); }
const FloatRect& Bounds() const { return glyph_bounding_box_; }
+ // The character start index of a range shape result.
+ 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
unsigned NumCharacters() const { return num_characters_; }
void FallbackFonts(HashSet<const SimpleFontData*>*) const;
TextDirection Direction() const {
@@ -78,6 +80,14 @@ class PLATFORM_EXPORT ShapeResult : public RefCounted<ShapeResult> {
// For memory reporting.
size_t ByteSize() const;
+ enum OffsetOptions {
+ // If the position is outside of this result, returns the start or the end
+ // offset depends on the position.
+ kOutsideAsStartOrEnd,
+ // If the position is outside of this result, returns the most right offset.
+ kOutsideAsRight,
+ };
+ 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
unsigned OffsetForPosition(float target_x, bool include_partial_glyphs) const;
float PositionForOffset(unsigned offset) const;
LayoutUnit SnappedStartPositionForOffset(unsigned offset) const {

Powered by Google App Engine
This is Rietveld 408576698