KJsEmbed

svg_binding.cpp
1 /* This file is part of the KDE libraries
2  Copyright (C) 2005, 2006 Ian Reinhart Geiser <[email protected]>
3  Copyright (C) 2005, 2006 Matt Broadstone <[email protected]>
4  Copyright (C) 2005, 2006 Richard J. Moore <[email protected]>
5  Copyright (C) 2005, 2006 Erik L. Bunce <[email protected]>
6 
7  This library is free software; you can redistribute it and/or
8  modify it under the terms of the GNU Library General Public
9  License as published by the Free Software Foundation; either
10  version 2 of the License, or (at your option) any later version.
11 
12  This library is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  Library General Public License for more details.
16 
17  You should have received a copy of the GNU Library General Public License
18  along with this library; see the file COPYING.LIB. If not, write to
19  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20  Boston, MA 02110-1301, USA.
21 */
22 #include "svg_binding.h"
23 
24 #include <QDebug>
25 
26 #include <kjs/object.h>
27 
28 #include "static_binding.h"
29 #include "kjseglobal.h"
30 
31 using namespace KJSEmbed;
32 
33 namespace SvgRendererNS
34 {
35 START_QOBJECT_METHOD(animationDuration, QSvgRenderer)
36 result = KJS::jsNumber(object->animationDuration());
37 END_QOBJECT_METHOD
38 
39 START_QOBJECT_METHOD(defaultSize, QSvgRenderer)
40 result = KJSEmbed::createVariant(exec, "QSize", object->defaultSize());
41 END_QOBJECT_METHOD
42 
43 START_QOBJECT_METHOD(isValid, QSvgRenderer)
44 result = KJS::jsBoolean(object->isValid());
45 END_QOBJECT_METHOD
46 
47 START_QOBJECT_METHOD(animated, QSvgRenderer)
48 result = KJS::jsBoolean(object->animated());
49 END_QOBJECT_METHOD
50 }
51 
52 START_METHOD_LUT(SvgRenderer)
53 {"animationDuration", 0, KJS::DontDelete | KJS::ReadOnly, &SvgRendererNS::animationDuration},
54 {"defaultSize", 0, KJS::DontDelete | KJS::ReadOnly, &SvgRendererNS::defaultSize},
55 {"isValid", 0, KJS::DontDelete | KJS::ReadOnly, &SvgRendererNS::isValid},
56 {"animated", 0, KJS::DontDelete | KJS::ReadOnly, &SvgRendererNS::animated}
57 END_METHOD_LUT
58 
59 NO_ENUMS(SvgRenderer)
60 NO_STATICS(SvgRenderer)
61 
62 KJSO_SIMPLE_BINDING_CTOR(SvgRenderer, QSvgRenderer, QObjectBinding)
63 KJSO_QOBJECT_BIND(SvgRenderer, QSvgRenderer)
64 
65 KJSO_START_CTOR(SvgRenderer, QSvgRenderer, 0)
66 QSvgRenderer *renderer = nullptr;
67 if (args.size() == 1)
68 {
69  QObject *arg0 = KJSEmbed::extractObject<QObject>(exec, args, 0, nullptr);
70  renderer = new QSvgRenderer(arg0);
71 } else if (args.size() == 2)
72 {
73  QString arg0 = KJSEmbed::extractVariant<QString>(exec, args, 0);
74  QObject *arg1 = KJSEmbed::extractObject<QObject>(exec, args, 1, nullptr);
75  renderer = new QSvgRenderer(arg0, arg1);
76 } else
77 {
78  renderer = new QSvgRenderer();
79 }
80 
81 KJS::JSObject *rendererObject = new SvgRenderer(exec, renderer);
82 return rendererObject;
83 KJSO_END_CTOR
84 
85 namespace SvgWidgetNS
86 {
87 START_QOBJECT_METHOD(renderer, QSvgWidget)
88 result = KJSEmbed::createQObject(exec, object->renderer(), ObjectBinding::QObjOwned);
89 END_QOBJECT_METHOD
90 }
91 
92 START_METHOD_LUT(SvgWidget)
93 {"renderer", 0, KJS::DontDelete | KJS::ReadOnly, &SvgWidgetNS::renderer
94 }
95 END_METHOD_LUT
96 
97 NO_ENUMS(SvgWidget)
98 NO_STATICS(SvgWidget)
99 
100 KJSO_SIMPLE_BINDING_CTOR(SvgWidget, QSvgWidget, QWidgetBinding)
101 KJSO_QOBJECT_BIND(SvgWidget, QSvgWidget)
102 
103 KJSO_START_CTOR(SvgWidget, QSvgWidget, 0)
104 QSvgWidget *widget = nullptr;
105 if (args.size() == 1)
106 {
107  QWidget *arg0 = KJSEmbed::extractObject<QWidget>(exec, args, 0, nullptr);
108  widget = new QSvgWidget(arg0);
109 } else if (args.size() == 2)
110 {
111  QString arg0 = KJSEmbed::extractVariant<QString>(exec, args, 0);
112  QWidget *arg1 = KJSEmbed::extractObject<QWidget>(exec, args, 1, nullptr);
113  widget = new QSvgWidget(arg0, arg1);
114 } else
115 {
116  widget = new QSvgWidget();
117 }
118 
119 KJS::JSObject *rendererObject = new SvgWidget(exec, widget);
120 return rendererObject;
121 KJSO_END_CTOR
122 
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Sun Dec 10 2023 03:59:19 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.