void Card::setAll(const char* allch) { String all = allch; int indexof = all.find(delim); if (indexof > -1) { setQuantity(all.substr(0,indexof++).c_str()); all=all.substr(indexof); indexof = all.find(delim); setText(all.substr(0,indexof++).c_str()); all=all.substr(indexof); indexof = all.find(delim); setThumb(all.substr(0,indexof++).c_str()); all=all.substr(indexof); indexof = all.find(delim); setFront(all.substr(0,indexof++).c_str()); all=all.substr(indexof); indexof = all.find(delim); setBack(all.substr(0,indexof++).c_str()); all=all.substr(indexof); indexof = all.find(delim); setId(all.substr(0,indexof++).c_str()); all=all.substr(indexof); indexof = all.find(delim); setRate(all.substr(0,indexof++).c_str()); all=all.substr(indexof); indexof = all.find(delim); setValue(all.substr(0,indexof++).c_str()); all=all.substr(indexof); indexof = all.find(delim); setNote(all.substr(0,indexof++).c_str()); all=all.substr(indexof); setLoaded(true); if ((getText().length() <= 0)||(getQuantity().length() <= 0)) { setQuantity(""); setText(""); setLoaded(false); } } else { setQuantity(""); setText(""); setThumb(""); setFront(""); setBack(""); setId(""); setRate(""); setValue(""); setNote(""); setLoaded(false); } }
// updateData // update data void CWayPoint::updateData( CSerializable* pObj ) { pObj->nextRecord(); CZone* pZone = (CZone*) getParent(); // next waypoint long id = pObj->readLong(); CGameObject *p = pZone->searchObject( id ); if ( id != -1 && p ) { if ( p && p->getObjectType() == CGameObject::WaypointObject ) { ((CWayPoint*)p)->setBack( this ); setNext( (CWayPoint*)p ); } } else { if ( m_next ) m_next->setBack( NULL ); setNext(NULL); } // prev waypoint id = pObj->readLong(); p = pZone->searchObject( id ); if ( id != -1 && p ) { if ( p && p->getObjectType() == CGameObject::WaypointObject ) { ((CWayPoint*)p)->setNext( this ); setBack( (CWayPoint*)p ); } } else { if ( m_back ) m_back->setNext( NULL ); setBack(NULL); } // wait time m_timeWait = pObj->readLong(); CGameObject::updateData( pObj ); }
void View::articleClicked() { Button *btn = dynamic_cast<Button*>(sender()); if (!btn) return; QPropertyAnimation *animation = new QPropertyAnimation(btn, "geometry"); animation->setDuration(750); animation->setEasingCurve(QEasingCurve::OutExpo); if (btn->isFront()) { btn->setZValue(1); animation->setStartValue(btn->geometry()); animation->setEndValue(btn->gridGeometry()); connect(animation, SIGNAL(finished()), btn, SLOT(setBack())); animation->start(); //_actButton = NULL; } else { if (_actButton != NULL && _actButton != btn) { delete animation; return; } btn->setFront(); btn->setGridGeometry(btn->geometry()); animation->setStartValue(btn->geometry()); unsigned int w = size().width() / 17; unsigned int h = (size().height() - _topBar->size().height()) / 15; animation->setEndValue(QRectF(w, h + _topBar->size().height(), 15 * w, 13 * h)); animation->start(); _actButton = btn; } btn->setEnabled(false); connect(animation, SIGNAL(finished()), animation, SLOT(deleteLater())); connect(animation, SIGNAL(finished()), this, SLOT(animationFinished())); }
int AscFile::load(char *filename) { FILE *fp; fp = fopen(filename, "r"); if(fp == NULL) { return -1; } float version; fscanf(fp, "ASCII-Paint v%g", &version); fscanf(fp, "%i %i", &width, &height); setSize(width, height); // Scan until we hit #(the marker for the start of image data) while(fgetc(fp) != '#'); for(int x = 0; x < width; x++) { for(int y = 0; y < height; y++) { char c = fgetc(fp); int fr = fgetc(fp); int fg = fgetc(fp); int fb = fgetc(fp); int br = fgetc(fp); int bg = fgetc(fp); int bb = fgetc(fp); int solid = fgetc(fp); int walkable = fgetc(fp); setChar(x, y, c); setFore(x, y, fr, fg, fb); setBack(x, y, br, bg, bb); setSolid(x, y, solid); setSolid(x, y, walkable); } } fclose(fp); return 1; }
void View::articleClicked() { Button *btn = dynamic_cast<Button*>(sender()); if (!btn) return; QPropertyAnimation *animation = new QPropertyAnimation(btn, "geometry"); animation->setDuration(750); animation->setEasingCurve(QEasingCurve::OutExpo); if (btn->isFront()) { animation->setStartValue(btn->geometry()); animation->setEndValue(btn->gridGeometry()); connect(animation, SIGNAL(finished()), btn, SLOT(setBack())); } else { btn->setFront(); btn->setGridGeometry(btn->geometry()); animation->setStartValue(btn->geometry()); animation->setEndValue(QRectF(15, 45, 670, 670)); } animation->start(); }
void System::handleMenu(MAEvent &event) { int menuId = event.optionsBoxButtonIndex; int fontSize = _output->getFontSize(); int menuItem = _systemMenu[menuId]; delete [] _systemMenu; _systemMenu = NULL; switch (menuItem) { case MENU_SOURCE: showSystemScreen(true); break; case MENU_CONSOLE: showSystemScreen(false); break; case MENU_KEYPAD: maShowVirtualKeyboard(); break; case MENU_RESTART: setRestart(); break; case MENU_BACK: setBack(); break; case MENU_ZOOM_UP: if (_fontScale > FONT_MIN) { _fontScale -= FONT_SCALE_INTERVAL; fontSize = (_initialFontSize * _fontScale / 100); } break; case MENU_ZOOM_DN: if (_fontScale < FONT_MAX) { _fontScale += FONT_SCALE_INTERVAL; fontSize = (_initialFontSize * _fontScale / 100); } break; case MENU_COPY: case MENU_CUT: if (get_focus_edit() != NULL) { char *text = get_focus_edit()->copy(menuItem == MENU_CUT); if (text) { setClipboardText(text); free(text); _output->redraw(); } } break; case MENU_PASTE: if (get_focus_edit() != NULL) { char *text = getClipboardText(); get_focus_edit()->paste(text); _output->redraw(); free(text); } break; case MENU_SELECT_ALL: if (get_focus_edit() != NULL) { get_focus_edit()->selectAll(); _output->redraw(); } break; case MENU_CTRL_MODE: if (get_focus_edit() != NULL) { bool controlMode = get_focus_edit()->getControlMode(); get_focus_edit()->setControlMode(!controlMode); } break; case MENU_EDITMODE: opt_ide = (opt_ide == IDE_NONE ? IDE_INTERNAL : IDE_NONE); break; case MENU_AUDIO: opt_mute_audio = !opt_mute_audio; break; case MENU_SCREENSHOT: ::screen_dump(); break; case MENU_UNDO: event.type = EVENT_TYPE_KEY_PRESSED; event.key = SB_KEY_CTRL('z'); break; case MENU_REDO: event.type = EVENT_TYPE_KEY_PRESSED; event.key = SB_KEY_CTRL('y'); break; case MENU_SAVE: event.type = EVENT_TYPE_KEY_PRESSED; event.key = SB_KEY_CTRL('s'); break; case MENU_RUN: event.type = EVENT_TYPE_KEY_PRESSED; event.key = SB_KEY_F(9); break; case MENU_DEBUG: event.type = EVENT_TYPE_KEY_PRESSED; event.key = SB_KEY_F(5); break; case MENU_OUTPUT: event.type = EVENT_TYPE_KEY_PRESSED; event.key = SB_KEY_CTRL('o'); break; case MENU_HELP: event.type = EVENT_TYPE_KEY_PRESSED; event.key = SB_KEY_F(1); break; case MENU_SHORTCUT: if (!_activeFile.empty()) { addShortcut(_activeFile.c_str()); } break; case MENU_SHARE: if (!_activeFile.empty()) { share(_activeFile.c_str()); } break; case MENU_COMPLETION_0: completeKeyword(0); break; case MENU_COMPLETION_1: completeKeyword(1); break; case MENU_COMPLETION_2: completeKeyword(2); break; case MENU_COMPLETION_3: completeKeyword(3); break; } if (fontSize != _output->getFontSize()) { // restart the shell _output->setFontSize(fontSize); setRestart(); } if (!isRunning()) { _output->flush(true); } }
void FuzzyEngine::stop() { setLeft(0.0); setRight(0.0); setFront(0.0); setBack(0.0); }
void FuzzyEngine::setAll(int speed) { setFront(speed); setBack(speed); setLeft(speed); setRight(speed); }
void Runtime::pollEvents(bool blocking) { if (isActive() && !isRestart()) { SDL_Event ev; SDL_Keymod mod; if (blocking ? SDL_WaitEvent(&ev) : SDL_PollEvent(&ev)) { MAEvent *maEvent = NULL; switch (ev.type) { case SDL_TEXTINPUT: // pre-transformed/composted text mod = SDL_GetModState(); if (!mod || (mod & (KMOD_SHIFT|KMOD_CAPS))) { // ALT + CTRL keys handled in SDL_KEYDOWN for (int i = 0; ev.text.text[i] != 0; i++) { MAEvent *keyEvent = new MAEvent(); keyEvent->type = EVENT_TYPE_KEY_PRESSED; keyEvent->key = ev.text.text[i]; keyEvent->nativeKey = 0; pushEvent(keyEvent); } } break; case SDL_QUIT: setExit(true); break; case SDL_KEYDOWN: if (!isEditing() && ev.key.keysym.sym == SDLK_c && (ev.key.keysym.mod & KMOD_CTRL)) { setExit(true); } else if (ev.key.keysym.sym == SDLK_m && (ev.key.keysym.mod & KMOD_CTRL)) { showMenu(); } else if (ev.key.keysym.sym == SDLK_b && (ev.key.keysym.mod & KMOD_CTRL)) { setBack(); } else if (ev.key.keysym.sym == SDLK_BACKSPACE && get_focus_edit() == NULL && ((ev.key.keysym.mod & KMOD_CTRL) || !isRunning())) { setBack(); } else if (!isEditing() && ev.key.keysym.sym == SDLK_PAGEUP && (ev.key.keysym.mod & KMOD_CTRL)) { _output->scroll(true, true); } else if (!isEditing() && ev.key.keysym.sym == SDLK_PAGEDOWN && (ev.key.keysym.mod & KMOD_CTRL)) { _output->scroll(false, true); } else if (!isEditing() && ev.key.keysym.sym == SDLK_UP && (ev.key.keysym.mod & KMOD_CTRL)) { _output->scroll(true, false); } else if (!isEditing() && ev.key.keysym.sym == SDLK_DOWN && (ev.key.keysym.mod & KMOD_CTRL)) { _output->scroll(false, false); } else if (ev.key.keysym.sym == SDLK_p && (ev.key.keysym.mod & KMOD_CTRL)) { ::screen_dump(); } else { int lenMap = sizeof(keymap) / sizeof(keymap[0]); for (int i = 0; i < lenMap; i++) { if (ev.key.keysym.sym == keymap[i][0]) { maEvent = new MAEvent(); maEvent->type = EVENT_TYPE_KEY_PRESSED; maEvent->key = keymap[i][1]; maEvent->nativeKey = ev.key.keysym.mod; break; } } if (maEvent == NULL && ((ev.key.keysym.sym >= SDLK_KP_1 && ev.key.keysym.sym <= SDLK_KP_9) || ((ev.key.keysym.mod & KMOD_CTRL) && ev.key.keysym.sym != SDLK_LSHIFT && ev.key.keysym.sym != SDLK_RSHIFT && ev.key.keysym.sym != SDLK_LCTRL && ev.key.keysym.sym != SDLK_RCTRL) || (ev.key.keysym.mod & KMOD_ALT))) { maEvent = new MAEvent(); maEvent->type = EVENT_TYPE_KEY_PRESSED; maEvent->key = ev.key.keysym.sym; maEvent->nativeKey = ev.key.keysym.mod; } } break; case SDL_MOUSEBUTTONDOWN: if (ev.button.button == SDL_BUTTON_RIGHT) { _menuX = ev.motion.x; _menuY = ev.motion.y; showMenu(); } else if (ev.motion.x != 0 && ev.motion.y != 0) { // avoid phantom down message when launching in windows maEvent = getMotionEvent(EVENT_TYPE_POINTER_PRESSED, &ev); } break; case SDL_MOUSEMOTION: maEvent = getMotionEvent(EVENT_TYPE_POINTER_DRAGGED, &ev); break; case SDL_MOUSEBUTTONUP: SDL_SetCursor(_cursorArrow); maEvent = getMotionEvent(EVENT_TYPE_POINTER_RELEASED, &ev); break; case SDL_WINDOWEVENT: switch (ev.window.event) { case SDL_WINDOWEVENT_FOCUS_GAINED: SDL_SetModState(KMOD_NONE); break; case SDL_WINDOWEVENT_RESIZED: onResize(ev.window.data1, ev.window.data2); break; case SDL_WINDOWEVENT_EXPOSED: _graphics->redraw(); break; case SDL_WINDOWEVENT_LEAVE: _output->removeHover(); break; } break; case SDL_DROPFILE: setLoadPath(ev.drop.file); setExit(false); SDL_free(ev.drop.file); break; case SDL_MOUSEWHEEL: if (!_output->scroll(ev.wheel.y == 1, false)) { maEvent = new MAEvent(); maEvent->type = EVENT_TYPE_KEY_PRESSED; maEvent->key = ev.wheel.y == 1 ? SB_KEY_UP : SB_KEY_DN; maEvent->nativeKey = KMOD_CTRL; } break; } if (maEvent != NULL) { pushEvent(maEvent); } } } }
void Card::setAll(const char* allch) { String all = allch; int indexof = all.find(","); if (indexof > -1) { setQuantity(all.substr(0,indexof++).c_str()); all=all.substr(indexof); indexof = all.find(","); setText(all.substr(0,indexof++).c_str()); all=all.substr(indexof); indexof = all.find(","); setThumb(all.substr(0,indexof++).c_str()); all=all.substr(indexof); indexof = all.find(","); setFront(all.substr(0,indexof++).c_str()); all=all.substr(indexof); indexof = all.find(","); setBack(all.substr(0,indexof++).c_str()); all=all.substr(indexof); indexof = all.find(","); setId(all.substr(0,indexof++).c_str()); all=all.substr(indexof); indexof = all.find(","); setRate(all.substr(0,indexof++).c_str()); all=all.substr(indexof); indexof = all.find(","); setValue(all.substr(0,indexof++).c_str()); all=all.substr(indexof); indexof = all.find(","); setNote(all.substr(0,indexof++).c_str()); all=all.substr(indexof); indexof = all.find(","); setOrientation(all.substr(0,indexof++).c_str()); all=all.substr(indexof); Stat *newStat; while (all.length() > 1) { indexof = all.find("$"); newStat = new Stat(); newStat->setAll(all.substr(0,indexof++).c_str()); stats.add(newStat); all=all.substr(indexof); } setLoaded(true); if ((getText().length() <= 0)||(getQuantity().length() <= 0)) { setQuantity(""); setText(""); setLoaded(false); } } else { setQuantity(""); setText(""); setThumb(""); setFront(""); setBack(""); setId(""); setRate(""); setValue(""); setNote(""); setOrientation(""); setLoaded(false); } }