Index: include/gpu/effects/GrCustomXfermode.h |
diff --git a/include/gpu/effects/GrCustomXfermode.h b/include/gpu/effects/GrCustomXfermode.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e35727e96ede91bf87b4a13015be586ca288fea6 |
--- /dev/null |
+++ b/include/gpu/effects/GrCustomXfermode.h |
@@ -0,0 +1,28 @@ |
+/* |
+ * Copyright 2015 Google Inc. |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+#ifndef GrCustomXfermode_DEFINED |
+#define GrCustomXfermode_DEFINED |
+ |
+#include "SkXfermode.h" |
+ |
+class GrFragmentProcessor; |
+class GrTexture; |
+ |
+/** |
+ * Custom Xfer modes are used for blending when the blend mode cannot be represented using blend |
+ * coefficients. It is assumed that all blending is done within the processors' emit code. For each |
+ * blend mode there should be a matching fragment processor (used when blending with a background |
+ * texture) and xfer processor. |
+ */ |
+namespace GrCustomXfermode { |
+ bool IsSupportedMode(SkXfermode::Mode mode); |
+ |
+ GrFragmentProcessor* CreateFP(SkXfermode::Mode mode, GrTexture* background); |
+}; |
+ |
+#endif |