X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fwindow-system%2Fcommon%2Fwindow-impl.cpp;h=fe1dacc44ea84486d5468432c0dd6085931c66e8;hb=2c4663c7932a6f59cd99f08289185a2b0100e2eb;hp=7d36ff0dd316a6575484aa15d9bef38cf2116f78;hpb=c5c128eda665b4e7fcf412acd36efb351c7a0262;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/window-system/common/window-impl.cpp b/dali/internal/window-system/common/window-impl.cpp index 7d36ff0..fe1dacc 100755 --- a/dali/internal/window-system/common/window-impl.cpp +++ b/dali/internal/window-system/common/window-impl.cpp @@ -88,7 +88,6 @@ Window::Window() mWindowHeight( 0 ), mOrientationMode( Internal::Adaptor::Window::OrientationMode::PORTRAIT ), mNativeWindowId( -1 ), - mResizedSignal(), mDeleteRequestSignal(), mFocusChangeSignal(), mResizeSignal(), @@ -122,6 +121,7 @@ void Window::Initialize(Any surface, const PositionSize& positionSize, const std mWindowBase->DeleteRequestSignal().Connect( this, &Window::OnDeleteRequest ); mWindowBase->TransitionEffectEventSignal().Connect( this, &Window::OnTransitionEffectEvent ); mWindowBase->KeyboardRepeatSettingsChangedSignal().Connect( this, &Window::OnKeyboardRepeatSettingsChanged ); + mWindowBase->WindowRedrawRequestSignal().Connect( this, &Window::OnWindowRedrawRequest ); mWindowSurface->OutputTransformedSignal().Connect( this, &Window::OnOutputTransformed ); @@ -154,7 +154,7 @@ void Window::Initialize(Any surface, const PositionSize& positionSize, const std void Window::OnAdaptorSet(Dali::Adaptor& adaptor) { - mEventHandler = EventHandlerPtr(new EventHandler( mWindowSurface, *mAdaptor ) ); + mEventHandler = EventHandlerPtr(new EventHandler( mWindowSurface->GetWindowBase(), *mAdaptor ) ); mEventHandler->AddObserver( *this ); } @@ -179,12 +179,7 @@ void Window::Raise() { mWindowBase->Raise(); - GraphicsInterface& graphics = mAdaptor->GetGraphicsInterface(); - EglGraphics* eglGraphics = static_cast(&graphics); - if (eglGraphics) - { - eglGraphics->SetFullSwapNextFrame(); - } + mSurface->SetFullSwapNextFrame(); DALI_LOG_RELEASE_INFO( "Window (%p), WinId (%d), Raise() \n", this, mNativeWindowId ); } @@ -193,12 +188,7 @@ void Window::Lower() { mWindowBase->Lower(); - GraphicsInterface& graphics = mAdaptor->GetGraphicsInterface(); - EglGraphics* eglGraphics = static_cast(&graphics); - if (eglGraphics) - { - eglGraphics->SetFullSwapNextFrame(); - } + mSurface->SetFullSwapNextFrame(); DALI_LOG_RELEASE_INFO( "Window (%p), WinId (%d), Lower() \n", this, mNativeWindowId ); } @@ -207,12 +197,7 @@ void Window::Activate() { mWindowBase->Activate(); - GraphicsInterface& graphics = mAdaptor->GetGraphicsInterface(); - EglGraphics* eglGraphics = static_cast(&graphics); - if (eglGraphics) - { - eglGraphics->SetFullSwapNextFrame(); - } + mSurface->SetFullSwapNextFrame(); DALI_LOG_RELEASE_INFO( "Window (%p), WinId (%d), Activate() \n", this, mNativeWindowId ); } @@ -426,12 +411,7 @@ void Window::Show() mVisibilityChangedSignal.Emit( handle, true ); } - GraphicsInterface& graphics = mAdaptor->GetGraphicsInterface(); - EglGraphics* eglGraphics = static_cast(&graphics); - if (eglGraphics) - { - eglGraphics->SetFullSwapNextFrame(); - } + mSurface->SetFullSwapNextFrame(); DALI_LOG_RELEASE_INFO( "Window (%p), WinId (%d), Show(): iconified = %d, visible = %d\n", this, mNativeWindowId, mIconified, mVisible ); } @@ -451,14 +431,6 @@ void Window::Hide() mVisibilityChangedSignal.Emit( handle, false ); } - - GraphicsInterface& graphics = mAdaptor->GetGraphicsInterface(); - EglGraphics* eglGraphics = static_cast(&graphics); - if (eglGraphics) - { - eglGraphics->SetFullSwapNextFrame(); - } - DALI_LOG_RELEASE_INFO( "Window (%p), WinId (%d), Hide(): iconified = %d, visible = %d\n", this, mNativeWindowId, mIconified, mVisible ); } @@ -507,13 +479,6 @@ void Window::SetInputRegion( const Rect< int >& inputRegion ) { mWindowBase->SetInputRegion( inputRegion ); - GraphicsInterface& graphics = mAdaptor->GetGraphicsInterface(); - EglGraphics* eglGraphics = static_cast(&graphics); - if (eglGraphics) - { - eglGraphics->SetFullSwapNextFrame(); - } - DALI_LOG_INFO( gWindowLogFilter, Debug::Verbose, "Window::SetInputRegion: x = %d, y = %d, w = %d, h = %d\n", inputRegion.x, inputRegion.y, inputRegion.width, inputRegion.height ); } @@ -613,31 +578,19 @@ void Window::SetSize( Dali::Window::WindowSize size ) { Uint16Pair newSize( newRect.width, newRect.height ); - bool forceUpdate = false; - if( mWindowBase->IsEglWindowRotationSupported() ) - { - forceUpdate = true; - } - - SurfaceResized( forceUpdate ); + SurfaceResized(); mAdaptor->SurfaceResizePrepare( mSurface.get(), newSize ); DALI_LOG_RELEASE_INFO( "Window (%p), WinId (%d), SetSize(): resize signal [%d x %d]\n", this, mNativeWindowId, newRect.width, newRect.height ); Dali::Window handle( this ); - mResizedSignal.Emit( newSize ); mResizeSignal.Emit( handle, newSize ); mAdaptor->SurfaceResizeComplete( mSurface.get(), newSize ); } - GraphicsInterface& graphics = mAdaptor->GetGraphicsInterface(); - EglGraphics* eglGraphics = static_cast(&graphics); - if (eglGraphics) - { - eglGraphics->SetFullSwapNextFrame(); - } + mSurface->SetFullSwapNextFrame(); } Dali::Window::WindowSize Window::GetSize() const @@ -659,12 +612,7 @@ void Window::SetPosition( Dali::Window::WindowPosition position ) mWindowSurface->MoveResize( PositionSize( position.GetX(), position.GetY(), oldRect.width, oldRect.height ) ); - GraphicsInterface& graphics = mAdaptor->GetGraphicsInterface(); - EglGraphics* eglGraphics = static_cast(&graphics); - if (eglGraphics) - { - eglGraphics->SetFullSwapNextFrame(); - } + mSurface->SetFullSwapNextFrame(); } Dali::Window::WindowPosition Window::GetPosition() const @@ -693,29 +641,17 @@ void Window::SetPositionSize( PositionSize positionSize ) { Uint16Pair newSize( newRect.width, newRect.height ); - bool forceUpdate = false; - if( mWindowBase->IsEglWindowRotationSupported() ) - { - forceUpdate = true; - } - - SurfaceResized( forceUpdate ); + SurfaceResized(); mAdaptor->SurfaceResizePrepare( mSurface.get(), newSize ); DALI_LOG_RELEASE_INFO( "Window (%p), WinId (%d), SetPositionSize():resize signal [%d x %d]\n", this, mNativeWindowId, newRect.width, newRect.height ); Dali::Window handle( this ); - mResizedSignal.Emit( newSize ); mResizeSignal.Emit( handle, newSize ); mAdaptor->SurfaceResizeComplete( mSurface.get(), newSize ); } - GraphicsInterface& graphics = mAdaptor->GetGraphicsInterface(); - EglGraphics* eglGraphics = static_cast(&graphics); - if (eglGraphics) - { - eglGraphics->SetFullSwapNextFrame(); - } + mSurface->SetFullSwapNextFrame(); } Dali::Layer Window::GetRootLayer() const @@ -781,12 +717,7 @@ void Window::OnIconifyChanged( bool iconified ) DALI_LOG_RELEASE_INFO( "Window (%p), WinId (%d), Deiconified: visible = %d\n", this, mNativeWindowId, mVisible ); } - GraphicsInterface& graphics = mAdaptor->GetGraphicsInterface(); - EglGraphics* eglGraphics = static_cast(&graphics); - if (eglGraphics) - { - eglGraphics->SetFullSwapNextFrame(); - } + mSurface->SetFullSwapNextFrame(); } void Window::OnFocusChanged( bool focusIn ) @@ -794,25 +725,13 @@ void Window::OnFocusChanged( bool focusIn ) Dali::Window handle( this ); mFocusChangeSignal.Emit( handle, focusIn ); - GraphicsInterface& graphics = mAdaptor->GetGraphicsInterface(); - EglGraphics* eglGraphics = static_cast(&graphics); - if (eglGraphics) - { - eglGraphics->SetFullSwapNextFrame(); - } + mSurface->SetFullSwapNextFrame(); } void Window::OnOutputTransformed() { - bool forceUpdate = false; - if( mWindowBase->IsEglWindowRotationSupported() ) - { - forceUpdate = true; - } - DALI_LOG_RELEASE_INFO( "Window (%p), WinId (%d), OnOutputTransformed()\n", this, mNativeWindowId ); - SurfaceResized( forceUpdate ); - PositionSize positionSize = mSurface->GetPositionSize(); + SurfaceResized(); mAdaptor->SurfaceResizePrepare( mSurface.get(), Adaptor::SurfaceSize( positionSize.width, positionSize.height ) ); mAdaptor->SurfaceResizeComplete( mSurface.get(), Adaptor::SurfaceSize( positionSize.width, positionSize.height ) ); } @@ -834,6 +753,11 @@ void Window::OnKeyboardRepeatSettingsChanged() mKeyboardRepeatSettingsChangedSignal.Emit(); } +void Window::OnWindowRedrawRequest() +{ + mAdaptor->RenderOnce(); +} + void Window::OnTouchPoint( Dali::Integration::Point& point, int timeStamp ) { FeedTouchPoint( point, timeStamp ); @@ -860,20 +784,13 @@ void Window::OnRotation( const RotationEvent& rotation ) mWindowSurface->RequestRotation( mRotationAngle, mWindowWidth, mWindowHeight ); - bool forceUpdate = false; - if( mWindowBase->IsEglWindowRotationSupported() ) - { - forceUpdate = true; - } - - SurfaceResized( forceUpdate ); + SurfaceResized(); mAdaptor->SurfaceResizePrepare( mSurface.get(), Adaptor::SurfaceSize( mWindowWidth, mWindowHeight ) ); DALI_LOG_RELEASE_INFO( "Window (%p), WinId (%d), OnRotation(): resize signal emit [%d x %d]\n", this, mNativeWindowId, mWindowWidth, mWindowHeight ); // Emit signal Dali::Window handle( this ); - mResizedSignal.Emit( Dali::Window::WindowSize( mWindowWidth, mWindowHeight ) ); mResizeSignal.Emit( handle, Dali::Window::WindowSize( mWindowWidth, mWindowHeight ) ); mAdaptor->SurfaceResizeComplete( mSurface.get(), Adaptor::SurfaceSize( mWindowWidth, mWindowHeight ) ); @@ -885,13 +802,6 @@ void Window::OnPause() { mEventHandler->Pause(); } - - GraphicsInterface& graphics = mAdaptor->GetGraphicsInterface(); - EglGraphics* eglGraphics = static_cast(&graphics); - if (eglGraphics) - { - eglGraphics->SetFullSwapNextFrame(); - } } void Window::OnResume() @@ -901,12 +811,7 @@ void Window::OnResume() mEventHandler->Resume(); } - GraphicsInterface& graphics = mAdaptor->GetGraphicsInterface(); - EglGraphics* eglGraphics = static_cast(&graphics); - if (eglGraphics) - { - eglGraphics->SetFullSwapNextFrame(); - } + mSurface->SetFullSwapNextFrame(); } void Window::RecalculateTouchPosition( Integration::Point& point ) @@ -1030,16 +935,6 @@ int32_t Window::GetNativeId() const return mWindowBase->GetNativeWindowId(); } -void Window::SetDamagedAreas(std::vector>& areas) -{ - GraphicsInterface& graphics = mAdaptor->GetGraphicsInterface(); - EglGraphics* eglGraphics = static_cast(&graphics); - if (eglGraphics) - { - eglGraphics->SetDamagedAreas(areas); - } -} - } // Adaptor } // Internal