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