X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-core.git;a=blobdiff_plain;f=dali%2Finternal%2Frender%2Frenderers%2Frender-surface-frame-buffer.cpp;h=c62251e20a2dbda9b1715eb48bf7c6705c263461;hp=7154ff698723d1488c251b48f7933549daf64efb;hb=55827866fcb8c7ee47581ac4335a3390472090e8;hpb=687297e3c642c9056587a57a5fa853085ed12623 diff --git a/dali/internal/render/renderers/render-surface-frame-buffer.cpp b/dali/internal/render/renderers/render-surface-frame-buffer.cpp old mode 100644 new mode 100755 index 7154ff6..c62251e --- a/dali/internal/render/renderers/render-surface-frame-buffer.cpp +++ b/dali/internal/render/renderers/render-surface-frame-buffer.cpp @@ -35,7 +35,9 @@ SurfaceFrameBuffer::SurfaceFrameBuffer( Integration::RenderSurface* surface ) mHeight( mSurface->GetPositionSize().height ), mBackgroundColor( 0.f, 0.f, 0.f, 1.f ), mSizeChanged( false ), - mIsSurfaceInvalid( false ) + mBackgroundColorChanged( false ), + mIsSurfaceInvalid( false ), + mPartialUpdateEnabled( true ) { } @@ -104,6 +106,18 @@ void SurfaceFrameBuffer::PostRender() } mSizeChanged = false; + mBackgroundColorChanged = false; + mPartialUpdateEnabled = true; +} + +Rect SurfaceFrameBuffer::SetDamagedRect( Rect damagedRect ) +{ + Rect ret; + if ( IsSurfaceValid() ) + { + ret = mSurface->SetDamagedRect( damagedRect ); + } + return ret; } Context* SurfaceFrameBuffer::GetContext() @@ -134,6 +148,7 @@ void SurfaceFrameBuffer::SetSize( uint32_t width, uint32_t height ) void SurfaceFrameBuffer::SetBackgroundColor( const Vector4& color ) { mBackgroundColor = color; + mBackgroundColorChanged = true; } bool SurfaceFrameBuffer::IsSurfaceValid() const @@ -141,6 +156,21 @@ bool SurfaceFrameBuffer::IsSurfaceValid() const return mSurface && !mIsSurfaceInvalid; } +bool SurfaceFrameBuffer::IsPartialUpdateEnabled() const +{ + bool ret = false; + if ( IsSurfaceValid() ) + { + ret = mSurface->GetBufferAge() && ( mPartialUpdateEnabled && !( mSizeChanged || mBackgroundColorChanged ) ); + } + return ret; +} + +void SurfaceFrameBuffer::SetPartialUpdateEnabled( bool value ) +{ + mPartialUpdateEnabled = value; +} + } //Render } //Internal