OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2006 The Android Open Source Project | 2 * Copyright 2006 The Android Open Source Project |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "SkTextBox.h" | 8 #include "SkTextBox.h" |
9 #include "SkUtils.h" | 9 #include "SkUtils.h" |
10 | 10 |
11 static inline int is_ws(int c) | 11 static inline int is_ws(int c) |
12 { | 12 { |
13 return !((c - 1) >> 5); | 13 return !((c - 1) >> 5); |
14 } | 14 } |
15 | 15 |
16 static size_t linebreak(const char text[], const char stop[], | 16 static size_t linebreak(const char text[], const char stop[], |
17 const SkPaint& paint, SkScalar margin, | 17 const SkPaint& paint, SkScalar margin, |
18 size_t* trailing = NULL) | 18 size_t* trailing = nullptr) |
19 { | 19 { |
20 size_t lengthBreak = paint.breakText(text, stop - text, margin); | 20 size_t lengthBreak = paint.breakText(text, stop - text, margin); |
21 | 21 |
22 //Check for white space or line breakers before the lengthBreak | 22 //Check for white space or line breakers before the lengthBreak |
23 const char* start = text; | 23 const char* start = text; |
24 const char* word_start = text; | 24 const char* word_start = text; |
25 int prevWS = true; | 25 int prevWS = true; |
26 if (trailing) { | 26 if (trailing) { |
27 *trailing = 0; | 27 *trailing = 0; |
28 } | 28 } |
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
294 | 294 |
295 SkTextBlob* SkTextBox::snapshotTextBlob(SkScalar* computedBottom) const { | 295 SkTextBlob* SkTextBox::snapshotTextBlob(SkScalar* computedBottom) const { |
296 TextBlobVisitor visitor; | 296 TextBlobVisitor visitor; |
297 SkScalar newB = this->visit(visitor, fText, fLen, *fPaint); | 297 SkScalar newB = this->visit(visitor, fText, fLen, *fPaint); |
298 if (computedBottom) { | 298 if (computedBottom) { |
299 *computedBottom = newB; | 299 *computedBottom = newB; |
300 } | 300 } |
301 return (SkTextBlob*)visitor.fBuilder.build(); | 301 return (SkTextBlob*)visitor.fBuilder.build(); |
302 } | 302 } |
303 | 303 |
OLD | NEW |