diff --git a/include/utils/SkTextBox.h b/include/utils/SkTextBox.h
index 2c34448..3471f5b 100644
--- a/include/utils/SkTextBox.h
+++ b/include/utils/SkTextBox.h
@@ -62,10 +62,18 @@
 
     void    draw(SkCanvas*, const char text[], size_t len, const SkPaint&);
 
+    void    setText(const char text[], size_t len, const SkPaint&);
+    void    draw(SkCanvas*);
+    int     countLines() const;
+    SkScalar getTextHeight() const;
+
 private:
     SkRect      fBox;
     SkScalar    fSpacingMul, fSpacingAdd;
     uint8_t     fMode, fSpacingAlign;
+    const char* fText;
+    size_t      fLen;
+    const SkPaint* fPaint;
 };
 
 class SkTextLineBreaker {
diff --git a/src/views/SkTextBox.cpp b/src/views/SkTextBox.cpp
index 8bc82f3..df7de98 100644
--- a/src/views/SkTextBox.cpp
+++ b/src/views/SkTextBox.cpp
@@ -214,3 +214,24 @@
     } 
 }
 
+///////////////////////////////////////////////////////////////////////////////
+
+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;
+}
+
