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

Side by Side Diff: Source/core/paint/TextPainter.cpp

Issue 889563002: Make RenderObject::style() return a const object (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Blind fix for Mac. Created 5 years, 10 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "config.h" 5 #include "config.h"
6 #include "core/paint/TextPainter.h" 6 #include "core/paint/TextPainter.h"
7 7
8 #include "core/CSSPropertyNames.h" 8 #include "core/CSSPropertyNames.h"
9 #include "core/frame/Settings.h" 9 #include "core/frame/Settings.h"
10 #include "core/rendering/InlineTextBox.h" 10 #include "core/rendering/InlineTextBox.h"
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 } 101 }
102 102
103 static Color textColorForWhiteBackground(Color textColor) 103 static Color textColorForWhiteBackground(Color textColor)
104 { 104 {
105 int distanceFromWhite = differenceSquared(textColor, Color::white); 105 int distanceFromWhite = differenceSquared(textColor, Color::white);
106 // semi-arbitrarily chose 65025 (255^2) value here after a few tests; 106 // semi-arbitrarily chose 65025 (255^2) value here after a few tests;
107 return distanceFromWhite > 65025 ? textColor : textColor.dark(); 107 return distanceFromWhite > 65025 ? textColor : textColor.dark();
108 } 108 }
109 109
110 // static 110 // static
111 TextPainter::Style TextPainter::textPaintingStyle(RenderObject& renderer, Render Style* style, bool forceBlackText, bool isPrinting) 111 TextPainter::Style TextPainter::textPaintingStyle(RenderObject& renderer, const RenderStyle* style, bool forceBlackText, bool isPrinting)
112 { 112 {
113 TextPainter::Style textStyle; 113 TextPainter::Style textStyle;
114 114
115 if (forceBlackText) { 115 if (forceBlackText) {
116 textStyle.fillColor = Color::black; 116 textStyle.fillColor = Color::black;
117 textStyle.strokeColor = Color::black; 117 textStyle.strokeColor = Color::black;
118 textStyle.emphasisMarkColor = Color::black; 118 textStyle.emphasisMarkColor = Color::black;
119 textStyle.strokeWidth = style->textStrokeWidth(); 119 textStyle.strokeWidth = style->textStrokeWidth();
120 textStyle.shadow = 0; 120 textStyle.shadow = 0;
121 } else { 121 } else {
(...skipping 28 matching lines...) Expand all
150 TextPainter::Style TextPainter::selectionPaintingStyle(RenderObject& renderer, b ool haveSelection, bool forceBlackText, bool isPrinting, const TextPainter::Styl e& textStyle) 150 TextPainter::Style TextPainter::selectionPaintingStyle(RenderObject& renderer, b ool haveSelection, bool forceBlackText, bool isPrinting, const TextPainter::Styl e& textStyle)
151 { 151 {
152 TextPainter::Style selectionStyle = textStyle; 152 TextPainter::Style selectionStyle = textStyle;
153 153
154 if (haveSelection) { 154 if (haveSelection) {
155 if (!forceBlackText) { 155 if (!forceBlackText) {
156 selectionStyle.fillColor = renderer.selectionForegroundColor(); 156 selectionStyle.fillColor = renderer.selectionForegroundColor();
157 selectionStyle.emphasisMarkColor = renderer.selectionEmphasisMarkCol or(); 157 selectionStyle.emphasisMarkColor = renderer.selectionEmphasisMarkCol or();
158 } 158 }
159 159
160 if (RenderStyle* pseudoStyle = renderer.getCachedPseudoStyle(SELECTION)) { 160 if (const RenderStyle* pseudoStyle = renderer.getCachedPseudoStyle(SELEC TION)) {
161 selectionStyle.strokeColor = forceBlackText ? Color::black : rendere r.resolveColor(pseudoStyle, CSSPropertyWebkitTextStrokeColor); 161 selectionStyle.strokeColor = forceBlackText ? Color::black : rendere r.resolveColor(pseudoStyle, CSSPropertyWebkitTextStrokeColor);
162 selectionStyle.strokeWidth = pseudoStyle->textStrokeWidth(); 162 selectionStyle.strokeWidth = pseudoStyle->textStrokeWidth();
163 selectionStyle.shadow = forceBlackText ? 0 : pseudoStyle->textShadow (); 163 selectionStyle.shadow = forceBlackText ? 0 : pseudoStyle->textShadow ();
164 } 164 }
165 165
166 // Text shadows are disabled when printing. http://crbug.com/258321 166 // Text shadows are disabled when printing. http://crbug.com/258321
167 if (isPrinting) 167 if (isPrinting)
168 selectionStyle.shadow = 0; 168 selectionStyle.shadow = 0;
169 } 169 }
170 170
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 DEFINE_STATIC_LOCAL(TextRun, placeholderTextRun, (&ideographicFullStop, 1)); 212 DEFINE_STATIC_LOCAL(TextRun, placeholderTextRun, (&ideographicFullStop, 1));
213 FloatPoint emphasisMarkTextOrigin(m_textBounds.x(), m_textBounds.y() + m_fon t.fontMetrics().ascent() + m_emphasisMarkOffset); 213 FloatPoint emphasisMarkTextOrigin(m_textBounds.x(), m_textBounds.y() + m_fon t.fontMetrics().ascent() + m_emphasisMarkOffset);
214 TextRunPaintInfo textRunPaintInfo(placeholderTextRun); 214 TextRunPaintInfo textRunPaintInfo(placeholderTextRun);
215 textRunPaintInfo.bounds = m_textBounds; 215 textRunPaintInfo.bounds = m_textBounds;
216 m_graphicsContext->concatCTM(rotation(m_textBounds, Clockwise)); 216 m_graphicsContext->concatCTM(rotation(m_textBounds, Clockwise));
217 m_graphicsContext->drawEmphasisMarks(m_combinedText->originalFont(), textRun PaintInfo, m_emphasisMark, emphasisMarkTextOrigin); 217 m_graphicsContext->drawEmphasisMarks(m_combinedText->originalFont(), textRun PaintInfo, m_emphasisMark, emphasisMarkTextOrigin);
218 m_graphicsContext->concatCTM(rotation(m_textBounds, Counterclockwise)); 218 m_graphicsContext->concatCTM(rotation(m_textBounds, Counterclockwise));
219 } 219 }
220 220
221 } // namespace blink 221 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698