Add blend intrinsic to C++ API.

Change-Id: Id4d27650d27ef50d2a503307adc60946503a5267
diff --git a/cpp/rsCppStructs.h b/cpp/rsCppStructs.h
index bee43d8..0b7e613 100644
--- a/cpp/rsCppStructs.h
+++ b/cpp/rsCppStructs.h
@@ -523,8 +523,33 @@
 
 };
 
+class ScriptIntrinsic : public Script {
+ protected:
+    ScriptIntrinsic(sp<RS> rs, int id, Element *e);
+};
+
+class ScriptIntrinsicBlend : public ScriptIntrinsic {
+ public:
+    ScriptIntrinsicBlend(sp<RS> rs, Element *e);
+    void blendClear(sp<Allocation> in, sp<Allocation> out);
+    void blendSrc(sp<Allocation> in, sp<Allocation> out);
+    void blendDst(sp<Allocation> in, sp<Allocation> out);
+    void blendSrcOver(sp<Allocation> in, sp<Allocation> out);
+    void blendDstOver(sp<Allocation> in, sp<Allocation> out);
+    void blendSrcIn(sp<Allocation> in, sp<Allocation> out);
+    void blendDstIn(sp<Allocation> in, sp<Allocation> out);
+    void blendSrcOut(sp<Allocation> in, sp<Allocation> out);
+    void blendDstOut(sp<Allocation> in, sp<Allocation> out);
+    void blendSrcAtop(sp<Allocation> in, sp<Allocation> out);
+    void blendDstAtop(sp<Allocation> in, sp<Allocation> out);
+    void blendXor(sp<Allocation> in, sp<Allocation> out);
+    void blendMultiply(sp<Allocation> in, sp<Allocation> out);
+    void blendAdd(sp<Allocation> in, sp<Allocation> out);
+    void blendSubtract(sp<Allocation> in, sp<Allocation> out);
+};
 
 }
+
 }
 
 #endif