Contents

Develop
2003.04.23 10:52

[c] OpenGL 마우스 이벤트

Views 10020 Comment 0
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
OpenGL 마우스 이벤트 처리 예제
#include<stdio.h>
#include<stdlib.h>
#include<GL/glut.h>

short rightbuttonpressed = 0;
double r=1.0, g=0.0, b=0.0;

void display(void){
    glClearColor(r, g, b, 1.0);
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(1.0, 1.0, 1.0);
    glBegin(GL_LINES);
        glVertex2f(-1.0, 0.0); glVertex2f(0.0, 0.0);
    glEnd();

    glFlush();
}

void keyboard(unsigned char key, int x, int y){
    switch(key){
    case 'r' : 
        r=1.0;
        g=b=0.0;
        glutPostRedisplay();
        break;
    case 'g' :
        g=1.0;
        r=b=0.0;
        glutPostRedisplay();
        break;
    case 'b' :
        b=1.0;
        r=g=0.0;
        glutPostRedisplay();
        break;
    case 'q':
        exit(0);
    }
}

void mousepress(int button, int state, int x, int y){
    if((button==GLUT_LEFT_BUTTON) && (state==GLUT_DOWN))
        printf("*** The left mouse button was pressed at (%d, %d)n", x, y);
    else if((button==GLUT_RIGHT_BUTTON) && (state==GLUT_DOWN))
        rightbuttonpressed = 1;
    else if((button==GLUT_RIGHT_BUTTON) && (state==GLUT_UP))
        rightbuttonpressed = 0;
}

void mousemove(int x, int y){
    if(rightbuttonpressed)
        printf("$$$ The right mouse button is now at (%d, %d).n",x,y);
}

void reshape(int width, int height){
    printf("### The new windows size is %dx%d.n",width, height);
}

void RegisterCallback(void){
    glutDisplayFunc(display);
    glutKeyboardFunc(keyboard);
    glutMouseFunc(mousepress);
    glutMotionFunc(mousemove);
    glutReshapeFunc(reshape);
}

void main(int argc, char **argv){
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGBA);
    glutInitWindowSize(500,500);
    glutCreateWindow("My Second OpenGL Code");
    RegisterCallback();
    glutMainLoop();
}



?

List of Articles
No. Category Subject Author Date Views
637 Develop 다운 받아서 테스트 해볼것.. hooni 2013.04.23 10236
636 Etc 논문(BHO)에 들어갈 내용 집에가서 테스트 해볼 것.. secret hooni 2013.05.28 10230
635 Develop [java] RGB 색상 조절 버튼.. 스윙(swing) file hooni 2013.04.23 10206
634 Develop [js] jQjuery $ 활용 hooni 2013.12.17 10189
633 Develop [ios] UUID 생성 + Key Chain 연동 file hooni 2016.05.13 10175
632 Develop [c++] MFC로 만든 디렉토리/파일 파인더 file hooni 2013.04.23 10175
631 Develop [c] 도메인 소켓(Unix Domain Socket) UDP file hooni 2013.04.23 10173
630 Develop [c] 디피-헬만 키교환(Diffie–Hellman key exchange) 샘플 코드.. ㅋㄷ file hooni 2013.04.23 10127
629 Develop [php] 초간단 게시판 페이지 분할 알고리즘 hooni 2003.04.23 10116
628 Develop [js] 폼(form) 전송시 중복 클릭 방지 간단한 구문 hooni 2013.04.23 10111
627 Develop [c] 파일(File)의 연결과 연결 해제 (link, unlink, chown) hooni 2013.04.23 10103
626 Develop [c] 공용체를 이용해 MSB를 LSB로 변환 file hooni 2013.04.23 10088
Board Pagination Prev 1 ... 41 42 43 44 45 46 47 48 49 50 ... 99 Next
/ 99