• Skip to content
  • Skip to link menu
KDE 4.3 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

kjsembed

image.cpp

Go to the documentation of this file.
00001 /* This file is part of the KDE libraries
00002     Copyright (C) 2005, 2006 Ian Reinhart Geiser <geiseri@kde.org>
00003     Copyright (C) 2005, 2006 Matt Broadstone <mbroadst@gmail.com>
00004     Copyright (C) 2005, 2006 Richard J. Moore <rich@kde.org>
00005     Copyright (C) 2005, 2006 Erik L. Bunce <kde@bunce.us>
00006 
00007     This library is free software; you can redistribute it and/or
00008     modify it under the terms of the GNU Library General Public
00009     License as published by the Free Software Foundation; either
00010     version 2 of the License, or (at your option) any later version.
00011 
00012     This library is distributed in the hope that it will be useful,
00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015     Library General Public License for more details.
00016 
00017     You should have received a copy of the GNU Library General Public License
00018     along with this library; see the file COPYING.LIB.  If not, write to
00019     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00020     Boston, MA 02110-1301, USA.
00021 */
00022 #include "image.h"
00023 #include "variant_binding.h"
00024 #include "object_binding.h"
00025 
00026 #include <QtCore/QDebug>
00027 #include <QtGui/QImage>
00028 #include <QtCore/QPoint>
00029 #include <QtCore/QSize>
00030 
00031 using namespace KJSEmbed;
00032 
00033 const KJS::ClassInfo ImageBinding::info = { "QImage", &VariantBinding::info, 0, 0 };
00034 ImageBinding::ImageBinding( KJS::ExecState *exec, const QImage &value )
00035     : VariantBinding(exec, value )
00036 {
00037     StaticBinding::publish( exec, this, VariantFactory::methods() );
00038     StaticBinding::publish( exec, this, Image::methods() );
00039 }
00040 
00041 namespace ImageNS
00042 {
00043 START_VARIANT_METHOD( callallGray, QImage )
00044     bool cppValue = value.allGray();
00045     result = KJS::jsBoolean(cppValue);
00046 END_VARIANT_METHOD
00047 
00048 START_VARIANT_METHOD( callalphaChannel, QImage )
00049     QImage cppValue = value.alphaChannel();
00050     result = KJSEmbed::createVariant(exec, "QImage", cppValue );
00051 END_VARIANT_METHOD
00052 
00053 START_VARIANT_METHOD( callcopy, QImage )
00054     int arg0 = KJSEmbed::extractInt(exec, args, 0);
00055     int arg1 = KJSEmbed::extractInt(exec, args, 1);
00056     int arg2 = KJSEmbed::extractInt(exec, args, 2);
00057     int arg3 = KJSEmbed::extractInt(exec, args, 3);
00058     QImage cppValue = value.copy(arg0, arg1, arg2, arg3);
00059     result = KJSEmbed::createVariant(exec, "QImage", cppValue );
00060 END_VARIANT_METHOD
00061 
00062 START_VARIANT_METHOD( callcreateAlphaMask, QImage )
00063     Qt::ImageConversionFlags arg0 = (Qt::ImageConversionFlags)KJSEmbed::extractInt(exec, args, 0);
00064     QImage cppValue = value.createAlphaMask(arg0);
00065     result = KJSEmbed::createVariant(exec, "QImage", cppValue );
00066 END_VARIANT_METHOD
00067 
00068 START_VARIANT_METHOD( callcreateHeuristicMask, QImage )
00069     bool arg0 = KJSEmbed::extractBool(exec, args, 0);
00070     QImage cppValue = value.createHeuristicMask(arg0);
00071     result = KJSEmbed::createVariant(exec, "QImage", cppValue );
00072 END_VARIANT_METHOD
00073 
00074 START_VARIANT_METHOD( calldepth, QImage )
00075     int cppValue = value.depth();
00076     result = KJS::jsNumber(cppValue);
00077 END_VARIANT_METHOD
00078 
00079 START_VARIANT_METHOD( calldevType, QImage )
00080     int cppValue = value.devType();
00081     result = KJS::jsNumber(cppValue);
00082 END_VARIANT_METHOD
00083 
00084 START_VARIANT_METHOD( calldotsPerMeterX, QImage )
00085     int cppValue = value.dotsPerMeterX();
00086     result = KJS::jsNumber(cppValue);
00087 END_VARIANT_METHOD
00088 
00089 START_VARIANT_METHOD( calldotsPerMeterY, QImage )
00090     int cppValue = value.dotsPerMeterY();
00091     result = KJS::jsNumber(cppValue);
00092 END_VARIANT_METHOD
00093 
00094 START_VARIANT_METHOD( callfill, QImage )
00095     uint arg0 = KJSEmbed::extractVariant<uint>(exec,args, 0);
00096     value.fill(arg0);
00097 END_VARIANT_METHOD
00098 
00099 START_VARIANT_METHOD( callhasAlphaChannel, QImage )
00100     bool cppValue = value.hasAlphaChannel();
00101     result = KJS::jsBoolean(cppValue);
00102 END_VARIANT_METHOD
00103 
00104 START_VARIANT_METHOD( callheight, QImage )
00105     int cppValue = value.height();
00106     result = KJS::jsNumber(cppValue);
00107 END_VARIANT_METHOD
00108 
00109 START_VARIANT_METHOD( callinvertPixels, QImage )
00110     QImage::InvertMode arg0 = (QImage::InvertMode)KJSEmbed::extractInt(exec, args, 0);
00111     value.invertPixels(arg0);
00112 END_VARIANT_METHOD
00113 
00114 START_VARIANT_METHOD( callisGrayscale, QImage )
00115     bool cppValue = value.isGrayscale();
00116     result = KJS::jsBoolean(cppValue);
00117 END_VARIANT_METHOD
00118 
00119 START_VARIANT_METHOD( callisNull, QImage )
00120     bool cppValue = value.isNull();
00121     result = KJS::jsBoolean(cppValue);
00122 END_VARIANT_METHOD
00123 
00124 START_VARIANT_METHOD( callload, QImage )
00125     QString arg0 = KJSEmbed::extractQString(exec, args, 0);
00126     QByteArray arg1 = KJSEmbed::extractQString( exec, args, 1 ).toLatin1();
00127     bool cppValue = value.load(arg0, arg1);
00128     result = KJS::jsBoolean(cppValue);
00129 END_VARIANT_METHOD
00130 
00131 START_VARIANT_METHOD( callmirrored, QImage )
00132     bool arg0 = KJSEmbed::extractBool(exec, args, 0);
00133     bool arg1 = KJSEmbed::extractBool(exec, args, 1);
00134     QImage cppValue = value.mirrored(arg0, arg1);
00135     result = KJSEmbed::createVariant(exec, "QImage", cppValue );
00136 END_VARIANT_METHOD
00137 
00138 START_VARIANT_METHOD( callnumBytes, QImage )
00139     int cppValue = value.numBytes();
00140     result = KJS::jsNumber(cppValue);
00141 END_VARIANT_METHOD
00142 
00143 START_VARIANT_METHOD( callnumColors, QImage )
00144     int cppValue = value.numColors();
00145     result = KJS::jsNumber(cppValue);
00146 END_VARIANT_METHOD
00147 
00148 START_VARIANT_METHOD( calloffset, QImage )
00149     QPoint cppValue = value.offset();
00150     result = KJSEmbed::createVariant(exec, "QPoint", cppValue );
00151 END_VARIANT_METHOD
00152 
00153 START_VARIANT_METHOD( callpixel, QImage )
00154     int arg0 = KJSEmbed::extractInt(exec, args, 0);
00155     int arg1 = KJSEmbed::extractInt(exec, args, 1);
00156     QRgb cppValue = value.pixel(arg0, arg1);
00157     result = KJS::jsNumber(cppValue);
00158 END_VARIANT_METHOD
00159 
00160 START_VARIANT_METHOD( callpixelIndex, QImage )
00161     int arg0 = KJSEmbed::extractInt(exec, args, 0);
00162     int arg1 = KJSEmbed::extractInt(exec, args, 1);
00163     int cppValue = value.pixelIndex(arg0, arg1);
00164     result = KJS::jsNumber(cppValue);
00165 END_VARIANT_METHOD
00166 
00167 START_VARIANT_METHOD( callrect, QImage )
00168     QRect cppValue = value.rect();
00169     result = KJSEmbed::createVariant(exec, "QRect", cppValue );
00170 END_VARIANT_METHOD
00171 
00172 START_VARIANT_METHOD( callrgbSwapped, QImage )
00173     QImage cppValue = value.rgbSwapped();
00174     result = KJSEmbed::createVariant(exec, "QImage", cppValue );
00175 END_VARIANT_METHOD
00176 
00177 START_VARIANT_METHOD( callsave, QImage )
00178     QString arg0 = KJSEmbed::extractQString(exec, args, 0);
00179     QByteArray arg1 = KJSEmbed::extractQString( exec, args, 1 ).toLatin1();
00180     int arg2 = KJSEmbed::extractInt(exec, args, 2);
00181     bool cppValue = value.save(arg0, arg1, arg2);
00182     result = KJS::jsBoolean(cppValue);
00183 END_VARIANT_METHOD
00184 
00185 START_VARIANT_METHOD( callscaled, QImage )
00186     if( args.size() == 3)
00187     {
00188         QSize arg0 = KJSEmbed::extractVariant<QSize>(exec,args, 0);
00189         Qt::AspectRatioMode arg1 = (Qt::AspectRatioMode)KJSEmbed::extractInt(exec, args, 1);
00190         Qt::TransformationMode arg2 = (Qt::TransformationMode)KJSEmbed::extractInt(exec, args, 2);
00191         QImage cppValue = value.scaled(arg0, arg1, arg2);
00192         result = KJSEmbed::createVariant(exec, "QImage", cppValue );
00193     }
00194     else if( args.size() == 4)
00195     {
00196         int arg0 = KJSEmbed::extractInt(exec, args, 0);
00197         int arg1 = KJSEmbed::extractInt(exec, args, 1);
00198         Qt::AspectRatioMode arg2 = (Qt::AspectRatioMode)KJSEmbed::extractInt(exec, args, 2);
00199         Qt::TransformationMode arg3 = (Qt::TransformationMode)KJSEmbed::extractInt(exec, args, 3);
00200         QImage cppValue = value.scaled(arg0, arg1, arg2, arg3);
00201         result = KJSEmbed::createVariant(exec, "QImage", cppValue );
00202     }
00203 END_VARIANT_METHOD
00204 
00205 START_VARIANT_METHOD( callscaledToHeight, QImage )
00206     int arg0 = KJSEmbed::extractInt(exec, args, 0);
00207     Qt::TransformationMode arg1 = (Qt::TransformationMode)KJSEmbed::extractInt(exec, args, 1);
00208     QImage cppValue = value.scaledToHeight(arg0, arg1);
00209     result = KJSEmbed::createVariant(exec, "QImage", cppValue );
00210 END_VARIANT_METHOD
00211 
00212 START_VARIANT_METHOD( callscaledToWidth, QImage )
00213     int arg0 = KJSEmbed::extractInt(exec, args, 0);
00214     Qt::TransformationMode arg1 = (Qt::TransformationMode)KJSEmbed::extractInt(exec, args, 1);
00215     QImage cppValue = value.scaledToWidth(arg0, arg1);
00216     result = KJSEmbed::createVariant(exec, "QImage", cppValue );
00217 END_VARIANT_METHOD
00218 
00219 START_VARIANT_METHOD( callserialNumber, QImage )
00220     int cppValue = value.serialNumber();
00221     result = KJS::jsNumber(cppValue);
00222 END_VARIANT_METHOD
00223 
00224 START_VARIANT_METHOD( callsetAlphaChannel, QImage )
00225     QImage arg0 = KJSEmbed::extractVariant<QImage>(exec,args, 0);
00226     value.setAlphaChannel(arg0);
00227 END_VARIANT_METHOD
00228 
00229 START_VARIANT_METHOD( callsetColor, QImage )
00230     int arg0 = KJSEmbed::extractInt(exec, args, 0);
00231     QRgb arg1 = (QRgb)KJSEmbed::extractInt(exec, args, 1);
00232     value.setColor(arg0, arg1);
00233 END_VARIANT_METHOD
00234 
00235 START_VARIANT_METHOD( callsetDotsPerMeterX, QImage )
00236     int arg0 = KJSEmbed::extractInt(exec, args, 0);
00237     value.setDotsPerMeterX(arg0);
00238 END_VARIANT_METHOD
00239 
00240 START_VARIANT_METHOD( callsetDotsPerMeterY, QImage )
00241     int arg0 = KJSEmbed::extractInt(exec, args, 0);
00242     value.setDotsPerMeterY(arg0);
00243 END_VARIANT_METHOD
00244 
00245 START_VARIANT_METHOD( callsetNumColors, QImage )
00246     int arg0 = KJSEmbed::extractInt(exec, args, 0);
00247     value.setNumColors(arg0);
00248 END_VARIANT_METHOD
00249 
00250 START_VARIANT_METHOD( callsetOffset, QImage )
00251     QPoint arg0 = KJSEmbed::extractVariant<QPoint>(exec,args, 0);
00252     value.setOffset(arg0);
00253 END_VARIANT_METHOD
00254 
00255 START_VARIANT_METHOD( callsetPixel, QImage )
00256     int arg0 = KJSEmbed::extractInt(exec, args, 0);
00257     int arg1 = KJSEmbed::extractInt(exec, args, 1);
00258     uint arg2 = KJSEmbed::extractVariant<uint>(exec,args, 2);
00259     value.setPixel(arg0, arg1, arg2);
00260 END_VARIANT_METHOD
00261 
00262 START_VARIANT_METHOD( callsize, QImage )
00263     QSize cppValue = value.size();
00264     result = KJSEmbed::createVariant(exec, "QSize", cppValue );
00265 END_VARIANT_METHOD
00266 
00267 START_VARIANT_METHOD( callvalid, QImage )
00268     int arg0 = KJSEmbed::extractInt(exec, args, 0);
00269     int arg1 = KJSEmbed::extractInt(exec, args, 1);
00270     bool cppValue = value.valid(arg0, arg1);
00271     result = KJS::jsBoolean(cppValue);
00272 END_VARIANT_METHOD
00273 
00274 START_VARIANT_METHOD( callwidth, QImage )
00275     int cppValue = value.width();
00276     result = KJS::jsNumber(cppValue);
00277 END_VARIANT_METHOD
00278 
00279 }
00280 
00281 START_METHOD_LUT( Image )
00282     {"allGray", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callallGray},
00283     {"alphaChannel", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callalphaChannel},
00284     {"copy", 4, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callcopy},
00285     {"createAlphaMask", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callcreateAlphaMask},
00286     {"createHeuristicMask", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callcreateHeuristicMask},
00287     {"depth", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::calldepth},
00288     {"dotsPerMeterX", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::calldotsPerMeterX},
00289     {"dotsPerMeterY", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::calldotsPerMeterY},
00290     {"fill", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callfill},
00291     {"hasAlphaChannel", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callhasAlphaChannel},
00292     {"height", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callheight},
00293     {"invertPixels", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callinvertPixels},
00294     {"isGrayscale", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callisGrayscale},
00295     {"isNull", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callisNull},
00296     {"load", 1, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callload},
00297     {"mirrored", 1, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callmirrored},
00298     {"numBytes", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callnumBytes},
00299     {"numColors", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callnumColors},
00300     {"offset", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::calloffset},
00301     {"pixel", 1, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callpixel},
00302     {"pixelIndex", 1, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callpixelIndex},
00303     {"rect", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callrect},
00304     {"rgbSwapped", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callrgbSwapped},
00305     {"save", 2, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callsave},
00306     {"scaled", 3, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callscaled},
00307     {"scaledToHeight", 1, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callscaledToHeight},
00308     {"scaledToWidth", 1, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callscaledToWidth},
00309     {"serialNumber", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callserialNumber},
00310     {"setAlphaChannel", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callsetAlphaChannel},
00311     {"setColor", 1, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callsetColor},
00312     {"setDotsPerMeterX", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callsetDotsPerMeterX},
00313     {"setDotsPerMeterY", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callsetDotsPerMeterY},
00314     {"setNumColors", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callsetNumColors},
00315     {"setOffset", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callsetOffset},
00316     {"setPixel", 2, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callsetPixel},
00317     {"size", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callsize},
00318     {"valid", 1, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callvalid},
00319     {"width", 0, KJS::DontDelete|KJS::ReadOnly, &ImageNS::callwidth}
00320 END_METHOD_LUT
00321 
00322 NO_ENUMS( Image )
00323 NO_STATICS( Image )
00324 
00325 START_CTOR( Image, QImage, 0)
00326     if( args.size() == 0 )
00327     {
00328         return new KJSEmbed::ImageBinding( exec, QImage() );
00329     }
00330     if( args.size() == 1 )
00331     {
00332         return new KJSEmbed::ImageBinding( exec, QImage( KJSEmbed::extractQString(exec, args, 0 ) ) );
00333     }
00334     else if( args.size() == 2 )
00335     {
00336         return new KJSEmbed::ImageBinding( exec,
00337                 QImage( KJSEmbed::extractVariant<QSize>(exec,args, 0 ),
00338                         (QImage::Format)KJSEmbed::extractInt( exec, args, 1 )) );
00339     }
00340     else if( args.size() == 3 )
00341     {
00342         return new KJSEmbed::ImageBinding(exec,
00343                 QImage( KJSEmbed::extractInt( exec, args, 0 ),
00344                         KJSEmbed::extractInt( exec, args, 1 ),
00345                         (QImage::Format)KJSEmbed::extractInt( exec, args, 2 )) );
00346     }
00347     return new KJSEmbed::ImageBinding( exec, QImage() );
00348 END_CTOR
00349 
00350 //kate: indent-spaces on; indent-width 4; replace-tabs on; indent-mode cstyle;

kjsembed

Skip menu "kjsembed"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.6.1
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal