当前位置: 首页>>代码示例>>C++>>正文


C++ wxMouseEvent::GetLinesPerAction方法代码示例

本文整理汇总了C++中wxMouseEvent::GetLinesPerAction方法的典型用法代码示例。如果您正苦于以下问题:C++ wxMouseEvent::GetLinesPerAction方法的具体用法?C++ wxMouseEvent::GetLinesPerAction怎么用?C++ wxMouseEvent::GetLinesPerAction使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在wxMouseEvent的用法示例。


在下文中一共展示了wxMouseEvent::GetLinesPerAction方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: OnMouseWheelEvt

void BaseEditor::OnMouseWheelEvt(wxMouseEvent& event)
{
	int lines = -event.GetWheelRotation() / event.GetWheelDelta();

	if (event.ShiftDown())
	{
		int nPos = GetScrollPos(wxHORIZONTAL);
		SetScrollPos(wxHORIZONTAL, nPos + lines * event.GetLinesPerAction() * SCROLL_LINE_DISTANCE);
		UpdateScrollPosition(GetScrollPos(wxHORIZONTAL), GetScrollPos(wxVERTICAL));
	}
	else if (event.ControlDown())
	{
		if (lines < 0)
		{
			ZoomIn();
		}
		else
		{
			ZoomOut();
		}
	}
	else
	{
		int nPos = GetScrollPos(wxVERTICAL);
		SetScrollPos(wxVERTICAL, nPos + lines * event.GetLinesPerAction() * SCROLL_LINE_DISTANCE);
		UpdateScrollPosition(GetScrollPos(wxHORIZONTAL), GetScrollPos(wxVERTICAL));
	}
}
开发者ID:mshandle,项目名称:spank,代码行数:28,代码来源:BaseEditor.cpp

示例2: OnMouseWheel

void DocHistory::OnMouseWheel(wxMouseEvent& event) {
	if (GetScrollThumb(wxVERTICAL)) { // Only handle scrollwheel if we have a scrollbar
		const wxSize size = GetClientSize();
		int pos = m_scrollPos;
		const int rotation = event.GetWheelRotation();
		const int linescount = (abs(rotation) / event.GetWheelDelta()) * event.GetLinesPerAction();

		if (rotation > 0) { // up
			pos = pos - (pos % m_lineHeight) - (m_lineHeight * linescount);
			if (pos < 0) pos = 0;
		}
		else if (rotation < 0) { // down
			pos = pos - (pos % m_lineHeight) + (m_lineHeight * linescount);
			if (pos > m_treeHeight - size.y) pos = m_treeHeight - size.y;
		}
		else return; // no rotation

		if (pos != m_scrollPos) {
			m_oldScrollPos = m_scrollPos;
			m_scrollPos = pos;
			m_isScrolling = true;

			wxClientDC dc(this);
			DrawLayout(dc);
		}
	}
}
开发者ID:lenoval,项目名称:e,代码行数:27,代码来源:DocHistory.cpp

示例3: HandleMouseWheel

void SpectraDocumentFrame::HandleMouseWheel(const wxMouseEvent& event)
{
	document_view.Zoom(
		GLfloat(event.GetLinesPerAction())*
		GLfloat(event.GetWheelRotation())/
		GLfloat(event.GetWheelDelta())
	);
}
开发者ID:detunized,项目名称:oglplus,代码行数:8,代码来源:document_frame.cpp

示例4: OnMouseWheel

void OSGCanvas::OnMouseWheel(wxMouseEvent &event)
{
    int delta = event.GetWheelRotation() / event.GetWheelDelta() * event.GetLinesPerAction();

    if (_graphics_window.valid()) {
        _graphics_window->getEventQueue()->mouseScroll(
            delta>0 ? 
            osgGA::GUIEventAdapter::SCROLL_UP : 
            osgGA::GUIEventAdapter::SCROLL_DOWN);
    }
}
开发者ID:aalex,项目名称:osg,代码行数:11,代码来源:osgviewerWX.cpp

示例5: OnScrollWheel

void CCodeView::OnScrollWheel(wxMouseEvent& event)
{
  const bool scroll_down = (event.GetWheelRotation() < 0);
  const int num_lines = event.GetLinesPerAction();

  if (scroll_down)
  {
    m_curAddress += num_lines * 4;
  }
  else
  {
    m_curAddress -= num_lines * 4;
  }

  Refresh();
  event.Skip();
}
开发者ID:Antidote,项目名称:dolphin,代码行数:17,代码来源:CodeView.cpp

示例6: OnMouseWheel

void wxVScrolledWindow::OnMouseWheel(wxMouseEvent& event)
{
    m_sumWheelRotation += event.GetWheelRotation();
    int delta = event.GetWheelDelta();

    // how much to scroll this time
    int units_to_scroll = -(m_sumWheelRotation/delta);
    if ( !units_to_scroll )
        return;

    m_sumWheelRotation += units_to_scroll*delta;

    if ( !event.IsPageScroll() )
        ScrollLines( units_to_scroll*event.GetLinesPerAction() );
    else
        // scroll pages instead of lines
        ScrollPages( units_to_scroll );
}
开发者ID:ACanadianKernel,项目名称:pcsx2,代码行数:18,代码来源:vscroll.cpp

示例7: OnMouseWheel

 void MapGLCanvas::OnMouseWheel(wxMouseEvent& event) {
     m_ignoreNextClick = false;
     float delta = static_cast<float>(event.GetWheelRotation()) / event.GetWheelDelta() * event.GetLinesPerAction();
     if (event.GetWheelAxis() == wxMOUSE_WHEEL_HORIZONTAL)
         m_inputController->scroll(delta, 0.0f);
     else if (event.GetWheelAxis() == wxMOUSE_WHEEL_VERTICAL)
         m_inputController->scroll(0.0f, delta);
 }
开发者ID:Scampie,项目名称:TrenchBroom,代码行数:8,代码来源:MapGLCanvas.cpp

示例8: OnMouseWheelMoved

void WaterfallCanvas::OnMouseWheelMoved(wxMouseEvent& event) {
    InteractiveCanvas::OnMouseWheelMoved(event);
    float movement = (float)event.GetWheelRotation() / (float)event.GetLinesPerAction();

    mouseZoom = 1.0f - movement/1000.0f;
}
开发者ID:george-viaud,项目名称:CubicSDR,代码行数:6,代码来源:WaterfallCanvas.cpp

示例9: bmx_wxmouseevent_getlinesperaction

int bmx_wxmouseevent_getlinesperaction(wxMouseEvent & event) {
	return event.GetLinesPerAction();
}
开发者ID:maxmods,项目名称:wx.mod,代码行数:3,代码来源:glue.cpp


注:本文中的wxMouseEvent::GetLinesPerAction方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。