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

Side by Side Diff: Source/core/platform/graphics/DrawLooper.cpp

Issue 20061003: Move isValid/isCurrentColor from Color to StyleColor (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 5 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) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 void DrawLooper::addUnmodifiedContent() 46 void DrawLooper::addUnmodifiedContent()
47 { 47 {
48 SkLayerDrawLooper::LayerInfo info; 48 SkLayerDrawLooper::LayerInfo info;
49 m_skDrawLooper->addLayerOnTop(info); 49 m_skDrawLooper->addLayerOnTop(info);
50 } 50 }
51 51
52 void DrawLooper::addShadow(const FloatSize& offset, float blur, const Color& col or, 52 void DrawLooper::addShadow(const FloatSize& offset, float blur, const Color& col or,
53 ShadowTransformMode shadowTransformMode, ShadowAlphaMode shadowAlphaMode) 53 ShadowTransformMode shadowTransformMode, ShadowAlphaMode shadowAlphaMode)
54 { 54 {
55 // Detect when there's no effective shadow. 55 // Detect when there's no effective shadow.
56 if (!color.isValid() || !color.alpha()) 56 if (!color.alpha())
57 return; 57 return;
58 58
59 SkColor skColor; 59 SkColor skColor = color.rgb();
60 if (color.isValid())
61 skColor = color.rgb();
62 else
63 skColor = SkColorSetARGB(0xFF / 3, 0, 0, 0); // "std" apple shadow color .
64 60
65 SkLayerDrawLooper::LayerInfo info; 61 SkLayerDrawLooper::LayerInfo info;
66 62
67 switch (shadowAlphaMode) { 63 switch (shadowAlphaMode) {
68 case ShadowRespectsAlpha: 64 case ShadowRespectsAlpha:
69 info.fColorMode = SkXfermode::kDst_Mode; 65 info.fColorMode = SkXfermode::kDst_Mode;
70 break; 66 break;
71 case ShadowIgnoresAlpha: 67 case ShadowIgnoresAlpha:
72 info.fColorMode = SkXfermode::kSrc_Mode; 68 info.fColorMode = SkXfermode::kSrc_Mode;
73 break; 69 break;
(...skipping 16 matching lines...) Expand all
90 SkMaskFilter* mf = SkBlurMaskFilter::Create((double)blur / 2.0, 86 SkMaskFilter* mf = SkBlurMaskFilter::Create((double)blur / 2.0,
91 SkBlurMaskFilter::kNormal_BlurStyle, mfFlags); 87 SkBlurMaskFilter::kNormal_BlurStyle, mfFlags);
92 SkSafeUnref(paint->setMaskFilter(mf)); 88 SkSafeUnref(paint->setMaskFilter(mf));
93 } 89 }
94 90
95 SkColorFilter* cf = SkColorFilter::CreateModeFilter(skColor, SkXfermode::kSr cIn_Mode); 91 SkColorFilter* cf = SkColorFilter::CreateModeFilter(skColor, SkXfermode::kSr cIn_Mode);
96 SkSafeUnref(paint->setColorFilter(cf)); 92 SkSafeUnref(paint->setColorFilter(cf));
97 } 93 }
98 94
99 } // namespace WebCore 95 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698