Index: include/private/SkRecords.h |
diff --git a/include/private/SkRecords.h b/include/private/SkRecords.h |
index 1f2807842c4f76a3a42c7beff50bbbe0bca4cdbc..2586af30332a00ca13f7312ce09f511290d9f1a0 100644 |
--- a/include/private/SkRecords.h |
+++ b/include/private/SkRecords.h |
@@ -10,9 +10,11 @@ |
#include "SkCanvas.h" |
#include "SkDrawable.h" |
+#include "SkLight.h" |
#include "SkMatrix.h" |
#include "SkPath.h" |
#include "SkPicture.h" |
+#include "SkPoint3.h" |
#include "SkRect.h" |
#include "SkRRect.h" |
#include "SkRSXform.h" |
@@ -65,6 +67,7 @@ namespace SkRecords { |
M(DrawSprite) \ |
M(DrawTextBlob) \ |
M(DrawAtlas) \ |
+ M(DrawLitAtlas) \ |
M(DrawVertices) |
// Defines SkRecords::Type, an enum of all record types. |
@@ -140,6 +143,20 @@ struct T { \ |
A a; B b; C c; D d; E e; F f; G g; H h; \ |
}; |
+#define RECORDB(T, A, a, B, b, C, c, D, d, E, e, F, f, G, g, H, h, I, i, J, j, K, k) \ |
+struct T { \ |
+ static const Type kType = T##_Type; \ |
+ T() {} \ |
+ template <typename Z, typename Y, typename X, typename W, \ |
+ typename V, typename U, typename S, typename R, \ |
+ typename Q, typename P, typename O> \ |
+ T(const Z& a, const Y& b, const X& c, const W& d, \ |
+ const V& e, const U& f, const S& g, const R& h, \ |
+ const Q& i, const P& j, const O& k) \ |
+ : a(a), b(b), c(c), d(d), e(e), f(f), g(g), h(h), i(i), j(j), k(k) {} \ |
+ A a; B b; C c; D d; E e; F f; G g; H h; I i; J j; K k; \ |
+}; |
+ |
#define ACT_AS_PTR(ptr) \ |
operator T*() const { return ptr; } \ |
T* operator->() const { return ptr; } |
@@ -340,6 +357,18 @@ RECORD8(DrawAtlas, Optional<SkPaint>, paint, |
SkXfermode::Mode, mode, |
Optional<SkRect>, cull); |
+RECORDB(DrawLitAtlas, Optional<SkPaint>, paint, |
+ RefBox<const SkImage>, atlas, |
+ PODArray<SkRSXform>, xforms, |
+ PODArray<SkRect>, diffTexs, |
+ PODArray<SkRect>, normTexs, |
+ PODArray<SkColor>, colors, |
+ int, count, |
+ SkXfermode::Mode, mode, |
+ Optional<SkRect>, cull, |
+ PODArray<SkLight>, lights, |
+ int, numLights); |
+ |
// This guy is so ugly we just write it manually. |
struct DrawVertices { |
static const Type kType = DrawVertices_Type; |