Clip TouchFeedbackDrawable effect to receiver Outline

Projected RenderNodes are now wrapped with a ClipRect or masked
SaveLayer, so that they are clipped to the outline of the projection
receiver surface.

Change-Id: I1d4afc1bb5d638d650bc0b1dac51a498f216773e
diff --git a/libs/hwui/Snapshot.h b/libs/hwui/Snapshot.h
index 5bdb18a..038aea8 100644
--- a/libs/hwui/Snapshot.h
+++ b/libs/hwui/Snapshot.h
@@ -108,7 +108,12 @@
      * Returns the current clip in local coordinates. The clip rect is
      * transformed by the inverse transform matrix.
      */
-    ANDROID_API const Rect& getLocalClip();
+    const Rect& getLocalClip();
+
+    /**
+     * Returns the current clip in render target coordinates.
+     */
+    const Rect& getRenderTargetClip() { return *clipRect; }
 
     /**
      * Resets the clip to the specified rect.
@@ -238,7 +243,7 @@
 
     mat4 mTransformRoot;
     Rect mClipRectRoot;
-    Rect mLocalClip;
+    Rect mLocalClip; // don't use directly, call getLocalClip() which initializes this
 
     SkRegion mClipRegionRoot;