// When bliting, if the item from the transfer queue is mismatching b/t the // BaseTile and the content, then the item is considered as obsolete, and // the content is discarded. bool TransferQueue::checkObsolete(int index) { BaseTile* baseTilePtr = m_transferQueue[index].savedBaseTilePtr; if (!baseTilePtr) { XLOG("Invalid savedBaseTilePtr , such that the tile is obsolete"); return true; } BaseTileTexture* baseTileTexture = baseTilePtr->backTexture(); if (!baseTileTexture) { XLOG("Invalid baseTileTexture , such that the tile is obsolete"); return true; } const TextureTileInfo* tileInfo = &m_transferQueue[index].tileInfo; if (tileInfo->m_x != baseTilePtr->x() || tileInfo->m_y != baseTilePtr->y() || tileInfo->m_scale != baseTilePtr->scale() || tileInfo->m_painter != baseTilePtr->painter()) { XLOG("Mismatching x, y, scale or painter , such that the tile is obsolete"); return true; } return false; }
void TilesManager::printTextures() { #ifdef DEBUG XLOG("++++++"); for (unsigned int i = 0; i < m_textures.size(); i++) { BaseTileTexture* texture = m_textures[i]; BaseTile* o = 0; if (texture->owner()) o = (BaseTile*) texture->owner(); int x = -1; int y = -1; if (o) { x = o->x(); y = o->y(); } XLOG("[%d] texture %x busy: %d owner: %x (%d, %d) page: %x scale: %.2f", i, texture, texture->busy(), o, x, y, o ? o->page() : 0, o ? o->scale() : 0); } XLOG("------"); #endif // DEBUG }