|
@@ -243,29 +243,31 @@ namespace bs
|
|
|
{
|
|
{
|
|
|
case WindowEventType::Resized:
|
|
case WindowEventType::Resized:
|
|
|
{
|
|
{
|
|
|
|
|
+ _windowMovedOrResized();
|
|
|
|
|
+
|
|
|
{
|
|
{
|
|
|
ScopedSpinLock lock(coreWindow->mLock);
|
|
ScopedSpinLock lock(coreWindow->mLock);
|
|
|
syncProps.width = props.width;
|
|
syncProps.width = props.width;
|
|
|
syncProps.height = props.height;
|
|
syncProps.height = props.height;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- bs::RenderWindowManager::instance().notifySyncDataDirty(coreWindow);
|
|
|
|
|
- bs::RenderWindowManager::instance().notifyMovedOrResized(coreWindow);
|
|
|
|
|
- _windowMovedOrResized();
|
|
|
|
|
|
|
+ RenderWindowManager::instance().notifySyncDataDirty(coreWindow);
|
|
|
|
|
+ RenderWindowManager::instance().notifyMovedOrResized(coreWindow);
|
|
|
|
|
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
case WindowEventType::Moved:
|
|
case WindowEventType::Moved:
|
|
|
{
|
|
{
|
|
|
|
|
+ _windowMovedOrResized();
|
|
|
|
|
+
|
|
|
{
|
|
{
|
|
|
ScopedSpinLock lock(coreWindow->mLock);
|
|
ScopedSpinLock lock(coreWindow->mLock);
|
|
|
syncProps.top = props.top;
|
|
syncProps.top = props.top;
|
|
|
syncProps.left = props.left;
|
|
syncProps.left = props.left;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- bs::RenderWindowManager::instance().notifySyncDataDirty(coreWindow);
|
|
|
|
|
- bs::RenderWindowManager::instance().notifyMovedOrResized(coreWindow);
|
|
|
|
|
- _windowMovedOrResized();
|
|
|
|
|
|
|
+ RenderWindowManager::instance().notifySyncDataDirty(coreWindow);
|
|
|
|
|
+ RenderWindowManager::instance().notifyMovedOrResized(coreWindow);
|
|
|
|
|
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
@@ -276,8 +278,8 @@ namespace bs
|
|
|
syncProps.hasFocus = true;
|
|
syncProps.hasFocus = true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- bs::RenderWindowManager::instance().notifySyncDataDirty(coreWindow);
|
|
|
|
|
- bs::RenderWindowManager::instance().notifyFocusReceived(coreWindow);
|
|
|
|
|
|
|
+ RenderWindowManager::instance().notifySyncDataDirty(coreWindow);
|
|
|
|
|
+ RenderWindowManager::instance().notifyFocusReceived(coreWindow);
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
case WindowEventType::FocusLost:
|
|
case WindowEventType::FocusLost:
|
|
@@ -287,8 +289,8 @@ namespace bs
|
|
|
syncProps.hasFocus = false;
|
|
syncProps.hasFocus = false;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- bs::RenderWindowManager::instance().notifySyncDataDirty(coreWindow);
|
|
|
|
|
- bs::RenderWindowManager::instance().notifyFocusLost(coreWindow);
|
|
|
|
|
|
|
+ RenderWindowManager::instance().notifySyncDataDirty(coreWindow);
|
|
|
|
|
+ RenderWindowManager::instance().notifyFocusLost(coreWindow);
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
case WindowEventType::Minimized:
|
|
case WindowEventType::Minimized:
|
|
@@ -298,7 +300,7 @@ namespace bs
|
|
|
syncProps.isMaximized = false;
|
|
syncProps.isMaximized = false;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- bs::RenderWindowManager::instance().notifySyncDataDirty(coreWindow);
|
|
|
|
|
|
|
+ RenderWindowManager::instance().notifySyncDataDirty(coreWindow);
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
case WindowEventType::Maximized:
|
|
case WindowEventType::Maximized:
|
|
@@ -308,7 +310,7 @@ namespace bs
|
|
|
syncProps.isMaximized = true;
|
|
syncProps.isMaximized = true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- bs::RenderWindowManager::instance().notifySyncDataDirty(coreWindow);
|
|
|
|
|
|
|
+ RenderWindowManager::instance().notifySyncDataDirty(coreWindow);
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
case WindowEventType::Restored:
|
|
case WindowEventType::Restored:
|
|
@@ -318,17 +320,17 @@ namespace bs
|
|
|
syncProps.isMaximized = false;
|
|
syncProps.isMaximized = false;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- bs::RenderWindowManager::instance().notifySyncDataDirty(coreWindow);
|
|
|
|
|
|
|
+ RenderWindowManager::instance().notifySyncDataDirty(coreWindow);
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
case WindowEventType::MouseLeft:
|
|
case WindowEventType::MouseLeft:
|
|
|
{
|
|
{
|
|
|
- bs::RenderWindowManager::instance().notifyMouseLeft(coreWindow);
|
|
|
|
|
|
|
+ RenderWindowManager::instance().notifyMouseLeft(coreWindow);
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
case WindowEventType::CloseRequested:
|
|
case WindowEventType::CloseRequested:
|
|
|
{
|
|
{
|
|
|
- bs::RenderWindowManager::instance().notifyCloseRequested(coreWindow);
|
|
|
|
|
|
|
+ RenderWindowManager::instance().notifyCloseRequested(coreWindow);
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -369,7 +371,7 @@ namespace bs
|
|
|
|
|
|
|
|
void RenderWindow::_notifyWindowEvent(WindowEventType type)
|
|
void RenderWindow::_notifyWindowEvent(WindowEventType type)
|
|
|
{
|
|
{
|
|
|
- THROW_IF_CORE_THREAD;
|
|
|
|
|
|
|
+ THROW_IF_NOT_CORE_THREAD;
|
|
|
|
|
|
|
|
RenderWindowProperties& syncProps = getSyncedProperties();
|
|
RenderWindowProperties& syncProps = getSyncedProperties();
|
|
|
RenderWindowProperties& props = const_cast<RenderWindowProperties&>(getProperties());
|
|
RenderWindowProperties& props = const_cast<RenderWindowProperties&>(getProperties());
|
|
@@ -378,6 +380,8 @@ namespace bs
|
|
|
{
|
|
{
|
|
|
case WindowEventType::Resized:
|
|
case WindowEventType::Resized:
|
|
|
{
|
|
{
|
|
|
|
|
+ _windowMovedOrResized();
|
|
|
|
|
+
|
|
|
{
|
|
{
|
|
|
ScopedSpinLock lock(mLock);
|
|
ScopedSpinLock lock(mLock);
|
|
|
syncProps.width = props.width;
|
|
syncProps.width = props.width;
|
|
@@ -386,12 +390,13 @@ namespace bs
|
|
|
|
|
|
|
|
bs::RenderWindowManager::instance().notifySyncDataDirty(this);
|
|
bs::RenderWindowManager::instance().notifySyncDataDirty(this);
|
|
|
bs::RenderWindowManager::instance().notifyMovedOrResized(this);
|
|
bs::RenderWindowManager::instance().notifyMovedOrResized(this);
|
|
|
- _windowMovedOrResized();
|
|
|
|
|
|
|
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
case WindowEventType::Moved:
|
|
case WindowEventType::Moved:
|
|
|
{
|
|
{
|
|
|
|
|
+ _windowMovedOrResized();
|
|
|
|
|
+
|
|
|
{
|
|
{
|
|
|
ScopedSpinLock lock(mLock);
|
|
ScopedSpinLock lock(mLock);
|
|
|
syncProps.top = props.top;
|
|
syncProps.top = props.top;
|
|
@@ -400,7 +405,6 @@ namespace bs
|
|
|
|
|
|
|
|
bs::RenderWindowManager::instance().notifySyncDataDirty(this);
|
|
bs::RenderWindowManager::instance().notifySyncDataDirty(this);
|
|
|
bs::RenderWindowManager::instance().notifyMovedOrResized(this);
|
|
bs::RenderWindowManager::instance().notifyMovedOrResized(this);
|
|
|
- _windowMovedOrResized();
|
|
|
|
|
|
|
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|