• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)
3  *
4  *  This library is free software; you can redistribute it and/or
5  *  modify it under the terms of the GNU Lesser General Public
6  *  License as published by the Free Software Foundation; either
7  *  version 2 of the License, or (at your option) any later version.
8  *
9  *  This library is distributed in the hope that it will be useful,
10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  *  Lesser General Public License for more details.
13  *
14  *  You should have received a copy of the GNU Lesser General Public
15  *  License along with this library; if not, write to the Free Software
16  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
17  *
18  */
19 
20 #ifndef qt_pixmapruntime_h
21 #define qt_pixmapruntime_h
22 
23 #include "BridgeJSC.h"
24 #include <QVariant>
25 
26 namespace JSC {
27 
28 namespace Bindings {
29 
30 class QtPixmapInstance : public Instance {
31     QVariant data;
32 public:
33     QtPixmapInstance(PassRefPtr<RootObject> rootObj, const QVariant& newData);
34     virtual Class* getClass() const;
35     virtual JSValue getMethod(ExecState* exec, const Identifier& propertyName);
36     virtual JSValue invokeMethod(ExecState*, RuntimeMethod*);
37     virtual void getPropertyNames(ExecState*, PropertyNameArray&);
38 
39     virtual JSValue defaultValue(ExecState*, PreferredPrimitiveType) const;
40     virtual JSValue valueOf(ExecState* exec) const;
41     int width() const;
42     int height() const;
43     QPixmap toPixmap();
44     QImage toImage();
45     RuntimeObject* newRuntimeObject(ExecState* exec);
46     static JSObject* createPixmapRuntimeObject(ExecState*, PassRefPtr<RootObject>, const QVariant&);
47     static QVariant variantFromObject(JSObject*, QMetaType::Type hint);
48     static bool canHandle(QMetaType::Type hint);
49 };
50 
51 }
52 
53 }
54 #endif
55