OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ui/gfx/render_text.h" | 5 #include "ui/gfx/render_text.h" |
6 | 6 |
7 #include <limits.h> | 7 #include <limits.h> |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 3627 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3638 L"gAXAXAXAXAXAXA", | 3638 L"gAXAXAXAXAXAXA", |
3639 // TODO(dschuyler): A-Ring draws outside GetStringSize; crbug.com/459812. | 3639 // TODO(dschuyler): A-Ring draws outside GetStringSize; crbug.com/459812. |
3640 // L"g\x00C5X\x00C5X\x00C5X\x00C5X\x00C5X\x00C5X\x00C5", | 3640 // L"g\x00C5X\x00C5X\x00C5X\x00C5X\x00C5X\x00C5X\x00C5", |
3641 L"\x0647\x0654\x0647\x0654\x0647\x0654\x0647\x0654\x0645\x0631\x062D" | 3641 L"\x0647\x0654\x0647\x0654\x0647\x0654\x0647\x0654\x0645\x0631\x062D" |
3642 L"\x0628\x0627"}; | 3642 L"\x0628\x0627"}; |
3643 const Size kCanvasSize(300, 50); | 3643 const Size kCanvasSize(300, 50); |
3644 const int kTestSize = 10; | 3644 const int kTestSize = 10; |
3645 | 3645 |
3646 sk_sp<SkSurface> surface = | 3646 sk_sp<SkSurface> surface = |
3647 SkSurface::MakeRasterN32Premul(kCanvasSize.width(), kCanvasSize.height()); | 3647 SkSurface::MakeRasterN32Premul(kCanvasSize.width(), kCanvasSize.height()); |
3648 Canvas canvas(surface->getCanvas(), 1.0f); | 3648 Canvas canvas(sk_ref_sp(surface->getCanvas()), 1.0f); |
3649 RenderText* render_text = GetRenderText(); | 3649 RenderText* render_text = GetRenderText(); |
3650 render_text->SetHorizontalAlignment(ALIGN_LEFT); | 3650 render_text->SetHorizontalAlignment(ALIGN_LEFT); |
3651 render_text->SetColor(SK_ColorBLACK); | 3651 render_text->SetColor(SK_ColorBLACK); |
3652 | 3652 |
3653 for (auto* string : kTestStrings) { | 3653 for (auto* string : kTestStrings) { |
3654 surface->getCanvas()->clear(SK_ColorWHITE); | 3654 surface->getCanvas()->clear(SK_ColorWHITE); |
3655 render_text->SetText(WideToUTF16(string)); | 3655 render_text->SetText(WideToUTF16(string)); |
3656 const Size string_size = render_text->GetStringSize(); | 3656 const Size string_size = render_text->GetStringSize(); |
3657 render_text->ApplyBaselineStyle(SUPERSCRIPT, Range(1, 2)); | 3657 render_text->ApplyBaselineStyle(SUPERSCRIPT, Range(1, 2)); |
3658 render_text->ApplyBaselineStyle(SUPERIOR, Range(3, 4)); | 3658 render_text->ApplyBaselineStyle(SUPERIOR, Range(3, 4)); |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3731 | 3731 |
3732 // Ensure that the text will clip to the display rect. Draws to a canvas and | 3732 // Ensure that the text will clip to the display rect. Draws to a canvas and |
3733 // checks whether any pixel beyond the bounding rectangle is colored. | 3733 // checks whether any pixel beyond the bounding rectangle is colored. |
3734 TEST_P(RenderTextTest, TextDoesClip) { | 3734 TEST_P(RenderTextTest, TextDoesClip) { |
3735 const wchar_t* kTestStrings[] = {L"TEST", L"W", L"WWWW", L"gAXAXWWWW"}; | 3735 const wchar_t* kTestStrings[] = {L"TEST", L"W", L"WWWW", L"gAXAXWWWW"}; |
3736 const Size kCanvasSize(300, 50); | 3736 const Size kCanvasSize(300, 50); |
3737 const int kTestSize = 10; | 3737 const int kTestSize = 10; |
3738 | 3738 |
3739 sk_sp<SkSurface> surface = | 3739 sk_sp<SkSurface> surface = |
3740 SkSurface::MakeRasterN32Premul(kCanvasSize.width(), kCanvasSize.height()); | 3740 SkSurface::MakeRasterN32Premul(kCanvasSize.width(), kCanvasSize.height()); |
3741 Canvas canvas(surface->getCanvas(), 1.0f); | 3741 Canvas canvas(sk_ref_sp(surface->getCanvas()), 1.0f); |
3742 RenderText* render_text = GetRenderText(); | 3742 RenderText* render_text = GetRenderText(); |
3743 render_text->SetHorizontalAlignment(ALIGN_LEFT); | 3743 render_text->SetHorizontalAlignment(ALIGN_LEFT); |
3744 render_text->SetColor(SK_ColorBLACK); | 3744 render_text->SetColor(SK_ColorBLACK); |
3745 | 3745 |
3746 for (auto* string : kTestStrings) { | 3746 for (auto* string : kTestStrings) { |
3747 surface->getCanvas()->clear(SK_ColorWHITE); | 3747 surface->getCanvas()->clear(SK_ColorWHITE); |
3748 render_text->SetText(WideToUTF16(string)); | 3748 render_text->SetText(WideToUTF16(string)); |
3749 const Size string_size = render_text->GetStringSize(); | 3749 const Size string_size = render_text->GetStringSize(); |
3750 int fake_width = string_size.width() / 2; | 3750 int fake_width = string_size.width() / 2; |
3751 int fake_height = string_size.height() / 2; | 3751 int fake_height = string_size.height() / 2; |
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4094 ::testing::Values(RENDER_TEXT_HARFBUZZ), | 4094 ::testing::Values(RENDER_TEXT_HARFBUZZ), |
4095 PrintRenderTextBackend()); | 4095 PrintRenderTextBackend()); |
4096 #endif | 4096 #endif |
4097 | 4097 |
4098 INSTANTIATE_TEST_CASE_P(, | 4098 INSTANTIATE_TEST_CASE_P(, |
4099 RenderTextHarfBuzzTest, | 4099 RenderTextHarfBuzzTest, |
4100 ::testing::Values(RENDER_TEXT_HARFBUZZ), | 4100 ::testing::Values(RENDER_TEXT_HARFBUZZ), |
4101 PrintRenderTextBackend()); | 4101 PrintRenderTextBackend()); |
4102 | 4102 |
4103 } // namespace gfx | 4103 } // namespace gfx |
OLD | NEW |