nuclear@2: /* nuclear@2: Stereoscopic tunnel for iOS. nuclear@9: Copyright (C) 2011-2015 John Tsiombikas nuclear@2: nuclear@2: This program is free software: you can redistribute it and/or modify nuclear@2: it under the terms of the GNU General Public License as published by nuclear@2: the Free Software Foundation, either version 3 of the License, or nuclear@2: (at your option) any later version. nuclear@2: nuclear@2: This program is distributed in the hope that it will be useful, nuclear@2: but WITHOUT ANY WARRANTY; without even the implied warranty of nuclear@2: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the nuclear@2: GNU General Public License for more details. nuclear@2: nuclear@2: You should have received a copy of the GNU General Public License nuclear@2: along with this program. If not, see . nuclear@2: */ nuclear@2: nuclear@2: nuclear@2: #include nuclear@2: #include nuclear@2: #include nuclear@10: nuclear@10: #ifdef __APPLE__ nuclear@10: #include nuclear@10: #else nuclear@2: #include nuclear@10: #endif nuclear@10: nuclear@2: #include "sanegl.h" nuclear@2: #include "istereo.h" nuclear@2: #include "sdr.h" nuclear@2: nuclear@2: void disp(void); nuclear@2: void keyb(unsigned char key, int x, int y); nuclear@9: void mouse(int bn, int st, int x, int y); nuclear@9: void motion(int x, int y); nuclear@2: nuclear@2: int main(int argc, char **argv) nuclear@2: { nuclear@2: glutInit(&argc, argv); nuclear@10: glutInitWindowSize(920, 640); nuclear@2: glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE); nuclear@2: glutCreateWindow("test"); nuclear@2: nuclear@2: glutDisplayFunc(disp); nuclear@2: glutIdleFunc(glutPostRedisplay); nuclear@2: glutReshapeFunc(reshape); nuclear@2: glutKeyboardFunc(keyb); nuclear@9: glutMouseFunc(mouse); nuclear@9: glutMotionFunc(motion); nuclear@2: nuclear@2: glewInit(); nuclear@2: nuclear@2: if(init() == -1) { nuclear@2: return 1; nuclear@2: } nuclear@2: nuclear@2: glutMainLoop(); nuclear@2: return 0; nuclear@2: } nuclear@2: nuclear@2: void disp(void) nuclear@2: { nuclear@2: redraw(); nuclear@2: nuclear@2: glutSwapBuffers(); nuclear@2: } nuclear@2: nuclear@2: extern int stereo; nuclear@2: extern int use_bump; nuclear@2: nuclear@2: void keyb(unsigned char key, int x, int y) nuclear@2: { nuclear@2: switch(key) { nuclear@2: case 27: nuclear@2: exit(0); nuclear@2: nuclear@2: case 's': nuclear@2: stereo = !stereo; nuclear@2: break; nuclear@2: nuclear@2: case 'b': nuclear@2: use_bump = !use_bump; nuclear@2: break; nuclear@2: nuclear@2: case '`': nuclear@2: { nuclear@2: int xsz = glutGet(GLUT_WINDOW_WIDTH); nuclear@2: int ysz = glutGet(GLUT_WINDOW_HEIGHT); nuclear@2: nuclear@2: glutReshapeWindow(ysz, xsz); nuclear@2: } nuclear@2: break; nuclear@2: nuclear@20: case ' ': nuclear@20: playpause(); nuclear@20: break; nuclear@20: nuclear@20: case '.': nuclear@22: seektime(50); nuclear@22: break; nuclear@22: case '>': nuclear@22: seektime(10); nuclear@22: break; nuclear@22: case ']': nuclear@22: seektime(1); nuclear@20: break; nuclear@20: nuclear@20: case ',': nuclear@22: seektime(-50); nuclear@22: break; nuclear@22: case '<': nuclear@22: seektime(-10); nuclear@22: break; nuclear@22: case '[': nuclear@22: seektime(-1); nuclear@22: break; nuclear@22: nuclear@22: case '1': nuclear@22: glutReshapeWindow(960, 640); /* 3.5 inch iphone */ nuclear@22: break; nuclear@22: nuclear@22: case '2': nuclear@22: glutReshapeWindow(1136, 640); /* 4.0 inch iphone */ nuclear@22: break; nuclear@22: nuclear@22: case '3': nuclear@22: glutReshapeWindow(1334, 750); /* 4.7 inch iphone */ nuclear@22: break; nuclear@22: nuclear@22: case '4': nuclear@22: glutReshapeWindow(2208, 1242); /* 5.5 inch iphone */ nuclear@22: break; nuclear@22: nuclear@22: case '5': nuclear@22: glutReshapeWindow(2048, 1496); /* ipad2? */ nuclear@22: break; nuclear@22: nuclear@22: case '9': nuclear@22: glutReshapeWindow(1104, 621); /* hald 5.5 inch iphone */ nuclear@22: break; nuclear@22: nuclear@22: case '0': nuclear@22: glutReshapeWindow(1024, 748); /* half ipad2 */ nuclear@20: break; nuclear@20: nuclear@2: default: nuclear@2: break; nuclear@2: } nuclear@2: } nuclear@9: nuclear@9: void mouse(int bn, int st, int x, int y) nuclear@9: { nuclear@9: mouse_button(bn - GLUT_LEFT_BUTTON, st == GLUT_DOWN ? 1 : 0, x, y); nuclear@9: } nuclear@9: nuclear@9: void motion(int x, int y) nuclear@9: { nuclear@9: mouse_motion(x, y); nuclear@9: } nuclear@17: nuclear@17: /* dummy ad banner functions */ nuclear@17: void ad_banner_show(void) nuclear@17: { nuclear@17: } nuclear@17: nuclear@17: void ad_banner_hide(void) nuclear@17: { nuclear@17: }