


#include <GL/glut.h>
#include <stdlib.h>
#include <stdio.h>
static int leftFirst = GL_TRUE;

/*  Initialize alpha blending function.
 */
float theta=0.0f;
static void init(void)
{
   glClearColor(0.93f, 0.93f, 0.93f, 0.0f);
	glColor3f(0.0f, 0.0f, 0.0f);

    
}




void display(void)
{
     
   glClear(GL_COLOR_BUFFER_BIT);
   float x1=-1.0 , y1=-1.0 ;
   float x2=1.0 , y2=-1.0;
   glColor3f(0.0,1.0,0.0);
    glRotatef(theta, 1, 1, 1);
    //glTranslatef(1,0.5,0);
    
    //glScalef(0.5,0.5,0.5);
  /* for(int i = 1;i<=20;i++){
          glBegin(GL_LINES);
          glVertex3f(x1,y1,0.0);
          glVertex3f(x2,y2,0.0);
          glEnd();
          printf("x1 : %f y1: %f , x2 : %f y2: %f\n",x1,y1,x2,y2);
          x2-=0.1;
          y1+=0.1;
   }*/
   glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
  glutSolidTeapot (1.0);
   glFlush();
}
void keyboard(unsigned char key, int x, int y)
{
switch (key) {
case 'r':
case 'R':
printf ("Klaveyden r tuşuna basıldı\n");
theta=theta+1;
glutPostRedisplay();
break;
case 'z':

break;
case 'Z':

break;
case 27:
exit(0);
break;
default:
break;
}
}
GLvoid special_key(int key, int x, int y)
{
switch (key) {
case GLUT_KEY_RIGHT:
printf("sağ oka basıldı");

break;
case GLUT_KEY_LEFT:

printf("sol oka basıldı");

break;
case GLUT_KEY_UP:

printf("yukarı okula basıldı");

break;

case GLUT_KEY_DOWN:
printf("aşağı oka basıldı");

break;

default:
printf (" %d karakteri tanımlı değildir.\n", key);
break;
}
}

void selectObject(int obj){
switch(obj){

case 1:

printf("Secilen Sadi");

break;

case 2:

printf("Secilen Evren");

break;

case 3:

printf("Secilen Seker");

break;

}

}

void selectMode(int obj){
switch(obj){

case 1:

printf("Secilen Sadi");

break;

case 2:

printf("Secilen Evren");

break;

case 3:

printf("Secilen Seker");

break;

}

}
void mouse(int button, int state, int x, int y)
{
switch (button) {
    case GLUT_LEFT_BUTTON:
        if (state == GLUT_DOWN)
           printf("x: %d y: %d",x,y);
        break;
    case GLUT_MIDDLE_BUTTON:
    case GLUT_RIGHT_BUTTON:
         break;
    default:
            break;
}
}
void reshape(int w, int h)
{
   
}

/*  Main Loop
 *  Open window with initial window size, title bar, 
 *  RGBA display mode, and handle input events.
 */
int main(int argc, char** argv)
{
   glutInit(&argc, argv);
   glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
   glutInitWindowSize (200, 200);
   glutCreateWindow (argv[0]);
   glutMouseFunc(mouse);
   glutSpecialFunc(special_key);
   glutKeyboardFunc(keyboard);
   init();
   glutReshapeFunc (reshape);
   glutDisplayFunc (display);
   
   
  int menu3=glutCreateMenu(selectMode);
glutAddMenuEntry("Sadi",1);
glutAddMenuEntry("Evren",2);
glutAddMenuEntry("Seker",3);
int menu1= glutCreateMenu(selectObject);

glutAddSubMenu("İsimler",menu3);
glutAttachMenu(GLUT_RIGHT_BUTTON);


   glutMainLoop();
   return 0;
}

