guarding Update() on OSX not to be issued faster than 1/30 later than the last redraw
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70488 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -115,6 +115,8 @@ public:
|
|||||||
virtual void HandleMoved( double timestampsec );
|
virtual void HandleMoved( double timestampsec );
|
||||||
virtual void HandleResizing( double timestampsec, wxRect* rect );
|
virtual void HandleResizing( double timestampsec, wxRect* rect );
|
||||||
|
|
||||||
|
void WindowWasPainted();
|
||||||
|
|
||||||
virtual bool Destroy();
|
virtual bool Destroy();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@@ -145,6 +147,8 @@ protected:
|
|||||||
static wxNonOwnedWindow *s_macDeactivateWindow;
|
static wxNonOwnedWindow *s_macDeactivateWindow;
|
||||||
|
|
||||||
private :
|
private :
|
||||||
|
static clock_t s_lastFlush;
|
||||||
|
|
||||||
wxRegion m_shape;
|
wxRegion m_shape;
|
||||||
#if wxUSE_GRAPHICS_CONTEXT
|
#if wxUSE_GRAPHICS_CONTEXT
|
||||||
wxGraphicsPath m_shapePath;
|
wxGraphicsPath m_shapePath;
|
||||||
|
@@ -39,6 +39,8 @@
|
|||||||
|
|
||||||
wxWindow* g_MacLastWindow = NULL ;
|
wxWindow* g_MacLastWindow = NULL ;
|
||||||
|
|
||||||
|
clock_t wxNonOwnedWindow::s_lastFlush = 0;
|
||||||
|
|
||||||
// unified title and toolbar constant - not in Tiger headers, so we duplicate it here
|
// unified title and toolbar constant - not in Tiger headers, so we duplicate it here
|
||||||
#define kWindowUnifiedTitleAndToolbarAttribute (1 << 7)
|
#define kWindowUnifiedTitleAndToolbarAttribute (1 << 7)
|
||||||
|
|
||||||
@@ -483,11 +485,19 @@ void wxNonOwnedWindow::DoGetClientSize( int *width, int *height ) const
|
|||||||
*height = h ;
|
*height = h ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxNonOwnedWindow::WindowWasPainted()
|
||||||
|
{
|
||||||
|
s_lastFlush = clock();
|
||||||
|
}
|
||||||
|
|
||||||
void wxNonOwnedWindow::Update()
|
void wxNonOwnedWindow::Update()
|
||||||
{
|
{
|
||||||
|
if ( clock() - s_lastFlush > CLOCKS_PER_SEC / 30 )
|
||||||
|
{
|
||||||
|
s_lastFlush = clock();
|
||||||
m_nowpeer->Update();
|
m_nowpeer->Update();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
WXWindow wxNonOwnedWindow::GetWXWindow() const
|
WXWindow wxNonOwnedWindow::GetWXWindow() const
|
||||||
{
|
{
|
||||||
|
@@ -2099,6 +2099,11 @@ bool wxWindowMac::MacDoRedraw( long time )
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_updateRegion = formerUpdateRgn;
|
m_updateRegion = formerUpdateRgn;
|
||||||
|
|
||||||
|
wxNonOwnedWindow* top = MacGetTopLevelWindow();
|
||||||
|
if (top)
|
||||||
|
top->WindowWasPainted() ;
|
||||||
|
|
||||||
return handled;
|
return handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user