diff options
author | 2010-05-18 21:17:43 +0000 | |
---|---|---|
committer | 2010-05-18 21:17:43 +0000 | |
commit | 033e03cb191aff56e06e5d6aab917f60740dba63 (patch) | |
tree | bbfe680d8759cbe31c553b2244fb41fe1e8ceda8 /src | |
parent | 0bb6d06622eca40694b8bdea21d697a458d41b4c (diff) |
export line counts
git-svn-id: http://skia.googlecode.com/svn/trunk@568 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src')
-rw-r--r-- | src/views/SkTextBox.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/views/SkTextBox.cpp b/src/views/SkTextBox.cpp index 8bc82f3843..df7de986fa 100644 --- a/src/views/SkTextBox.cpp +++ b/src/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; +} + |