diff options
author | Martin Jones <martin.jones@nokia.com> | 2010-04-29 07:59:58 (GMT) |
---|---|---|
committer | Martin Jones <martin.jones@nokia.com> | 2010-04-29 07:59:58 (GMT) |
commit | 31dae3d294b932c4fb2934b713273433ff4aff7c (patch) | |
tree | 2d44d9c6c61adebca4efe0f494d6647c150e6711 /src/declarative/qml | |
parent | 20290c189bf00fc457ec7d1f82708a8df83adbc5 (diff) | |
download | Qt-31dae3d294b932c4fb2934b713273433ff4aff7c.zip Qt-31dae3d294b932c4fb2934b713273433ff4aff7c.tar.gz Qt-31dae3d294b932c4fb2934b713273433ff4aff7c.tar.bz2 |
Allow factor parameter to be passed to Qt.lighter() and Qt.darker()
Diffstat (limited to 'src/declarative/qml')
-rw-r--r-- | src/declarative/qml/qdeclarativeengine.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index 19d4b57..8a61f1e 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -1225,7 +1225,7 @@ QScriptValue QDeclarativeEnginePrivate::size(QScriptContext *ctxt, QScriptEngine QScriptValue QDeclarativeEnginePrivate::lighter(QScriptContext *ctxt, QScriptEngine *engine) { - if(ctxt->argumentCount() != 1) + if(ctxt->argumentCount() != 1 && ctxt->argumentCount() != 2) return ctxt->throwError("Qt.lighter(): Invalid arguments"); QVariant v = ctxt->argument(0).toVariant(); QColor color; @@ -1238,13 +1238,16 @@ QScriptValue QDeclarativeEnginePrivate::lighter(QScriptContext *ctxt, QScriptEng return engine->nullValue(); } else return engine->nullValue(); - color = color.lighter(); + qsreal factor = 1.5; + if (ctxt->argumentCount() == 2) + factor = ctxt->argument(1).toNumber(); + color = color.lighter(int(qRound(factor*100.))); return qScriptValueFromValue(engine, qVariantFromValue(color)); } QScriptValue QDeclarativeEnginePrivate::darker(QScriptContext *ctxt, QScriptEngine *engine) { - if(ctxt->argumentCount() != 1) + if(ctxt->argumentCount() != 1 && ctxt->argumentCount() != 2) return ctxt->throwError("Qt.darker(): Invalid arguments"); QVariant v = ctxt->argument(0).toVariant(); QColor color; @@ -1257,7 +1260,10 @@ QScriptValue QDeclarativeEnginePrivate::darker(QScriptContext *ctxt, QScriptEngi return engine->nullValue(); } else return engine->nullValue(); - color = color.darker(); + qsreal factor = 2.0; + if (ctxt->argumentCount() == 2) + factor = ctxt->argument(1).toNumber(); + color = color.darker(int(qRound(factor*100.))); return qScriptValueFromValue(engine, qVariantFromValue(color)); } |