Esempio n. 1
0
File: image.c Progetto: pts/pts-qiv
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;
    }
}
Esempio n. 2
0
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();
}
}
Esempio n. 3
0
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();
}