imtk
diff test.c @ 0:b04d49e4599c
foo
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Thu, 30 Dec 2010 05:22:14 +0200 |
parents | |
children | dfbd12d1f566 |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/test.c Thu Dec 30 05:22:14 2010 +0200 1.3 @@ -0,0 +1,106 @@ 1.4 +#include <stdio.h> 1.5 +#include <stdlib.h> 1.6 +#ifndef __APPLE__ 1.7 +#include <GL/glut.h> 1.8 +#else 1.9 +#include <GLUT/glut.h> 1.10 +#endif 1.11 +#include "imtk.h" 1.12 + 1.13 +void disp(void); 1.14 +void reshape(int x, int y); 1.15 +void keyb(unsigned char key, int x, int y); 1.16 +void keyb_up(unsigned char key, int x, int y); 1.17 +void skeyb(int key, int x, int y); 1.18 +void skeyb_up(int key, int x, int y); 1.19 +void mouse(int bn, int state, int x, int y); 1.20 +void motion(int x, int y); 1.21 + 1.22 + 1.23 +int main(int argc, char **argv) 1.24 +{ 1.25 + glutInitWindowSize(800, 600); 1.26 + glutInit(&argc, argv); 1.27 + glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE); 1.28 + glutCreateWindow("imgui test"); 1.29 + 1.30 + glutDisplayFunc(disp); 1.31 + glutReshapeFunc(reshape); 1.32 + glutKeyboardFunc(keyb); 1.33 + glutKeyboardUpFunc(keyb_up); 1.34 + glutSpecialFunc(skeyb); 1.35 + glutSpecialUpFunc(skeyb_up); 1.36 + glutMouseFunc(mouse); 1.37 + glutMotionFunc(motion); 1.38 + glutPassiveMotionFunc(motion); 1.39 + 1.40 + glutMainLoop(); 1.41 + return 0; 1.42 +} 1.43 + 1.44 +void disp(void) 1.45 +{ 1.46 + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 1.47 + 1.48 + imtk_begin(); 1.49 + 1.50 + if(imtk_button(0, "foobar", 100, 100)) { 1.51 + printf("clicked button 0\n"); 1.52 + } 1.53 + if(imtk_button(1, "xyzzy", 100, 200)) { 1.54 + printf("clicked button 1\n"); 1.55 + } 1.56 + 1.57 + imtk_end(); 1.58 + 1.59 + glutSwapBuffers(); 1.60 +} 1.61 + 1.62 +void reshape(int x, int y) 1.63 +{ 1.64 + glViewport(0, 0, x, y); 1.65 + imtk_inp_reshape(x, y); 1.66 + 1.67 + glMatrixMode(GL_PROJECTION); 1.68 + glLoadIdentity(); 1.69 + glTranslatef(-1, -1, 0); 1.70 + glScalef(2.0 / x, 2.0 / y, 1.0); 1.71 +} 1.72 + 1.73 +void keyb(unsigned char key, int x, int y) 1.74 +{ 1.75 + switch(key) { 1.76 + case 27: 1.77 + exit(0); 1.78 + 1.79 + default: 1.80 + break; 1.81 + } 1.82 + 1.83 + imtk_inp_key(key, IMTK_DOWN); 1.84 +} 1.85 + 1.86 +void keyb_up(unsigned char key, int x, int y) 1.87 +{ 1.88 + imtk_inp_key(key, IMTK_UP); 1.89 +} 1.90 + 1.91 +void skeyb(int key, int x, int y) 1.92 +{ 1.93 + imtk_inp_key(key, IMTK_DOWN); 1.94 +} 1.95 + 1.96 +void skeyb_up(int key, int x, int y) 1.97 +{ 1.98 + imtk_inp_key(key, IMTK_UP); 1.99 +} 1.100 + 1.101 +void mouse(int bn, int state, int x, int y) 1.102 +{ 1.103 + imtk_inp_mouse(bn, state == GLUT_DOWN ? IMTK_DOWN : IMTK_UP); 1.104 +} 1.105 + 1.106 +void motion(int x, int y) 1.107 +{ 1.108 + imtk_inp_motion(x, y); 1.109 +}