summaryrefslogtreecommitdiffstats
path: root/kjsembed/qtbindings/qcanvassprite_imp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kjsembed/qtbindings/qcanvassprite_imp.cpp')
-rw-r--r--kjsembed/qtbindings/qcanvassprite_imp.cpp593
1 files changed, 593 insertions, 0 deletions
diff --git a/kjsembed/qtbindings/qcanvassprite_imp.cpp b/kjsembed/qtbindings/qcanvassprite_imp.cpp
new file mode 100644
index 00000000..6268e75c
--- /dev/null
+++ b/kjsembed/qtbindings/qcanvassprite_imp.cpp
@@ -0,0 +1,593 @@
+
+
+
+#include <qcstring.h>
+#include <qimage.h>
+#include <qpainter.h>
+#include <qpalette.h>
+#include <qpixmap.h>
+#include <qfont.h>
+
+#include <kjs/object.h>
+
+#include <kjsembed/global.h>
+#include <kjsembed/jsobjectproxy.h>
+#include <kjsembed/jsopaqueproxy.h>
+#include <kjsembed/jsbinding.h>
+
+#include <qcanvas.h>
+#include "qcanvassprite_imp.h"
+
+/**
+ * Namespace containing the KJSEmbed library.
+ */
+namespace KJSEmbed {
+
+QCanvasSpriteImp::QCanvasSpriteImp( KJS::ExecState *exec, int mid, bool constructor )
+ : JSProxyImp(exec), id(mid), cons(constructor)
+{
+}
+
+QCanvasSpriteImp::~QCanvasSpriteImp()
+{
+}
+
+/**
+ * Adds bindings for static methods and enum constants to the specified Object.
+ */
+void QCanvasSpriteImp::addStaticBindings( KJS::ExecState *exec, KJS::Object &object )
+{
+ JSProxy::MethodTable methods[] = {
+
+ { 0, 0 }
+ };
+
+ int idx = 0;
+ QCString lastName;
+
+ while( methods[idx].name ) {
+ if ( lastName != methods[idx].name ) {
+ QCanvasSpriteImp *meth = new QCanvasSpriteImp( exec, methods[idx].id );
+ object.put( exec , methods[idx].name, KJS::Object(meth) );
+ lastName = methods[idx].name;
+ }
+ ++idx;
+ }
+
+
+ //
+ // Define the enum constants
+ //
+ struct EnumValue {
+ const char *id;
+ int val;
+ };
+
+ EnumValue enums[] = {
+
+ // enum FrameAnimationType
+ { "Cycle", QCanvasSprite::Cycle },
+ { "Oscillate", QCanvasSprite::Oscillate },
+ { 0, 0 }
+ };
+
+ int enumidx = 0;
+ while( enums[enumidx].id ) {
+ object.put( exec, enums[enumidx].id, KJS::Number(enums[enumidx].val), KJS::ReadOnly );
+ ++enumidx;
+ }
+
+}
+
+/**
+ * Adds bindings for instance methods to the specified Object.
+ */
+void QCanvasSpriteImp::addBindings( KJS::ExecState *exec, KJS::Object &object )
+{
+ JSProxy::MethodTable methods[] = {
+
+ { Method_setSequence_2, "setSequence" },
+ { Method_move_4, "move" },
+ { Method_move_5, "move" },
+ { Method_setFrame_6, "setFrame" },
+ { Method_setFrameAnimation_7, "setFrameAnimation" },
+ { Method_frame_8, "frame" },
+ { Method_frameCount_9, "frameCount" },
+ { Method_rtti_10, "rtti" },
+ { Method_collidesWith_11, "collidesWith" },
+ { Method_boundingRect_12, "boundingRect" },
+ { Method_width_13, "width" },
+ { Method_height_14, "height" },
+ { Method_leftEdge_15, "leftEdge" },
+ { Method_topEdge_16, "topEdge" },
+ { Method_rightEdge_17, "rightEdge" },
+ { Method_bottomEdge_18, "bottomEdge" },
+ { Method_leftEdge_19, "leftEdge" },
+ { Method_topEdge_20, "topEdge" },
+ { Method_rightEdge_21, "rightEdge" },
+ { Method_bottomEdge_22, "bottomEdge" },
+ { Method_image_23, "image" },
+ { Method_imageAdvanced_24, "imageAdvanced" },
+ { Method_image_25, "image" },
+ { Method_advance_26, "advance" },
+ { Method_draw_27, "draw" },
+ { 0, 0 }
+ };
+
+ int idx = 0;
+ QCString lastName;
+
+ while( methods[idx].name ) {
+ if ( lastName != methods[idx].name ) {
+ QCanvasSpriteImp *meth = new QCanvasSpriteImp( exec, methods[idx].id );
+ object.put( exec , methods[idx].name, KJS::Object(meth) );
+ lastName = methods[idx].name;
+ }
+ ++idx;
+ }
+}
+
+/**
+ * Extract a QCanvasSprite pointer from an Object.
+ */
+QCanvasSprite *QCanvasSpriteImp::toQCanvasSprite( KJS::Object &self )
+{
+ JSObjectProxy *ob = JSProxy::toObjectProxy( self.imp() );
+ if ( ob ) {
+ QObject *obj = ob->object();
+ if ( obj )
+ return dynamic_cast<QCanvasSprite *>( obj );
+ }
+
+ JSOpaqueProxy *op = JSProxy::toOpaqueProxy( self.imp() );
+ if ( !op )
+ return 0;
+
+ if ( op->typeName() != "QCanvasSprite" )
+ return 0;
+
+ return op->toNative<QCanvasSprite>();
+}
+
+/**
+ * Select and invoke the correct constructor.
+ */
+KJS::Object QCanvasSpriteImp::construct( KJS::ExecState *exec, const KJS::List &args )
+{
+ switch( id ) {
+
+ case Constructor_QCanvasSprite_1:
+ return QCanvasSprite_1( exec, args );
+ break;
+
+ default:
+ break;
+ }
+
+ QString msg = i18n("QCanvasSpriteCons has no constructor with id '%1'.").arg(id);
+ return throwError(exec, msg,KJS::ReferenceError);
+}
+
+
+KJS::Object QCanvasSpriteImp::QCanvasSprite_1( KJS::ExecState *exec, const KJS::List &args )
+{
+
+ // Unsupported parameter QCanvasPixmapArray *
+ return KJS::Object();
+
+ QCanvasPixmapArray * arg0; // Dummy
+
+ // Unsupported parameter QCanvas *
+ return KJS::Object();
+
+ QCanvas * arg1; // Dummy
+
+
+ // We should now create an instance of the QCanvasSprite object
+
+ QCanvasSprite *ret = new QCanvasSprite(
+
+ arg0,
+ arg1 );
+
+
+}
+
+KJS::Value QCanvasSpriteImp::call( KJS::ExecState *exec, KJS::Object &self, const KJS::List &args )
+{
+ instance = QCanvasSpriteImp::toQCanvasSprite( self );
+
+ switch( id ) {
+
+ case Method_setSequence_2:
+ return setSequence_2( exec, self, args );
+ break;
+
+ case Method_move_4:
+ return move_4( exec, self, args );
+ break;
+
+ case Method_move_5:
+ return move_5( exec, self, args );
+ break;
+
+ case Method_setFrame_6:
+ return setFrame_6( exec, self, args );
+ break;
+
+ case Method_setFrameAnimation_7:
+ return setFrameAnimation_7( exec, self, args );
+ break;
+
+ case Method_frame_8:
+ return frame_8( exec, self, args );
+ break;
+
+ case Method_frameCount_9:
+ return frameCount_9( exec, self, args );
+ break;
+
+ case Method_rtti_10:
+ return rtti_10( exec, self, args );
+ break;
+
+ case Method_collidesWith_11:
+ return collidesWith_11( exec, self, args );
+ break;
+
+ case Method_boundingRect_12:
+ return boundingRect_12( exec, self, args );
+ break;
+
+ case Method_width_13:
+ return width_13( exec, self, args );
+ break;
+
+ case Method_height_14:
+ return height_14( exec, self, args );
+ break;
+
+ case Method_leftEdge_15:
+ return leftEdge_15( exec, self, args );
+ break;
+
+ case Method_topEdge_16:
+ return topEdge_16( exec, self, args );
+ break;
+
+ case Method_rightEdge_17:
+ return rightEdge_17( exec, self, args );
+ break;
+
+ case Method_bottomEdge_18:
+ return bottomEdge_18( exec, self, args );
+ break;
+
+ case Method_leftEdge_19:
+ return leftEdge_19( exec, self, args );
+ break;
+
+ case Method_topEdge_20:
+ return topEdge_20( exec, self, args );
+ break;
+
+ case Method_rightEdge_21:
+ return rightEdge_21( exec, self, args );
+ break;
+
+ case Method_bottomEdge_22:
+ return bottomEdge_22( exec, self, args );
+ break;
+
+ case Method_image_23:
+ return image_23( exec, self, args );
+ break;
+
+ case Method_imageAdvanced_24:
+ return imageAdvanced_24( exec, self, args );
+ break;
+
+ case Method_image_25:
+ return image_25( exec, self, args );
+ break;
+
+ case Method_advance_26:
+ return advance_26( exec, self, args );
+ break;
+
+ case Method_draw_27:
+ return draw_27( exec, self, args );
+ break;
+
+ default:
+ break;
+ }
+
+ QString msg = i18n( "QCanvasSpriteImp has no method with id '%1'." ).arg( id );
+ return throwError(exec, msg,KJS::ReferenceError);
+}
+
+
+KJS::Value QCanvasSpriteImp::setSequence_2( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ // Unsupported parameter QCanvasPixmapArray *
+ return KJS::Value();
+
+ QCanvasPixmapArray * arg0; // Dummy
+
+ instance->setSequence(
+ arg0 );
+ return KJS::Value(); // Returns void
+
+}
+
+KJS::Value QCanvasSpriteImp::move_4( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ double arg0 = extractDouble(exec, args, 0);
+
+ double arg1 = extractDouble(exec, args, 1);
+
+ instance->move(
+ arg0,
+ arg1 );
+ return KJS::Value(); // Returns void
+
+}
+
+KJS::Value QCanvasSpriteImp::move_5( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ double arg0 = extractDouble(exec, args, 0);
+
+ double arg1 = extractDouble(exec, args, 1);
+
+ int arg2 = extractInt(exec, args, 2);
+
+ instance->move(
+ arg0,
+ arg1,
+ arg2 );
+ return KJS::Value(); // Returns void
+
+}
+
+KJS::Value QCanvasSpriteImp::setFrame_6( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ int arg0 = extractInt(exec, args, 0);
+
+ instance->setFrame(
+ arg0 );
+ return KJS::Value(); // Returns void
+
+}
+
+KJS::Value QCanvasSpriteImp::setFrameAnimation_7( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ QCanvasSprite::FrameAnimationType arg0 = QCanvasSprite::Cycle; // TODO (hack for QCanvasSprite)
+
+ int arg1 = extractInt(exec, args, 1);
+
+ int arg2 = extractInt(exec, args, 2);
+
+ instance->setFrameAnimation(
+ arg0,
+ arg1,
+ arg2 );
+ return KJS::Value(); // Returns void
+
+}
+
+KJS::Value QCanvasSpriteImp::frame_8( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ int ret;
+ ret = instance->frame( );
+ return KJS::Number( ret );
+
+}
+
+KJS::Value QCanvasSpriteImp::frameCount_9( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ int ret;
+ ret = instance->frameCount( );
+ return KJS::Number( ret );
+
+}
+
+KJS::Value QCanvasSpriteImp::rtti_10( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ int ret;
+ ret = instance->rtti( );
+ return KJS::Number( ret );
+
+}
+
+KJS::Value QCanvasSpriteImp::collidesWith_11( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ // Unsupported parameter const QCanvasItem *
+ return KJS::Value();
+
+ const QCanvasItem * arg0; // Dummy
+
+ bool ret;
+ ret = instance->collidesWith(
+ arg0 );
+ return KJS::Boolean( ret );
+
+}
+
+KJS::Value QCanvasSpriteImp::boundingRect_12( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+ QRect ret;
+ ret = instance->boundingRect( );
+
+ return convertToValue( exec, ret );
+
+}
+
+KJS::Value QCanvasSpriteImp::width_13( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ int ret;
+ ret = instance->width( );
+ return KJS::Number( ret );
+
+}
+
+KJS::Value QCanvasSpriteImp::height_14( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ int ret;
+ ret = instance->height( );
+ return KJS::Number( ret );
+
+}
+
+KJS::Value QCanvasSpriteImp::leftEdge_15( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ int ret;
+ ret = instance->leftEdge( );
+ return KJS::Number( ret );
+
+}
+
+KJS::Value QCanvasSpriteImp::topEdge_16( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ int ret;
+ ret = instance->topEdge( );
+ return KJS::Number( ret );
+
+}
+
+KJS::Value QCanvasSpriteImp::rightEdge_17( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ int ret;
+ ret = instance->rightEdge( );
+ return KJS::Number( ret );
+
+}
+
+KJS::Value QCanvasSpriteImp::bottomEdge_18( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ int ret;
+ ret = instance->bottomEdge( );
+ return KJS::Number( ret );
+
+}
+
+KJS::Value QCanvasSpriteImp::leftEdge_19( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ int arg0 = extractInt(exec, args, 0);
+
+ int ret;
+ ret = instance->leftEdge(
+ arg0 );
+ return KJS::Number( ret );
+
+}
+
+KJS::Value QCanvasSpriteImp::topEdge_20( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ int arg0 = extractInt(exec, args, 0);
+
+ int ret;
+ ret = instance->topEdge(
+ arg0 );
+ return KJS::Number( ret );
+
+}
+
+KJS::Value QCanvasSpriteImp::rightEdge_21( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ int arg0 = extractInt(exec, args, 0);
+
+ int ret;
+ ret = instance->rightEdge(
+ arg0 );
+ return KJS::Number( ret );
+
+}
+
+KJS::Value QCanvasSpriteImp::bottomEdge_22( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ int arg0 = extractInt(exec, args, 0);
+
+ int ret;
+ ret = instance->bottomEdge(
+ arg0 );
+ return KJS::Number( ret );
+
+}
+
+KJS::Value QCanvasSpriteImp::image_23( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ instance->image( );
+ return KJS::Value(); // Returns 'QCanvasPixmap *'
+
+}
+
+KJS::Value QCanvasSpriteImp::imageAdvanced_24( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ instance->imageAdvanced( );
+ return KJS::Value(); // Returns 'QCanvasPixmap *'
+
+}
+
+KJS::Value QCanvasSpriteImp::image_25( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ int arg0 = extractInt(exec, args, 0);
+
+ instance->image(
+ arg0 );
+ return KJS::Value(); // Returns 'QCanvasPixmap *'
+
+}
+
+KJS::Value QCanvasSpriteImp::advance_26( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ int arg0 = extractInt(exec, args, 0);
+
+ instance->advance(
+ arg0 );
+ return KJS::Value(); // Returns void
+
+}
+
+KJS::Value QCanvasSpriteImp::draw_27( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args )
+{
+
+ QPainter arg0; // TODO (hack for qcanvas)
+
+ instance->draw(
+ arg0 );
+ return KJS::Value(); // Returns void
+
+}
+
+
+} // namespace KJSEmbed
+
+// Local Variables:
+// c-basic-offset: 4
+// End:
+
+