void transform( qiv_image *q, enum Orientation orientation) { switch (orientation) { default: return; case HFLIP: flipH(q); snprintf(infotext, sizeof infotext, "(Flipped horizontally)"); break; case VFLIP: flipV(q); snprintf(infotext, sizeof infotext, "(Flipped vertically)"); break; case ROT_180: rot180(q); snprintf(infotext, sizeof infotext, "(Turned upside down)"); break; case TRANSPOSE: transpose(q); swapWH(q); snprintf(infotext, sizeof infotext, "(Transposed)"); break; case ROT_90: rot90(q); swapWH(q); snprintf(infotext, sizeof infotext, "(Rotated left)"); break; case TRANSVERSE: transpose(q); rot180(q); swapWH(q); snprintf(infotext, sizeof infotext, "(Transversed)"); break; case ROT_270: rot270(q); swapWH(q); snprintf(infotext, sizeof infotext, "(Rotated left)"); break; } }
int command(int n, int m, int mat[n][m]){ int pink = BACKGROUND_BLUE | BACKGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_INTENSITY, green = BACKGROUND_BLUE | BACKGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_INTENSITY, yellow = BACKGROUND_BLUE | BACKGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY; int command = 0, y; char s[50]; baseprint(2, 15, pink); printf("Please, enter your command :"); while(command != 2){ baseprint(2, 16, yellow); scanf("%s", s); fflush(stdin); if(strcmp(s,"help") == 0){ command = 1; } else if(strcmp(s,"end") == 0){ command = 2; } else if(strcmp(s,"null") == 0){ command = 3; } else if(strcmp(s,"random") == 0){ command = 4; } else if(strcmp(s,"change") == 0){ command = 5; } else if(strcmp(s,"flipH") == 0){ command = 6; } else if(strcmp(s,"mean") == 0){ command = 7; } else if(strcmp(s,"sum") == 0){ command = 8; } else if(strcmp(s,"change1") == 0){ command = 9; } else if(strcmp(s,"change2") == 0){ command = 10; } else if(strcmp(s,"change3") == 0){ command = 11; } else{ command = 0; baseprint(2, 17, pink); printf(" ERROR, try again!"); deleting(16); baseprint(2, 16, pink); getch(); } deleting(17); switch (command){ case 1: help(); getch(); break; case 2: end(); break; case 3: null(n, m, mat); break; case 4: random(n, m, mat); break; case 5: elchange(n, m, mat); break; case 6: flipH(n, m, mat); break; case 7: meanValue(n, m, mat); getch(); break; case 8: elementsSum(n, m, mat); getch(); break; case 9: elementsChange1(n, m, mat); break; case 10: elementsChange2(n, m, mat); break; case 11: columnChange(n, m, mat); break; case 0: break; } newcommand(); } }
void eval(char *cmd) { if (cmd[0] == '\0') return; char *af = strchr(cmd, ' '); if (af != NULL) *af = '\0'; if (strcmp(cmd, "init") == 0) { int r, c; if (af != NULL) if (sscanf(af + 1, "%d %d", &r, &c) == 2) { init_matrix(r, c); return; } wprintw(work_wnd, "Usage: init nrows ncolumns\n"); return; } if (strcmp(cmd, "randomize") == 0) { int l, h; if (af != NULL) if (sscanf(af + 1, "%d %d", &l, &h) == 2) { randomize(l, h); return; } wprintw(work_wnd, "Usage: randomize min max\n"); return; } if (strcmp(cmd, "mutate") == 0) { int r, c, nv; if (af != NULL) if (sscanf(af + 1, "%d %d %d", &r, &c, &nv) == 3) { mutate(r, c, nv); return; } wprintw(work_wnd, "Usage: mutate row column new_value\n"); return; } if (strcmp(cmd, "null") == 0) { tonull(); return; } if (strcmp(cmd, "sumDown") == 0) { sumDown(); return; } if (strcmp(cmd, "reflectSide") == 0) { transposeSide(); return; } if (strcmp(cmd, "rotate") == 0) { rotate(); return; } if (strcmp(cmd, "flipH") == 0) { flipH(); return; } if (strcmp(cmd, "avg") == 0) { avg(); return; } if (strcmp(cmd, "feswap") == 0) { feswap(); return; } if (strcmp(cmd, "leswap") == 0) { leswap(); return; } if (strcmp(cmd, "ecswap") == 0) { ecswap(); return; } if (strcmp(cmd, "q") == 0) { finish(); exit(EXIT_SUCCESS); return; } if (strcmp(cmd, "sumC") == 0) { size_t column; if (af != NULL) if (sscanf(af + 1, "%zu", &column) == 1) { sumColumn(column); return; } wprintw(work_wnd, "Usage: sumC column\n"); return; } print_help(); }