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

Side by Side Diff: Source/core/rendering/RenderEmbeddedObject.cpp

Issue 14160005: Track the region where text is painted. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: fixed build on win and mac Created 7 years, 7 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 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Simon Hausmann <hausmann@kde.org> 3 * (C) 2000 Simon Hausmann <hausmann@kde.org>
4 * (C) 2000 Stefan Schimanski (1Stein@gmx.de) 4 * (C) 2000 Stefan Schimanski (1Stein@gmx.de)
5 * Copyright (C) 2004, 2005, 2006, 2008, 2009, 2010 Apple Inc. All rights reserv ed. 5 * Copyright (C) 2004, 2005, 2006, 2008, 2009, 2010 Apple Inc. All rights reserv ed.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 183
184 GraphicsContextStateSaver stateSaver(*context); 184 GraphicsContextStateSaver stateSaver(*context);
185 context->clip(contentRect); 185 context->clip(contentRect);
186 context->setAlpha(replacementTextRoundedRectOpacity); 186 context->setAlpha(replacementTextRoundedRectOpacity);
187 context->setFillColor(Color::white, style()->colorSpace()); 187 context->setFillColor(Color::white, style()->colorSpace());
188 context->fillPath(path); 188 context->fillPath(path);
189 189
190 const FontMetrics& fontMetrics = font.fontMetrics(); 190 const FontMetrics& fontMetrics = font.fontMetrics();
191 float labelX = roundf(replacementTextRect.location().x() + (replacementTextR ect.size().width() - textWidth) / 2); 191 float labelX = roundf(replacementTextRect.location().x() + (replacementTextR ect.size().width() - textWidth) / 2);
192 float labelY = roundf(replacementTextRect.location().y() + (replacementTextR ect.size().height() - fontMetrics.height()) / 2 + fontMetrics.ascent()); 192 float labelY = roundf(replacementTextRect.location().y() + (replacementTextR ect.size().height() - fontMetrics.height()) / 2 + fontMetrics.ascent());
193 TextRunPaintInfo runInfo(run);
194 runInfo.bounds = replacementTextRect;
193 context->setAlpha(replacementTextTextOpacity); 195 context->setAlpha(replacementTextTextOpacity);
194 context->setFillColor(Color::black, style()->colorSpace()); 196 context->setFillColor(Color::black, style()->colorSpace());
195 context->drawBidiText(font, run, FloatPoint(labelX, labelY)); 197 context->drawBidiText(font, runInfo, FloatPoint(labelX, labelY));
196 } 198 }
197 199
198 bool RenderEmbeddedObject::getReplacementTextGeometry(const LayoutPoint& accumul atedOffset, FloatRect& contentRect, Path& path, FloatRect& replacementTextRect, Font& font, TextRun& run, float& textWidth) const 200 bool RenderEmbeddedObject::getReplacementTextGeometry(const LayoutPoint& accumul atedOffset, FloatRect& contentRect, Path& path, FloatRect& replacementTextRect, Font& font, TextRun& run, float& textWidth) const
199 { 201 {
200 contentRect = contentBoxRect(); 202 contentRect = contentBoxRect();
201 contentRect.moveBy(roundedIntPoint(accumulatedOffset)); 203 contentRect.moveBy(roundedIntPoint(accumulatedOffset));
202 204
203 FontDescription fontDescription; 205 FontDescription fontDescription;
204 RenderTheme::defaultTheme()->systemFont(CSSValueWebkitSmallControl, fontDesc ription); 206 RenderTheme::defaultTheme()->systemFont(CSSValueWebkitSmallControl, fontDesc ription);
205 fontDescription.setWeight(FontWeightBold); 207 fontDescription.setWeight(FontWeightBold);
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 { 310 {
309 return false; 311 return false;
310 } 312 }
311 313
312 bool RenderEmbeddedObject::canHaveChildren() const 314 bool RenderEmbeddedObject::canHaveChildren() const
313 { 315 {
314 return false; 316 return false;
315 } 317 }
316 318
317 } 319 }
OLDNEW
« no previous file with comments | « Source/core/rendering/InlineTextBox.cpp ('k') | Source/core/rendering/RenderFileUploadControl.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698