void Map::addEntity (IEntity *entity) { entity->onSpawn(); _entitiesToAdd.push_back(entity); const VisMask vismask = entity->getVisMask(); handleVisibility(entity, vismask); }
bool Map::visitEntity (IEntity *entity) { const VisMask vismask = entity->getVisMask(); if (_time >= _warmupPhase) { entity->update(Constant::DELTA_PHYSICS_MILLIS); if (entity->shouldApplyWind()) entity->applyLinearImpulse(b2Vec2(_wind, 0.0f)); } handleVisibility(entity, vismask); return entity->isRemove(); }
virtual void frameRectsChanged() { if (!platformWidget()) return; IntRect windowRect = convertToContainingWindow(IntRect(0, 0, frameRect().width(), frameRect().height())); platformWidget()->setGeometry(windowRect); ScrollView* parentScrollView = parent(); if (!parentScrollView) return; ASSERT(parentScrollView->isFrameView()); IntRect clipRect(static_cast<FrameView*>(parentScrollView)->windowClipRect()); clipRect.move(-windowRect.x(), -windowRect.y()); clipRect.intersect(platformWidget()->rect()); QRegion clipRegion = QRegion(clipRect); platformWidget()->setMask(clipRegion); handleVisibility(); }
virtual void show() { Widget::show(); handleVisibility(); }