Selain
ada interaksi keyboard, openGL juga menyediakan fungsi untuk menambahkan
interaksi menggunakan mouse. Inisialisasi penggunaan fungsi mouse yaitu:
void
mouse(int button, int state, int x,int y){
if(button==GLUT_LEFT_BUTTON &&
state==GLUT_DOWN)
drawDot(x,480-y);
if(button==GLUT_RIGHT_BUTTON
&& state==GLUT_DOWN)
drawDot2(x,480-y);
if(button==GLUT_MIDDLE_BUTTON
&& state==GLUT_DOWN)
drawDot3(x,480-y);
}
GLUT_LEFT_BUTTON
untuk inisialisasi button mouse kiri.
GLUT_RIGHT_BUTTON
untuk inisialisasi button mouse kanan.
GLUT_MIDDLE_BUTTON
untuk inisialisasi button mouse tengah.
Fungsi
dari GLUT_DOWN adalah untuk inisialisasi ketika tombol mouse ditekan.
Fungsi dari GLUT_UP
adalah untuk inisialisasi ketika tombol mouse dilepaskan.
1.
Fungsi dasar pembuatan interaksi
dengan menggunakan MouseFunction
GLUTAPI void APIENTRY glutMouseFunc(void
(GLUTCALLBACK *func)(int button, int state, int x, int y));
Paramater
func adalah fungsi yang akan
ditangani dengan event klik mouse.
GLUTAPI void APIENTRY glutMotionFunc(void
*func(int x, int
y));
Fungsi
di atas adalah fungsi pelengkap dari fungsi interaksi mouse untuk mendeteksi
gerakan mouse.
Kemudian pada main program perlu menambahkan fungsi
untuk callback fungsi MouseFunction.
glutMouseFunc(mouse);
glutMotionFunc(motion);
Untuk
sistem dengan hanya dua tombol mouse, tidak diperkenankan menggunakan
inisialisasi GLUT_MIDDLE_BUTTON callback. Untuk sistem dengan satu tombol mouse,
hanya bisa diperkenanankan menggunakan inisialisasi a GLUT_LEFT_BUTTON callback. Parameter termasuk GLUT_UP or GLUT_DOWN mengindiikasi
apakah callback berhak untuk melepas atau menekan berturut-turut.
0 komentar:
Posting Komentar