diff options
author | reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2010-05-18 21:17:43 +0000 |
---|---|---|
committer | reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2010-05-18 21:17:43 +0000 |
commit | 78857a151db64900808b5c7bfc2573817ab7cc5b (patch) | |
tree | e65c8e6965f7b058635e57e8fd46227a21fb46ad /views | |
parent | e47a784ffbb9cd064ddbca82c76c745fad0ea6bd (diff) | |
download | src-78857a151db64900808b5c7bfc2573817ab7cc5b.tar.gz |
export line counts
git-svn-id: http://skia.googlecode.com/svn/trunk/src@568 2bbb7eff-a529-9590-31e7-b0007b416f81
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; +} + |