added support for 2 extra mouse buttons (patch 1757630)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47802 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2007-07-29 01:04:33 +00:00
parent c369ea0bec
commit 01101e2da6
6 changed files with 198 additions and 13 deletions

View File

@@ -197,6 +197,12 @@ DEFINE_EVENT_TYPE(wxEVT_SET_FOCUS)
DEFINE_EVENT_TYPE(wxEVT_KILL_FOCUS)
DEFINE_EVENT_TYPE(wxEVT_CHILD_FOCUS)
DEFINE_EVENT_TYPE(wxEVT_MOUSEWHEEL)
DEFINE_EVENT_TYPE(wxEVT_AUX1_DOWN)
DEFINE_EVENT_TYPE(wxEVT_AUX1_UP)
DEFINE_EVENT_TYPE(wxEVT_AUX1_DCLICK)
DEFINE_EVENT_TYPE(wxEVT_AUX2_DOWN)
DEFINE_EVENT_TYPE(wxEVT_AUX2_UP)
DEFINE_EVENT_TYPE(wxEVT_AUX2_DCLICK)
// Non-client mouse events
DEFINE_EVENT_TYPE(wxEVT_NC_LEFT_DOWN)
@@ -518,6 +524,8 @@ wxMouseEvent::wxMouseEvent(wxEventType commandType)
m_leftDown = false;
m_rightDown = false;
m_middleDown = false;
m_aux1Down = false;
m_aux2Down = false;
m_x = 0;
m_y = 0;
m_wheelRotation = 0;
@@ -536,6 +544,8 @@ void wxMouseEvent::Assign(const wxMouseEvent& event)
m_leftDown = event.m_leftDown;
m_middleDown = event.m_middleDown;
m_rightDown = event.m_rightDown;
m_aux1Down = event.m_aux1Down;
m_aux2Down = event.m_aux2Down;
m_controlDown = event.m_controlDown;
m_shiftDown = event.m_shiftDown;
@@ -558,7 +568,8 @@ bool wxMouseEvent::ButtonDClick(int but) const
// fall through
case wxMOUSE_BTN_ANY:
return (LeftDClick() || MiddleDClick() || RightDClick());
return (LeftDClick() || MiddleDClick() || RightDClick() ||
Aux1DClick() || Aux2DClick());
case wxMOUSE_BTN_LEFT:
return LeftDClick();
@@ -568,6 +579,12 @@ bool wxMouseEvent::ButtonDClick(int but) const
case wxMOUSE_BTN_RIGHT:
return RightDClick();
case wxMOUSE_BTN_AUX1:
return Aux1DClick();
case wxMOUSE_BTN_AUX2:
return Aux2DClick();
}
}
@@ -581,7 +598,8 @@ bool wxMouseEvent::ButtonDown(int but) const
// fall through
case wxMOUSE_BTN_ANY:
return (LeftDown() || MiddleDown() || RightDown());
return (LeftDown() || MiddleDown() || RightDown() ||
Aux1Down() || Aux2Down());
case wxMOUSE_BTN_LEFT:
return LeftDown();
@@ -591,6 +609,12 @@ bool wxMouseEvent::ButtonDown(int but) const
case wxMOUSE_BTN_RIGHT:
return RightDown();
case wxMOUSE_BTN_AUX1:
return Aux1Down();
case wxMOUSE_BTN_AUX2:
return Aux2Down();
}
}
@@ -604,7 +628,8 @@ bool wxMouseEvent::ButtonUp(int but) const
// fall through
case wxMOUSE_BTN_ANY:
return (LeftUp() || MiddleUp() || RightUp());
return (LeftUp() || MiddleUp() || RightUp() ||
Aux1Up() || Aux2Up());
case wxMOUSE_BTN_LEFT:
return LeftUp();
@@ -614,6 +639,12 @@ bool wxMouseEvent::ButtonUp(int but) const
case wxMOUSE_BTN_RIGHT:
return RightUp();
case wxMOUSE_BTN_AUX1:
return Aux1Up();
case wxMOUSE_BTN_AUX2:
return Aux2Up();
}
}
@@ -639,6 +670,12 @@ bool wxMouseEvent::Button(int but) const
case wxMOUSE_BTN_RIGHT:
return RightDown() || RightUp() || RightDClick();
case wxMOUSE_BTN_AUX1:
return Aux1Down() || Aux1Up() || Aux1DClick();
case wxMOUSE_BTN_AUX2:
return Aux2Down() || Aux2Up() || Aux2DClick();
}
}
@@ -651,7 +688,7 @@ bool wxMouseEvent::ButtonIsDown(int but) const
// fall through
case wxMOUSE_BTN_ANY:
return LeftIsDown() || MiddleIsDown() || RightIsDown();
return LeftIsDown() || MiddleIsDown() || RightIsDown() || Aux1Down() || Aux2Down();
case wxMOUSE_BTN_LEFT:
return LeftIsDown();
@@ -661,12 +698,18 @@ bool wxMouseEvent::ButtonIsDown(int but) const
case wxMOUSE_BTN_RIGHT:
return RightIsDown();
case wxMOUSE_BTN_AUX1:
return Aux1IsDown();
case wxMOUSE_BTN_AUX2:
return Aux2IsDown();
}
}
int wxMouseEvent::GetButton() const
{
for ( int i = 1; i <= 3; i++ )
for ( int i = 1; i < wxMOUSE_BTN_MAX; i++ )
{
if ( Button(i) )
{