Revert "[3.0] Clipping API feature in Actor"
[platform/core/uifw/dali-core.git] / dali / internal / update / manager / update-manager.h
index a0ce591..e90ab9d 100644 (file)
@@ -37,6 +37,7 @@
 #include <dali/internal/update/rendering/scene-graph-renderer.h>
 #include <dali/internal/render/shaders/scene-graph-shader.h>
 #include <dali/internal/render/renderers/render-property-buffer.h>
+#include <dali/internal/event/rendering/texture-impl.h>
 
 namespace Dali
 {
@@ -490,10 +491,10 @@ public:
   /**
    * Uploads data to a texture owned by the RenderManager
    * @param[in] texture The texture
-   * @param[in] buffer Vector with the data to be uploaded
+   * @param[in] pixelData The pixel data object
    * @param[in] params The parameters for the upload
    */
-  void UploadTexture( Render::NewTexture* texture, Vector<unsigned char>& buffer, const TextureUploadParams& params );
+  void UploadTexture( Render::NewTexture* texture, PixelDataPtr pixelData, const NewTexture::UploadParams& params );
 
   /**
    * Generates mipmaps for a texture owned by the RenderManager
@@ -524,13 +525,6 @@ public:
    */
   void AttachColorTextureToFrameBuffer( Render::FrameBuffer* frameBuffer, Render::NewTexture* texture, unsigned int mipmapLevel, unsigned int face );
 
-  /**
-   * Attach a texture as depth-stencil to an existing FrameBuffer
-   * @param[in] frameBuffer The FrameBuffer
-   * @param[in] texture The texture that will be used as depth-stencil buffer when rendering
-   */
-  void AttachDepthStencilTextureToFrameBuffer( Render::FrameBuffer* frameBuffer, Render::NewTexture* texture );
-
 public:
 
   /**
@@ -1228,56 +1222,15 @@ inline void RemoveTexture( UpdateManager& manager, Render::NewTexture& texture )
   new (slot) LocalType( &manager, &UpdateManager::RemoveTexture, &texture );
 }
 
-template< typename T >
-class UploadTextureDataMessage : public MessageBase
-{
-public:
-
-  /**
-   * Constructor which does a Vector::Swap()
-   */
-  UploadTextureDataMessage( T* manager, Render::NewTexture* texture, Dali::Vector<unsigned char>& data, const Dali::TextureUploadParams& params )
-  : MessageBase(),
-    mManager( manager ),
-    mRenderTexture( texture ),
-    mParams( params )
-  {
-    mData.Swap( data );
-  }
-
-  /**
-   * Virtual destructor
-   */
-  virtual ~UploadTextureDataMessage()
-  {
-  }
-
-  /**
-   * @copydoc MessageBase::Process
-   */
-  virtual void Process( BufferIndex /*bufferIndex*/ )
-  {
-    DALI_ASSERT_DEBUG( mManager && "Message does not have an object" );
-    mManager->UploadTexture( mRenderTexture, mData, mParams );
-  }
-
-private:
-
-  T* mManager;
-  Render::NewTexture* mRenderTexture;
-  Dali::Vector<unsigned char> mData;
-  Dali::TextureUploadParams mParams;
-};
-
-inline void UploadTextureMessage( UpdateManager& manager, Render::NewTexture& texture, Dali::Vector<unsigned char>& data, const Dali::TextureUploadParams& params )
+inline void UploadTextureMessage( UpdateManager& manager, Render::NewTexture& texture, PixelDataPtr pixelData, const NewTexture::UploadParams& params )
 {
-  typedef UploadTextureDataMessage< UpdateManager > LocalType;
+  typedef MessageValue3< UpdateManager, Render::NewTexture*, PixelDataPtr, NewTexture::UploadParams > LocalType;
 
   // Reserve some memory inside the message queue
   unsigned int* slot = manager.ReserveMessageSlot( sizeof( LocalType ) );
 
   // Construct message in the message queue memory; note that delete should not be called on the return value
-  new (slot) LocalType( &manager, &texture, data, params );
+  new (slot) LocalType( &manager, &UpdateManager::UploadTexture, &texture, pixelData, params );
 }
 
 inline void GenerateMipmapsMessage( UpdateManager& manager, Render::NewTexture& texture )