int main(int argc, char *argv[]) { #ifdef DEBUG // Debugger QCoreApplication a(argc, argv); #endif // Init initAll(); // Shake Random srand(time(0)); #ifdef WINDOWS // Change lang PostMessage(GetForegroundWindow(), WM_INPUTLANGCHANGEREQUEST, 2, 0); #endif // Set time of out screensaver timerScreensaver = timer(5000); // Off deleting saves mode deleteSave = false; // Clear selectedGMap selectedSaveSlot = -1; // Read save loadSaves(); // Set Scene setScene(scene["screensaver"]); // Start Game cpu = clock(); do { // Enum CPU cpu = clock() - cpu; if(selectedScene == scene["screensaver"]) { if(clock() > timerScreensaver) { setScene(scene["main"]); } } // Set old Width / Height scrOldWidth = screenWidth(); scrOldHeight = screenHeight(); // Draw update(); // Set CPU cpu = clock(); // Get char keyStroke = getch(); keyChar = char(keyStroke); // Keys Commands if(selectedScene != scene["savesNew"]) { keysCommand(keyStroke); } else { if(keyStroke != -1) { if(keyBackspace(keyStroke)) { if(!selectedScene->label[1]->getText().empty()) { // Backspace string newText = selectedScene->label[1]->getText(); newText.pop_back(); selectedScene->label[1]->setText(newText); } } else if(keyEnter(keyStroke)) { // Create save saveSlot[selectedSaveSlot] = new SaveSlot(new GMapWorld(biome["forest"]), selectedScene->label[1]->getText()); saveSlot[selectedSaveSlot]->gMap.emptyGMapHome = new GMapHome(biome["home"]); // To game setScene(scene["game"]); } else { // Valid keyChar? if(selectedScene->label[1]->font->image.find(keyChar) != selectedScene->label[1]->font->image.end()) { // Add keyChar string newText = selectedScene->label[1]->getText(); newText.push_back(keyChar); selectedScene->label[1]->setText(newText); } } } } } while(true); endwin(); // Delete all // GMaps SAVE_DEL_MAS(saveSlot); // Messages SAVE_DEL_MAS(message); return 0; }
void CalculatorTestApp::handleKey(widgetid_t keyPressed) { // keyMap origKeyMap = (keyMap)buttons->getMap(); switch (keyPressed) { case zero: case one: case two: case three: case four: case five: case six: case seven: case eight: case nine: case hex_a: case hex_b: case hex_c: case hex_d: case hex_e: case hex_f: keyDigit(keyPressed); break; case decimal: keyDecimal(); break; case enter: keyEnter(); break; case clear: keyClear(); break; case backspace: keyBackspace(); break; case shift: keyShift(); break; case ee: keyEE(); break; default: // the following are functions that accept the current input string acceptText(); switch (keyPressed) { case divide: keyDivide(); break; case multiply: keyMultiply(); break; case add: keyAdd(); break; case subtract: keySubtract(); break; case inverse: keyInverse(); break; case percent: keyPercent(); break; case swap: keySwap(); break; case changeBase: keyBase(); break; case send: keySend(); break; case square_f: keySquare(); break; case cube_f: keyCube(); break; case pow_f: keyPow(); break; case exp_f: keyExp(); break; case pow10_f: keyPow10(); break; case sqrt_f: keySqrt(); break; case cubert_f: keyCubert(); break; case xroot_f: keyXroot(); break; case ln_f: keyLn(); break; case log10_f: keyLog10(); break; case sin_f: keySin(); break; case cos_f: keyCos(); break; case tan_f: keyTan(); break; case pi_f: keyPi(); break; case e_f: keyE(); break; case asin_f: keyAsin(); break; case acos_f: keyAcos(); break; case atan_f: keyAtan(); break; case logy_f: keyLogy(); break; case log2_f: keyLog2(); break; case in2mm_f: keyIn2mm(); break; case mm2in_f: keyMm2In(); break; case g2lb_f: keyG2lb(); break; case lb2g_f: keyLb2g(); break; case c2f_f: keyC2f(); break; case f2c_f: keyF2c(); break; case ppi_f: keyPpi(); break; default: break; } } // if (origKeyMap == sci_map && buttons->getMap() == sci_map) { // buttons->setMap(basic_map); // } drawDisplay(); }