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

Side by Side Diff: third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp

Issue 1454163005: Change float-->double in CanvasRenderingContext2D.idl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 6
7 #include "modules/canvas2d/CanvasRenderingContext2DState.h" 7 #include "modules/canvas2d/CanvasRenderingContext2DState.h"
8 8
9 #include "core/css/CSSFontSelector.h" 9 #include "core/css/CSSFontSelector.h"
10 #include "core/css/resolver/FilterOperationResolver.h" 10 #include "core/css/resolver/FilterOperationResolver.h"
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 } 180 }
181 181
182 DEFINE_TRACE(CanvasRenderingContext2DState) 182 DEFINE_TRACE(CanvasRenderingContext2DState)
183 { 183 {
184 visitor->trace(m_strokeStyle); 184 visitor->trace(m_strokeStyle);
185 visitor->trace(m_fillStyle); 185 visitor->trace(m_fillStyle);
186 visitor->trace(m_filterValue); 186 visitor->trace(m_filterValue);
187 CSSFontSelectorClient::trace(visitor); 187 CSSFontSelectorClient::trace(visitor);
188 } 188 }
189 189
190 void CanvasRenderingContext2DState::setLineDashOffset(float offset) 190 void CanvasRenderingContext2DState::setLineDashOffset(double offset)
191 { 191 {
192 m_lineDashOffset = offset; 192 m_lineDashOffset = offset;
193 m_lineDashDirty = true; 193 m_lineDashDirty = true;
194 } 194 }
195 195
196 void CanvasRenderingContext2DState::setLineDash(const Vector<float>& dash) 196 void CanvasRenderingContext2DState::setLineDash(const Vector<float>& dash)
197 { 197 {
198 m_lineDash = dash; 198 m_lineDash = dash;
199 // Spec requires the concatenation of two copies the dash list when the 199 // Spec requires the concatenation of two copies the dash list when the
200 // number of elements is odd 200 // number of elements is odd
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 m_strokePaint.setAntiAlias(shouldAntialias); 294 m_strokePaint.setAntiAlias(shouldAntialias);
295 m_imagePaint.setAntiAlias(shouldAntialias); 295 m_imagePaint.setAntiAlias(shouldAntialias);
296 } 296 }
297 297
298 bool CanvasRenderingContext2DState::shouldAntialias() const 298 bool CanvasRenderingContext2DState::shouldAntialias() const
299 { 299 {
300 ASSERT(m_fillPaint.isAntiAlias() == m_strokePaint.isAntiAlias() && m_fillPai nt.isAntiAlias() == m_imagePaint.isAntiAlias()); 300 ASSERT(m_fillPaint.isAntiAlias() == m_strokePaint.isAntiAlias() && m_fillPai nt.isAntiAlias() == m_imagePaint.isAntiAlias());
301 return m_fillPaint.isAntiAlias(); 301 return m_fillPaint.isAntiAlias();
302 } 302 }
303 303
304 void CanvasRenderingContext2DState::setGlobalAlpha(float alpha) 304 void CanvasRenderingContext2DState::setGlobalAlpha(double alpha)
305 { 305 {
306 m_globalAlpha = alpha; 306 m_globalAlpha = alpha;
307 m_strokeStyleDirty = true; 307 m_strokeStyleDirty = true;
308 m_fillStyleDirty = true; 308 m_fillStyleDirty = true;
309 int imageAlpha = clampedAlphaForBlending(alpha); 309 int imageAlpha = clampedAlphaForBlending(alpha);
310 m_imagePaint.setAlpha(imageAlpha > 255 ? 255 : imageAlpha); 310 m_imagePaint.setAlpha(imageAlpha > 255 ? 255 : imageAlpha);
311 } 311 }
312 312
313 void CanvasRenderingContext2DState::clipPath(const SkPath& path, AntiAliasingMod e antiAliasingMode) 313 void CanvasRenderingContext2DState::clipPath(const SkPath& path, AntiAliasingMod e antiAliasingMode)
314 { 314 {
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 // Must set font in case the filter uses any font-relative units (em, ex ) 361 // Must set font in case the filter uses any font-relative units (em, ex )
362 filterStyle->setFont(font); 362 filterStyle->setFont(font);
363 363
364 StyleResolverState resolverState(styleResolutionHost->document(), styleR esolutionHost, filterStyle.get()); 364 StyleResolverState resolverState(styleResolutionHost->document(), styleR esolutionHost, filterStyle.get());
365 resolverState.setStyle(filterStyle); 365 resolverState.setStyle(filterStyle);
366 366
367 // TODO(junov): crbug.com/502877 Feed m_fillStyle and m_strokeStyle into FillPaint and 367 // TODO(junov): crbug.com/502877 Feed m_fillStyle and m_strokeStyle into FillPaint and
368 // StrokePaint respectively for filters that reference SVG. 368 // StrokePaint respectively for filters that reference SVG.
369 StyleBuilder::applyProperty(CSSPropertyWebkitFilter, resolverState, m_fi lterValue.get()); 369 StyleBuilder::applyProperty(CSSPropertyWebkitFilter, resolverState, m_fi lterValue.get());
370 RefPtrWillBeRawPtr<FilterEffectBuilder> filterEffectBuilder = FilterEffe ctBuilder::create(); 370 RefPtrWillBeRawPtr<FilterEffectBuilder> filterEffectBuilder = FilterEffe ctBuilder::create();
371 const float effectiveZoom = 1.0f; // Deliberately ignore zoom on the can vas element 371 const double effectiveZoom = 1.0; // Deliberately ignore zoom on the can vas element
372 filterEffectBuilder->build(styleResolutionHost, filterStyle->filter(), e ffectiveZoom); 372 filterEffectBuilder->build(styleResolutionHost, filterStyle->filter(), e ffectiveZoom);
373 373
374 SkiaImageFilterBuilder imageFilterBuilder; 374 SkiaImageFilterBuilder imageFilterBuilder;
375 RefPtrWillBeRawPtr<FilterEffect> lastEffect = filterEffectBuilder->lastE ffect(); 375 RefPtrWillBeRawPtr<FilterEffect> lastEffect = filterEffectBuilder->lastE ffect();
376 m_resolvedFilter = imageFilterBuilder.build(lastEffect.get(), ColorSpace DeviceRGB); 376 m_resolvedFilter = imageFilterBuilder.build(lastEffect.get(), ColorSpace DeviceRGB);
377 } 377 }
378 378
379 return m_resolvedFilter.get(); 379 return m_resolvedFilter.get();
380 } 380 }
381 381
(...skipping 23 matching lines...) Expand all
405 drawLooperBuilder->addShadow(m_shadowOffset, m_shadowBlur, m_shadowColor , DrawLooperBuilder::ShadowIgnoresTransforms, DrawLooperBuilder::ShadowRespectsA lpha); 405 drawLooperBuilder->addShadow(m_shadowOffset, m_shadowBlur, m_shadowColor , DrawLooperBuilder::ShadowIgnoresTransforms, DrawLooperBuilder::ShadowRespectsA lpha);
406 drawLooperBuilder->addUnmodifiedContent(); 406 drawLooperBuilder->addUnmodifiedContent();
407 m_shadowAndForegroundDrawLooper = drawLooperBuilder->detachDrawLooper(); 407 m_shadowAndForegroundDrawLooper = drawLooperBuilder->detachDrawLooper();
408 } 408 }
409 return m_shadowAndForegroundDrawLooper.get(); 409 return m_shadowAndForegroundDrawLooper.get();
410 } 410 }
411 411
412 SkImageFilter* CanvasRenderingContext2DState::shadowOnlyImageFilter() const 412 SkImageFilter* CanvasRenderingContext2DState::shadowOnlyImageFilter() const
413 { 413 {
414 if (!m_shadowOnlyImageFilter) { 414 if (!m_shadowOnlyImageFilter) {
415 float sigma = skBlurRadiusToSigma(m_shadowBlur); 415 double sigma = skBlurRadiusToSigma(m_shadowBlur);
416 m_shadowOnlyImageFilter = adoptRef(SkDropShadowImageFilter::Create(m_sha dowOffset.width(), m_shadowOffset.height(), sigma, sigma, m_shadowColor, SkDropS hadowImageFilter::kDrawShadowOnly_ShadowMode)); 416 m_shadowOnlyImageFilter = adoptRef(SkDropShadowImageFilter::Create(m_sha dowOffset.width(), m_shadowOffset.height(), sigma, sigma, m_shadowColor, SkDropS hadowImageFilter::kDrawShadowOnly_ShadowMode));
417 } 417 }
418 return m_shadowOnlyImageFilter.get(); 418 return m_shadowOnlyImageFilter.get();
419 } 419 }
420 420
421 SkImageFilter* CanvasRenderingContext2DState::shadowAndForegroundImageFilter() c onst 421 SkImageFilter* CanvasRenderingContext2DState::shadowAndForegroundImageFilter() c onst
422 { 422 {
423 if (!m_shadowAndForegroundImageFilter) { 423 if (!m_shadowAndForegroundImageFilter) {
424 float sigma = skBlurRadiusToSigma(m_shadowBlur); 424 double sigma = skBlurRadiusToSigma(m_shadowBlur);
425 m_shadowAndForegroundImageFilter = adoptRef(SkDropShadowImageFilter::Cre ate(m_shadowOffset.width(), m_shadowOffset.height(), sigma, sigma, m_shadowColor , SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode)); 425 m_shadowAndForegroundImageFilter = adoptRef(SkDropShadowImageFilter::Cre ate(m_shadowOffset.width(), m_shadowOffset.height(), sigma, sigma, m_shadowColor , SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode));
426 } 426 }
427 return m_shadowAndForegroundImageFilter.get(); 427 return m_shadowAndForegroundImageFilter.get();
428 } 428 }
429 429
430 void CanvasRenderingContext2DState::shadowParameterChanged() 430 void CanvasRenderingContext2DState::shadowParameterChanged()
431 { 431 {
432 m_shadowOnlyDrawLooper.clear(); 432 m_shadowOnlyDrawLooper.clear();
433 m_shadowAndForegroundDrawLooper.clear(); 433 m_shadowAndForegroundDrawLooper.clear();
434 m_shadowOnlyImageFilter.clear(); 434 m_shadowOnlyImageFilter.clear();
435 m_shadowAndForegroundImageFilter.clear(); 435 m_shadowAndForegroundImageFilter.clear();
436 } 436 }
437 437
438 void CanvasRenderingContext2DState::setShadowOffsetX(float x) 438 void CanvasRenderingContext2DState::setShadowOffsetX(double x)
439 { 439 {
440 m_shadowOffset.setWidth(x); 440 m_shadowOffset.setWidth(x);
441 shadowParameterChanged(); 441 shadowParameterChanged();
442 } 442 }
443 443
444 void CanvasRenderingContext2DState::setShadowOffsetY(float y) 444 void CanvasRenderingContext2DState::setShadowOffsetY(double y)
445 { 445 {
446 m_shadowOffset.setHeight(y); 446 m_shadowOffset.setHeight(y);
447 shadowParameterChanged(); 447 shadowParameterChanged();
448 } 448 }
449 449
450 void CanvasRenderingContext2DState::setShadowBlur(float shadowBlur) 450 void CanvasRenderingContext2DState::setShadowBlur(double shadowBlur)
451 { 451 {
452 m_shadowBlur = shadowBlur; 452 m_shadowBlur = shadowBlur;
453 shadowParameterChanged(); 453 shadowParameterChanged();
454 } 454 }
455 455
456 void CanvasRenderingContext2DState::setShadowColor(SkColor shadowColor) 456 void CanvasRenderingContext2DState::setShadowColor(SkColor shadowColor)
457 { 457 {
458 m_shadowColor = shadowColor; 458 m_shadowColor = shadowColor;
459 shadowParameterChanged(); 459 shadowParameterChanged();
460 } 460 }
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
592 paint->setLooper(0); 592 paint->setLooper(0);
593 paint->setImageFilter(shadowAndForegroundImageFilter()); 593 paint->setImageFilter(shadowAndForegroundImageFilter());
594 return paint; 594 return paint;
595 } 595 }
596 paint->setLooper(shadowAndForegroundDrawLooper()); 596 paint->setLooper(shadowAndForegroundDrawLooper());
597 paint->setImageFilter(0); 597 paint->setImageFilter(0);
598 return paint; 598 return paint;
599 } 599 }
600 600
601 } // blink 601 } // blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698