diff options
Diffstat (limited to 'views')
-rw-r--r-- | views/SkTextBox.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/views/SkTextBox.cpp b/views/SkTextBox.cpp index 8bc82f38..df7de986 100644 --- a/views/SkTextBox.cpp +++ b/views/SkTextBox.cpp @@ -214,3 +214,24 @@ void SkTextBox::draw(SkCanvas* canvas, const char text[], size_t len, const SkPa } } +/////////////////////////////////////////////////////////////////////////////// + +void SkTextBox::setText(const char text[], size_t len, const SkPaint& paint) { + fText = text; + fLen = len; + fPaint = &paint; +} + +void SkTextBox::draw(SkCanvas* canvas) { + this->draw(canvas, fText, fLen, *fPaint); +} + +int SkTextBox::countLines() const { + return SkTextLineBreaker::CountLines(fText, fLen, *fPaint, fBox.width()); +} + +SkScalar SkTextBox::getTextHeight() const { + SkScalar spacing = SkScalarMul(fPaint->getTextSize(), fSpacingMul) + fSpacingAdd; + return this->countLines() * spacing; +} + |