diff --git a/blackberry-qnx/bb10/.cproject b/blackberry-qnx/bb10/.cproject new file mode 100644 index 0000000000..39b4c35d4b --- /dev/null +++ b/blackberry-qnx/bb10/.cproject @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blackberry-qnx/bb10/.project b/blackberry-qnx/bb10/.project new file mode 100644 index 0000000000..2ac321a0db --- /dev/null +++ b/blackberry-qnx/bb10/.project @@ -0,0 +1,91 @@ + + + RetroArch-Cascades + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.autoBuildTarget + Device-Debug + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.cleanBuildTarget + clean + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + true + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.fullBuildTarget + Device-Debug + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + com.rim.tad.tools.qml.core.qmlFileBuilder + + + + + com.qnx.tools.bbt.xml.core.bbtXMLValidationBuilder + + + + + + com.rim.tad.tools.wst.jsdt.core.jsNature + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.qnx.tools.ide.bbt.core.bbtnature + org.eclipse.cdt.core.ccnature + com.rim.tad.tools.qml.core.qmlNature + + diff --git a/blackberry-qnx/bb10/Makefile b/blackberry-qnx/bb10/Makefile new file mode 100644 index 0000000000..ce6a86aa05 --- /dev/null +++ b/blackberry-qnx/bb10/Makefile @@ -0,0 +1,6 @@ +QMAKE_TARGET = RetroArch-Cascades +PROJECT_DIR := $(dir $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))) +I18N_DIR := $(PROJECT_DIR)/translations + +include mk/cs-base.mk + diff --git a/blackberry-qnx/bb10/RetroArch-Cascades.pro b/blackberry-qnx/bb10/RetroArch-Cascades.pro new file mode 100644 index 0000000000..414a4f47ad --- /dev/null +++ b/blackberry-qnx/bb10/RetroArch-Cascades.pro @@ -0,0 +1,7 @@ +APP_NAME = RetroArch-Cascades + +CONFIG += qt warn_on cascades10 + +LIBS += -lscreen + +include(config.pri) diff --git a/blackberry-qnx/bb10/assets/mainPage.qml b/blackberry-qnx/bb10/assets/mainPage.qml new file mode 100644 index 0000000000..1405ae4dde --- /dev/null +++ b/blackberry-qnx/bb10/assets/mainPage.qml @@ -0,0 +1,32 @@ +/* Copyright (c) 2012 Research In Motion Limited. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import bb.cascades 1.0 + +TabbedPane { + Tab { + Page { + Container { + + } + } + } + Tab { + Page { + Container { + + } + } + } +} diff --git a/blackberry-qnx/bb10/bar-descriptor.xml b/blackberry-qnx/bb10/bar-descriptor.xml new file mode 100644 index 0000000000..cef7222445 --- /dev/null +++ b/blackberry-qnx/bb10/bar-descriptor.xml @@ -0,0 +1,79 @@ + + + + + + + com.example.helloforeignwindow + + + RetroArch + + + 1.0.0 + + + 1 + + + + + + + landscape + false + none + false + + + + core.games + + armle-v7 + RetroArch-Cascades + + + Qnx/Cascades + armle-v7 + RetroArch-Cascades.so + + + armle-v7 + RetroArch-Cascades + + + + + + + + + + + + + + + assets + + + + bright + + + run_native + access_shared + + + + diff --git a/blackberry-qnx/bb10/config.pri b/blackberry-qnx/bb10/config.pri new file mode 100644 index 0000000000..4abec4b0da --- /dev/null +++ b/blackberry-qnx/bb10/config.pri @@ -0,0 +1,46 @@ +# Auto-generated by IDE. Changes by user will be lost! +BASEDIR = $$quote($$_PRO_FILE_PWD_) + +device { + CONFIG(debug, debug|release) { + SOURCES += $$quote($$BASEDIR/src/RetroArch-Cascades.cpp) \ + $$quote($$BASEDIR/src/main.cpp) + + HEADERS += $$quote($$BASEDIR/src/RetroArch-Cascades.h) + + } + + CONFIG(release, debug|release) { + SOURCES += $$quote($$BASEDIR/src/RetroArch-Cascades.cpp) \ + $$quote($$BASEDIR/src/main.cpp) + + HEADERS += $$quote($$BASEDIR/src/RetroArch-Cascades.h) + + } + +} + +simulator { + CONFIG(debug, debug|release) { + SOURCES += $$quote($$BASEDIR/src/RetroArch-Cascades.cpp) \ + $$quote($$BASEDIR/src/main.cpp) + + HEADERS += $$quote($$BASEDIR/src/RetroArch-Cascades.h) + + } + +} + +INCLUDEPATH += $$quote($$BASEDIR/src) + +CONFIG += precompile_header + +PRECOMPILED_HEADER = $$quote($$BASEDIR/precompiled.h) + +lupdate_inclusion { + SOURCES += $$quote($$BASEDIR/../assets/*.qml) + +} + +TRANSLATIONS = $$quote($${TARGET}.ts) + diff --git a/blackberry-qnx/bb10/precompiled.h b/blackberry-qnx/bb10/precompiled.h new file mode 100644 index 0000000000..6213dc4ba7 --- /dev/null +++ b/blackberry-qnx/bb10/precompiled.h @@ -0,0 +1,2 @@ +// This file is used to store precompiled headers. +// It is intentionally left blank. It is up to you to decide which headers should be included here. diff --git a/blackberry-qnx/bb10/src/RetroArch-Cascades.cpp b/blackberry-qnx/bb10/src/RetroArch-Cascades.cpp new file mode 100644 index 0000000000..086b9aca7b --- /dev/null +++ b/blackberry-qnx/bb10/src/RetroArch-Cascades.cpp @@ -0,0 +1,63 @@ +/* Copyright (c) 2012 Research In Motion Limited. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "RetroArch-Cascades.h" + +#include +#include +#include +#include +#include + +#include + +using namespace bb::cascades; + +RetroArch::RetroArch() +{ + // Create a QML document and load the main UI QML file, using build patterns. + QmlDocument *qml = QmlDocument::create("asset:///mainPage.qml"); + + if (!qml->hasErrors()) { + + // Set the context property we want to use from inside the QML document. Functions exposed + // via Q_INVOKABLE will be found with this property and the name of the function. + qml->setContextProperty("RetroArch", this); + + // The application Page is created from QML. + AbstractPane *mAppPane = qml->createRootObject(); + + if (mAppPane) { + + Application::instance()->setScene(mAppPane); + + // Start the thread in which we render to the custom window. + start(); + } + } +} + +RetroArch::~RetroArch() +{ + // Stop the thread. + terminate(); + wait(); +} + +void RetroArch::run() +{ + while (true) { + + } +} diff --git a/blackberry-qnx/bb10/src/RetroArch-Cascades.h b/blackberry-qnx/bb10/src/RetroArch-Cascades.h new file mode 100644 index 0000000000..6030771ad8 --- /dev/null +++ b/blackberry-qnx/bb10/src/RetroArch-Cascades.h @@ -0,0 +1,49 @@ +/* Copyright (c) 2012 Research In Motion Limited. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef _HELLOFOREIGNWINDOW_H_ +#define _HELLOFOREIGNWINDOW_H_ + +#include +#include +#include + +using namespace bb::cascades; + +namespace bb +{ + namespace cascades + { + class Page; + } +} + +class RetroArch: public QThread +{ + Q_OBJECT + +public: + RetroArch(); + ~ RetroArch(); + +private: + /** + * This QThread-run function runs the custom window rendering in a separate thread to avoid lag + * in the rest of the Cascades UI. + */ + void run(); + +}; + +#endif // ifndef _HELLOFOREIGNWINDOW_H_ diff --git a/blackberry-qnx/bb10/src/main.cpp b/blackberry-qnx/bb10/src/main.cpp new file mode 100644 index 0000000000..072343c469 --- /dev/null +++ b/blackberry-qnx/bb10/src/main.cpp @@ -0,0 +1,35 @@ +/* Copyright (c) 2012 Research In Motion Limited. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + + +#include "RetroArch-Cascades.h" +#include + +using ::bb::cascades::Application; + +Q_DECL_EXPORT int main(int argc, char **argv) +{ + // Instantiate the main application constructor. + Application app(argc, argv); + + // Initialize our application. + RetroArch mainApp; + + // We complete the transaction started in the main application constructor and start the + // client event loop here. When loop is exited the Application deletes the scene which + // deletes all its children. + return Application::exec(); +} + diff --git a/blackberry-qnx/bb10/translations/Makefile b/blackberry-qnx/bb10/translations/Makefile new file mode 100644 index 0000000000..0678149585 --- /dev/null +++ b/blackberry-qnx/bb10/translations/Makefile @@ -0,0 +1,12 @@ +QMAKE_TARGET = RetroArch-Cascades +LUPDATE = $(QNX_HOST)/usr/bin/lupdate +LRELEASE = $(QNX_HOST)/usr/bin/lrelease + +update: $(QMAKE_TARGET).pro FORCE + $(LUPDATE) $(QMAKE_TARGET).pro + +release: $(QMAKE_TARGET).pro $(QMAKE_TARGET).ts + $(LRELEASE) $(QMAKE_TARGET).pro + +FORCE: + diff --git a/blackberry-qnx/bb10/translations/RetroArch-Cascades.pro b/blackberry-qnx/bb10/translations/RetroArch-Cascades.pro new file mode 100644 index 0000000000..d79bf91ecd --- /dev/null +++ b/blackberry-qnx/bb10/translations/RetroArch-Cascades.pro @@ -0,0 +1 @@ +include (../RetroArch-Cascades.pro) diff --git a/blackberry-qnx/bb10/translations/RetroArch-Cascades.ts b/blackberry-qnx/bb10/translations/RetroArch-Cascades.ts new file mode 100644 index 0000000000..07a7469f10 --- /dev/null +++ b/blackberry-qnx/bb10/translations/RetroArch-Cascades.ts @@ -0,0 +1,4 @@ + + + +