本文整理汇总了C++中wxMouseEvent::AltDown方法的典型用法代码示例。如果您正苦于以下问题:C++ wxMouseEvent::AltDown方法的具体用法?C++ wxMouseEvent::AltDown怎么用?C++ wxMouseEvent::AltDown使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxMouseEvent
的用法示例。
在下文中一共展示了wxMouseEvent::AltDown方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: eventZOOM
void tui::LayoutCanvas::OnMouseWheel(wxMouseEvent& event)
{
int delta = event.GetWheelDelta();
int fulldist = event.GetWheelRotation();
double scroll = fulldist / delta;
wxCommandEvent eventZOOM(wxEVT_CANVAS_ZOOM);
if (event.ShiftDown())
{
if ( 1 <= scroll) eventZOOM.SetInt(ZOOM_UP);
else if (-1 >= scroll) eventZOOM.SetInt(ZOOM_DOWN);
}
else if (event.ControlDown())
{
if ( 1 <= scroll) eventZOOM.SetInt(ZOOM_RIGHT);
else if (-1 >= scroll) eventZOOM.SetInt(ZOOM_LEFT);
}
else
{
const double scalefactor = event.AltDown() ? 0.8 : 0.5;
CTM tmpmtrx;
TP markerpos(event.GetX(), event.GetY());
if ( 1 <= scroll)
tmpmtrx.Scale(scalefactor,scalefactor);
else if (-1 >= scroll)
tmpmtrx.Scale(1/scalefactor,1/scalefactor);
tmpmtrx.Translate(markerpos * _LayCTM - markerpos * _LayCTM * tmpmtrx);
DBbox* box = DEBUG_NEW DBbox( lp_BL, lp_TR );
(*box) = (*box) * tmpmtrx;
eventZOOM.SetInt(tui::ZOOM_WINDOW);
eventZOOM.SetClientData(static_cast<void*>(box));
}
OnZoom(eventZOOM);
PointUpdate(event.GetX(), event.GetY());
}
示例2: OnLButtonDClick
void tcOOBView::OnLButtonDClick(wxMouseEvent& event)
{
wxPoint point = event.GetPosition();
if (tsOOBInfo* info =
ButtonContainingPoint(wxRealPoint((float)point.x,(float)point.y)))
{
long new_key = info->mnID;
if (new_key != -1)
{
long flags = 0;
if (event.ShiftDown()) flags += 1;
if (event.ControlDown()) flags += 2;
if (event.AltDown()) flags += 4;
wxCommandEvent command(wxEVT_COMMAND_BUTTON_CLICKED, ID_DCLICKHOOK) ;
command.SetEventObject(this);
command.SetExtraLong(flags);
AddPendingEvent(command);
}
mnSelectedKey = new_key;
tcSound::Get()->PlayEffect("ShortBeep");
}
}
示例3: OnLeftDClick
/// Left-double-click
void InstanceCtrl::OnLeftDClick(wxMouseEvent& event)
{
VisualCoord clickedIndex;
HitTest(event.GetPosition(), clickedIndex);
if (clickedIndex.isItem())
{
int flags = 0;
if (event.ControlDown())
flags |= wxINST_CTRL_DOWN;
if (event.ShiftDown())
flags |= wxINST_SHIFT_DOWN;
if (event.AltDown())
flags |= wxINST_ALT_DOWN;
InstanceCtrlEvent cmdEvent(
wxEVT_COMMAND_INST_ACTIVATE,
GetId());
cmdEvent.SetEventObject(this);
cmdEvent.SetItemIndex(clickedIndex);
int clickedID = IDFromIndex(clickedIndex);
cmdEvent.SetItemID(clickedID);
cmdEvent.SetFlags(flags);
cmdEvent.SetPosition(event.GetPosition());
GetEventHandler()->ProcessEvent(cmdEvent);
}
else if(clickedIndex.isHeader())
{
ToggleGroup(clickedIndex.groupIndex);
}
}
示例4: OnMouseRightDown
void EEViewPort::OnMouseRightDown(wxMouseEvent& event)
{
if (event.AltDown())
m_bZoomingStarted = true;
else
m_bStrafingStarted = true;
}
示例5: OnMouseMotion
void InstanceCtrl::OnMouseMotion(wxMouseEvent& event)
{
// Only start DnD if the mouse is over the selected instance.
VisualCoord coord;
HitTest(event.GetPosition(), coord);
InstanceVisual *instVisual = GetItem(coord);
if (event.Dragging() && instVisual && m_instList->GetSelectedInstance() == instVisual->GetInstance())
{
int flags = 0;
if (event.ControlDown())
flags |= wxINST_CTRL_DOWN;
if (event.ShiftDown())
flags |= wxINST_SHIFT_DOWN;
if (event.AltDown())
flags |= wxINST_ALT_DOWN;
InstanceCtrlEvent cmdEvent(
wxEVT_COMMAND_INST_DRAG,
GetId());
cmdEvent.SetEventObject(this);
cmdEvent.SetFlags(flags);
GetEventHandler()->ProcessEvent(cmdEvent);
}
else
{
event.Skip();
}
}
示例6: OnLeftClick
/// Left-click
void InstanceCtrl::OnLeftClick(wxMouseEvent& event)
{
SetFocus();
VisualCoord clickedIndex;
HitTest(event.GetPosition(), clickedIndex);
if(clickedIndex.isItem())
{
int flags = 0;
if (event.ControlDown())
flags |= wxINST_CTRL_DOWN;
if (event.ShiftDown())
flags |= wxINST_SHIFT_DOWN;
if (event.AltDown())
flags |= wxINST_ALT_DOWN;
EnsureVisible(clickedIndex);
DoSelection(clickedIndex);
SetIntendedColumn(clickedIndex);
}
else if(clickedIndex.isHeaderTicker())
{
ToggleGroup(clickedIndex.groupIndex);
}
else ClearSelections();
}
示例7: onMouseDown
/* InputKeyCtrl::onMouseDown
* Called when a mouse button is clicked in the control
*******************************************************************/
void InputKeyCtrl::onMouseDown(wxMouseEvent& e)
{
// Middle button
if (e.GetEventType() == wxEVT_MIDDLE_DOWN)
key.key = "mouse3";
// Button 4
else if (e.GetEventType() == wxEVT_AUX1_DOWN)
key.key = "mouse4";
// Button 5
else if (e.GetEventType() == wxEVT_AUX2_DOWN)
key.key = "mouse5";
// Mouse wheel
else if (e.GetEventType() == wxEVT_MOUSEWHEEL)
{
if (e.GetWheelRotation() > 0)
key.key = "mwheelup";
else if (e.GetWheelRotation() < 0)
key.key = "mwheeldown";
}
key.alt = e.AltDown();
key.ctrl = e.CmdDown();
key.shift = e.ShiftDown();
SetValue(key.as_string());
}
示例8: OnMouseEvents
void wxWebView::OnMouseEvents(wxMouseEvent& event)
{
event.Skip();
if (!m_impl->page)
return;
WebCore::Frame* frame = m_mainFrame->GetFrame();
if (!frame || !frame->view())
return;
wxPoint globalPoint = ClientToScreen(event.GetPosition());
wxEventType type = event.GetEventType();
if (type == wxEVT_MOUSEWHEEL) {
if (m_mouseWheelZooms && event.ControlDown() && !event.AltDown() && !event.ShiftDown()) {
if (event.GetWheelRotation() < 0)
DecreaseTextSize();
else if (event.GetWheelRotation() > 0)
IncreaseTextSize();
} else {
WebCore::PlatformWheelEvent wkEvent(event, globalPoint);
frame->eventHandler()->handleWheelEvent(wkEvent);
}
return;
}
int clickCount = event.ButtonDClick() ? 2 : 1;
if (clickCount == 1 && m_impl->tripleClickTimer.IsRunning()) {
wxPoint diff(event.GetPosition() - m_impl->tripleClickPos);
if (abs(diff.x) <= wxSystemSettings::GetMetric(wxSYS_DCLICK_X) &&
abs(diff.y) <= wxSystemSettings::GetMetric(wxSYS_DCLICK_Y)) {
clickCount = 3;
}
} else if (clickCount == 2) {
m_impl->tripleClickTimer.Start(getDoubleClickTime(), false);
m_impl->tripleClickPos = event.GetPosition();
}
WebCore::PlatformMouseEvent wkEvent(event, globalPoint, clickCount);
if (type == wxEVT_LEFT_DOWN || type == wxEVT_MIDDLE_DOWN || type == wxEVT_RIGHT_DOWN ||
type == wxEVT_LEFT_DCLICK || type == wxEVT_MIDDLE_DCLICK || type == wxEVT_RIGHT_DCLICK) {
frame->eventHandler()->handleMousePressEvent(wkEvent);
if (!HasCapture())
CaptureMouse();
} else if (type == wxEVT_LEFT_UP || type == wxEVT_MIDDLE_UP || type == wxEVT_RIGHT_UP) {
frame->eventHandler()->handleMouseReleaseEvent(wkEvent);
while (HasCapture())
ReleaseMouse();
} else if (type == wxEVT_MOTION || type == wxEVT_ENTER_WINDOW || type == wxEVT_LEAVE_WINDOW)
frame->eventHandler()->mouseMoved(wkEvent);
}
示例9: Refresh
void P3DCanvas3D::OnMouseMotion (wxMouseEvent &event)
{
long dx,dy;
if ((m_x < 0) || (m_y < 0))
{
m_x = event.GetX(); m_y = event.GetY();
return;
}
dx = event.GetX() - m_x;
dy = event.GetY() - m_y;
if ((dx != 0) || (dy != 0))
{
if (event.MiddleIsDown() || event.AltDown())
{
if (event.ShiftDown())
{
camera.CenterMoveCS(dx * BaseNearHalfWidth * ZoomFactor * 2.0f / viewport.getWidth(),
-dy * BaseNearHalfWidth * ZoomFactor * 2.0f / viewport.getAspect() / viewport.getHeight(),
0.0f);
}
else
{
const P3DCameraControlPrefs *CameraControlPrefs;
CameraControlPrefs = P3DApp::GetApp()->GetCameraControlPrefs();
if (dy != 0)
{
camera.RotateCS(dy * CameraControlPrefs->MouseRotYSens,1.0f,0.0f,0.0f);
}
if (dx != 0)
{
if (CameraControlPrefs->MouseRotYCS)
{
camera.RotateCS(dx * CameraControlPrefs->MouseRotXSens,0.0f,1.0f,0.0f);
}
else
{
camera.RotateWS(dx * CameraControlPrefs->MouseRotXSens,0.0f,1.0f,0.0f);
}
}
}
}
m_x += dx; m_y += dy;
}
P3DApp::GetApp()->InvalidateCamera();
Refresh();
}
示例10: OnMiddleDown
void ActorSceneCanvas::OnMiddleDown(wxMouseEvent& e)
{
SetFocus();
if (!GetSceneManipulator())
return;
if (HasCapture())
return;
wxASSERT(!m_pCameraManip);
wxASSERT(mDragButton == wxMOUSE_BTN_NONE);
if (!e.ControlDown() && !e.AltDown() && !e.ShiftDown() && !e.MetaDown())
{
// (None)
m_pCameraManip = GetSceneManipulator()->getManip("CameraDragMove");
}
else if (!e.ControlDown() && !e.AltDown() && e.ShiftDown() && !e.MetaDown())
{
// Shift
m_pCameraManip = GetSceneManipulator()->getManip("CameraDragRotate");
}
else if (e.ControlDown() && !e.AltDown() && !e.ShiftDown() && !e.MetaDown())
{
// Ctrl
m_pCameraManip = GetSceneManipulator()->getManip("CameraPan");
}
else if (!e.ControlDown() && e.AltDown() && !e.ShiftDown() && !e.MetaDown())
{
// Alt
m_pCameraManip = GetSceneManipulator()->getManip("CameraRotate");
}
if (m_pCameraManip)
{
mDragButton = e.GetButton();
m_pCameraManip->onBegin(e.GetX(), e.GetY());
CaptureMouse();
}
}
示例11:
PlatformWheelEvent::PlatformWheelEvent(const wxMouseEvent& event, const wxPoint& globalPoint)
: m_position(event.GetPosition())
, m_globalPosition(globalPoint)
, m_shiftKey(event.ShiftDown())
, m_ctrlKey(event.ControlDown())
, m_altKey(event.AltDown())
, m_metaKey(event.MetaDown()) // FIXME: We'll have to test other browsers
, m_deltaX(0) // wx doesn't support horizontal mouse wheel scrolling
, m_deltaY(event.GetWheelRotation())
{
}
示例12: On_Mouse_LUp
//---------------------------------------------------------
void CVIEW_Map_Control::On_Mouse_LUp(wxMouseEvent &event)
{
if( HasCapture() )
{
ReleaseMouse();
}
//-----------------------------------------------------
if( m_Mode != MAP_MODE_SELECT && (event.ControlDown() || event.AltDown()) ) // clipboard copy ?
{
return;
}
//-----------------------------------------------------
_Draw_Inverse(m_Mouse_Down, event.GetPosition());
m_Drag_Mode = TOOL_INTERACTIVE_DRAG_NONE;
switch( m_Mode )
{
//-----------------------------------------------------
case MAP_MODE_SELECT:
if( g_pTool )
{
g_pTool->Execute(_Get_Client2World(event.GetPosition()), TOOL_INTERACTIVE_LUP, GET_KEYS(event));
}
else if( m_pMap->Find_Layer(Get_Active_Layer()) )
{
Get_Active_Layer()->Edit_On_Mouse_Up(_Get_Client2World(event.GetPosition()), _Get_Client2World(1.0), GET_KEYS(event)|TOOL_INTERACTIVE_KEY_LEFT);
}
break;
//-----------------------------------------------------
case MAP_MODE_DISTANCE:
_Distance_Add(event.GetPosition());
break;
//-----------------------------------------------------
case MAP_MODE_ZOOM:
_Zoom(m_Mouse_Down, event.GetPosition());
break;
//-----------------------------------------------------
case MAP_MODE_PAN:
break;
//-----------------------------------------------------
case MAP_MODE_PAN_DOWN:
Set_Mode(MAP_MODE_PAN);
_Move(m_Mouse_Down, event.GetPosition());
break;
}
}
示例13: OnMouseWheel
void ParameterPanel::OnMouseWheel(wxMouseEvent &event)
{
double change = 1e-5 * event.GetWheelRotation();
if (event.ShiftDown())
change *= 10;
if (event.CmdDown())
change *= 100;
if (event.AltDown())
change /= 20;
int n = find_in_rows(event.GetEventObject());
double new_value = values_[n] + fabs(values_[n]) * change;
set_value(n, new_value);
observer_->on_parameter_changed(n);
}
示例14:
PlatformWheelEvent::PlatformWheelEvent(const wxMouseEvent& event, const wxPoint& globalPoint)
: m_position(event.GetPosition())
, m_globalPosition(globalPoint)
, m_granularity(ScrollByPixelWheelEvent)
, m_shiftKey(event.ShiftDown())
, m_ctrlKey(event.ControlDown())
, m_altKey(event.AltDown())
, m_metaKey(event.MetaDown()) // FIXME: We'll have to test other browsers
, m_deltaX(0) // wx doesn't support horizontal mouse wheel scrolling
, m_deltaY(event.GetWheelRotation() / event.GetWheelDelta())
, m_wheelTicksX(m_deltaX)
, m_wheelTicksY(m_deltaY)
, m_isAccepted(false)
{
// FIXME: retrieve the user setting for the number of lines to scroll on each wheel event
m_deltaY *= static_cast<float>(Scrollbar::pixelsPerLineStep());
}
示例15: MouseButtonEvent
void PlaneOverviewCameraTool::MouseButtonEvent(wxMouseEvent &e)
{
PlaneOverviewToolHelper * thelper = (PlaneOverviewToolHelper*) helper;
PlaneOverviewVisualizationState* state = (PlaneOverviewVisualizationState*) helper->GetVisualizationStatePtr();
// DEBUG_DEBUG("mouse ov drag button");
if (((e.CmdDown() || e.AltDown()) && e.LeftDown()) || e.MiddleDown()) {
down = true;
start_x = thelper->getPlaneX();
start_y = thelper->getPlaneY();
start_pos_x = state->getX();
start_pos_y = state->getY();
}
if (e.LeftUp() || e.MiddleUp()) {
if (down) {
down = false;
}
}
}