| Index: cc/font_atlas.cc
|
| diff --git a/cc/font_atlas.cc b/cc/font_atlas.cc
|
| index 2d157663b22005047e8bd872bf98cd818dd81eaa..099e7f0d5819c0e774783d40e883b869fe08c8d9 100644
|
| --- a/cc/font_atlas.cc
|
| +++ b/cc/font_atlas.cc
|
| @@ -57,6 +57,25 @@ void FontAtlas::drawOneLineOfTextInternal(SkCanvas* canvas, const SkPaint& paint
|
| }
|
| }
|
|
|
| +gfx::Size FontAtlas::textSize(const std::string& text)
|
| +{
|
| + int maxWidth = 0;
|
| + std::vector<std::string> lines;
|
| + base::SplitString(text, '\n', &lines);
|
| +
|
| + for (size_t i = 0; i < lines.size(); ++i) {
|
| + int lineWidth = 0;
|
| + for (size_t j = 0; j < lines[i].size(); ++j) {
|
| + int asciiIndex = (lines[i][j] < 128) ? lines[i][j] : 0;
|
| + lineWidth += m_asciiToRectTable[asciiIndex].width();
|
| + }
|
| + if (lineWidth > maxWidth)
|
| + maxWidth = lineWidth;
|
| + }
|
| +
|
| + return gfx::Size(maxWidth, m_fontHeight * lines.size());
|
| +}
|
| +
|
| void FontAtlas::drawDebugAtlas(SkCanvas* canvas, const gfx::Point& destPosition) const
|
| {
|
| DCHECK(Proxy::isImplThread());
|
|
|