Commit 0dd519e804b52ec43175f73f297c5f7239dfe323

Authored by Caio Lucena
0 parents

starting

.gitignore 0 → 100644
  1 +++ a/.gitignore
  1 +funifier.pro.user
... ...
android/AndroidManifest.xml 0 → 100644
  1 +++ a/android/AndroidManifest.xml
  1 +<?xml version="1.0"?>
  2 +<manifest package="org.qtproject.example" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="0.1" android:versionCode="1" android:installLocation="auto">
  3 + <application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --" android:icon="@drawable/icon">
  4 + <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|locale|fontScale|keyboard|keyboardHidden|navigation" android:name="org.qtproject.qt5.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="unspecified" android:launchMode="singleTop">
  5 + <intent-filter>
  6 + <action android:name="android.intent.action.MAIN"/>
  7 + <category android:name="android.intent.category.LAUNCHER"/>
  8 + </intent-filter>
  9 + <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
  10 + <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
  11 + <meta-data android:name="android.app.repository" android:value="default"/>
  12 + <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
  13 + <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
  14 + <!-- Deploy Qt libs as part of package -->
  15 + <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
  16 + <meta-data android:name="android.app.bundled_in_lib_resource_id" android:resource="@array/bundled_in_lib"/>
  17 + <meta-data android:name="android.app.bundled_in_assets_resource_id" android:resource="@array/bundled_in_assets"/>
  18 + <!-- Run with local libs -->
  19 + <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
  20 + <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
  21 + <meta-data android:name="android.app.load_local_libs" android:value="-- %%INSERT_LOCAL_LIBS%% --"/>
  22 + <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
  23 + <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
  24 + <!-- Messages maps -->
  25 + <meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
  26 + <meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
  27 + <meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
  28 + <!-- Messages maps -->
  29 +
  30 + <!-- Splash screen -->
  31 + <meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/splash"/>
  32 + <!-- Splash screen -->
  33 +
  34 + <!-- Background running -->
  35 + <!-- Warning: changing this value to true may cause unexpected crashes if the
  36 + application still try to draw after
  37 + "applicationStateChanged(Qt::ApplicationSuspended)"
  38 + signal is sent! -->
  39 + <meta-data android:name="android.app.background_running" android:value="false"/>
  40 + <!-- Background running -->
  41 + </activity>
  42 + </application>
  43 + <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="14"/>
  44 + <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
  45 +
  46 + <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
  47 + Remove the comment if you do not require these default permissions. -->
  48 + <!-- %%INSERT_PERMISSIONS -->
  49 +
  50 + <!-- The following comment will be replaced upon deployment with default features based on the dependencies of the application.
  51 + Remove the comment if you do not require these default features. -->
  52 + <!-- %%INSERT_FEATURES -->
  53 +
  54 +</manifest>
... ...
android/build.gradle 0 → 100644
  1 +++ a/android/build.gradle
  1 +buildscript {
  2 + repositories {
  3 + jcenter()
  4 + }
  5 +
  6 + dependencies {
  7 + classpath 'com.android.tools.build:gradle:1.0.0'
  8 + }
  9 +}
  10 +
  11 +allprojects {
  12 + repositories {
  13 + jcenter()
  14 + }
  15 +}
  16 +
  17 +apply plugin: 'com.android.application'
  18 +
  19 +dependencies {
  20 + compile fileTree(dir: 'libs', include: ['*.jar'])
  21 +}
  22 +
  23 +android {
  24 + /*******************************************************
  25 + * The following variables:
  26 + * - androidBuildToolsVersion,
  27 + * - androidCompileSdkVersion
  28 + * - qt5AndroidDir - holds the path to qt android files
  29 + * needed to build any Qt application
  30 + * on Android.
  31 + *
  32 + * are defined in gradle.properties file. This file is
  33 + * updated by QtCreator and androiddeployqt tools.
  34 + * Changing them manually might break the compilation!
  35 + *******************************************************/
  36 +
  37 + compileSdkVersion androidCompileSdkVersion.toInteger()
  38 +
  39 + buildToolsVersion androidBuildToolsVersion
  40 +
  41 + sourceSets {
  42 + main {
  43 + manifest.srcFile 'AndroidManifest.xml'
  44 + java.srcDirs = [qt5AndroidDir + '/src', 'src', 'java']
  45 + aidl.srcDirs = [qt5AndroidDir + '/src', 'src', 'aidl']
  46 + res.srcDirs = [qt5AndroidDir + '/res', 'res']
  47 + resources.srcDirs = ['src']
  48 + renderscript.srcDirs = ['src']
  49 + assets.srcDirs = ['assets']
  50 + jniLibs.srcDirs = ['libs']
  51 + }
  52 + }
  53 +
  54 + lintOptions {
  55 + abortOnError false
  56 + }
  57 +}
