Plasma
size.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <QtScript/QScriptValue>
00020 #include <QtScript/QScriptEngine>
00021 #include <QtScript/QScriptContext>
00022 #include <QtCore/QSizeF>
00023 #include "../backportglobal.h"
00024
00025 Q_DECLARE_METATYPE(QSizeF*)
00026 Q_DECLARE_METATYPE(QSizeF)
00027
00028 static QScriptValue ctor(QScriptContext *ctx, QScriptEngine *eng)
00029 {
00030 if (ctx->argumentCount() == 2)
00031 {
00032 qreal width = ctx->argument(1).toNumber();
00033 qreal height = ctx->argument(1).toNumber();
00034 return qScriptValueFromValue(eng, QSizeF(width, height));
00035 }
00036
00037 return qScriptValueFromValue(eng, QSizeF());
00038 }
00039
00040 static QScriptValue width(QScriptContext *ctx, QScriptEngine *eng)
00041 {
00042 DECLARE_SELF(QSizeF, width);
00043 return QScriptValue(eng, self->width());
00044 }
00045
00046 static QScriptValue height(QScriptContext *ctx, QScriptEngine *eng)
00047 {
00048 DECLARE_SELF(QSizeF, height);
00049 return QScriptValue(eng, self->height());
00050 }
00051
00052 QScriptValue constructQSizeFClass(QScriptEngine *eng)
00053 {
00054 QScriptValue proto = qScriptValueFromValue(eng, QSizeF());
00055 QScriptValue::PropertyFlags getter = QScriptValue::PropertyGetter;
00056 QScriptValue::PropertyFlags setter = QScriptValue::PropertySetter;
00057
00058 proto.setProperty("width", eng->newFunction(width));
00059 proto.setProperty("height", eng->newFunction(height));
00060
00061 return eng->newFunction(ctor, proto);
00062 }
00063