aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2010-05-18 21:17:43 +0000
committerGravatar reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2010-05-18 21:17:43 +0000
commit033e03cb191aff56e06e5d6aab917f60740dba63 (patch)
treebbfe680d8759cbe31c553b2244fb41fe1e8ceda8 /src
parent0bb6d06622eca40694b8bdea21d697a458d41b4c (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.cpp21
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;
+}
+