| 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 #ifndef UI_GFX_RENDER_TEXT_H_ | 5 #ifndef UI_GFX_RENDER_TEXT_H_ |
| 6 #define UI_GFX_RENDER_TEXT_H_ | 6 #define UI_GFX_RENDER_TEXT_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 class GFX_EXPORT SkiaTextRenderer { | 55 class GFX_EXPORT SkiaTextRenderer { |
| 56 public: | 56 public: |
| 57 explicit SkiaTextRenderer(Canvas* canvas); | 57 explicit SkiaTextRenderer(Canvas* canvas); |
| 58 virtual ~SkiaTextRenderer(); | 58 virtual ~SkiaTextRenderer(); |
| 59 | 59 |
| 60 void SetDrawLooper(sk_sp<SkDrawLooper> draw_looper); | 60 void SetDrawLooper(sk_sp<SkDrawLooper> draw_looper); |
| 61 void SetFontRenderParams(const FontRenderParams& params, | 61 void SetFontRenderParams(const FontRenderParams& params, |
| 62 bool subpixel_rendering_suppressed); | 62 bool subpixel_rendering_suppressed); |
| 63 void SetTypeface(SkTypeface* typeface); | 63 void SetTypeface(SkTypeface* typeface); |
| 64 void SetTextSize(SkScalar size); | 64 void SetTextSize(SkScalar size); |
| 65 void SetFontWithStyle(const Font& font, int font_style); |
| 65 void SetForegroundColor(SkColor foreground); | 66 void SetForegroundColor(SkColor foreground); |
| 66 void SetShader(sk_sp<SkShader> shader); | 67 void SetShader(sk_sp<SkShader> shader); |
| 67 // Sets underline metrics to use if the text will be drawn with an underline. | 68 // Sets underline metrics to use if the text will be drawn with an underline. |
| 68 // If not set, default values based on the size of the text will be used. The | 69 // If not set, default values based on the size of the text will be used. The |
| 69 // two metrics must be set together. | 70 // two metrics must be set together. |
| 70 void SetUnderlineMetrics(SkScalar thickness, SkScalar position); | 71 void SetUnderlineMetrics(SkScalar thickness, SkScalar position); |
| 71 void DrawSelection(const std::vector<Rect>& selection, SkColor color); | 72 void DrawSelection(const std::vector<Rect>& selection, SkColor color); |
| 72 virtual void DrawPosText(const SkPoint* pos, | 73 virtual void DrawPosText(const SkPoint* pos, |
| 73 const uint16_t* glyphs, | 74 const uint16_t* glyphs, |
| 74 size_t glyph_count); | 75 size_t glyph_count); |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 178 // The sum of segment widths and the maximum of segment heights. | 179 // The sum of segment widths and the maximum of segment heights. |
| 179 SizeF size; | 180 SizeF size; |
| 180 | 181 |
| 181 // Sum of preceding lines' heights. | 182 // Sum of preceding lines' heights. |
| 182 int preceding_heights; | 183 int preceding_heights; |
| 183 | 184 |
| 184 // Maximum baseline of all segments on this line. | 185 // Maximum baseline of all segments on this line. |
| 185 int baseline; | 186 int baseline; |
| 186 }; | 187 }; |
| 187 | 188 |
| 189 // Creates an SkTypeface from a font and a |gfx::Font::FontStyle|. |
| 190 // May return NULL. |
| 191 skia::RefPtr<SkTypeface> CreateSkiaTypeface(const gfx::Font& font, int style); |
| 192 |
| 188 // Applies the given FontRenderParams to a Skia |paint|. | 193 // Applies the given FontRenderParams to a Skia |paint|. |
| 189 void ApplyRenderParams(const FontRenderParams& params, | 194 void ApplyRenderParams(const FontRenderParams& params, |
| 190 bool subpixel_rendering_suppressed, | 195 bool subpixel_rendering_suppressed, |
| 191 SkPaint* paint); | 196 SkPaint* paint); |
| 192 | 197 |
| 193 } // namespace internal | 198 } // namespace internal |
| 194 | 199 |
| 195 // RenderText represents an abstract model of styled text and its corresponding | 200 // RenderText represents an abstract model of styled text and its corresponding |
| 196 // visual layout. Support is built in for a cursor, a selection, simple styling, | 201 // visual layout. Support is built in for a cursor, a selection, simple styling, |
| 197 // complex scripts, and bi-directional text. Implementations provide mechanisms | 202 // complex scripts, and bi-directional text. Implementations provide mechanisms |
| (...skipping 618 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 816 // Lines computed by EnsureLayout. These should be invalidated upon | 821 // Lines computed by EnsureLayout. These should be invalidated upon |
| 817 // OnLayoutTextAttributeChanged and OnDisplayTextAttributeChanged calls. | 822 // OnLayoutTextAttributeChanged and OnDisplayTextAttributeChanged calls. |
| 818 std::vector<internal::Line> lines_; | 823 std::vector<internal::Line> lines_; |
| 819 | 824 |
| 820 DISALLOW_COPY_AND_ASSIGN(RenderText); | 825 DISALLOW_COPY_AND_ASSIGN(RenderText); |
| 821 }; | 826 }; |
| 822 | 827 |
| 823 } // namespace gfx | 828 } // namespace gfx |
| 824 | 829 |
| 825 #endif // UI_GFX_RENDER_TEXT_H_ | 830 #endif // UI_GFX_RENDER_TEXT_H_ |
| OLD | NEW |