EQL5/examples/M-modules/quick/painted-item/lib/qml_lisp.h

60 lines
1.8 KiB
C++

#ifndef LIB_H
#define LIB_H
#include <QtQml>
#include <QQuickPaintedItem>
#include <eql_fun.h>
#ifdef Q_CC_MSVC
#define LIB_EXPORT __declspec(dllexport)
#else
#define LIB_EXPORT
#endif
QT_BEGIN_NAMESPACE
extern "C" { LIB_EXPORT QObject* ini(); }
class Lisp : public QObject {
Q_OBJECT
public:
Q_INVOKABLE QVariant call(const QJSValue&,
const QJSValue& = QJSValue(),
const QJSValue& = QJSValue(),
const QJSValue& = QJSValue(),
const QJSValue& = QJSValue(),
const QJSValue& = QJSValue(),
const QJSValue& = QJSValue(),
const QJSValue& = QJSValue(),
const QJSValue& = QJSValue(),
const QJSValue& = QJSValue(),
const QJSValue& = QJSValue(),
const QJSValue& = QJSValue(),
const QJSValue& = QJSValue(),
const QJSValue& = QJSValue(),
const QJSValue& = QJSValue(),
const QJSValue& = QJSValue(),
const QJSValue& = QJSValue(),
const QJSValue& = QJSValue());
Q_INVOKABLE QVariant apply(const QJSValue&,
const QJSValue& = QJSValue(),
const QJSValue& = QJSValue());
};
class EQLPaintedItem : public QQuickPaintedItem {
Q_OBJECT
public:
EQLPaintedItem(QQuickItem* parent = 0) : QQuickPaintedItem(parent) {}
void paint(QPainter* painter) {
eql_fun("qml:paint",
Q_ARG(QQuickPaintedItem*, this),
Q_ARG(QPainter*, painter)); }
};
QT_END_NAMESPACE
#endif