Rabu, 01 Mei 2013

Interaksi Mouse pada openGL


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

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More