Add linear impulse example
[qml-box2d:ankrats-qml-box2d.git] / box2dplugin.cpp
1 /*
2  * Box2D QML plugin
3  * Copyright (C) 2010 Nokia Corporation
4  *
5  * This file is part of the Box2D QML plugin.
6  *
7  * This library is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU Lesser General Public License as published by
9  * the Free Software Foundation; either version 2.1 of the License, or (at
10  * your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
15  * License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public License
18  * along with this library;  If not, see <http://www.gnu.org/licenses/>.
19  */
20
21 #include "box2dplugin.h"
22
23 #include "box2dworld.h"
24 #include "box2dbody.h"
25 #include "box2ddebugdraw.h"
26 #include "box2dfixture.h"
27
28 Box2DPlugin::Box2DPlugin(QObject *parent) :
29     QDeclarativeExtensionPlugin(parent)
30 {
31 }
32
33 void Box2DPlugin::registerTypes(const char *uri)
34 {
35     Q_ASSERT(QLatin1String(uri) == QLatin1String("Box2D"));
36
37     qmlRegisterType<Box2DWorld>(uri, 1, 0, "World");
38     qmlRegisterType<Box2DBody>(uri, 1, 0, "Body");
39     qmlRegisterType<Box2DFixture>();
40     qmlRegisterType<Box2DBox>(uri, 1, 0, "Box");
41     qmlRegisterType<Box2DCircle>(uri, 1, 0, "Circle");
42     qmlRegisterType<Box2DPolygon>(uri, 1, 0, "Polygon");
43     qmlRegisterType<Box2DDebugDraw>(uri, 1, 0, "DebugDraw");
44 }
45
46 Q_EXPORT_PLUGIN2(Box2DPlugin, Box2DPlugin)