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

Unified Diff: webkit/renderer/compositor_bindings/web_blend_mode.h

Issue 23455060: mix-blend-mode implementation for accelerated layers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added compositor_bindungs Created 7 years, 2 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 side-by-side diff with in-line comments
Download patch
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..bdd63495991697293eedb32e9cfc0a37d4c42fea
--- /dev/null
+++ b/webkit/renderer/compositor_bindings/web_blend_mode.h
@@ -0,0 +1,60 @@
+// 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(WebKit::WebBlendMode blendMode) {
enne (OOO) 2013/10/11 18:14:35 blend_mode
rosca 2013/10/16 14:54:47 Done.
+ switch (blendMode) {
+ case WebKit::WebBlendModeNormal: return SkXfermode::kSrcOver_Mode;
enne (OOO) 2013/10/11 18:14:35 Just git cl format this patch please. Vertical al
rosca 2013/10/16 14:54:47 Done.
+ case WebKit::WebBlendModeMultiply: return SkXfermode::kMultiply_Mode;
+ case WebKit::WebBlendModeScreen: return SkXfermode::kScreen_Mode;
+ case WebKit::WebBlendModeOverlay: return SkXfermode::kOverlay_Mode;
+ case WebKit::WebBlendModeDarken: return SkXfermode::kDarken_Mode;
+ case WebKit::WebBlendModeLighten: return SkXfermode::kLighten_Mode;
+ case WebKit::WebBlendModeColorDodge: return SkXfermode::kColorDodge_Mode;
+ case WebKit::WebBlendModeColorBurn: return SkXfermode::kColorBurn_Mode;
+ case WebKit::WebBlendModeHardLight: return SkXfermode::kHardLight_Mode;
+ case WebKit::WebBlendModeSoftLight: return SkXfermode::kSoftLight_Mode;
+ case WebKit::WebBlendModeDifference: return SkXfermode::kDifference_Mode;
+ case WebKit::WebBlendModeExclusion: return SkXfermode::kExclusion_Mode;
+ case WebKit::WebBlendModeHue: return SkXfermode::kHue_Mode;
+ case WebKit::WebBlendModeSaturation: return SkXfermode::kSaturation_Mode;
+ case WebKit::WebBlendModeColor: return SkXfermode::kColor_Mode;
+ case WebKit::WebBlendModeLuminosity: return SkXfermode::kLuminosity_Mode;
+ default: NOTREACHED();
+ }
+ return SkXfermode::kSrcOver_Mode;
+}
+
+inline WebKit::WebBlendMode BlendModeFromSkia(SkXfermode::Mode blendMode) {
enne (OOO) 2013/10/11 18:14:35 blend_mode
rosca 2013/10/16 14:54:47 Done.
+ switch (blendMode) {
+ case SkXfermode::kSrcOver_Mode: return WebKit::WebBlendModeNormal;
+ case SkXfermode::kMultiply_Mode: return WebKit::WebBlendModeMultiply;
+ case SkXfermode::kScreen_Mode: return WebKit::WebBlendModeScreen;
+ case SkXfermode::kOverlay_Mode: return WebKit::WebBlendModeOverlay;
+ case SkXfermode::kDarken_Mode: return WebKit::WebBlendModeDarken;
+ case SkXfermode::kLighten_Mode: return WebKit::WebBlendModeLighten;
+ case SkXfermode::kColorDodge_Mode: return WebKit::WebBlendModeColorDodge;
+ case SkXfermode::kColorBurn_Mode: return WebKit::WebBlendModeColorBurn;
+ case SkXfermode::kHardLight_Mode: return WebKit::WebBlendModeHardLight;
+ case SkXfermode::kSoftLight_Mode: return WebKit::WebBlendModeSoftLight;
+ case SkXfermode::kDifference_Mode: return WebKit::WebBlendModeDifference;
+ case SkXfermode::kExclusion_Mode: return WebKit::WebBlendModeExclusion;
+ case SkXfermode::kHue_Mode: return WebKit::WebBlendModeHue;
+ case SkXfermode::kSaturation_Mode: return WebKit::WebBlendModeSaturation;
+ case SkXfermode::kColor_Mode: return WebKit::WebBlendModeColor;
+ case SkXfermode::kLuminosity_Mode: return WebKit::WebBlendModeLuminosity;
+ default: NOTREACHED();
+ }
+ return WebKit::WebBlendModeNormal;
+}
+
+} // namespace webkit
+
+#endif // WEBKIT_RENDERER_COMPOSITOR_BINDINGS_WEB_BLEND_MODE_H_

Powered by Google App Engine
This is Rietveld 408576698