Add functor support to new reorderer/renderer

bug:22480459

Change-Id: I95df7e0504f62d254e8ffbd8d65ed5d763080b9c
diff --git a/libs/hwui/BakedOpRenderer.h b/libs/hwui/BakedOpRenderer.h
index d7600db..f158e8b 100644
--- a/libs/hwui/BakedOpRenderer.h
+++ b/libs/hwui/BakedOpRenderer.h
@@ -65,7 +65,7 @@
     void endLayer();
 
     Texture* getTexture(const SkBitmap* bitmap);
-    const LightInfo& getLightInfo() { return mLightInfo; }
+    const LightInfo& getLightInfo() const { return mLightInfo; }
 
     void renderGlop(const BakedOpState& state, const Glop& glop) {
         bool useScissor = state.computedState.clipSideFlags != OpClipSideFlags::None;
@@ -73,14 +73,16 @@
                 useScissor ? &state.computedState.clipRect : nullptr,
                 glop);
     }
+    void renderFunctor(const FunctorOp& op, const BakedOpState& state);
 
     void renderGlop(const Rect* dirtyBounds, const Rect* clip, const Glop& glop);
     bool offscreenRenderTarget() { return mRenderTarget.offscreenBuffer != nullptr; }
     void dirtyRenderTarget(const Rect& dirtyRect);
-    bool didDraw() { return mHasDrawn; }
+    bool didDraw() const { return mHasDrawn; }
 private:
     void setViewport(uint32_t width, uint32_t height);
     void clearColorBuffer(const Rect& clearRect);
+    void prepareRender(const Rect* dirtyBounds, const Rect* clip);
 
     RenderState& mRenderState;
     Caches& mCaches;