27#include <kjs/object.h>
28#include <QtCore/QDebug>
30#include <QtGui/QWidget>
31#include <QtGui/QPainter>
32#include <QtGui/QImage>
33#include <QtGui/QPixmap>
35#include <QtGui/QBrush>
36#include <QtCore/QLine>
37#include <QtGui/QPolygon>
38#include <QtCore/QPoint>
40#include <QtGui/QFrame>
52#warning There be dragons here...
62 device = qobject_cast<QWidget*>(qobject);
67 qDebug(
"Height = %d Width = %d",
device->height(),
device->width() );
72 if( valueImp && (valueImp->
variant().type() == QVariant::Pixmap ||
73 valueImp->
variant().type() == QVariant::Image ))
88 result = KJS::jsBoolean(
false);
102 Qt::BGMode
cppValue =
object->backgroundMode();
107 if( args.size() == 3 )
115 else if( args.size() == 6)
134 QPoint
cppValue =
object->brushOrigin();
139 if( args.size() == 3 )
146 else if( args.size() == 6 )
154 object->drawArc(
arg0,
arg1, arg2, arg3, arg4, arg5);
159 if( args.size() == 3 )
164 object->drawChord(
arg0,
arg1, arg2);
166 else if ( args.size() == 6 )
174 object->drawChord(
arg0,
arg1, arg2, arg3, arg4, arg5);
184 if ( args.size() == 4 )
190 object->drawEllipse(
arg0,
arg1, arg2, arg3);
192 else if ( args.size() == 1 )
195 object->drawEllipse(
arg0);
200 if ( args.size() == 2 )
206 else if ( args.size() == 4 )
212 object->drawImage(
arg0,
arg1, arg2, arg3);
214 else if ( args.size() == 8 )
224 object->drawImage(
arg0,
arg1, arg2, arg3, arg4, arg5, arg6, arg7);
229 if( args.size() == 1 )
232 object->drawLine(
arg0);
234 else if ( args.size() == 2 )
240 else if ( args.size() == 4 )
246 object->drawLine(
arg0,
arg1, arg2, arg3);
251 if( args.size() == 3 )
258 else if (args.size() == 6 )
266 object->drawPie(
arg0,
arg1, arg2, arg3, arg4, arg5);
271 if ( args.size() == 2)
277 else if ( args.size() == 3 )
282 object->drawPixmap(
arg0,
arg1, arg2);
287 if( args.size() == 1 )
290 object->drawPoint(
arg0);
292 else if (args.size() == 2 )
317 if (args.size() == 1 )
320 object->drawRect(
arg0);
322 else if ( args.size() == 4 )
328 object->drawRect(
arg0,
arg1, arg2, arg3);
333 if ( args.size() == 2 )
338 object->drawRoundRect(
arg0,
arg1, arg2);
340 else if ( args.size() == 6 )
348 object->drawRoundRect(
arg0,
arg1, arg2, arg3, arg4, arg5);
353 if( args.size() == 2 )
359 else if ( args.size() == 3 )
365 object->drawText(
arg0,
arg1, arg2, arg3);
367 else if ( args.size () == 6 )
376 object->drawText(
arg0,
arg1, arg2, arg3, arg4, arg5, arg6);
381 if( args.size() == 2 )
387 else if( args.size() == 1 )
390 object->translate(
arg0);
395 if( args.size() == 3 )
400 object->drawTiledPixmap(
arg0,
arg1,arg2);
402 else if( args.size() == 7)
411 object->drawTiledPixmap(
arg0,
arg1,arg2,arg3,arg4,arg5,arg6);
416 if( args.size() == 4)
422 object->eraseRect(
arg0,
arg1,arg2,arg3);
424 else if (args.size() == 1 )
427 object->eraseRect(
arg0);
432 {
"begin", 1, KJS::DontDelete|KJS::ReadOnly, &callPainterBegin },
433 {
"end", 0, KJS::DontDelete|KJS::ReadOnly, &callPainterEnd },
434 {
"background", 0, KJS::DontDelete|KJS::ReadOnly, &callbackground},
435 {
"backgroundMode", 0, KJS::DontDelete|KJS::ReadOnly, &callbackgroundMode},
436 {
"boundingRect", 6, KJS::DontDelete|KJS::ReadOnly, &callboundingRect},
437 {
"brush", 0, KJS::DontDelete|KJS::ReadOnly, &callbrush},
438 {
"brushOrigin", 0, KJS::DontDelete|KJS::ReadOnly, &callbrushOrigin},
439 {
"drawArc", 6, KJS::DontDelete|KJS::ReadOnly, &calldrawArc},
440 {
"drawChord", 6, KJS::DontDelete|KJS::ReadOnly, &calldrawChord},
441 {
"drawConvexPolygon", 1, KJS::DontDelete|KJS::ReadOnly, &calldrawConvexPolygon},
442 {
"drawEllipse", 3, KJS::DontDelete|KJS::ReadOnly, &calldrawEllipse},
443 {
"drawImage", 7, KJS::DontDelete|KJS::ReadOnly, &calldrawImage},
444 {
"drawLine", 3, KJS::DontDelete|KJS::ReadOnly, &calldrawLine},
448 {
"drawPie", 6, KJS::DontDelete|KJS::ReadOnly, &calldrawPie},
449 {
"drawPixmap", 8, KJS::DontDelete|KJS::ReadOnly, &calldrawPixmap},
450 {
"drawPoint", 2, KJS::DontDelete|KJS::ReadOnly, &calldrawPoint},
451 {
"drawPoints", 1, KJS::DontDelete|KJS::ReadOnly, &calldrawPoints},
452 {
"drawPolygon", 2, KJS::DontDelete|KJS::ReadOnly, &calldrawPolygon},
453 {
"drawPolyline", 1, KJS::DontDelete|KJS::ReadOnly, &calldrawPolyline},
454 {
"drawRect", 4, KJS::DontDelete|KJS::ReadOnly, &calldrawRect},
456 {
"drawRoundRect", 5, KJS::DontDelete|KJS::ReadOnly, &calldrawRoundRect},
457 {
"drawText", 7, KJS::DontDelete|KJS::ReadOnly, &calldrawText},
458 {
"drawTiledPixmap", 3, KJS::DontDelete|KJS::ReadOnly, &calldrawTiledPixmap},
459 {
"eraseRect", 1, KJS::DontDelete|KJS::ReadOnly, &calleraseRect},
485 {
"translate", 1, KJS::DontDelete|KJS::ReadOnly, &calltranslate}
492 KJS::JSObject *
object;
494 if( args.size() == 1 )
503 KJS::throwError( exec, KJS::EvalError, QString(
"Cannot paint to object %1").arg(
toQString(args[0]->toString(exec))));
#define START_METHOD_LUT(TYPE)
#define START_CTOR(TYPE, JSNAME, ARGS)
static const Method * methods()
static void publish(KJS::ExecState *exec, KJS::JSObject *object, const Method *methods)
Publishes an array of Methods to an object.
QVariant variant() const
Return the wrapped QVariant.
END_VARIANT_METHOD result
if(file->open((QIODevice::OpenModeFlag) KJSEmbed::extractInt(exec, args, 0)))
QString KJSEMBED_EXPORT extractQString(KJS::ExecState *exec, const KJS::List &args, int idx, const QString defaultValue=QString())
Extracts a QString from an argument list.
int KJSEMBED_EXPORT extractInt(KJS::ExecState *exec, const KJS::List &args, int idx, int defaultValue=0)
Extracts an integer from an argument list.
QString toQString(const KJS::UString &u)
QVariant KJSEMBED_EXPORT extractVariant(KJS::ExecState *exec, KJS::JSValue *value)
Extracts a QVariant from a KJS::JSValue if the conversion fails a QVariant::Null is returned.
T * extractBindingImp(KJS::ExecState *exec, KJS::JSValue *val)
This will extract a binding implementation from a KJS::JSValue.
KJS::JSValue * createVariant(KJS::ExecState *exec, const KJS::UString &className, const T &value)
Can create any known KJSEmbed::VariantBinding object and set the value.
Implement QString-KJSUString conversion methods.
JSObject * throwError(ExecState *e, ErrorType t, const QString &m)
#define START_OBJECT_METHOD(METHODNAME, TYPE)
A simple pointer syle method.
#define END_OBJECT_METHOD
End a variant method started by START_OBJECT_METHOD.
END_OBJECT_METHOD QPolygon arg0
QPaintDevice * extractPaintDevice(KJS::ExecState *exec, KJS::JSValue *arg)
END_OBJECT_METHOD QBrush cppValue
object drawConvexPolygon(arg0)