ScreenToClient() implemented correctly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -86,13 +86,6 @@ public:
|
|||||||
const wxFont *theFont = (const wxFont *) NULL)
|
const wxFont *theFont = (const wxFont *) NULL)
|
||||||
const;
|
const;
|
||||||
|
|
||||||
virtual void ClientToScreen( int *x, int *y ) const;
|
|
||||||
virtual void ScreenToClient( int *x, int *y ) const;
|
|
||||||
wxPoint ClientToScreen(const wxPoint& pt) const
|
|
||||||
{ int x = pt.x; int y = pt.y; ClientToScreen(& x, & y); return wxPoint(x, y); }
|
|
||||||
wxPoint ScreenToClient(const wxPoint& pt) const
|
|
||||||
{ int x = pt.x; int y = pt.y; ScreenToClient(& x, & y); return wxPoint(x, y); }
|
|
||||||
|
|
||||||
virtual bool PopupMenu( wxMenu *menu, int x, int y );
|
virtual bool PopupMenu( wxMenu *menu, int x, int y );
|
||||||
|
|
||||||
virtual void SetScrollbar( int orient, int pos, int thumbVisible,
|
virtual void SetScrollbar( int orient, int pos, int thumbVisible,
|
||||||
@@ -215,6 +208,8 @@ public:
|
|||||||
wxInsertChildFunction m_insertCallback;
|
wxInsertChildFunction m_insertCallback;
|
||||||
|
|
||||||
// implement the base class pure virtuals
|
// implement the base class pure virtuals
|
||||||
|
virtual void DoClientToScreen( int *x, int *y ) const;
|
||||||
|
virtual void DoScreenToClient( int *x, int *y ) const;
|
||||||
virtual void DoGetPosition( int *x, int *y ) const;
|
virtual void DoGetPosition( int *x, int *y ) const;
|
||||||
virtual void DoGetSize( int *width, int *height ) const;
|
virtual void DoGetSize( int *width, int *height ) const;
|
||||||
virtual void DoGetClientSize( int *width, int *height ) const;
|
virtual void DoGetClientSize( int *width, int *height ) const;
|
||||||
|
@@ -86,13 +86,6 @@ public:
|
|||||||
const wxFont *theFont = (const wxFont *) NULL)
|
const wxFont *theFont = (const wxFont *) NULL)
|
||||||
const;
|
const;
|
||||||
|
|
||||||
virtual void ClientToScreen( int *x, int *y ) const;
|
|
||||||
virtual void ScreenToClient( int *x, int *y ) const;
|
|
||||||
wxPoint ClientToScreen(const wxPoint& pt) const
|
|
||||||
{ int x = pt.x; int y = pt.y; ClientToScreen(& x, & y); return wxPoint(x, y); }
|
|
||||||
wxPoint ScreenToClient(const wxPoint& pt) const
|
|
||||||
{ int x = pt.x; int y = pt.y; ScreenToClient(& x, & y); return wxPoint(x, y); }
|
|
||||||
|
|
||||||
virtual bool PopupMenu( wxMenu *menu, int x, int y );
|
virtual bool PopupMenu( wxMenu *menu, int x, int y );
|
||||||
|
|
||||||
virtual void SetScrollbar( int orient, int pos, int thumbVisible,
|
virtual void SetScrollbar( int orient, int pos, int thumbVisible,
|
||||||
@@ -215,6 +208,8 @@ public:
|
|||||||
wxInsertChildFunction m_insertCallback;
|
wxInsertChildFunction m_insertCallback;
|
||||||
|
|
||||||
// implement the base class pure virtuals
|
// implement the base class pure virtuals
|
||||||
|
virtual void DoClientToScreen( int *x, int *y ) const;
|
||||||
|
virtual void DoScreenToClient( int *x, int *y ) const;
|
||||||
virtual void DoGetPosition( int *x, int *y ) const;
|
virtual void DoGetPosition( int *x, int *y ) const;
|
||||||
virtual void DoGetSize( int *width, int *height ) const;
|
virtual void DoGetSize( int *width, int *height ) const;
|
||||||
virtual void DoGetClientSize( int *width, int *height ) const;
|
virtual void DoGetClientSize( int *width, int *height ) const;
|
||||||
|
@@ -110,13 +110,6 @@ public:
|
|||||||
const wxFont *theFont = (const wxFont *) NULL)
|
const wxFont *theFont = (const wxFont *) NULL)
|
||||||
const;
|
const;
|
||||||
|
|
||||||
virtual void ClientToScreen( int *x, int *y ) const;
|
|
||||||
virtual void ScreenToClient( int *x, int *y ) const;
|
|
||||||
wxPoint ClientToScreen(const wxPoint& pt) const
|
|
||||||
{ int x = pt.x; int y = pt.y; ClientToScreen(& x, & y); return wxPoint(x, y); }
|
|
||||||
wxPoint ScreenToClient(const wxPoint& pt) const
|
|
||||||
{ int x = pt.x; int y = pt.y; ScreenToClient(& x, & y); return wxPoint(x, y); }
|
|
||||||
|
|
||||||
virtual bool PopupMenu( wxMenu *menu, int x, int y );
|
virtual bool PopupMenu( wxMenu *menu, int x, int y );
|
||||||
|
|
||||||
virtual void SetScrollbar( int orient, int pos, int thumbVisible,
|
virtual void SetScrollbar( int orient, int pos, int thumbVisible,
|
||||||
@@ -403,6 +396,8 @@ protected:
|
|||||||
wxButton *m_btnDefault;
|
wxButton *m_btnDefault;
|
||||||
|
|
||||||
// implement the base class pure virtuals
|
// implement the base class pure virtuals
|
||||||
|
virtual void DoClientToScreen( int *x, int *y ) const;
|
||||||
|
virtual void DoScreenToClient( int *x, int *y ) const;
|
||||||
virtual void DoGetPosition( int *x, int *y ) const;
|
virtual void DoGetPosition( int *x, int *y ) const;
|
||||||
virtual void DoGetSize( int *width, int *height ) const;
|
virtual void DoGetSize( int *width, int *height ) const;
|
||||||
virtual void DoGetClientSize( int *width, int *height ) const;
|
virtual void DoGetClientSize( int *width, int *height ) const;
|
||||||
|
@@ -489,8 +489,25 @@ public:
|
|||||||
const = 0;
|
const = 0;
|
||||||
|
|
||||||
// translate to/from screen/client coordinates (pointers may be NULL)
|
// translate to/from screen/client coordinates (pointers may be NULL)
|
||||||
virtual void ClientToScreen( int *x, int *y ) const = 0;
|
void ClientToScreen( int *x, int *y ) const
|
||||||
virtual void ScreenToClient( int *x, int *y ) const = 0;
|
{ DoClientToScreen(x, y); }
|
||||||
|
void ScreenToClient( int *x, int *y ) const
|
||||||
|
{ DoScreenToClient(x, y); }
|
||||||
|
wxPoint ClientToScreen(const wxPoint& pt) const
|
||||||
|
{
|
||||||
|
int x = pt.x, y = pt.y;
|
||||||
|
DoClientToScreen(&x, &y);
|
||||||
|
|
||||||
|
return wxPoint(x, y);
|
||||||
|
}
|
||||||
|
|
||||||
|
wxPoint ScreenToClient(const wxPoint& pt) const
|
||||||
|
{
|
||||||
|
int x = pt.x, y = pt.y;
|
||||||
|
DoScreenToClient(&x, &y);
|
||||||
|
|
||||||
|
return wxPoint(x, y);
|
||||||
|
}
|
||||||
|
|
||||||
// misc
|
// misc
|
||||||
// ----
|
// ----
|
||||||
@@ -707,6 +724,10 @@ protected:
|
|||||||
// overloaded Something()s in terms of DoSomething() which will be the
|
// overloaded Something()s in terms of DoSomething() which will be the
|
||||||
// only one to be virtual.
|
// only one to be virtual.
|
||||||
|
|
||||||
|
// coordinates translation
|
||||||
|
virtual void DoClientToScreen( int *x, int *y ) const = 0;
|
||||||
|
virtual void DoScreenToClient( int *x, int *y ) const = 0;
|
||||||
|
|
||||||
// retrieve the position/size of the window
|
// retrieve the position/size of the window
|
||||||
virtual void DoGetPosition( int *x, int *y ) const = 0;
|
virtual void DoGetPosition( int *x, int *y ) const = 0;
|
||||||
virtual void DoGetSize( int *width, int *height ) const = 0;
|
virtual void DoGetSize( int *width, int *height ) const = 0;
|
||||||
|
@@ -2129,7 +2129,7 @@ void wxWindow::DoGetPosition( int *x, int *y ) const
|
|||||||
if (y) (*y) = m_y;
|
if (y) (*y) = m_y;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxWindow::ClientToScreen( int *x, int *y ) const
|
void wxWindow::DoClientToScreen( int *x, int *y ) const
|
||||||
{
|
{
|
||||||
wxCHECK_RET( (m_widget != NULL), _T("invalid window") );
|
wxCHECK_RET( (m_widget != NULL), _T("invalid window") );
|
||||||
|
|
||||||
@@ -2158,7 +2158,7 @@ void wxWindow::ClientToScreen( int *x, int *y ) const
|
|||||||
if (y) *y += org_y;
|
if (y) *y += org_y;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxWindow::ScreenToClient( int *x, int *y ) const
|
void wxWindow::DoScreenToClient( int *x, int *y ) const
|
||||||
{
|
{
|
||||||
wxCHECK_RET( (m_widget != NULL), _T("invalid window") );
|
wxCHECK_RET( (m_widget != NULL), _T("invalid window") );
|
||||||
|
|
||||||
|
@@ -2129,7 +2129,7 @@ void wxWindow::DoGetPosition( int *x, int *y ) const
|
|||||||
if (y) (*y) = m_y;
|
if (y) (*y) = m_y;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxWindow::ClientToScreen( int *x, int *y ) const
|
void wxWindow::DoClientToScreen( int *x, int *y ) const
|
||||||
{
|
{
|
||||||
wxCHECK_RET( (m_widget != NULL), _T("invalid window") );
|
wxCHECK_RET( (m_widget != NULL), _T("invalid window") );
|
||||||
|
|
||||||
@@ -2158,7 +2158,7 @@ void wxWindow::ClientToScreen( int *x, int *y ) const
|
|||||||
if (y) *y += org_y;
|
if (y) *y += org_y;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxWindow::ScreenToClient( int *x, int *y ) const
|
void wxWindow::DoScreenToClient( int *x, int *y ) const
|
||||||
{
|
{
|
||||||
wxCHECK_RET( (m_widget != NULL), _T("invalid window") );
|
wxCHECK_RET( (m_widget != NULL), _T("invalid window") );
|
||||||
|
|
||||||
|
@@ -1099,7 +1099,7 @@ void wxWindow::DoGetPosition(int *x, int *y) const
|
|||||||
*y = point.y;
|
*y = point.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxWindow::ScreenToClient(int *x, int *y) const
|
void wxWindow::DoScreenToClient(int *x, int *y) const
|
||||||
{
|
{
|
||||||
POINT pt;
|
POINT pt;
|
||||||
if ( x )
|
if ( x )
|
||||||
@@ -1116,7 +1116,7 @@ void wxWindow::ScreenToClient(int *x, int *y) const
|
|||||||
*y = pt.y;
|
*y = pt.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxWindow::ClientToScreen(int *x, int *y) const
|
void wxWindow::DoClientToScreen(int *x, int *y) const
|
||||||
{
|
{
|
||||||
POINT pt;
|
POINT pt;
|
||||||
if ( x )
|
if ( x )
|
||||||
|
Reference in New Issue
Block a user