summaryrefslogtreecommitdiff
path: root/views
diff options
context:
space:
mode:
authorreed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2010-05-18 21:17:43 +0000
committerreed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2010-05-18 21:17:43 +0000
commit78857a151db64900808b5c7bfc2573817ab7cc5b (patch)
treee65c8e6965f7b058635e57e8fd46227a21fb46ad /views
parente47a784ffbb9cd064ddbca82c76c745fad0ea6bd (diff)
downloadsrc-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.cpp21
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;
+}
+