X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fevent%2Frendering%2Fframe-buffer-impl.h;h=86f50930b29228e4163cda71c50308824911406d;hb=e8224a75acf610f8e45bf66907926bdee1c7aa96;hp=3531c0f145df7ac61728d003bd8bfaaeabd68f54;hpb=6d4b6de12867b318f41562184baba1022c487d4b;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/event/rendering/frame-buffer-impl.h b/dali/internal/event/rendering/frame-buffer-impl.h old mode 100644 new mode 100755 index 3531c0f..86f5093 --- a/dali/internal/event/rendering/frame-buffer-impl.h +++ b/dali/internal/event/rendering/frame-buffer-impl.h @@ -2,7 +2,7 @@ #define DALI_INTERNAL_FRAME_BUFFER_H /* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,6 +23,7 @@ #include // Dali::IntrusivePtr #include #include +#include #include #include @@ -63,8 +64,8 @@ public: /** * @brief Create a new FrameBuffer * - * @param[in] renderSurface The render surface - * @param[in] attachments The attachments comprising the format of the FrameBuffer (bit-mask) + * @param[in] renderSurface The render surface + * @param[in] attachments The attachments comprising the format of the FrameBuffer (bit-mask) * @return A smart-pointer to the newly allocated Texture. */ static FrameBufferPtr New( Dali::Integration::RenderSurface& renderSurface, Mask attachments ); @@ -89,7 +90,30 @@ public: /** * @copydoc Dali::FrameBuffer::GetColorTexture() */ - Texture* GetColorTexture(); + Texture* GetColorTexture(uint8_t index) const; + + /** + * @brief Sets the frame buffer size. + * @param[in] width The width size + * @param[in] height The height size + */ + void SetSize( uint32_t width, uint32_t height ); + + /** + * @brief Mark the render surface as invalid + * + * The render surface is maked as invalid when it is deleted. + * + * @note Only for FrameBuffer backed by a render surface. + * @return True if the FrameBuffer is backed by a render surface + */ + void MarkSurfaceAsInvalid(); + + /** + * @brief Sets whether to enable partial update. + * @param[in] value whether partial update or not + */ + void SetPartialUpdateEnabled( bool value ); private: // implementation @@ -119,10 +143,11 @@ private: // data Internal::EventThreadServices& mEventThreadServices; ///< Used to send messages to the render thread via update thread Internal::Render::FrameBuffer* mRenderObject; ///< The Render::Texture associated to this texture - TexturePtr mColor; + TexturePtr mColor[ Dali::DevelFrameBuffer::MAX_COLOR_ATTACHMENTS ]; uint32_t mWidth; uint32_t mHeight; Mask mAttachments; ///< Bit-mask of type FrameBuffer::Attachment::Mask + uint8_t mColorAttachmentCount; bool mIsSurfaceBacked:1;