void MaskedItem::setMask(QDeclarativeComponent *component) { if (m_maskComponent == component) return; QDeclarativeItem *mask = 0; if (component) { QObject *object = component->create(component->creationContext()); mask = qobject_cast<QDeclarativeItem *>(object); if (!mask) qWarning("MaskedItem: Unable to create mask element."); else if (!mask->childItems().isEmpty()) qWarning("MaskedItem: Mask element has children. Due to current limitation, they won't be painted."); } m_effect->setMask(mask); m_maskComponent = component; emit maskChanged(); }