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

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

Issue 1164573002: CSSValue Immediates: Change CSSValue to an object instead of a pointer (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase Created 5 years, 4 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 // 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 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 if (!m_resolvedFilter) { 334 if (!m_resolvedFilter) {
335 RefPtr<ComputedStyle> filterStyle = ComputedStyle::create(); 335 RefPtr<ComputedStyle> filterStyle = ComputedStyle::create();
336 // Must set font in case the filter uses any font-relative units (em, ex ) 336 // Must set font in case the filter uses any font-relative units (em, ex )
337 filterStyle->setFont(font); 337 filterStyle->setFont(font);
338 338
339 StyleResolverState resolverState(styleResolutionHost->document(), styleR esolutionHost, filterStyle.get()); 339 StyleResolverState resolverState(styleResolutionHost->document(), styleR esolutionHost, filterStyle.get());
340 resolverState.setStyle(filterStyle); 340 resolverState.setStyle(filterStyle);
341 341
342 // TODO(junov): crbug.com/502877 Feed m_fillStyle and m_strokeStyle into FillPaint and 342 // TODO(junov): crbug.com/502877 Feed m_fillStyle and m_strokeStyle into FillPaint and
343 // StrokePaint respectively for filters that reference SVG. 343 // StrokePaint respectively for filters that reference SVG.
344 StyleBuilder::applyProperty(CSSPropertyWebkitFilter, resolverState, m_fi lterValue.get()); 344 StyleBuilder::applyProperty(CSSPropertyWebkitFilter, resolverState, *m_f ilterValue);
345 RefPtrWillBeRawPtr<FilterEffectBuilder> filterEffectBuilder = FilterEffe ctBuilder::create(); 345 RefPtrWillBeRawPtr<FilterEffectBuilder> filterEffectBuilder = FilterEffe ctBuilder::create();
346 const float effectiveZoom = 1.0f; // Deliberately ignore zoom on the can vas element 346 const float effectiveZoom = 1.0f; // Deliberately ignore zoom on the can vas element
347 filterEffectBuilder->build(styleResolutionHost, filterStyle->filter(), e ffectiveZoom); 347 filterEffectBuilder->build(styleResolutionHost, filterStyle->filter(), e ffectiveZoom);
348 348
349 SkiaImageFilterBuilder imageFilterBuilder; 349 SkiaImageFilterBuilder imageFilterBuilder;
350 RefPtrWillBeRawPtr<FilterEffect> lastEffect = filterEffectBuilder->lastE ffect(); 350 RefPtrWillBeRawPtr<FilterEffect> lastEffect = filterEffectBuilder->lastE ffect();
351 m_resolvedFilter = imageFilterBuilder.build(lastEffect.get(), ColorSpace DeviceRGB); 351 m_resolvedFilter = imageFilterBuilder.build(lastEffect.get(), ColorSpace DeviceRGB);
352 } 352 }
353 353
354 return m_resolvedFilter.get(); 354 return m_resolvedFilter.get();
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 m_shadowBlur = shadowBlur; 427 m_shadowBlur = shadowBlur;
428 shadowParameterChanged(); 428 shadowParameterChanged();
429 } 429 }
430 430
431 void CanvasRenderingContext2DState::setShadowColor(SkColor shadowColor) 431 void CanvasRenderingContext2DState::setShadowColor(SkColor shadowColor)
432 { 432 {
433 m_shadowColor = shadowColor; 433 m_shadowColor = shadowColor;
434 shadowParameterChanged(); 434 shadowParameterChanged();
435 } 435 }
436 436
437 void CanvasRenderingContext2DState::setFilter(PassRefPtrWillBeRawPtr<CSSValue> f ilterValue) 437 void CanvasRenderingContext2DState::setFilter(CSSValue filterValue)
438 { 438 {
439 m_filterValue = filterValue; 439 m_filterValue = filterValue;
440 m_resolvedFilter.clear(); 440 m_resolvedFilter.clear();
441 } 441 }
442 442
443 void CanvasRenderingContext2DState::setGlobalComposite(SkXfermode::Mode mode) 443 void CanvasRenderingContext2DState::setGlobalComposite(SkXfermode::Mode mode)
444 { 444 {
445 m_strokePaint.setXfermodeMode(mode); 445 m_strokePaint.setXfermodeMode(mode);
446 m_fillPaint.setXfermodeMode(mode); 446 m_fillPaint.setXfermodeMode(mode);
447 m_imagePaint.setXfermodeMode(mode); 447 m_imagePaint.setXfermodeMode(mode);
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
523 paint->setLooper(0); 523 paint->setLooper(0);
524 paint->setImageFilter(shadowAndForegroundImageFilter()); 524 paint->setImageFilter(shadowAndForegroundImageFilter());
525 return paint; 525 return paint;
526 } 526 }
527 paint->setLooper(shadowAndForegroundDrawLooper()); 527 paint->setLooper(shadowAndForegroundDrawLooper());
528 paint->setImageFilter(0); 528 paint->setImageFilter(0);
529 return paint; 529 return paint;
530 } 530 }
531 531
532 } // blink 532 } // blink
OLDNEW
« no previous file with comments | « Source/modules/canvas2d/CanvasRenderingContext2DState.h ('k') | Source/platform/heap/ThreadState.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698