Beispiel #1
0
void composeKeyPressed(char c, bool& exitFlag)
{
    switch(c)
    {
        case 'q':
            printf("quit compose program...\n");
            exitFlag = true;
            break;
        case 'a':
            printf("move left ...\n");
            if(y >= 10)
                y -= 10;
            break;
        case 'd':
            printf("move right ...\n");
            if(y < backImg.cols - 10)
                y += 10;
            break;
        case 'w':
            printf("move top ...\n");
            if(x >= 10)
                x -= 10;
            break;
        case 's':
            printf("move down ...\n");
            if(x < backImg.rows - 10)
                x += 10;
            break;
        case 'e':
            printf("zoom ...\n");
            alpha += delta;
            if(!zoomImage(foreImg, alpha))
               alpha -= delta; 
            break;
        case 'r':
            printf("shrink ...\n");
            alpha -= delta;
            if(!zoomImage(foreImg, alpha))
                alpha += delta;
            break;
        case 'c':
            printf("save ...\n");
            saveFlag = true;
            break;

        default:
            break;
    }
}
Beispiel #2
0
void WinImage::slotZoom()
{
    double scale = _a_number->value();
    scale = (scale==0) ? 1 : 1 / scale;
    _image = zoomImage(_image, scale, 0);

    update();

    QString message = "Zoom scale: " + QString::number( _a_number->value());
    statusBar()->showMessage( message);
}