QString RGBMatrix::property(QString propName) { QMutexLocker algoLocker(&m_algorithmMutex); /** If the property is cached, then return it right away */ if (m_properties.contains(propName)) return m_properties[propName]; /** Otherwise, let's retrieve it from the Script */ if (m_algorithm != NULL && m_algorithm->type() == RGBAlgorithm::Script) { RGBScript *script = static_cast<RGBScript*> (m_algorithm); return script->property(propName); } return QString(); }
void RGBScript_Test::rgbMap() { RGBScript s = m_doc->rgbScriptsCache()->script("Stripes"); QVERIFY(s.rgbMap(QSize(3, 4), 0, 0).isEmpty() == false); s.setProperty("orientation", "Vertical"); QVERIFY(s.property("orientation") == "Vertical"); for (int z = 0; z < 5; z++) { RGBMap map = s.rgbMap(QSize(5, 5), QColor(Qt::red).rgb(), z); for (int y = 0; y < 5; y++) { for (int x = 0; x < 5; x++) { if (y == z) QCOMPARE(map[y][x], QColor(Qt::red).rgb()); else QCOMPARE(map[y][x], uint(0)); } } } }