void initXWindows(void) { GLint att[] = { GLX_RGBA, GLX_DEPTH_SIZE, 24, GLX_DOUBLEBUFFER, None }; //GLint att[] = { GLX_RGBA, GLX_DEPTH_SIZE, 24, None }; XSetWindowAttributes swa; setup_screen_res(xres, yres); dpy = XOpenDisplay(NULL); if (dpy == NULL) { std::cout << "\n\tcannot connect to X server" << std::endl; exit(EXIT_FAILURE); } Window root = DefaultRootWindow(dpy); XVisualInfo *vi = glXChooseVisual(dpy, 0, att); if (vi == NULL) { std::cout << "\n\tno appropriate visual found\n" << std::endl; exit(EXIT_FAILURE); } Colormap cmap = XCreateColormap(dpy, root, vi->visual, AllocNone); swa.colormap = cmap; swa.event_mask = ExposureMask | KeyPressMask | KeyReleaseMask | StructureNotifyMask | SubstructureNotifyMask; win = XCreateWindow(dpy, root, 0, 0, xres, yres, 0, vi->depth, InputOutput, vi->visual, CWColormap | CWEventMask, &swa); set_title(); glc = glXCreateContext(dpy, vi, NULL, GL_TRUE); glXMakeCurrent(dpy, win, glc); }
void reshape_window(int width, int height) { //window has been resized. setup_screen_res(width, height); // glViewport(0, 0, (GLint)width, (GLint)height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glOrtho(0, xres, 0, yres, -1, 1); set_title(); }
void reshape_window(Game *game, int width, int height) { Shape *p = &game->body; size_flag = true; setup_screen_res(width, height); p->center[0] = width/2; p->center[1] = (game->altitude - height) / 2; glViewport(0,0, (GLint)width, (GLint)height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); //glOrtho(0, width, 0, height, -1, 1); glOrtho(0, width, (game->altitude - height), game->altitude, -1, 1); set_title(); }
void reshape_window(int width, int height) { xres = width; yres = height; //window has been resized. setup_screen_res(width, height); //SET HUD RESOLUTION: hud->setResolution(xres,yres); //RESET BOMB RADIUS: int min; if (xres<yres){ min=xres; } else{ min=yres; } bomb_radius = ((int)(3*min)/10); //RESET THE TWO PADDLES POSITION AND BALL RESOLUTION: paddle1.setXPos(50.0f); paddle1.setYPos((float)yres/2); paddle2.setXPos((float)xres - 65.0f); paddle2.setYPos((float)yres/2); paddle1.setWindowHeight(yres); paddle2.setWindowHeight(yres); ball.setResolution(xres,yres); //------------------------- glViewport(0, 0, (GLint)width, (GLint)height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glOrtho(0, xres, 0, yres, -1, 1); set_title(); }
void initXWindows(void) { Window root; GLint att[] = { GLX_RGBA, GLX_DEPTH_SIZE, 24, GLX_DOUBLEBUFFER, None }; //GLint att[] = { GLX_RGBA, GLX_DEPTH_SIZE, 24, None }; XVisualInfo *vi; Colormap cmap; XSetWindowAttributes swa; setup_screen_res(640, 480); dpy = XOpenDisplay(NULL); if(dpy == NULL) { printf("\n\tcannot connect to X server\n\n"); exit(EXIT_FAILURE); } root = DefaultRootWindow(dpy); vi = glXChooseVisual(dpy, 0, att); if(vi == NULL) { printf("\n\tno appropriate visual found\n\n"); exit(EXIT_FAILURE); } //else { // // %p creates hexadecimal output like in glxinfo // printf("\n\tvisual %p selected\n", (void *)vi->visualid); //} cmap = XCreateColormap(dpy, root, vi->visual, AllocNone); swa.colormap = cmap; swa.event_mask = ExposureMask | KeyPressMask | KeyReleaseMask | StructureNotifyMask | SubstructureNotifyMask; win = XCreateWindow(dpy, root, 0, 0, xres, yres, 0, vi->depth, InputOutput, vi->visual, CWColormap | CWEventMask, &swa); set_title(); glc = glXCreateContext(dpy, vi, NULL, GL_TRUE); glXMakeCurrent(dpy, win, glc); }