Example #1
0
void MenuFunc(int value)
{
  KeyboardFunc((unsigned char) value, 0, 0);
}
Example #2
0
void CGLWindow_X::Execute()
{
m_created = true;
Select();
ReshapeFunc( m_width, m_height );
XMapWindow( m_display, m_window );
XEvent event;
while ( true )
  {
  XNextEvent( m_display, &event );
  LockForTerminate();
  switch ( event.type )
    {
    case Expose:
      DisplayFunc();
      break;
    case ConfigureNotify:
      ReshapeFunc( event.xconfigure.width, event.xconfigure.height );
      break;
    case KeyPress:
      {
      KEY_VK key = XKeyEventToKeyVK( &(event.xkey) );
      KeyboardFunc( KEYDIRECT_DOWN, KEY_MOD_NONE, key );
      }
      break;
    case KeyRelease:
      {
      KEY_VK key = XKeyEventToKeyVK( &(event.xkey) );
      KeyboardFunc( KEYDIRECT_UP, KEY_MOD_NONE, key );
      }
      break;
    case ButtonPress:
      {
      int x = event.xbutton.x;
      int y = event.xbutton.y;
      MB button = XButtonToMB( event.xbutton.button );
      MouseButtonFunc( MB_DOWN, x, y, button );
      }
      break;
    case ButtonRelease:
      {
      int x = event.xbutton.x;
      int y = event.xbutton.y;
      MB button = XButtonToMB( event.xbutton.button );
      MouseButtonFunc( MB_DOWN, x, y, button );
      }
      break;
    case MotionNotify:
      {
      int x = event.xmotion.x;
      int y = event.xmotion.y;
      MouseMotionFunc( x, y );
      }
      break;
    case CreateNotify:
//            XCreateWindowEvent xcreatewindow;
      break;
    case DestroyNotify:
      DestroyWindowFunc();
      return;
    default:
      break;
    };
  UnLockForTerminate();
  };
}