... ...
android/gradle/wrapper/gradle-wrapper.jar 0 → 100644
No preview for this file type
android/gradle/wrapper/gradle-wrapper.properties 0 → 100644
  1 +++ a/android/gradle/wrapper/gradle-wrapper.properties
  1 +#Wed Apr 10 15:27:10 PDT 2013
  2 +distributionBase=GRADLE_USER_HOME
  3 +distributionPath=wrapper/dists
  4 +zipStoreBase=GRADLE_USER_HOME
  5 +zipStorePath=wrapper/dists
  6 +distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip
... ...
android/gradlew 0 → 100755
  1 +++ a/android/gradlew
  1 +#!/usr/bin/env bash
  2 +
  3 +##############################################################################
  4 +##
  5 +## Gradle start up script for UN*X
  6 +##
  7 +##############################################################################
  8 +
  9 +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
  10 +DEFAULT_JVM_OPTS=""
  11 +
  12 +APP_NAME="Gradle"
  13 +APP_BASE_NAME=`basename "$0"`
  14 +
  15 +# Use the maximum available, or set MAX_FD != -1 to use that value.
  16 +MAX_FD="maximum"
  17 +
  18 +warn ( ) {
  19 + echo "$*"
  20 +}
  21 +
  22 +die ( ) {
  23 + echo
  24 + echo "$*"
  25 + echo
  26 + exit 1
  27 +}
  28 +
  29 +# OS specific support (must be 'true' or 'false').
  30 +cygwin=false
  31 +msys=false
  32 +darwin=false
  33 +case "`uname`" in
  34 + CYGWIN* )
  35 + cygwin=true
  36 + ;;
  37 + Darwin* )
  38 + darwin=true
  39 + ;;
  40 + MINGW* )
  41 + msys=true
  42 + ;;
  43 +esac
  44 +
  45 +# For Cygwin, ensure paths are in UNIX format before anything is touched.
  46 +if $cygwin ; then
  47 + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
  48 +fi
  49 +
  50 +# Attempt to set APP_HOME
  51 +# Resolve links: $0 may be a link
  52 +PRG="$0"
  53 +# Need this for relative symlinks.
  54 +while [ -h "$PRG" ] ; do
  55 + ls=`ls -ld "$PRG"`
  56 + link=`expr "$ls" : '.*-> \(.*\)$'`
  57 + if expr "$link" : '/.*' > /dev/null; then
  58 + PRG="$link"
  59 + else
  60 + PRG=`dirname "$PRG"`"/$link"
  61 + fi
  62 +done
  63 +SAVED="`pwd`"
  64 +cd "`dirname \"$PRG\"`/" >&-
  65 +APP_HOME="`pwd -P`"
  66 +cd "$SAVED" >&-
  67 +
  68 +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
  69 +
  70 +# Determine the Java command to use to start the JVM.
  71 +if [ -n "$JAVA_HOME" ] ; then
  72 + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
  73 + # IBM's JDK on AIX uses strange locations for the executables
  74 + JAVACMD="$JAVA_HOME/jre/sh/java"
  75 + else
  76 + JAVACMD="$JAVA_HOME/bin/java"
  77 + fi
  78 + if [ ! -x "$JAVACMD" ] ; then
  79 + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
  80 +
  81 +Please set the JAVA_HOME variable in your environment to match the
  82 +location of your Java installation."
  83 + fi
  84 +else
  85 + JAVACMD="java"
  86 + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
  87 +
  88 +Please set the JAVA_HOME variable in your environment to match the
  89 +location of your Java installation."
  90 +fi
  91 +
  92 +# Increase the maximum file descriptors if we can.
  93 +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
  94 + MAX_FD_LIMIT=`ulimit -H -n`
  95 + if [ $? -eq 0 ] ; then
  96 + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
  97 + MAX_FD="$MAX_FD_LIMIT"
  98 + fi
  99 + ulimit -n $MAX_FD
  100 + if [ $? -ne 0 ] ; then
  101 + warn "Could not set maximum file descriptor limit: $MAX_FD"
  102 + fi
  103 + else
  104 + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
  105 + fi
  106 +fi
  107 +
  108 +# For Darwin, add options to specify how the application appears in the dock
  109 +if $darwin; then
  110 + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
  111 +fi
  112 +
  113 +# For Cygwin, switch paths to Windows format before running java
  114 +if $cygwin ; then
  115 + APP_HOME=`cygpath --path --mixed "$APP_HOME"`
  116 + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
  117 +
  118 + # We build the pattern for arguments to be converted via cygpath
  119 + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
  120 + SEP=""
  121 + for dir in $ROOTDIRSRAW ; do
  122 + ROOTDIRS="$ROOTDIRS$SEP$dir"
  123 + SEP="|"
  124 + done
  125 + OURCYGPATTERN="(^($ROOTDIRS))"
  126 + # Add a user-defined pattern to the cygpath arguments
  127 + if [ "$GRADLE_CYGPATTERN" != "" ] ; then
  128 + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
  129 + fi
  130 + # Now convert the arguments - kludge to limit ourselves to /bin/sh
  131 + i=0
  132 + for arg in "$@" ; do
  133 + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
  134 + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
  135 +
  136 + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
  137 + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
  138 + else
  139 + eval `echo args$i`="\"$arg\""
  140 + fi
  141 + i=$((i+1))
  142 + done
  143 + case $i in
  144 + (0) set -- ;;
  145 + (1) set -- "$args0" ;;
  146 + (2) set -- "$args0" "$args1" ;;
  147 + (3) set -- "$args0" "$args1" "$args2" ;;
  148 + (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
  149 + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
  150 + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
  151 + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
  152 + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
  153 + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
  154 + esac
  155 +fi
  156 +
  157 +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
  158 +function splitJvmOpts() {
  159 + JVM_OPTS=("$@")
  160 +}
  161 +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
  162 +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
  163 +
  164 +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
... ...
android/gradlew.bat 0 → 100644
  1 +++ a/android/gradlew.bat
  1 +@if "%DEBUG%" == "" @echo off
  2 +@rem ##########################################################################
  3 +@rem
  4 +@rem Gradle startup script for Windows
  5 +@rem
  6 +@rem ##########################################################################
  7 +
  8 +@rem Set local scope for the variables with windows NT shell
  9 +if "%OS%"=="Windows_NT" setlocal
  10 +
  11 +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
  12 +set DEFAULT_JVM_OPTS=
  13 +
  14 +set DIRNAME=%~dp0
  15 +if "%DIRNAME%" == "" set DIRNAME=.
  16 +set APP_BASE_NAME=%~n0
  17 +set APP_HOME=%DIRNAME%
  18 +
  19 +@rem Find java.exe
  20 +if defined JAVA_HOME goto findJavaFromJavaHome
  21 +
  22 +set JAVA_EXE=java.exe
  23 +%JAVA_EXE% -version >NUL 2>&1
  24 +if "%ERRORLEVEL%" == "0" goto init
  25 +
  26 +echo.
  27 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
  28 +echo.
  29 +echo Please set the JAVA_HOME variable in your environment to match the
  30 +echo location of your Java installation.
  31 +
  32 +goto fail
  33 +
  34 +:findJavaFromJavaHome
  35 +set JAVA_HOME=%JAVA_HOME:"=%
  36 +set JAVA_EXE=%JAVA_HOME%/bin/java.exe
  37 +
  38 +if exist "%JAVA_EXE%" goto init
  39 +
  40 +echo.
  41 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
  42 +echo.
  43 +echo Please set the JAVA_HOME variable in your environment to match the
  44 +echo location of your Java installation.
  45 +
  46 +goto fail
  47 +
  48 +:init
  49 +@rem Get command-line arguments, handling Windowz variants
  50 +
  51 +if not "%OS%" == "Windows_NT" goto win9xME_args
  52 +if "%@eval[2+2]" == "4" goto 4NT_args
  53 +
  54 +:win9xME_args
  55 +@rem Slurp the command line arguments.
  56 +set CMD_LINE_ARGS=
  57 +set _SKIP=2
  58 +
  59 +:win9xME_args_slurp
  60 +if "x%~1" == "x" goto execute
  61 +
  62 +set CMD_LINE_ARGS=%*
  63 +goto execute
  64 +
  65 +:4NT_args
  66 +@rem Get arguments from the 4NT Shell from JP Software
  67 +set CMD_LINE_ARGS=%$
  68 +
  69 +:execute
  70 +@rem Setup the command line
  71 +
  72 +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
  73 +
  74 +@rem Execute Gradle
  75 +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
  76 +
  77 +:end
  78 +@rem End local scope for the variables with windows NT shell
  79 +if "%ERRORLEVEL%"=="0" goto mainEnd
  80 +
  81 +:fail
  82 +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
  83 +rem the _cmd.exe /c_ return code!
  84 +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
  85 +exit /b 1
  86 +
  87 +:mainEnd
  88 +if "%OS%"=="Windows_NT" endlocal
  89 +
  90 +:omega
... ...
android/res/drawable-hdpi/icon.png 0 → 100644

16.8 KB

android/res/drawable-hdpi/splash.png 0 → 100644

16.8 KB

android/res/drawable-ldpi/icon.png 0 → 100644

16.8 KB

android/res/drawable-ldpi/splash.png 0 → 100644

16.8 KB

android/res/drawable-mdpi/icon.png 0 → 100644

16.8 KB

android/res/drawable-mdpi/splash.png 0 → 100644

16.8 KB

android/res/values/libs.xml 0 → 100644
  1 +++ a/android/res/values/libs.xml
  1 +<?xml version='1.0' encoding='utf-8'?>
  2 +<resources>
  3 + <array name="qt_sources">
  4 + <item>https://download.qt-project.org/ministro/android/qt5/qt-5.4</item>
  5 + </array>
  6 +
  7 + <!-- The following is handled automatically by the deployment tool. It should
  8 + not be edited manually. -->
  9 +
  10 + <array name="bundled_libs">
  11 + <!-- %%INSERT_EXTRA_LIBS%% -->
  12 + </array>
  13 +
  14 + <array name="qt_libs">
  15 + <!-- %%INSERT_QT_LIBS%% -->
  16 + </array>
  17 +
  18 + <array name="bundled_in_lib">
  19 + <!-- %%INSERT_BUNDLED_IN_LIB%% -->
  20 + </array>
  21 + <array name="bundled_in_assets">
  22 + <!-- %%INSERT_BUNDLED_IN_ASSETS%% -->
  23 + </array>
  24 +
  25 +</resources>
... ...
camerasurface.cpp 0 → 100644
  1 +++ a/camerasurface.cpp
  1 +#include "camerasurface.h"
  2 +
  3 +QList<QVideoFrame::PixelFormat> CameraSurface::supportedPixelFormats(QAbstractVideoBuffer::HandleType handleType) const
  4 +{
  5 + return QList<QVideoFrame::PixelFormat>() << QVideoFrame::Format_RGB32;
  6 +}
  7 +
  8 +bool CameraSurface::present(const QVideoFrame &frame)
  9 +{
  10 + if (frame.isValid()) {
  11 + QVideoFrame cloneFrame(frame);
  12 + cloneFrame.map(QAbstractVideoBuffer::ReadOnly);
  13 +
  14 + QByteArray ba;
  15 + ba.append( (char*)cloneFrame.bits(), cloneFrame.bytesPerLine() * cloneFrame.height() );
  16 +
  17 + emit novoFrame( ba, cloneFrame.width(), cloneFrame.height() );
  18 +
  19 + cloneFrame.unmap();
  20 + return true;
  21 + }
  22 + return false;
  23 +}
... ...
camerasurface.h 0 → 100644
  1 +++ a/camerasurface.h
  1 +#ifndef CAMERASURFACE_H
  2 +#define CAMERASURFACE_H
  3 +
  4 +#include <QAbstractVideoSurface>
  5 +
  6 +class CameraSurface : public QAbstractVideoSurface
  7 +{
  8 + Q_OBJECT
  9 + public:
  10 + explicit CameraSurface(QObject *parent = 0) : QAbstractVideoSurface(parent){}
  11 + //~CameraSurface();
  12 + QList<QVideoFrame::PixelFormat> supportedPixelFormats(QAbstractVideoBuffer::HandleType handleType) const;
  13 + bool present(const QVideoFrame &frame);
  14 +
  15 + signals:
  16 + void novoFrame(QByteArray &buf, int w, int h);
  17 +};
  18 +
  19 +#endif // CAMERASURFACE_H
... ...
camerawindow.cpp 0 → 100644
  1 +++ a/camerawindow.cpp
  1 +#include "camerawindow.h"
  2 +#include "ui_camerawindow.h"
  3 +
  4 +CameraWindow::CameraWindow(QWidget *parent) :
  5 + QMainWindow(parent),
  6 + ui(new Ui::CameraWindow),
  7 + hasResolution(false)
  8 +{
  9 + ui->setupUi(this);
  10 +
  11 + cameraSurface = new CameraSurface();
  12 + camera = new QCamera();
  13 + capture = new QCameraImageCapture( camera );
  14 + camera->setViewfinder(cameraSurface);
  15 + camera->setCaptureMode(QCamera::CaptureStillImage);
  16 + camera->start();
  17 +
  18 + zxing = new QZXing( QZXing::DecoderFormat_QR_CODE, this );
  19 + //connect(zxing, SIGNAL(tagFound(QString)), this, SLOT(show_result(QString)));
  20 +
  21 + connect(cameraSurface, SIGNAL(novoFrame(QByteArray&,int,int)), this, SLOT(frameHandler(QByteArray&,int,int)));
  22 +}
  23 +
  24 +CameraWindow::~CameraWindow()
  25 +{
  26 + delete ui;
  27 + delete cameraSurface;
  28 + delete camera;
  29 + delete capture;
  30 + delete viewfinder;
  31 + delete zxing;
  32 + delete img;
  33 + delete buffer;
  34 +}
  35 +
  36 +void CameraWindow::frameHandler(QByteArray &buff, int w, int h)
  37 +{
  38 + if (!hasResolution) {
  39 + img = new QImage( w, h, QImage::Format_RGB32 );
  40 + hasResolution = true;
  41 + }
  42 +
  43 + u_int32_t* data = (u_int32_t*)buff.data();
  44 + for(int y = 0; y < h; ++y) {
  45 + QRgb* scan = (QRgb*)img->scanLine(y);
  46 +
  47 + for(int x = 0; x < w; ++x) {
  48 + scan[x] = data[y * w + x];
  49 + }
  50 + }
  51 +
  52 + zxing->decodeImage( *img, w, h, true );
  53 +
  54 + QImage imgTmp = img->scaled(w*.30, h*.30);
  55 + //ui->label->setPixmap(QPixmap::fromImage(imgTmp));
  56 + buff.clear();
  57 +}
... ...
camerawindow.h 0 → 100644
  1 +++ a/camerawindow.h
  1 +#ifndef CAMERAWINDOW_H
  2 +#define CAMERAWINDOW_H
  3 +
  4 +#include <QMainWindow>
  5 +#include <QCamera>
  6 +#include <QCameraImageCapture>
  7 +#include <QCameraViewfinder>
  8 +#include <QZXing.h>
  9 +#include "camerasurface.h"
  10 +
  11 +namespace Ui {
  12 +class CameraWindow;
  13 +}
  14 +
  15 +class CameraWindow : public QMainWindow
  16 +{
  17 + Q_OBJECT
  18 + private:
  19 + Ui::CameraWindow *ui;
  20 + QCamera * camera;
  21 + QCameraImageCapture * capture;
  22 + QCameraViewfinder *viewfinder;
  23 + CameraSurface *cameraSurface;
  24 + QZXing *zxing;
  25 + QImage *img;
  26 + u_int8_t * buffer;
  27 + bool hasResolution;
  28 +
  29 + public:
  30 + explicit CameraWindow(QWidget *parent = 0);
  31 + ~CameraWindow();
  32 +
  33 + public slots:
  34 + void frameHandler(QByteArray&,int,int);
  35 +};
  36 +
  37 +#endif // CAMERAWINDOW_H
... ...
camerawindow.ui 0 → 100644
  1 +++ a/camerawindow.ui
  1 +<ui version="4.0">
  2 + <author/>
  3 + <comment/>
  4 + <exportmacro/>
  5 + <class>CameraWindow</class>
  6 + <widget class="QMainWindow" name="CameraWindow">
  7 + <property name="geometry">
  8 + <rect>
  9 + <x>0</x>
  10 + <y>0</y>
  11 + <width>800</width>
  12 + <height>600</height>
  13 + </rect>
  14 + </property>
  15 + <property name="windowTitle">
  16 + <string>MainWindow</string>
  17 + </property>
  18 + <widget class="QMenuBar" name="menubar"/>
  19 + <widget class="QWidget" name="centralwidget"/>
  20 + <widget class="QStatusBar" name="statusbar"/>
  21 + </widget>
  22 + <pixmapfunction/>
  23 + <connections/>
  24 +</ui>
... ...
funifier.pro 0 → 100644
  1 +++ a/funifier.pro
  1 +#-------------------------------------------------
  2 +#
  3 +# Project created by QtCreator 2015-06-23T12:39:33
  4 +#
  5 +#-------------------------------------------------
  6 +
  7 +QT += core gui multimedia multimediawidgets
  8 +
  9 +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
  10 +
  11 +TARGET = funifier
  12 +TEMPLATE = app
  13 +
  14 +include(../QZXing/QZXing.pri)
  15 +
  16 +SOURCES += main.cpp\
  17 + mainwindow.cpp \
  18 + camerasurface.cpp \
  19 + camerawindow.cpp
  20 +
  21 +HEADERS += mainwindow.h \
  22 + camerasurface.h \
  23 + camerawindow.h
  24 +
  25 +FORMS += mainwindow.ui \
  26 + camerawindow.ui
  27 +
  28 +CONFIG += mobility
  29 +MOBILITY =
  30 +
  31 +DISTFILES += \
  32 + android/AndroidManifest.xml \
  33 + android/gradle/wrapper/gradle-wrapper.jar \
  34 + android/gradlew \
  35 + android/res/values/libs.xml \
  36 + android/build.gradle \
  37 + android/gradle/wrapper/gradle-wrapper.properties \
  38 + android/gradlew.bat
  39 +
  40 +ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
  41 +
... ...
images/funifier-logo.png 0 → 100644

16.8 KB

images/theme/develop/pencil.png 0 → 100644

8.68 KB

images/theme/develop/plus.png 0 → 100644

54.7 KB

images/Índice.jpeg 0 → 100644

5.64 KB

main.cpp 0 → 100644
  1 +++ a/main.cpp
  1 +#include "mainwindow.h"
  2 +#include <QApplication>
  3 +
  4 +int main(int argc, char *argv[])
  5 +{
  6 + QApplication a(argc, argv);
  7 + MainWindow w;
  8 + w.setWindowState(Qt::WindowMaximized);
  9 + w.show();
  10 +
  11 + return a.exec();
  12 +}
... ...
mainwindow.cpp 0 → 100644
  1 +++ a/mainwindow.cpp
  1 +#include "mainwindow.h"
  2 +#include "ui_mainwindow.h"
  3 +
  4 +MainWindow::MainWindow(QWidget *parent) :
  5 + QMainWindow(parent),
  6 + ui(new Ui::MainWindow)
  7 +{
  8 + ui->setupUi(this);
  9 +
  10 + connect(ui->pushButton, SIGNAL(clicked(bool)), this, SLOT(addGame()));
  11 +}
  12 +
  13 +MainWindow::~MainWindow()
  14 +{
  15 + delete ui;
  16 + delete cameraWindow;
  17 +}
  18 +
  19 +void MainWindow::addGame()
  20 +{
  21 + CameraWindow * cameraWindow = new CameraWindow();
  22 + cameraWindow->show();
  23 + //hide();
  24 +}
... ...
mainwindow.h 0 → 100644
  1 +++ a/mainwindow.h
  1 +#ifndef MAINWINDOW_H
  2 +#define MAINWINDOW_H
  3 +
  4 +#include <QMainWindow>
  5 +#include "camerawindow.h"
  6 +
  7 +namespace Ui {
  8 + class MainWindow;
  9 +}
  10 +
  11 +class MainWindow : public QMainWindow
  12 +{
  13 + Q_OBJECT
  14 + private:
  15 + Ui::MainWindow *ui;
  16 + CameraWindow *cameraWindow;
  17 + public:
  18 + explicit MainWindow(QWidget *parent = 0);
  19 + ~MainWindow();
  20 + public slots:
  21 + void addGame();
  22 +};
  23 +
  24 +#endif // MAINWINDOW_H
... ...
mainwindow.ui 0 → 100644
  1 +++ a/mainwindow.ui
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>MainWindow</class>
  4 + <widget class="QMainWindow" name="MainWindow">
  5 + <property name="geometry">
  6 + <rect>
  7 + <x>0</x>
  8 + <y>0</y>
  9 + <width>313</width>
  10 + <height>365</height>
  11 + </rect>
  12 + </property>
  13 + <property name="windowTitle">
  14 + <string>Funifier</string>
  15 + </property>
  16 + <widget class="QWidget" name="centralWidget">
  17 + <layout class="QGridLayout" name="gridLayout_2">
  18 + <item row="0" column="0">
  19 + <layout class="QGridLayout" name="gridLayout">
  20 + <item row="0" column="1">
  21 + <spacer name="verticalSpacer">
  22 + <property name="orientation">
  23 + <enum>Qt::Vertical</enum>
  24 + </property>
  25 + <property name="sizeHint" stdset="0">
  26 + <size>
  27 + <width>20</width>
  28 + <height>40</height>
  29 + </size>
  30 + </property>
  31 + </spacer>
  32 + </item>
  33 + <item row="2" column="2">
  34 + <widget class="QPushButton" name="pushButton">
  35 + <property name="text">
  36 + <string>Add</string>
  37 + </property>
  38 + </widget>
  39 + </item>
  40 + <item row="2" column="1">
  41 + <spacer name="horizontalSpacer">
  42 + <property name="orientation">
  43 + <enum>Qt::Horizontal</enum>
  44 + </property>
  45 + <property name="sizeHint" stdset="0">
  46 + <size>
  47 + <width>40</width>
  48 + <height>20</height>
  49 + </size>
  50 + </property>
  51 + </spacer>
  52 + </item>
  53 + </layout>
  54 + </item>
  55 + </layout>
  56 + </widget>
  57 + </widget>
  58 + <layoutdefault spacing="6" margin="11"/>
  59 + <resources/>
  60 + <connections/>
  61 +</ui>
... ...