void key(unsigned char code, int x, int y) { switch (tolower(code)) { case 'z': case 'p': break; case ' ': /* Toggle animation */ animate = !animate; testOverlayString("%s\n", animate ? "Play" : "Pause"); return; case 'h': /* Show help */ testOverlayString(commands); return; default: return; } /* Switch mode */ mode = tolower(code); updateOverlayString(); }
void updateOverlayString() { switch (mode) { case 'z': testOverlayString("Zoom Mode"); break; case 'p': testOverlayString("Pan Mode"); break; } }
void key(unsigned char key, int x, int y) { glutPostRedisplay(); if (key == BACKSPACE) { /* Reset value */ switch (mode) { case 't': tx = 0; ty = 0; break; case 'x': sx = 1.0f; break; case 'y': sy = 1.0f; break; } updateOverlayString(); return; } switch (tolower(key)) { case 't': case 'x': case 'y': break; case TAB: /* Cycle spread mode */ tindex = (tindex+1) % tsize; createPattern(); switch(tindex) { case 0: testOverlayString("Pattern Tiling mode: FILL\n"); break; case 1: testOverlayString("Pattern Tiling mode: PAD\n"); break; case 2: testOverlayString("Pattern Tiling mode: REPEAT\n"); break; case 3: testOverlayString("Pattern Tiling mode: REFLECT\n"); break; }return; case 'h': /* Show help */ testOverlayString(commands); return; default: return; } /* Switch mode */ mode = tolower(key); updateOverlayString(); }
void updateOverlayString() { switch (mode) { case 't': testOverlayString("Translate mode: %f,%f", tx,ty); break; case 'x': testOverlayString("Scale X mode: %f", sx); break; case 'y': testOverlayString("Scale Y mode: %f", sy); break; } }
void updateOverlayString() { switch (mode) { case 'c': testOverlayString("Gradient Center mode"); break; case 'f': testOverlayString("Gradient Focus mode"); break; case 'r': testOverlayString("Gradient Radius mode"); break; case 'x': testOverlayString("Scale X mode: %f", sx); break; case 'y': testOverlayString("Scale Y mode: %f", sy); break; } }
int tiger() { int argc; char **argv; //Initial windows(glut) and some gl projection testInit(argc, argv, 320 ,480, "ShivaVG: Tiger SVG Test"); #ifdef USE_GL //callbacks[type] = func testCallback(TEST_CALLBACK_CLEANUP, (CallbackFunc)cleanup); testCallback(TEST_CALLBACK_DISPLAY, (CallbackFunc)display); testCallback(TEST_CALLBACK_KEY, (CallbackFunc)key); testCallback(TEST_CALLBACK_BUTTON, (CallbackFunc)click); testCallback(TEST_CALLBACK_DRAG, (CallbackFunc)drag); #endif //USE_GL time_t stime, etime; double tpp; double fps; loadTiger(); display(0.05); #ifdef USE_GL testOverlayString("Press H for a list of commands"); testRun(); #endif //USE_GL return EXIT_SUCCESS; }
int main(int argc, char **argv) { testInit(argc, argv, 400,400, "ShivaVG: Radial Gradient Test"); testCallback(TEST_CALLBACK_DISPLAY, (CallbackFunc)display); testCallback(TEST_CALLBACK_BUTTON, (CallbackFunc)click); testCallback(TEST_CALLBACK_DRAG, (CallbackFunc)drag); testCallback(TEST_CALLBACK_KEY, (CallbackFunc)key); p = testCreatePath(); center = testCreatePath(); focus = testCreatePath(); radius = testCreatePath(); cx = testWidth()/2; cy = testHeight()/2; fx = cx; fy = cy; r = sqx/2; radialFill = vgCreatePaint(); blackFill = vgCreatePaint(); vgSetParameterfv(blackFill, VG_PAINT_COLOR, 4, black); createSquare(p); createRadial(); testOverlayString("Press H for a list of commands"); testOverlayColor(1,1,1,1); testRun(); return EXIT_SUCCESS; }
int main(int argc, char **argv) { testInit(argc, argv, 400,400, "ShivaVG: Linear Gradient Test"); testCallback(TEST_CALLBACK_DISPLAY, (CallbackFunc)display); testCallback(TEST_CALLBACK_BUTTON, (CallbackFunc)click); testCallback(TEST_CALLBACK_DRAG, (CallbackFunc)drag); testCallback(TEST_CALLBACK_KEY, (CallbackFunc)key); testCallback(TEST_CALLBACK_RESHAPE, (CallbackFunc)reshape); p = testCreatePath(); org = testCreatePath(); blackFill = vgCreatePaint(); vgSetParameterfv(blackFill, VG_PAINT_COLOR, 4, black); backImage = createImageFromJpeg(IMAGE_DIR"test_img_violin.jpg"); patternImage = createImageFromJpeg(IMAGE_DIR"test_img_shivavg.jpg"); patternFill = vgCreatePaint(); createSquare(p); createOrigin(org); createPattern(); testOverlayString("Press H for a list of commands"); testOverlayColor(1,1,1,1); testRun(); return EXIT_SUCCESS; }
void key(unsigned char key, int x, int y) { glutPostRedisplay(); if (key == BACKSPACE) { /* Reset value */ switch(mode) { case 'c': cx = testWidth()/2; cy = testHeight()/2; fx = cx; fy = cy; createRadial(); break; case 'f': fx = cx; fy = cy; createRadial(); break; case 'r': r = sqx; createRadial(); break; case 'x': sx = 1.0f; break; case 'y': sy = 1.0f; break; } updateOverlayString(); return; } switch (tolower(key)) { case 'c': case 'f': case 'r': case 'x': case 'y': break; case TAB: /* Cycle spread mode */ sindex = (sindex+1) % ssize; createRadial(); switch(sindex) { case 0: testOverlayString("Gradient Spread mode: PAD"); break; case 1: testOverlayString("Gradient Spread mode: REPEAT"); break; case 2: testOverlayString("Gradient Spread mode: REFLECT"); break; }return; case 'h': /* Show help */ testOverlayString(commands); return; default: return; } /* Switch mode */ mode = tolower(key); updateOverlayString(); }