00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "pixmap.h"
00023
00024 #include <QtCore/QDebug>
00025 #include <QtGui/QPixmap>
00026 #include <QtGui/QBitmap>
00027 #include <QtGui/QWidget>
00028
00029 #include <variant_binding.h>
00030 #include <object_binding.h>
00031
00032 using namespace KJSEmbed;
00033
00034 const KJS::ClassInfo PixmapBinding::info = { "QPixmap", &VariantBinding::info, 0, 0 };
00035 PixmapBinding::PixmapBinding( KJS::ExecState *exec, const QPixmap &value )
00036 : VariantBinding(exec, value )
00037 {
00038 StaticBinding::publish( exec, this, Pixmap::methods() );
00039 StaticBinding::publish( exec, this, VariantFactory::methods() );
00040 }
00041
00042 namespace PixmapNS
00043 {
00044 START_VARIANT_METHOD( callalphaChannel, QPixmap )
00045 QPixmap cppValue = value.alphaChannel();
00046 result = KJSEmbed::createVariant(exec, "QPixmap", cppValue );
00047 END_VARIANT_METHOD
00048
00049 START_VARIANT_METHOD( callcopy, QPixmap )
00050 if( args.size() == 1)
00051 {
00052 QRect arg0 = KJSEmbed::extractVariant<QRect>(exec,args, 0);
00053 QPixmap cppValue = value.copy(arg0);
00054 result = KJSEmbed::createVariant(exec, "QPixmap", cppValue );
00055 }
00056 else if( args.size() == 4)
00057 {
00058 int arg0 = KJSEmbed::extractInt(exec, args, 0);
00059 int arg1 = KJSEmbed::extractInt(exec, args, 1);
00060 int arg2 = KJSEmbed::extractInt(exec, args, 2);
00061 int arg3 = KJSEmbed::extractInt(exec, args, 3);
00062 QPixmap cppValue = value.copy(arg0, arg1, arg2, arg3);
00063 result = KJSEmbed::createVariant(exec, "QPixmap", cppValue );
00064 }
00065 END_VARIANT_METHOD
00066
00067 START_VARIANT_METHOD( callcreateHeuristicMask, QPixmap )
00068 bool arg0 = KJSEmbed::extractBool(exec, args, 0);
00069 QBitmap cppValue = value.createHeuristicMask(arg0);
00070 result = KJSEmbed::createVariant(exec, "QBitmap", cppValue );
00071 END_VARIANT_METHOD
00072
00073 START_VARIANT_METHOD( callcreateMaskFromColor, QPixmap )
00074 QColor arg0 = KJSEmbed::extractVariant<QColor>(exec,args, 0);
00075 QBitmap cppValue = value.createMaskFromColor(arg0);
00076 result = KJSEmbed::createVariant(exec, "QBitmap", cppValue );
00077 END_VARIANT_METHOD
00078
00079 START_VARIANT_METHOD( calldefaultDepth, QPixmap )
00080 int cppValue = value.defaultDepth();
00081 result = KJS::jsNumber(cppValue);
00082 END_VARIANT_METHOD
00083
00084 START_VARIANT_METHOD( calldepth, QPixmap )
00085 int cppValue = value.depth();
00086 result = KJS::jsNumber(cppValue);
00087 END_VARIANT_METHOD
00088
00089 START_VARIANT_METHOD( callfill, QPixmap )
00090 if( args.size() == 3)
00091 {
00092 QWidget* arg0 = KJSEmbed::extractObject<QWidget>(exec,args, 0);
00093 int arg1 = KJSEmbed::extractInt(exec, args, 1);
00094 int arg2 = KJSEmbed::extractInt(exec, args, 2);
00095 value.fill(arg0, arg1, arg2);
00096 }
00097 else if( args.size() == 1)
00098 {
00099 QColor arg0 = KJSEmbed::extractVariant<QColor>(exec,args, 0);
00100 value.fill(arg0);
00101 }
00102 else if( args.size() == 2)
00103 {
00104 QWidget* arg0 = KJSEmbed::extractObject<QWidget>(exec,args, 0);
00105 QPoint arg1 = KJSEmbed::extractVariant<QPoint>(exec,args, 1);
00106 value.fill(arg0, arg1);
00107 }
00108 END_VARIANT_METHOD
00109
00110 START_VARIANT_METHOD( callfromImage, QPixmap )
00111 QImage arg0 = KJSEmbed::extractVariant<QImage>(exec,args, 0);
00112 Qt::ImageConversionFlags arg1 = (Qt::ImageConversionFlags)KJSEmbed::extractInt(exec, args, 1);
00113 QPixmap cppValue = QPixmap::fromImage(arg0, arg1);
00114 result = KJSEmbed::createVariant(exec, "QPixmap", cppValue );
00115 END_VARIANT_METHOD
00116
00117 START_VARIANT_METHOD( callgrabWidget, QPixmap )
00118 if( args.size() == 2)
00119 {
00120 QWidget* arg0 = KJSEmbed::extractObject<QWidget>(exec,args, 0);
00121 QRect arg1 = KJSEmbed::extractVariant<QRect>(exec,args, 1);
00122 QPixmap cppValue = value.grabWidget(arg0, arg1);
00123 result = KJSEmbed::createVariant(exec, "QPixmap", cppValue );
00124 }
00125 else if( args.size() == 5)
00126 {
00127 QWidget* arg0 = KJSEmbed::extractObject<QWidget>(exec,args, 0);
00128 int arg1 = KJSEmbed::extractInt(exec, args, 1);
00129 int arg2 = KJSEmbed::extractInt(exec, args, 2);
00130 int arg3 = KJSEmbed::extractInt(exec, args, 3);
00131 int arg4 = KJSEmbed::extractInt(exec, args, 4);
00132 QPixmap cppValue = value.grabWidget(arg0, arg1, arg2, arg3, arg4);
00133 result = KJSEmbed::createVariant(exec, "QPixmap", cppValue );
00134 }
00135 END_VARIANT_METHOD
00136
00137 START_VARIANT_METHOD( callhasAlpha, QPixmap )
00138 bool cppValue = value.hasAlpha();
00139 result = KJS::jsBoolean(cppValue);
00140 END_VARIANT_METHOD
00141
00142 START_VARIANT_METHOD( callhasAlphaChannel, QPixmap )
00143 bool cppValue = value.hasAlphaChannel();
00144 result = KJS::jsBoolean(cppValue);
00145 END_VARIANT_METHOD
00146
00147 START_VARIANT_METHOD( callheight, QPixmap )
00148 int cppValue = value.height();
00149 result = KJS::jsNumber(cppValue);
00150 END_VARIANT_METHOD
00151
00152 START_VARIANT_METHOD( callisNull, QPixmap )
00153 bool cppValue = value.isNull();
00154 result = KJS::jsBoolean(cppValue);
00155 END_VARIANT_METHOD
00156
00157 START_VARIANT_METHOD( callisQBitmap, QPixmap )
00158 bool cppValue = value.isQBitmap();
00159 result = KJS::jsBoolean(cppValue);
00160 END_VARIANT_METHOD
00161
00162 START_VARIANT_METHOD( callload, QPixmap )
00163 QString arg0 = KJSEmbed::extractQString(exec, args, 0);
00164 QByteArray arg1 = KJSEmbed::extractQString( exec, args, 1 ).toLatin1();
00165 Qt::ImageConversionFlags arg2 = (Qt::ImageConversionFlags) KJSEmbed::extractInt(exec, args, 2);
00166 bool cppValue = value.load(arg0, arg1, arg2);
00167 result = KJS::jsBoolean(cppValue);
00168 END_VARIANT_METHOD
00169
00170 START_VARIANT_METHOD( callmask, QPixmap )
00171 QBitmap cppValue = value.mask();
00172 result = KJSEmbed::createVariant(exec, "QBitmap", cppValue );
00173 END_VARIANT_METHOD
00174
00175 START_VARIANT_METHOD( callrect, QPixmap )
00176 QRect cppValue = value.rect();
00177 result = KJSEmbed::createVariant(exec, "QRect", cppValue );
00178 END_VARIANT_METHOD
00179
00180 START_VARIANT_METHOD( callsave, QPixmap )
00181 QString arg0 = KJSEmbed::extractQString(exec, args, 0);
00182 QByteArray arg1 = KJSEmbed::extractQString( exec, args, 1 ).toLatin1();
00183 int arg2 = KJSEmbed::extractInt(exec, args, 2, -1);
00184 bool cppValue = value.save(arg0, arg1, arg2);
00185 result = KJS::jsBoolean(cppValue);
00186 END_VARIANT_METHOD
00187
00188 START_VARIANT_METHOD( callscaled, QPixmap )
00189 if( args.size() == 3 )
00190 {
00191 QSize arg0 = KJSEmbed::extractVariant<QSize>(exec,args, 0);
00192 Qt::AspectRatioMode arg1 = (Qt::AspectRatioMode) KJSEmbed::extractInt(exec, args, 1);
00193 Qt::TransformationMode arg2 = (Qt::TransformationMode) KJSEmbed::extractInt(exec, args, 3);
00194 QPixmap cppValue = value.scaled(arg0, arg1, arg2);
00195 result = KJSEmbed::createVariant(exec, "QPixmap", cppValue );
00196 }
00197 else if ( args.size() == 4)
00198 {
00199 int arg0 = KJSEmbed::extractInt(exec, args, 0);
00200 int arg1 = KJSEmbed::extractInt(exec, args, 1);
00201 Qt::AspectRatioMode arg2 = (Qt::AspectRatioMode) KJSEmbed::extractInt(exec, args, 2);
00202 Qt::TransformationMode arg3 = (Qt::TransformationMode) KJSEmbed::extractInt(exec, args, 3);
00203 QPixmap cppValue = value.scaled(arg0, arg1, arg2, arg3);
00204 result = KJSEmbed::createVariant(exec, "QPixmap", cppValue );
00205 }
00206 END_VARIANT_METHOD
00207
00208 START_VARIANT_METHOD( callscaledToHeight, QPixmap )
00209 int arg0 = KJSEmbed::extractInt(exec, args, 0);
00210 Qt::TransformationMode arg1 = (Qt::TransformationMode) KJSEmbed::extractInt(exec, args, 1);
00211 QPixmap cppValue = value.scaledToHeight(arg0, arg1);
00212 result = KJSEmbed::createVariant(exec, "QPixmap", cppValue );
00213 END_VARIANT_METHOD
00214
00215 START_VARIANT_METHOD( callscaledToWidth, QPixmap )
00216 int arg0 = KJSEmbed::extractInt(exec, args, 0);
00217 Qt::TransformationMode arg1 = (Qt::TransformationMode) KJSEmbed::extractInt(exec, args, 1);
00218 QPixmap cppValue = value.scaledToWidth(arg0, arg1);
00219 result = KJSEmbed::createVariant(exec, "QPixmap", cppValue );
00220 END_VARIANT_METHOD
00221
00222 START_VARIANT_METHOD( callserialNumber, QPixmap )
00223 int cppValue = value.serialNumber();
00224 result = KJS::jsNumber(cppValue);
00225 END_VARIANT_METHOD
00226
00227 START_VARIANT_METHOD( callsetAlphaChannel, QPixmap )
00228 QPixmap arg0 = KJSEmbed::extractVariant<QPixmap>(exec,args, 0);
00229 value.setAlphaChannel(arg0);
00230 END_VARIANT_METHOD
00231
00232 START_VARIANT_METHOD( callsetMask, QPixmap )
00233 QBitmap arg0 = KJSEmbed::extractVariant<QBitmap>(exec,args, 0);
00234 value.setMask(arg0);
00235 END_VARIANT_METHOD
00236
00237 START_VARIANT_METHOD( callsize, QPixmap )
00238 QSize cppValue = value.size();
00239 result = KJSEmbed::createVariant(exec, "QSize", cppValue );
00240 END_VARIANT_METHOD
00241
00242 START_VARIANT_METHOD( calltoImage, QPixmap )
00243 QImage cppValue = value.toImage();
00244 result = KJSEmbed::createVariant(exec, "QImage", cppValue );
00245 END_VARIANT_METHOD
00246
00247 START_VARIANT_METHOD( callwidth, QPixmap )
00248 int cppValue = value.width();
00249 result = KJS::jsNumber(cppValue);
00250 END_VARIANT_METHOD
00251
00252 }
00253
00254 START_METHOD_LUT( Pixmap )
00255 {"alphaChannel", 0, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callalphaChannel},
00256 {"copy", 3, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callcopy},
00257 {"createHeuristicMask", 0, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callcreateHeuristicMask},
00258 {"createMaskFromColor", 0, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callcreateMaskFromColor},
00259 {"defaultDepth", 0, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::calldefaultDepth},
00260 {"depth", 0, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::calldepth},
00261 {"fill", 2, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callfill},
00262 {"fromImage", 1, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callfromImage},
00263 {"grabWidget", 4, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callgrabWidget},
00264 {"hasAlpha", 0, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callhasAlpha},
00265 {"hasAlphaChannel", 0, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callhasAlphaChannel},
00266 {"height", 0, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callheight},
00267 {"isNull", 0, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callisNull},
00268 {"isQBitmap", 0, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callisQBitmap},
00269 {"load", 2, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callload},
00270 {"mask", 0, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callmask},
00271 {"rect", 0, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callrect},
00272 {"save", 2, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callsave},
00273 {"scaled", 3, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callscaled},
00274 {"scaledToHeight", 1, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callscaledToHeight},
00275 {"scaledToWidth", 1, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callscaledToWidth},
00276 {"serialNumber", 0, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callserialNumber},
00277 {"setAlphaChannel", 0, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callsetAlphaChannel},
00278 {"setMask", 0, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callsetMask},
00279 {"size", 0, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callsize},
00280 {"toImage", 0, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::calltoImage},
00281 {"width", 0, KJS::DontDelete|KJS::ReadOnly, &PixmapNS::callwidth}
00282 END_METHOD_LUT
00283
00284 NO_STATICS( Pixmap )
00285 NO_ENUMS( Pixmap )
00286 START_CTOR( Pixmap, QPixmap, 0)
00287 if( args.size() == 0 )
00288 {
00289 return new KJSEmbed::PixmapBinding( exec, QPixmap() );
00290 }
00291 else if( args.size() == 1 )
00292 {
00293 return new KJSEmbed::PixmapBinding( exec,
00294 QPixmap( KJSEmbed::extractQString(exec,args, 0) ) );
00295 }
00296 else if( args.size() == 2 )
00297 {
00298 return new KJSEmbed::PixmapBinding(exec,
00299 QPixmap( KJSEmbed::extractInt( exec, args, 0 ),
00300 KJSEmbed::extractInt( exec, args, 1 )
00301 ) );
00302 }
00303 else if( args.size() == 3 )
00304 {
00305 QString tmp = toQString(args[2]->toObject(exec)->className());
00306 qDebug() << tmp;
00307
00308 return new KJSEmbed::PixmapBinding(exec,
00309 QPixmap( KJSEmbed::extractQString( exec, args, 0 ),
00310 KJSEmbed::extractVariant<QByteArray>( exec, args, 1 ).constData(),
00311 (Qt::ImageConversionFlags)KJSEmbed::extractInt( exec, args, 2 )
00312 ) );
00313 }
00314 return new KJSEmbed::PixmapBinding( exec, QPixmap() );
00315 END_CTOR
00316
00317
00318