Create colored shadows demo

Test: HwAccelerationTest demo
Bug: 68211332
Change-Id: Ia53a6ac2854570d0495b355bbebee1dcec2f47ba
diff --git a/libs/hwui/RenderProperties.h b/libs/hwui/RenderProperties.h
index 837c4ef..3d2c252 100644
--- a/libs/hwui/RenderProperties.h
+++ b/libs/hwui/RenderProperties.h
@@ -26,6 +26,7 @@
 
 #include <SkBlendMode.h>
 #include <SkCamera.h>
+#include <SkColor.h>
 #include <SkMatrix.h>
 #include <SkRegion.h>
 
@@ -506,6 +507,14 @@
                getOutline().getAlpha() != 0.0f;
     }
 
+    SkColor getShadowColor() const {
+        return mPrimitiveFields.mShadowColor;
+    }
+
+    bool setShadowColor(SkColor shadowColor) {
+        return RP_SET(mPrimitiveFields.mShadowColor, shadowColor);
+    }
+
     bool fitsOnLayer() const {
         const DeviceInfo* deviceInfo = DeviceInfo::get();
         return mPrimitiveFields.mWidth <= deviceInfo->maxTextureSize() &&
@@ -529,6 +538,7 @@
         int mLeft = 0, mTop = 0, mRight = 0, mBottom = 0;
         int mWidth = 0, mHeight = 0;
         int mClippingFlags = CLIP_TO_BOUNDS;
+        SkColor mShadowColor = SK_ColorBLACK;
         float mAlpha = 1;
         float mTranslationX = 0, mTranslationY = 0, mTranslationZ = 0;
         float mElevation = 0;