السلام عليكم هذي اول مشاركة لي ارجو مساعدتي ....مالخطأ في هذا الكود...
المطلوب من الكود::
عند الضغط بالماوس يرسم نقطة و هكذا و بعد رسم النقاط نفتح منيو و نختار درو فترسم من كل نقطة خط مستقيم للنقاط الاخري.
الكود ماشي معايا و لكن لما اضغط درو ما يرسم الخطوط ...ارجو المساعده بسرعه
#include <GL/glut.h>
GLsizei winWidth = 400, winHeight = 300; // Initial display-window size.
GLenum drowMode=GL_TRIANGLE_FAN;
void init (void)
{
glClearColor (0.0, 0.0, 1.0, 1.0); // Set display-window color to blue.
glMatrixMode (GL_PROJECTION);
gluOrtho2D (0.0, 200.0, 0.0, 150.0);
}
void drowOption(GLint selectedOption)
{switch (selectedOption) {
case 1: drowMode= GL_TRIANGLE_FAN; break;}
glutPostRedisplay ();
}
void displayFcn (void)
{
glClear (GL_COLOR_BUFFER_BIT); // Clear display window.
glColor3f (1.0, 0.0, 0.0); // Set point color to red.
glPointSize (5.0); // Set point size to 3.0.
}
void winReshapeFcn (GLint newWidth, GLint newHeight)
{
/* Reset viewport and projection parameters */
glViewport (0, 0, newWidth, newHeight);
glMatrixMode (GL_PROJECTION);
glLoadIdentity ( );
gluOrtho2D (0.0, (newWidth), 0.0, (newHeight));
/* Reset display-window size parameters. */
winWidth = newWidth;
winHeight = newHeight;
}
void plotPoint (GLint x, GLint y)
{
glBegin (GL_POINTS);
glVertex2i (x, y);
glEnd ( );
}
void mousePtPlot (GLint button, GLint action, GLint xMouse, GLint yMouse)
{
if (button == GLUT_LEFT_BUTTON && action == GLUT_DOWN)
plotPoint (xMouse, winHeight - yMouse);
glFlush ( );
}
void main (int argc, char** argv)
{
glutInit (&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowPosition (100, 100);
glutInitWindowSize (winWidth, winHeight);
glutCreateWindow ("Mouse Plot Points");
init ( );
glutDisplayFunc (displayFcn);
glutReshapeFunc (winReshapeFcn);
glutMouseFunc (mousePtPlot);
glutCreateMenu (drowOption);
glutAddMenuEntry (" drow lines",1);
glutAttachMenu (GLUT_RIGHT_BUTTON);
glutMainLoop ( );
}

