本文整理汇总了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));
}
}
示例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);
}
}
}
示例3: HandleMouseWheel
void SpectraDocumentFrame::HandleMouseWheel(const wxMouseEvent& event)
{
document_view.Zoom(
GLfloat(event.GetLinesPerAction())*
GLfloat(event.GetWheelRotation())/
GLfloat(event.GetWheelDelta())
);
}
示例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);
}
}
示例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();
}
示例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 );
}
示例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);
}
示例8: OnMouseWheelMoved
void WaterfallCanvas::OnMouseWheelMoved(wxMouseEvent& event) {
InteractiveCanvas::OnMouseWheelMoved(event);
float movement = (float)event.GetWheelRotation() / (float)event.GetLinesPerAction();
mouseZoom = 1.0f - movement/1000.0f;
}
示例9: bmx_wxmouseevent_getlinesperaction
int bmx_wxmouseevent_getlinesperaction(wxMouseEvent & event) {
return event.GetLinesPerAction();
}