| Index: webkit/renderer/compositor_bindings/web_blend_mode.h
|
| diff --git a/webkit/renderer/compositor_bindings/web_blend_mode.h b/webkit/renderer/compositor_bindings/web_blend_mode.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..24236ffe62256330ac1189d4595d074e80e4fb0c
|
| --- /dev/null
|
| +++ b/webkit/renderer/compositor_bindings/web_blend_mode.h
|
| @@ -0,0 +1,106 @@
|
| +// Copyright 2013 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef WEBKIT_RENDERER_COMPOSITOR_BINDINGS_WEB_BLEND_MODE_H_
|
| +#define WEBKIT_RENDERER_COMPOSITOR_BINDINGS_WEB_BLEND_MODE_H_
|
| +
|
| +#include "third_party/WebKit/public/platform/WebBlendMode.h"
|
| +
|
| +namespace webkit {
|
| +
|
| +inline SkXfermode::Mode BlendModeToSkia(blink::WebBlendMode blend_mode) {
|
| + switch (blend_mode) {
|
| + case blink::WebBlendModeNormal:
|
| + return SkXfermode::kSrcOver_Mode;
|
| + case blink::WebBlendModeMultiply:
|
| + return SkXfermode::kMultiply_Mode;
|
| + case blink::WebBlendModeScreen:
|
| + return SkXfermode::kScreen_Mode;
|
| + case blink::WebBlendModeOverlay:
|
| + return SkXfermode::kOverlay_Mode;
|
| + case blink::WebBlendModeDarken:
|
| + return SkXfermode::kDarken_Mode;
|
| + case blink::WebBlendModeLighten:
|
| + return SkXfermode::kLighten_Mode;
|
| + case blink::WebBlendModeColorDodge:
|
| + return SkXfermode::kColorDodge_Mode;
|
| + case blink::WebBlendModeColorBurn:
|
| + return SkXfermode::kColorBurn_Mode;
|
| + case blink::WebBlendModeHardLight:
|
| + return SkXfermode::kHardLight_Mode;
|
| + case blink::WebBlendModeSoftLight:
|
| + return SkXfermode::kSoftLight_Mode;
|
| + case blink::WebBlendModeDifference:
|
| + return SkXfermode::kDifference_Mode;
|
| + case blink::WebBlendModeExclusion:
|
| + return SkXfermode::kExclusion_Mode;
|
| + case blink::WebBlendModeHue:
|
| + return SkXfermode::kHue_Mode;
|
| + case blink::WebBlendModeSaturation:
|
| + return SkXfermode::kSaturation_Mode;
|
| + case blink::WebBlendModeColor:
|
| + return SkXfermode::kColor_Mode;
|
| + case blink::WebBlendModeLuminosity:
|
| + return SkXfermode::kLuminosity_Mode;
|
| + }
|
| + return SkXfermode::kSrcOver_Mode;
|
| +}
|
| +
|
| +inline blink::WebBlendMode BlendModeFromSkia(SkXfermode::Mode blend_mode) {
|
| + switch (blend_mode) {
|
| + case SkXfermode::kSrcOver_Mode:
|
| + return blink::WebBlendModeNormal;
|
| + case SkXfermode::kMultiply_Mode:
|
| + return blink::WebBlendModeMultiply;
|
| + case SkXfermode::kScreen_Mode:
|
| + return blink::WebBlendModeScreen;
|
| + case SkXfermode::kOverlay_Mode:
|
| + return blink::WebBlendModeOverlay;
|
| + case SkXfermode::kDarken_Mode:
|
| + return blink::WebBlendModeDarken;
|
| + case SkXfermode::kLighten_Mode:
|
| + return blink::WebBlendModeLighten;
|
| + case SkXfermode::kColorDodge_Mode:
|
| + return blink::WebBlendModeColorDodge;
|
| + case SkXfermode::kColorBurn_Mode:
|
| + return blink::WebBlendModeColorBurn;
|
| + case SkXfermode::kHardLight_Mode:
|
| + return blink::WebBlendModeHardLight;
|
| + case SkXfermode::kSoftLight_Mode:
|
| + return blink::WebBlendModeSoftLight;
|
| + case SkXfermode::kDifference_Mode:
|
| + return blink::WebBlendModeDifference;
|
| + case SkXfermode::kExclusion_Mode:
|
| + return blink::WebBlendModeExclusion;
|
| + case SkXfermode::kHue_Mode:
|
| + return blink::WebBlendModeHue;
|
| + case SkXfermode::kSaturation_Mode:
|
| + return blink::WebBlendModeSaturation;
|
| + case SkXfermode::kColor_Mode:
|
| + return blink::WebBlendModeColor;
|
| + case SkXfermode::kLuminosity_Mode:
|
| + return blink::WebBlendModeLuminosity;
|
| +
|
| + // these value are SkXfermodes, but no blend modes.
|
| + case SkXfermode::kClear_Mode:
|
| + case SkXfermode::kSrc_Mode:
|
| + case SkXfermode::kDst_Mode:
|
| + case SkXfermode::kDstOver_Mode:
|
| + case SkXfermode::kSrcIn_Mode:
|
| + case SkXfermode::kDstIn_Mode:
|
| + case SkXfermode::kSrcOut_Mode:
|
| + case SkXfermode::kDstOut_Mode:
|
| + case SkXfermode::kSrcATop_Mode:
|
| + case SkXfermode::kDstATop_Mode:
|
| + case SkXfermode::kXor_Mode:
|
| + case SkXfermode::kPlus_Mode:
|
| + case SkXfermode::kModulate_Mode:
|
| + NOTREACHED();
|
| + }
|
| + return blink::WebBlendModeNormal;
|
| +}
|
| +
|
| +} // namespace webkit
|
| +
|
| +#endif // WEBKIT_RENDERER_COMPOSITOR_BINDINGS_WEB_BLEND_MODE_H_
|
|
|