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


C++ GLWindow::OnMButtonDown方法代码示例

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


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

示例1: button_press

static void button_press (GtkWidget *widget, GdkEventButton *event, gpointer data)
{
  GLWindow *wnd = (GLWindow*)data;
  guint32 flags = 0;

  gdk_pointer_grab (widget->window, FALSE,
                    (GdkEventMask)(GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK),
                    NULL, NULL, GDK_CURRENT_TIME);

  gtk_window_set_focus (GTK_WINDOW (g_pParentWnd->m_pWidget), widget);

  switch (event->button)
  {
  case 1: flags |= MK_LBUTTON; break;
  case 2: flags |= MK_MBUTTON; break;
  case 3: flags |= MK_RBUTTON; break;
#if !GTK_CHECK_VERSION (1,3,0)
  case 4: wnd->OnMouseWheel(true); break;
  case 5: wnd->OnMouseWheel(false); break;
#endif
  }

  if ((event->state & GDK_CONTROL_MASK) != 0)
    flags |= MK_CONTROL;

  if ((event->state & GDK_SHIFT_MASK) != 0)
    flags |= MK_SHIFT;

  if (event->type == GDK_BUTTON_PRESS)
  {
    switch (event->button)
    {
    case 1:
      wnd->OnLButtonDown (flags, (int)event->x, (int)event->y); break;
    case 2:
      wnd->OnMButtonDown (flags, (int)event->x, (int)event->y); break;
    case 3:
      wnd->OnRButtonDown (flags, (int)event->x, (int)event->y); break;
    }
  }
  else if (event->type == GDK_2BUTTON_PRESS)
  {
    // do nothing
  }
}
开发者ID:AEonZR,项目名称:GtkRadiant,代码行数:45,代码来源:glwindow.cpp


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