//keyboard handle function to implement image manipulation void handleKey(unsigned char key, int x, int y){ switch(key){ //use key 'w' or 'W' to write image case 'w': case 'W': if (writename != NULL) { Image.ImageWrite(writename); } //if the second parameter is not specified in command line, output the message 'cannot write the image' else{ std::cout << "You cannot write the image because you didn't specify a filename." << std::endl; } break; //use key 'q' or 'Q' to quit the program case 'q': // q - quit case 'Q': case 27: // esc - quit exit(0); default: // not a valid key -- just ignore it return; } }