void SetSize( uint32_t width, uint32_t height );
/**
- * @brief Sets the background color.
- * @param[in] color The new background color
- */
- void SetBackgroundColor( const Vector4& color );
-
- /**
* @copydoc Dali::Internal::FrameBuffer::MarkSurfaceAsInvalid()
*/
void MarkSurfaceAsInvalid() { mIsSurfaceInvalid = true; };
*/
void MakeContextCurrent();
- /**
- * @brief Gets the background color of the surface.
- * @return The background color
- */
- Vector4 GetBackgroundColor();
-
- /**
- * @brief Sets currentframe updated/damaged rects
- * @return merged update rects
- */
- Rect<int32_t> SetDamagedRect( Rect<int32_t> damagedRect );
-
- /**
- * @brief Gets whether partial update is required for partial update
- * @return whether partial update or not
- */
- bool IsPartialUpdateEnabled() const;
-
- /**
- * @brief Sets whether partial update is required for partial update
- * @param[in] value whether partial update or not
- */
- void SetPartialUpdateEnabled( bool value );
-
private:
Integration::RenderSurface* mSurface; ///< The render surface
uint32_t mWidth;
uint32_t mHeight;
- Vector4 mBackgroundColor;
bool mSizeChanged;
- bool mBackgroundColorChanged;
std::atomic<bool> mIsSurfaceInvalid; ///< This is set only from the event thread and read only from the render thread
- bool mPartialUpdateEnabled; ///< This value is whether partial update is required
};
// Messages for FrameBuffer
new (slot) LocalType( surfaceFrameBuffer, &SurfaceFrameBuffer::SetSize, width, height );
}
-inline void SetFrameBufferBackgroundColorMessage( SceneGraph::UpdateManager& updateManager, SurfaceFrameBuffer* surfaceFrameBuffer, const Vector4& color )
-{
- typedef MessageValue1< SurfaceFrameBuffer, Vector4 > LocalType;
-
- // Reserve some memory inside the message queue
- uint32_t* slot = updateManager.ReserveMessageSlot( sizeof( LocalType ) );
-
- // Construct message in the message queue memory; note that delete should not be called on the return value
- new (slot) LocalType( surfaceFrameBuffer, &SurfaceFrameBuffer::SetBackgroundColor, color );
-}
-
-inline void SetFrameBufferPartialUpdateMessage( SceneGraph::UpdateManager& updateManager, SurfaceFrameBuffer* surfaceFrameBuffer, bool value )
-{
- typedef MessageValue1< SurfaceFrameBuffer, bool > LocalType;
-
- // Reserve some memory inside the message queue
- uint32_t* slot = updateManager.ReserveMessageSlot( sizeof( LocalType ) );
-
- // Construct message in the message queue memory; note that delete should not be called on the return value
- new (slot) LocalType( surfaceFrameBuffer, &SurfaceFrameBuffer::SetPartialUpdateEnabled, value );
-}
-
} // namespace Render
} // namespace Internal