마우스 콜백 함수
glutMotionFunc
- 마우스 버튼을 누른채로 윈도우 내부에서 움직일 때 호출되어질 콜백 함수를 등록하여줍니다.
- 콜백 함수의 인자들은 마우스의 위치입니다.
void glutMotionFunc(void (*func)(int x, int y))
glutPassiveMotionFunc
- 마우스 버튼을 누르지 않은채로 윈도우 내부에서 움직일 때 호출되어질 콜백 함수를 등록하여줍니다.
- 콜백 함수의 인자들은 마우스의 위치입니다.
void glutPassiveMotionFunc(void (*func)(int x, int y))
glutEntryFunc
- 마우스가 윈도우 안으로 들어오거나 바깥으로 나갈 경우 호출되어질 콜백 함수를 등록하여 줍니다.
- state 상수값으로는 안으로 들어왔을 경우 GLUT_ENTERED, 바깥으로 나갔을 경우 GLUT_LEFT가 할당되어집니다.
void glutEntryFunc(void (*func)(int state))
메뉴 콜백
- 메뉴를 만들고, 메뉴가 클릭되어졌을 때 호출되어질 콜백함수를 등록하여줍니다.
- 메뉴 콜백함수를 등록하고, 메뉴를 만들어주며 반환 되는 값은 메뉴간의 구별되는 고유 값입니다.
- 여러가지 메뉴를 등록할 경우, 메뉴마다 콜백함수가 등록되어야하며, 반환되는 값은 다릅니다.
- value 인자는 메뉴를 클릭하였을 때 전달되어지는 값입니다.
int glutCreateMenu(void (*func)(int value))
- 메뉴를 삭제시킵니다.
- menu 인자는 삭제하고자 하는 메뉴의 고유한 값을 의미합니다.
- glutCreateMenu 함수로 메뉴를 생성할 때 반환되어지는 값입니다.
void glutDestroyMenu(int menu)
- 현재 메뉴를 지정하여 줍니다.
- menu 인자는 지정할 메뉴의 고유한 값을 의미합니다.
- glutCreateMenu 함수로 메뉴를 생성할 때 반환되어지는 값입니다.
void glutSetMenu(int menu)
- 현재 메뉴에 항목을 추가하여줍니다.
- name 인자는 항목의 이름입니다.
- value 인자는 해당 항목이 선택되어질 때 메뉴 콜백 함수에게 전달되는 정수 값입니다.
void glutAddMenuEntry(char *name, int value)
- 현재 메뉴의 하위 메뉴를 추가합니다.
- name 인자는 하위 메뉴의 이름입니다.
- menu 인자는 추가할 하위 메뉴의 고유한 값을 의미합니다.
- glutCreateMenu 함수로 메뉴를 생성할 때 반환되어지는 값입니다.
void glutAddSubMenu(char *name, int menu)
- 마우스의 특정 버튼 이벤트에 메뉴를 부착합니다.
- button 인자에는 GLUT_LEFT_BUTTON로 지정해줄 경우 마우스 좌측 버튼을 눌렀을 경우, GLUT_RIGHT_BUTTON는 마우스 우측 버튼을 눌렀을 경우, GLUT_MIDDLE_BUTTON 는 가운데 버튼(휠)을 눌렀을 경우 메뉴가 부착됩니다.
void glutAttachMenu(int button)