added internal callback when toplevel windows move for opengl canvas
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12317 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -263,6 +263,11 @@ void wxGLCanvas::SetViewport()
|
|||||||
}
|
}
|
||||||
|
|
||||||
void wxGLCanvas::OnSize(wxSizeEvent& event)
|
void wxGLCanvas::OnSize(wxSizeEvent& event)
|
||||||
|
{
|
||||||
|
MacUpdateView() ;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxGLCanvas::MacUpdateView()
|
||||||
{
|
{
|
||||||
if (m_glContext)
|
if (m_glContext)
|
||||||
{
|
{
|
||||||
@@ -277,6 +282,18 @@ void wxGLCanvas::OnSize(wxSizeEvent& event)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxGLCanvas::MacSuperChangedPosition()
|
||||||
|
{
|
||||||
|
MacUpdateView() ;
|
||||||
|
wxWindow::MacSuperChangedPosition() ;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxGLCanvas::MacTopLevelWindowChangedPosition()
|
||||||
|
{
|
||||||
|
MacUpdateView() ;
|
||||||
|
wxWindow::MacTopLevelWindowChangedPosition() ;
|
||||||
|
}
|
||||||
|
|
||||||
void wxGLCanvas::SetCurrent()
|
void wxGLCanvas::SetCurrent()
|
||||||
{
|
{
|
||||||
if (m_glContext)
|
if (m_glContext)
|
||||||
|
@@ -617,6 +617,8 @@ void wxWindowMac::DoMoveWindow(int x, int y, int width, int height)
|
|||||||
frame->PositionStatusBar();
|
frame->PositionStatusBar();
|
||||||
frame->PositionToolBar();
|
frame->PositionToolBar();
|
||||||
}
|
}
|
||||||
|
if ( doMove )
|
||||||
|
wxWindowMac::MacTopLevelWindowChangedPosition() ; // like this only children will be notified
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -2194,6 +2196,19 @@ void wxWindowMac::MacSuperChangedPosition()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxWindowMac::MacTopLevelWindowChangedPosition()
|
||||||
|
{
|
||||||
|
// only screen-absolute structures have to be moved i.e. glcanvas
|
||||||
|
|
||||||
|
wxNode *node = GetChildren().First();
|
||||||
|
while ( node )
|
||||||
|
{
|
||||||
|
wxWindowMac *child = (wxWindowMac *)node->Data();
|
||||||
|
child->MacTopLevelWindowChangedPosition() ;
|
||||||
|
node = node->Next();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool wxWindowMac::MacSetPortFocusParams( const Point & localOrigin, const Rect & clipRect, WindowRef window , wxWindowMac* win )
|
bool wxWindowMac::MacSetPortFocusParams( const Point & localOrigin, const Rect & clipRect, WindowRef window , wxWindowMac* win )
|
||||||
{
|
{
|
||||||
if ( window == NULL )
|
if ( window == NULL )
|
||||||
|
@@ -263,6 +263,11 @@ void wxGLCanvas::SetViewport()
|
|||||||
}
|
}
|
||||||
|
|
||||||
void wxGLCanvas::OnSize(wxSizeEvent& event)
|
void wxGLCanvas::OnSize(wxSizeEvent& event)
|
||||||
|
{
|
||||||
|
MacUpdateView() ;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxGLCanvas::MacUpdateView()
|
||||||
{
|
{
|
||||||
if (m_glContext)
|
if (m_glContext)
|
||||||
{
|
{
|
||||||
@@ -277,6 +282,18 @@ void wxGLCanvas::OnSize(wxSizeEvent& event)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxGLCanvas::MacSuperChangedPosition()
|
||||||
|
{
|
||||||
|
MacUpdateView() ;
|
||||||
|
wxWindow::MacSuperChangedPosition() ;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxGLCanvas::MacTopLevelWindowChangedPosition()
|
||||||
|
{
|
||||||
|
MacUpdateView() ;
|
||||||
|
wxWindow::MacTopLevelWindowChangedPosition() ;
|
||||||
|
}
|
||||||
|
|
||||||
void wxGLCanvas::SetCurrent()
|
void wxGLCanvas::SetCurrent()
|
||||||
{
|
{
|
||||||
if (m_glContext)
|
if (m_glContext)
|
||||||
|
@@ -617,6 +617,8 @@ void wxWindowMac::DoMoveWindow(int x, int y, int width, int height)
|
|||||||
frame->PositionStatusBar();
|
frame->PositionStatusBar();
|
||||||
frame->PositionToolBar();
|
frame->PositionToolBar();
|
||||||
}
|
}
|
||||||
|
if ( doMove )
|
||||||
|
wxWindowMac::MacTopLevelWindowChangedPosition() ; // like this only children will be notified
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -2194,6 +2196,19 @@ void wxWindowMac::MacSuperChangedPosition()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxWindowMac::MacTopLevelWindowChangedPosition()
|
||||||
|
{
|
||||||
|
// only screen-absolute structures have to be moved i.e. glcanvas
|
||||||
|
|
||||||
|
wxNode *node = GetChildren().First();
|
||||||
|
while ( node )
|
||||||
|
{
|
||||||
|
wxWindowMac *child = (wxWindowMac *)node->Data();
|
||||||
|
child->MacTopLevelWindowChangedPosition() ;
|
||||||
|
node = node->Next();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool wxWindowMac::MacSetPortFocusParams( const Point & localOrigin, const Rect & clipRect, WindowRef window , wxWindowMac* win )
|
bool wxWindowMac::MacSetPortFocusParams( const Point & localOrigin, const Rect & clipRect, WindowRef window , wxWindowMac* win )
|
||||||
{
|
{
|
||||||
if ( window == NULL )
|
if ( window == NULL )
|
||||||
|
Reference in New Issue
Block a user