Code drop from //branches/cupcake/...@124589
diff --git a/libs/surfaceflinger/LayerBuffer.h b/libs/surfaceflinger/LayerBuffer.h
index ef473dd..3e616f27 100644
--- a/libs/surfaceflinger/LayerBuffer.h
+++ b/libs/surfaceflinger/LayerBuffer.h
@@ -33,6 +33,7 @@
 
 class MemoryDealer;
 class Region;
+class Overlay;
 
 class LayerBuffer : public LayerBaseClient
 {
@@ -56,6 +57,7 @@
             PixelFormat format, const sp<IMemoryHeap>& heap);
     void postBuffer(ssize_t offset);
     void unregisterBuffers();
+    sp<Overlay> createOverlay(uint32_t w, uint32_t h, int32_t format);
     void invalidate();
     void invalidateLocked();
 
@@ -107,7 +109,9 @@
                 PixelFormat format, const sp<IMemoryHeap>& heap);
         virtual void postBuffer(ssize_t offset);
         virtual void unregisterBuffers();
-        void disown();
+        virtual sp<Overlay> createOverlay(
+                uint32_t w, uint32_t h, int32_t format);
+       void disown();
     private:
         LayerBuffer* getOwner() const {
             Mutex::Autolock _l(mLock);