WindowBaseWin::~WindowBaseWin()
{
- WindowsPlatformImplementation::PostWinMessage( WM_CLOSE, 0, 0, mWin32Window );
+ mWindowImpl.PostWinMessage( WM_CLOSE, 0, 0 );
}
void WindowBaseWin::Initialize( PositionSize positionSize, Any surface, bool isTransparent )
}
else
{
- // XLib should already be initialized so no point in calling XInitThreads
- mWin32Window = static_cast< WinWindowHandle >( surfaceId );
+ SetWinWindow( surfaceId );
}
- WindowsPlatformImplementation::SetListener( MakeCallback( this, &WindowBaseWin::EventEntry ) );
+ mWindowImpl.SetListener( MakeCallback( this, &WindowBaseWin::EventEntry ) );
}
void WindowBaseWin::OnDeleteRequest()
void WindowBaseWin::OnWindowDamaged( int type, TWinEventInfo *event )
{
- Event_Mouse_Button* windowDamagedEvent( (Event_Mouse_Button*)event );\r
-\r
- if( windowDamagedEvent->window == mWin32Window )\r
- {\r
- DamageArea area;\r
- area.x = 0;\r
- area.y = 0;\r
- WindowSystem::GetScreenSize( area.width, area.height );\r
-\r
- mWindowDamagedSignal.Emit( area );\r
- }\r
+ Event_Mouse_Button* windowDamagedEvent( (Event_Mouse_Button*)event );
+
+ if( windowDamagedEvent->window == mWin32Window )
+ {
+ DamageArea area;
+ area.x = 0;
+ area.y = 0;
+ WindowSystem::GetScreenSize( area.width, area.height );
+
+ mWindowDamagedSignal.Emit( area );
+ }
}
void WindowBaseWin::OnMouseButtonDown( int type, TWinEventInfo *event )
{
Event_Mouse_Button touchEvent = *((Event_Mouse_Button*)event);
touchEvent.timestamp = GetTickCount();
- touchEvent.x = LOWORD( event->lParam );\r
- touchEvent.y = HIWORD( event->lParam );\r
+ touchEvent.x = LOWORD( event->lParam );
+ touchEvent.y = HIWORD( event->lParam );
touchEvent.multi.device = DEVICE_MOUSE;
if( touchEvent.window == mWin32Window )
Integration::Point point;
point.SetDeviceId( touchEvent.multi.device );
point.SetState( state );
- point.SetScreenPosition( Vector2( touchEvent.x, touchEvent.y + WindowsPlatformImplementation::GetEdgeHeight() ) );
+ point.SetScreenPosition( Vector2( touchEvent.x, touchEvent.y + mWindowImpl.GetEdgeHeight() ) );
point.SetRadius( touchEvent.multi.radius, Vector2( touchEvent.multi.radius_x, touchEvent.multi.radius_y ) );
point.SetPressure( touchEvent.multi.pressure );
point.SetAngle( Degree( touchEvent.multi.angle ) );
{
Event_Mouse_Button touchEvent = *( (Event_Mouse_Button*)event );
touchEvent.timestamp = GetTickCount();
- touchEvent.x = LOWORD( event->lParam );\r
- touchEvent.y = HIWORD( event->lParam );\r
+ touchEvent.x = LOWORD( event->lParam );
+ touchEvent.y = HIWORD( event->lParam );
touchEvent.multi.device = DEVICE_MOUSE;
if( touchEvent.window == mWin32Window )
Integration::Point point;
point.SetDeviceId( touchEvent.multi.device );
point.SetState( state );
- point.SetScreenPosition( Vector2( touchEvent.x, touchEvent.y + WindowsPlatformImplementation::GetEdgeHeight() ) );
+ point.SetScreenPosition( Vector2( touchEvent.x, touchEvent.y + mWindowImpl.GetEdgeHeight() ) );
point.SetRadius( touchEvent.multi.radius, Vector2( touchEvent.multi.radius_x, touchEvent.multi.radius_y ) );
point.SetPressure( touchEvent.multi.pressure );
point.SetAngle( Degree( touchEvent.multi.angle ) );
{
Event_Mouse_Button touchEvent = *((Event_Mouse_Button*)event);
touchEvent.timestamp = GetTickCount();
- touchEvent.x = LOWORD( event->lParam );\r
- touchEvent.y = HIWORD( event->lParam );\r
+ touchEvent.x = LOWORD( event->lParam );
+ touchEvent.y = HIWORD( event->lParam );
touchEvent.multi.device = DEVICE_MOUSE;
if( touchEvent.window == mWin32Window )
Integration::Point point;
point.SetDeviceId( touchEvent.multi.device );
point.SetState( state );
- point.SetScreenPosition( Vector2( touchEvent.x, touchEvent.y + WindowsPlatformImplementation::GetEdgeHeight() ) );
+ point.SetScreenPosition( Vector2( touchEvent.x, touchEvent.y + mWindowImpl.GetEdgeHeight() ) );
point.SetRadius( touchEvent.multi.radius, Vector2( touchEvent.multi.radius_x, touchEvent.multi.radius_y ) );
point.SetPressure( touchEvent.multi.pressure );
point.SetAngle( Degree( touchEvent.multi.angle ) );
// Ensure key event string is not NULL as keys like SHIFT have a null string.
keyString.push_back( event->wParam );
- Integration::KeyEvent keyEvent( keyName, emptyString, keyString, keyCode, modifier, time, Integration::KeyEvent::Down, emptyString, emptyString, DEFAULT_DEVICE_CLASS, DEFAULT_DEVICE_SUBCLASS );
+ Integration::KeyEvent keyEvent( keyName, emptyString, keyString, keyCode, modifier, time, Integration::KeyEvent::Up, emptyString, emptyString, DEFAULT_DEVICE_CLASS, DEFAULT_DEVICE_SUBCLASS );
mKeyEventSignal.Emit( keyEvent );
}
void WindowBaseWin::Resize( PositionSize positionSize )
{
+ ::SetWindowPos( (HWND)mWin32Window, NULL, positionSize.x, positionSize.y, positionSize.width, positionSize.height, SWP_SHOWWINDOW );
}
void WindowBaseWin::MoveResize( PositionSize positionSize )
{
}
-void WindowBaseWin::SetAvailableOrientations( const std::vector< Dali::Window::WindowOrientation >& orientations )
+void WindowBaseWin::SetAvailableAnlges( const std::vector< int >& angles )
{
}
-void WindowBaseWin::SetPreferredOrientation( Dali::Window::WindowOrientation orientation )
+void WindowBaseWin::SetPreferredAngle( int angle )
{
}
float xres, yres;
//// 1 inch = 25.4 millimeters
- WindowsPlatformImplementation::GetDPI( mWin32Window, xres, yres );
+ mWindowImpl.GetDPI( xres, yres );
xres *= 1.5f;
yres *= 1.5f;
void WindowBaseWin::CreateWinWindow( PositionSize positionSize, bool isTransparent )
{
- long hWnd = WindowsPlatformImplementation::CreateHwnd( "Demo", "Demo", positionSize.x, positionSize.y, positionSize.width, positionSize.height, NULL );\r
-\r
- WindowsPlatformImplementation::ShowWindow( hWnd );\r
-\r
- mWin32Window = (WinWindowHandle)hWnd;\r
+ long hWnd = mWindowImpl.CreateHwnd( "Demo", "Demo", positionSize.x, positionSize.y, positionSize.width, positionSize.height, NULL );
+
+ mWin32Window = static_cast<WinWindowHandle>(hWnd);
+
DALI_ASSERT_ALWAYS( mWin32Window != 0 && "There is no Windows window" );
}
+void WindowBaseWin::SetWinWindow( unsigned int surfaceId )
+{
+ HWND hWnd = (HWND)surfaceId;
+
+ mWin32Window = static_cast<WinWindowHandle>(surfaceId);
+
+ mWindowImpl.SetHWND( reinterpret_cast<uint64_t>(hWnd));
+
+ mWindowImpl.SetWinProc();
+}
+
void WindowBaseWin::EventEntry( TWinEventInfo *event )
{
unsigned int uMsg = event->uMsg;
- switch( uMsg )\r
- {\r
- case WM_SETFOCUS:\r
- {\r
- OnFocusIn( uMsg, event );\r
- break;\r
- }\r
-\r
- case WM_KILLFOCUS:\r
- {\r
- OnFocusOut( uMsg, event );\r
- break;\r
- }\r
-\r
- case WM_PAINT:\r
- {\r
- OnWindowDamaged( uMsg, event );\r
- break;\r
- }\r
-\r
- case WM_LBUTTONDOWN:\r
- {\r
- OnMouseButtonDown( uMsg, event );\r
- break;\r
- }\r
-\r
- case WM_LBUTTONUP:\r
- {\r
- OnMouseButtonUp( uMsg, event );\r
- break;\r
- }\r
-\r
- case WM_MOUSEMOVE:\r
- {\r
- OnMouseButtonMove( uMsg, event );\r
- break;\r
- }\r
-\r
- case WM_MOUSEWHEEL:\r
- {\r
- OnMouseWheel( uMsg, event );\r
- break;\r
- }\r
-\r
- case WM_KEYDOWN:\r
- {\r
- OnKeyDown( uMsg, event );\r
- break;\r
- }\r
-\r
- case WM_KEYUP:\r
- {\r
- OnKeyUp( uMsg, event );\r
- break;\r
- }\r
-\r
+ switch( uMsg )
+ {
+ case WM_SETFOCUS:
+ {
+ OnFocusIn( uMsg, event );
+ break;
+ }
+
+ case WM_KILLFOCUS:
+ {
+ OnFocusOut( uMsg, event );
+ break;
+ }
+
+ case WM_PAINT:
+ {
+ OnWindowDamaged( uMsg, event );
+ break;
+ }
+
+ case WM_LBUTTONDOWN:
+ {
+ OnMouseButtonDown( uMsg, event );
+ break;
+ }
+
+ case WM_LBUTTONUP:
+ {
+ OnMouseButtonUp( uMsg, event );
+ break;
+ }
+
+ case WM_MOUSEMOVE:
+ {
+ OnMouseButtonMove( uMsg, event );
+ break;
+ }
+
+ case WM_MOUSEWHEEL:
+ {
+ OnMouseWheel( uMsg, event );
+ break;
+ }
+
+ case WM_KEYDOWN:
+ {
+ OnKeyDown( uMsg, event );
+ break;
+ }
+
+ case WM_KEYUP:
+ {
+ OnKeyUp( uMsg, event );
+ break;
+ }
+
default:
- break;\r
+ break;
}
}
+void WindowBaseWin::SetParent( WindowBase* parentWinBase )
+{
+
+}
+
} // namespace Adaptor
} // namespace Internal