Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(652)

Side by Side Diff: ui/gfx/render_text_mac.h

Issue 24883002: Uses and returns the fractional width in text eliding (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Sync Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ui/gfx/render_text.cc ('k') | ui/gfx/render_text_mac.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_MAC_H_ 5 #ifndef UI_GFX_RENDER_TEXT_MAC_H_
6 #define UI_GFX_RENDER_TEXT_MAC_H_ 6 #define UI_GFX_RENDER_TEXT_MAC_H_
7 7
8 #include <ApplicationServices/ApplicationServices.h> 8 #include <ApplicationServices/ApplicationServices.h>
9 9
10 #include <string> 10 #include <string>
11 #include <vector> 11 #include <vector>
12 12
13 #include "base/mac/scoped_cftyperef.h" 13 #include "base/mac/scoped_cftyperef.h"
14 #include "ui/gfx/render_text.h" 14 #include "ui/gfx/render_text.h"
15 15
16 namespace gfx { 16 namespace gfx {
17 17
18 // RenderTextMac is the Mac implementation of RenderText that uses CoreText for 18 // RenderTextMac is the Mac implementation of RenderText that uses CoreText for
19 // layout and Skia for drawing. 19 // layout and Skia for drawing.
20 // 20 //
21 // Note: The current implementation only supports drawing and sizing the text, 21 // Note: The current implementation only supports drawing and sizing the text,
22 // but not text selection or cursor movement. 22 // but not text selection or cursor movement.
23 class RenderTextMac : public RenderText { 23 class RenderTextMac : public RenderText {
24 public: 24 public:
25 RenderTextMac(); 25 RenderTextMac();
26 virtual ~RenderTextMac(); 26 virtual ~RenderTextMac();
27 27
28 // Overridden from RenderText: 28 // Overridden from RenderText:
29 virtual Size GetStringSize() OVERRIDE; 29 virtual Size GetStringSize() OVERRIDE;
30 virtual SizeF GetStringSizeF() OVERRIDE;
30 virtual int GetBaseline() OVERRIDE; 31 virtual int GetBaseline() OVERRIDE;
31 virtual SelectionModel FindCursorPosition(const Point& point) OVERRIDE; 32 virtual SelectionModel FindCursorPosition(const Point& point) OVERRIDE;
32 virtual std::vector<FontSpan> GetFontSpansForTesting() OVERRIDE; 33 virtual std::vector<FontSpan> GetFontSpansForTesting() OVERRIDE;
33 34
34 protected: 35 protected:
35 // Overridden from RenderText: 36 // Overridden from RenderText:
36 virtual SelectionModel AdjacentCharSelectionModel( 37 virtual SelectionModel AdjacentCharSelectionModel(
37 const SelectionModel& selection, 38 const SelectionModel& selection,
38 VisualCursorDirection direction) OVERRIDE; 39 VisualCursorDirection direction) OVERRIDE;
39 virtual SelectionModel AdjacentWordSelectionModel( 40 virtual SelectionModel AdjacentWordSelectionModel(
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 void ComputeRuns(); 75 void ComputeRuns();
75 76
76 // The Core Text line of text. Created by |EnsureLayout()|. 77 // The Core Text line of text. Created by |EnsureLayout()|.
77 base::ScopedCFTypeRef<CTLineRef> line_; 78 base::ScopedCFTypeRef<CTLineRef> line_;
78 79
79 // Array to hold CFAttributedString attributes that allows Core Text to hold 80 // Array to hold CFAttributedString attributes that allows Core Text to hold
80 // weak references to them without leaking. 81 // weak references to them without leaking.
81 base::ScopedCFTypeRef<CFMutableArrayRef> attributes_; 82 base::ScopedCFTypeRef<CFMutableArrayRef> attributes_;
82 83
83 // Visual dimensions of the text. Computed by |EnsureLayout()|. 84 // Visual dimensions of the text. Computed by |EnsureLayout()|.
84 Size string_size_; 85 SizeF string_size_;
85 86
86 // Common baseline for this line of text. Computed by |EnsureLayout()|. 87 // Common baseline for this line of text. Computed by |EnsureLayout()|.
87 SkScalar common_baseline_; 88 SkScalar common_baseline_;
88 89
89 // Visual text runs. Only valid if |runs_valid_| is true. Computed by 90 // Visual text runs. Only valid if |runs_valid_| is true. Computed by
90 // |ComputeRuns()|. 91 // |ComputeRuns()|.
91 std::vector<TextRun> runs_; 92 std::vector<TextRun> runs_;
92 93
93 // Indicates that |runs_| are valid, set by |ComputeRuns()|. 94 // Indicates that |runs_| are valid, set by |ComputeRuns()|.
94 bool runs_valid_; 95 bool runs_valid_;
95 96
96 DISALLOW_COPY_AND_ASSIGN(RenderTextMac); 97 DISALLOW_COPY_AND_ASSIGN(RenderTextMac);
97 }; 98 };
98 99
99 } // namespace gfx 100 } // namespace gfx
100 101
101 #endif // UI_GFX_RENDER_TEXT_MAC_H_ 102 #endif // UI_GFX_RENDER_TEXT_MAC_H_
OLDNEW
« no previous file with comments | « ui/gfx/render_text.cc ('k') | ui/gfx/render_text_mac.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698