From 021693b967a2c5556dddd183eb0247df4079e1ad Mon Sep 17 00:00:00 2001 From: Stan Iliev Date: Mon, 17 Oct 2016 16:26:15 -0400 Subject: Implement SkiaRecordingCanvas, RenderNodeDrawable and other drawables. Implement SkiaRecordingCanvas, RenderNodeDrawable, GLFunctorDrawable, LayerDrawable, StartReorderBarrierDrawable, EndReorderBarrierDrawable. Move AnimatedRoundRect and AnimatedCircle in a separate file. All Skia pipeline files are moved in hwui/pipeline/skia folder. Add unit tests for RenderNodeDrawable, StartReorderBarrierDrawable, EndReorderBarrierDrawable and SkiaRecordingCanvas. Test: I tested manually on 6P devices and did run the unit tests. Change-Id: If2a347bd1fc4689953822294ce5bf98c7f3f57c7 --- libs/hwui/RenderNode.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'libs/hwui/RenderNode.h') diff --git a/libs/hwui/RenderNode.h b/libs/hwui/RenderNode.h index a05c744c4a56..3819c5e9187d 100644 --- a/libs/hwui/RenderNode.h +++ b/libs/hwui/RenderNode.h @@ -32,7 +32,7 @@ #include "DisplayList.h" #include "Matrix.h" #include "RenderProperties.h" -#include "SkiaDisplayList.h" +#include "pipeline/skia/SkiaDisplayList.h" #include @@ -50,7 +50,6 @@ class DisplayListOp; class FrameBuilder; class OffscreenBuffer; class Rect; -class SkiaDisplayList; class SkiaShader; struct RenderNodeOp; @@ -61,6 +60,10 @@ namespace proto { class RenderNode; } +namespace skiapipeline { + class SkiaDisplayList; +} + /** * Primary class for storing recorded canvas commands, as well as per-View/ViewGroup display properties. * @@ -294,14 +297,14 @@ public: * Detach and transfer ownership of an already allocated displayList for use * in recording updated content for this renderNode */ - std::unique_ptr detachAvailableList() { + std::unique_ptr detachAvailableList() { return std::move(mAvailableDisplayList); } /** * Attach unused displayList to this node for potential future reuse. */ - void attachAvailableList(SkiaDisplayList* skiaDisplayList) { + void attachAvailableList(skiapipeline::SkiaDisplayList* skiaDisplayList) { mAvailableDisplayList.reset(skiaDisplayList); } @@ -337,7 +340,7 @@ private: * 2) It is replaced with the displayList from the next completed frame * 3) It is detached and used to to record a new displayList for a later frame */ - std::unique_ptr mAvailableDisplayList; + std::unique_ptr mAvailableDisplayList; /** * An offscreen rendering target used to contain the contents this RenderNode -- cgit v1.2.3-59-g8ed1b