マウス入力取得まとめ

mouse.png

マウスの位置

GLFW glfwGetMousePos(&mx,&my);
WinAPI POINT m;
GetCursorPos(&m);
ClientToScreen(HWND,&m);

ホイール

GLFW

void CTransForm::zoom(){
    float cam_dis_candidate=(float)glfwGetMouseWheel()*0.4f+m_InitialZ;
    if(cam_dis_candidate>0.0){ m_Zoom=cam_dis_candidate;}
    //orthoだと普通の方法ではズームできないようだ。
    if(m_Flags & MY_ORTHOGONAL){Reshape(m_WindowSize.x,m_WindowSize.y);}
}

どのボタン?

GLFW glfwGetMouseButton(GLFW_MOUSE_BUTTON_LEFT)
glfwGetMouseButton(GLFW_MOUSE_BUTTON_RIGHT)

ボタンの数値

#define GLFW_MOUSE_BUTTON_LEFT   GLFW_MOUSE_BUTTON_1
#define GLFW_MOUSE_BUTTON_RIGHT  GLFW_MOUSE_BUTTON_2
#define GLFW_MOUSE_BUTTON_MIDDLE GLFW_MOUSE_BUTTON_3
#define GLFW_MOUSE_BUTTON_1      0//左クリック
#define GLFW_MOUSE_BUTTON_2      1//右クリック
#define GLFW_MOUSE_BUTTON_3      2//真ん中クリック
#define GLFW_MOUSE_BUTTON_4      3
#define GLFW_MOUSE_BUTTON_5      4
#define GLFW_MOUSE_BUTTON_6      5
#define GLFW_MOUSE_BUTTON_7      6
#define GLFW_MOUSE_BUTTON_8      7
#define GLFW_MOUSE_BUTTON_LAST   GLFW_MOUSE_BUTTON_8

サポートサイト Wikidot.com