void KisTileDataSwapper::doJob() { /** * In emergency case usual threads have access * to this function as well */ QMutexLocker locker(&m_d->cycleLock); qint32 memoryMetric = m_d->store->memoryMetric(); DEBUG_ACTION("Started swap cycle"); DEBUG_VALUE(m_d->store->numTiles()); DEBUG_VALUE(m_d->store->numTilesInMemory()); DEBUG_VALUE(memoryMetric); DEBUG_VALUE(m_d->limits.softLimitThreshold()); DEBUG_VALUE(m_d->limits.hardLimitThreshold()); if(memoryMetric > m_d->limits.softLimitThreshold()) { qint32 softFree = memoryMetric - m_d->limits.softLimit(); DEBUG_VALUE(softFree); DEBUG_ACTION("\t pass0"); memoryMetric -= pass<SoftSwapStrategy>(softFree); DEBUG_VALUE(memoryMetric); if(memoryMetric > m_d->limits.hardLimitThreshold()) { qint32 hardFree = memoryMetric - m_d->limits.hardLimit(); DEBUG_VALUE(hardFree); DEBUG_ACTION("\t pass1"); memoryMetric -= pass<AggressiveSwapStrategy>(hardFree); DEBUG_VALUE(memoryMetric); } } }
void KisTransactionData::endTransaction() { if(!m_d->transactionFinished) { DEBUG_ACTION("Transaction ended"); m_d->transactionFinished = true; m_d->device->dataManager()->commit(); m_d->newOffset = QPoint(m_d->device->x(), m_d->device->y()); } }
KisTransactionData::KisTransactionData(const QString& name, KisPaintDeviceSP device, KUndo2Command* parent) : KUndo2Command(name, parent) , m_d(new Private()) { m_d->device = device; DEBUG_ACTION("Transaction started"); m_d->memento = device->dataManager()->getMemento(); m_d->oldOffset = QPoint(device->x(), device->y()); m_d->firstRedo = true; m_d->transactionFinished = false; }
void KisTransactionData::undo() { DEBUG_ACTION("Undo()"); Q_ASSERT(m_d->memento); m_d->device->dataManager()->rollback(m_d->memento); if (m_d->newOffset != m_d->oldOffset) { m_d->device->move(m_d->oldOffset); } startUpdates(); }
void map_button_to_action(button_obj_t *button, ActionType_t type, Action_t action) { ButtonCallback *cb = NULL; if (type == ACTION_TYPE_SHORT) cb = &button->release_cb; else cb = &button->long_press_cb; DEBUG_ACTION("Map %d.%S to %d\r\n", button->pin, (type==ACTION_TYPE_SHORT?PSTR("short"):PSTR("long")), (int)action); switch (action) { case ACTION_KEY_UP: *cb = action_key_up; break; case ACTION_KEY_DOWN: *cb = action_key_down; break; case ACTION_PASTE_KEY: *cb = action_paste_key; break; case ACTION_PASTE_MODE: *cb = action_paste_mode; break; case ACTION_PASTE_QUICK_1: *cb = action_paste_quick_1; break; case ACTION_PASTE_QUICK_2: *cb = action_paste_quick_2; break; case ACTION_PASTE_QUICK_3: *cb = action_paste_quick_3; break; case ACTION_PASTE_QUICK_4: *cb = action_paste_quick_4; break; case ACTION_PASTE_QUICK_5: *cb = action_paste_quick_5; break; case ACTION_PASTE_QUICK_6: *cb = action_paste_quick_6; break; case ACTION_INVALID: default: *cb = NULL; break; } }
void KisTransactionData::redo() { //KUndo2QStack calls redo(), so the first call needs to be blocked if (m_d->firstRedo) { m_d->firstRedo = false; return; } DEBUG_ACTION("Redo()"); Q_ASSERT(m_d->memento); m_d->device->dataManager()->rollforward(m_d->memento); if (m_d->newOffset != m_d->oldOffset) { m_d->device->move(m_d->newOffset); } startUpdates(); }
void action_paste_quick_6(void *priv) { (void)priv; DEBUG_ACTION("%s\r\n", __func__); key_store_paste(key_store_quick_index(5)); }
void action_paste_mode(void *priv) { (void)priv; DEBUG_ACTION("%s\r\n", __func__); key_store_paste_name(key_store_index()); key_store_paste_mode(); }
void action_key_down(void *priv) { (void)priv; DEBUG_ACTION("%s\r\n", __func__); key_store_decr(1); }