projects
/
platform
/
core
/
uifw
/
dali-core.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert "[Tizen] Implement partial update"
[platform/core/uifw/dali-core.git]
/
dali
/
internal
/
render
/
renderers
/
render-surface-frame-buffer.cpp
diff --git
a/dali/internal/render/renderers/render-surface-frame-buffer.cpp
b/dali/internal/render/renderers/render-surface-frame-buffer.cpp
index
7cc38bb
..
7154ff6
100644
(file)
--- a/
dali/internal/render/renderers/render-surface-frame-buffer.cpp
+++ b/
dali/internal/render/renderers/render-surface-frame-buffer.cpp
@@
-30,7
+30,12
@@
namespace Render
SurfaceFrameBuffer::SurfaceFrameBuffer( Integration::RenderSurface* surface )
: FrameBuffer(),
mSurface( surface ),
SurfaceFrameBuffer::SurfaceFrameBuffer( Integration::RenderSurface* surface )
: FrameBuffer(),
mSurface( surface ),
- mContext( nullptr )
+ mContext( nullptr ),
+ mWidth( mSurface->GetPositionSize().width ),
+ mHeight( mSurface->GetPositionSize().height ),
+ mBackgroundColor( 0.f, 0.f, 0.f, 1.f ),
+ mSizeChanged( false ),
+ mIsSurfaceInvalid( false )
{
}
{
}
@@
-39,6
+44,11
@@
SurfaceFrameBuffer::~SurfaceFrameBuffer()
void SurfaceFrameBuffer::Destroy( Context& context )
{
void SurfaceFrameBuffer::Destroy( Context& context )
{
+ if ( IsSurfaceValid() )
+ {
+ mSurface->DestroySurface();
+ mSurface = nullptr;
+ }
}
void SurfaceFrameBuffer::GlContextDestroyed()
}
void SurfaceFrameBuffer::GlContextDestroyed()
@@
-47,34
+57,53
@@
void SurfaceFrameBuffer::GlContextDestroyed()
{
mContext->GlContextDestroyed();
}
{
mContext->GlContextDestroyed();
}
+
+ if ( IsSurfaceValid() )
+ {
+ mSurface->DestroySurface();
+ mSurface = nullptr;
+ }
}
void SurfaceFrameBuffer::Initialize(Context& context)
{
mContext = &context;
mContext->GlContextCreated();
}
void SurfaceFrameBuffer::Initialize(Context& context)
{
mContext = &context;
mContext->GlContextCreated();
- mSurface->InitializeGraphics();
+
+ if ( IsSurfaceValid() )
+ {
+ mSurface->InitializeGraphics();
+ }
}
void SurfaceFrameBuffer::Bind( Context& context )
{
}
void SurfaceFrameBuffer::Bind( Context& context )
{
- mSurface->PreRender( false );
- context.BindFramebuffer( GL_FRAMEBUFFER, 0u );
+ if ( IsSurfaceValid() )
+ {
+ mSurface->PreRender( mSizeChanged );
+
+ context.BindFramebuffer( GL_FRAMEBUFFER, 0u );
+ }
}
uint32_t SurfaceFrameBuffer::GetWidth() const
{
}
uint32_t SurfaceFrameBuffer::GetWidth() const
{
- return m
Surface->GetPositionSize().w
idth;
+ return m
W
idth;
}
uint32_t SurfaceFrameBuffer::GetHeight() const
{
}
uint32_t SurfaceFrameBuffer::GetHeight() const
{
- return m
Surface->GetPositionSize().h
eight;
+ return m
H
eight;
}
void SurfaceFrameBuffer::PostRender()
{
}
void SurfaceFrameBuffer::PostRender()
{
- mSurface->PostRender( false, false, false );
+ if ( IsSurfaceValid() )
+ {
+ mSurface->PostRender( false, false, mSizeChanged );
+ }
+
+ mSizeChanged = false;
}
Context* SurfaceFrameBuffer::GetContext()
}
Context* SurfaceFrameBuffer::GetContext()
@@
-82,19
+111,34
@@
Context* SurfaceFrameBuffer::GetContext()
return mContext;
}
return mContext;
}
-
Integration::DepthBufferAvailable SurfaceFrameBuffer::GetDepthBufferRequired
()
+
void SurfaceFrameBuffer::MakeContextCurrent
()
{
{
- return mSurface->GetDepthBufferRequired();
+ if ( IsSurfaceValid() )
+ {
+ mSurface->MakeContextCurrent();
+ }
}
}
-
Integration::StencilBufferAvailable SurfaceFrameBuffer::GetStencilBufferRequired
()
+
Vector4 SurfaceFrameBuffer::GetBackgroundColor
()
{
{
- return m
Surface->GetStencilBufferRequired()
;
+ return m
BackgroundColor
;
}
}
-Vector4 SurfaceFrameBuffer::GetBackgroundColor()
+void SurfaceFrameBuffer::SetSize( uint32_t width, uint32_t height )
+{
+ mWidth = width;
+ mHeight = height;
+ mSizeChanged = true;
+}
+
+void SurfaceFrameBuffer::SetBackgroundColor( const Vector4& color )
+{
+ mBackgroundColor = color;
+}
+
+bool SurfaceFrameBuffer::IsSurfaceValid() const
{
{
- return mSurface
->GetBackgroundColor()
;
+ return mSurface
&& !mIsSurfaceInvalid
;
}
} //Render
}
} //Render