Temporary close handling for Xlib (needs a proper solution)

This commit is contained in:
2015-11-05 01:28:51 -08:00
parent 4a92735119
commit 1e5ae0c89b
4 changed files with 122 additions and 36 deletions

View File

@@ -128,6 +128,7 @@ struct CTestWindowCallback : IWindowCallback
bool m_fullscreenToggleRequested = false;
SWindowRect m_lastRect;
bool m_rectDirty = false;
bool m_windowInvalid = false;
void resized(const SWindowRect& rect)
{
@@ -148,6 +149,14 @@ struct CTestWindowCallback : IWindowCallback
{
fprintf(stderr, "Mouse Move (%f,%f)\n", coord.norm[0], coord.norm[1]);
}
void mouseEnter(const SWindowCoord &coord)
{
fprintf(stderr, "Mouse entered (%f,%f)\n", coord.norm[0], coord.norm[1]);
}
void mouseLeave(const SWindowCoord &coord)
{
fprintf(stderr, "Mouse left (%f,%f)\n", coord.norm[0], coord.norm[1]);
}
void scroll(const SWindowCoord& coord, const SScrollDelta& scroll)
{
//fprintf(stderr, "Mouse Scroll (%f,%f) (%f,%f)\n", coord.norm[0], coord.norm[1], scroll.delta[0], scroll.delta[1]);
@@ -192,6 +201,16 @@ struct CTestWindowCallback : IWindowCallback
}
void windowMoved(const SWindowRect& rect)
{
fprintf(stderr, "Moved %d, %d (%d, %d)\n", rect.size[0], rect.size[1], rect.location[0], rect.location[1]);
}
void destroyed()
{
m_windowInvalid = true;
}
};
struct TestApplicationCallback : IApplicationCallback
@@ -367,6 +386,12 @@ struct TestApplicationCallback : IApplicationCallback
size_t lastCheck = 0;
while (running)
{
if (windowCallback.m_windowInvalid)
{
running = false;
break;
}
mainWindow->waitForRetrace();
if (windowCallback.m_rectDirty)