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 <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/i18n/break_iterator.h" | 9 #include "base/i18n/break_iterator.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 907 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
918 const SkColor color = default_style().foreground; | 918 const SkColor color = default_style().foreground; |
919 SkShader* shader = CreateFadeShader(text_rect, left_part, right_part, color); | 919 SkShader* shader = CreateFadeShader(text_rect, left_part, right_part, color); |
920 SkAutoUnref auto_unref(shader); | 920 SkAutoUnref auto_unref(shader); |
921 if (shader) { | 921 if (shader) { |
922 // |renderer| adds its own ref. So don't |release()| it from the ref ptr. | 922 // |renderer| adds its own ref. So don't |release()| it from the ref ptr. |
923 renderer->SetShader(shader, display_rect()); | 923 renderer->SetShader(shader, display_rect()); |
924 } | 924 } |
925 } | 925 } |
926 | 926 |
927 void RenderText::ApplyTextShadows(internal::SkiaTextRenderer* renderer) { | 927 void RenderText::ApplyTextShadows(internal::SkiaTextRenderer* renderer) { |
928 SkDrawLooper* looper = gfx::CreateShadowDrawLooper(text_shadows_); | 928 skia::RefPtr<SkDrawLooper> looper = |
929 SkAutoUnref auto_unref(looper); | 929 gfx::CreateShadowDrawLooper(text_shadows_); |
930 renderer->SetDrawLooper(looper); | 930 renderer->SetDrawLooper(looper.get()); |
931 } | 931 } |
932 | 932 |
933 // static | 933 // static |
934 bool RenderText::RangeContainsCaret(const ui::Range& range, | 934 bool RenderText::RangeContainsCaret(const ui::Range& range, |
935 size_t caret_pos, | 935 size_t caret_pos, |
936 LogicalCursorDirection caret_affinity) { | 936 LogicalCursorDirection caret_affinity) { |
937 // NB: exploits unsigned wraparound (WG14/N1124 section 6.2.5 paragraph 9). | 937 // NB: exploits unsigned wraparound (WG14/N1124 section 6.2.5 paragraph 9). |
938 size_t adjacent = (caret_affinity == CURSOR_BACKWARD) ? | 938 size_t adjacent = (caret_affinity == CURSOR_BACKWARD) ? |
939 caret_pos - 1 : caret_pos + 1; | 939 caret_pos - 1 : caret_pos + 1; |
940 return range.Contains(ui::Range(caret_pos, adjacent)); | 940 return range.Contains(ui::Range(caret_pos, adjacent)); |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1019 if (cursor_enabled() && cursor_visible() && focused()) { | 1019 if (cursor_enabled() && cursor_visible() && focused()) { |
1020 const Rect& bounds = GetUpdatedCursorBounds(); | 1020 const Rect& bounds = GetUpdatedCursorBounds(); |
1021 if (bounds.width() != 0) | 1021 if (bounds.width() != 0) |
1022 canvas->FillRect(bounds, cursor_color_); | 1022 canvas->FillRect(bounds, cursor_color_); |
1023 else | 1023 else |
1024 canvas->DrawRect(bounds, cursor_color_); | 1024 canvas->DrawRect(bounds, cursor_color_); |
1025 } | 1025 } |
1026 } | 1026 } |
1027 | 1027 |
1028 } // namespace gfx | 1028 } // namespace gfx |
OLD | NEW |