mirror of
https://github.com/AxioDL/boo.git
synced 2025-12-09 13:37:48 +00:00
Temporary close handling for Xlib (needs a proper solution)
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user