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

Side by Side Diff: Source/core/rendering/InlineTextBox.h

Issue 313233002: Adding backgroundColor to WebCompositionUnderline and using it for InlineTextBox drawing. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Extracting paintCompositionBackgrounds() from paint(). Created 6 years, 6 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
OLDNEW
1 /* 1 /*
2 * (C) 1999 Lars Knoll (knoll@kde.org) 2 * (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Dirk Mueller (mueller@kde.org) 3 * (C) 2000 Dirk Mueller (mueller@kde.org)
4 * Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Apple Inc. All rights reserv ed. 4 * Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Apple Inc. All rights reserv ed.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 private: 168 private:
169 InlineTextBox* m_prevTextBox; // The previous box that also uses our RenderO bject 169 InlineTextBox* m_prevTextBox; // The previous box that also uses our RenderO bject
170 InlineTextBox* m_nextTextBox; // The next box that also uses our RenderObjec t 170 InlineTextBox* m_nextTextBox; // The next box that also uses our RenderObjec t
171 171
172 int m_start; 172 int m_start;
173 unsigned short m_len; 173 unsigned short m_len;
174 174
175 unsigned short m_truncation; // Where to truncate when text overflow is appl ied. We use special constants to 175 unsigned short m_truncation; // Where to truncate when text overflow is appl ied. We use special constants to
176 // denote no truncation (the whole run paints) and full tr uncation (nothing paints at all). 176 // denote no truncation (the whole run paints) and full tr uncation (nothing paints at all).
177 177
178 unsigned underlinePaintStart(const CompositionUnderline&);
179 unsigned underlinePaintEnd(const CompositionUnderline&);
180
178 protected: 181 protected:
179 void paintCompositionBackground(GraphicsContext*, const FloatPoint& boxOrigi n, RenderStyle*, const Font&, int startPos, int endPos); 182 void paintSingleCompositionBackgroundRun(GraphicsContext*, const FloatPoint& boxOrigin, RenderStyle*, const Font&, Color backgroundColor, int startPos, int endPos);
183 void paintCompositionBackgrounds(GraphicsContext*, const FloatPoint& boxOrig in, RenderStyle*, const Font&, bool useCustomUnderlines);
180 void paintDocumentMarkers(GraphicsContext*, const FloatPoint& boxOrigin, Ren derStyle*, const Font&, bool background); 184 void paintDocumentMarkers(GraphicsContext*, const FloatPoint& boxOrigin, Ren derStyle*, const Font&, bool background);
181 void paintCompositionUnderline(GraphicsContext*, const FloatPoint& boxOrigin , const CompositionUnderline&); 185 void paintCompositionUnderline(GraphicsContext*, const FloatPoint& boxOrigin , const CompositionUnderline&);
182 186
183 // These functions both paint markers and update the DocumentMarker's render edRect. 187 // These functions both paint markers and update the DocumentMarker's render edRect.
184 virtual void paintDocumentMarker(GraphicsContext*, const FloatPoint& boxOrig in, DocumentMarker*, RenderStyle*, const Font&, bool grammar); 188 virtual void paintDocumentMarker(GraphicsContext*, const FloatPoint& boxOrig in, DocumentMarker*, RenderStyle*, const Font&, bool grammar);
185 virtual void paintTextMatchMarker(GraphicsContext*, const FloatPoint& boxOri gin, DocumentMarker*, RenderStyle*, const Font&); 189 virtual void paintTextMatchMarker(GraphicsContext*, const FloatPoint& boxOri gin, DocumentMarker*, RenderStyle*, const Font&);
186 190
187 private: 191 private:
188 void paintDecoration(GraphicsContext*, const FloatPoint& boxOrigin, TextDeco ration, const ShadowList*); 192 void paintDecoration(GraphicsContext*, const FloatPoint& boxOrigin, TextDeco ration, const ShadowList*);
189 void paintSelection(GraphicsContext*, const FloatPoint& boxOrigin, RenderSty le*, const Font&, Color textColor); 193 void paintSelection(GraphicsContext*, const FloatPoint& boxOrigin, RenderSty le*, const Font&, Color textColor);
(...skipping 16 matching lines...) Expand all
206 210
207 inline AffineTransform InlineTextBox::rotation(const FloatRect& boxRect, Rotatio nDirection rotationDirection) 211 inline AffineTransform InlineTextBox::rotation(const FloatRect& boxRect, Rotatio nDirection rotationDirection)
208 { 212 {
209 return rotationDirection == Clockwise ? AffineTransform(0, 1, -1, 0, boxRect .x() + boxRect.maxY(), boxRect.maxY() - boxRect.x()) 213 return rotationDirection == Clockwise ? AffineTransform(0, 1, -1, 0, boxRect .x() + boxRect.maxY(), boxRect.maxY() - boxRect.x())
210 : AffineTransform(0, -1, 1, 0, boxRect.x() - boxRect.maxY(), boxRect.x() + boxRect.maxY()); 214 : AffineTransform(0, -1, 1, 0, boxRect.x() - boxRect.maxY(), boxRect.x() + boxRect.maxY());
211 } 215 }
212 216
213 } // namespace WebCore 217 } // namespace WebCore
214 218
215 #endif // InlineTextBox_h 219 #endif // InlineTextBox_h
OLDNEW
« no previous file with comments | « Source/core/editing/CompositionUnderlineRangeFilterTest.cpp ('k') | Source/core/rendering/InlineTextBox.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698