diff --git a/example_android_ipcamera/.classpath b/example_android_ipcamera/.classpath new file mode 100644 index 0000000..2b29ada --- /dev/null +++ b/example_android_ipcamera/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/example_android_ipcamera/.cproject b/example_android_ipcamera/.cproject new file mode 100644 index 0000000..3b5ca13 --- /dev/null +++ b/example_android_ipcamera/.cproject @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/example_android_ipcamera/.project b/example_android_ipcamera/.project new file mode 100644 index 0000000..bd9066b --- /dev/null +++ b/example_android_ipcamera/.project @@ -0,0 +1,97 @@ + + + ofxHTTPAndroidCamera + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.cleanBuildTarget + CleanRelease PLATFORM_OS=Android + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.fullBuildTarget + Release PLATFORM_OS=Android + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + false + + + + + com.android.ide.eclipse.adt.ResourceManagerBuilder + + + + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + com.android.ide.eclipse.adt.AndroidNature + org.eclipse.jdt.core.javanature + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + diff --git a/example_android_ipcamera/.settings/org.eclipse.cdt.codan.core.prefs b/example_android_ipcamera/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 0000000..810101e --- /dev/null +++ b/example_android_ipcamera/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +org.eclipse.cdt.codan.checkers.errnoreturn=Warning +org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.checkers.errreturnvalue=Error +org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.checkers.noreturn=Error +org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>true,empty_case_param\=>false} +org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning +org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true} +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error +org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false} +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false} +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")} +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} diff --git a/example_android_ipcamera/.settings/org.eclipse.jdt.core.prefs b/example_android_ipcamera/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..8000cd6 --- /dev/null +++ b/example_android_ipcamera/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/example_android_ipcamera/AndroidManifest.xml b/example_android_ipcamera/AndroidManifest.xml new file mode 100644 index 0000000..37a648f --- /dev/null +++ b/example_android_ipcamera/AndroidManifest.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + diff --git a/example_android_ipcamera/Makefile b/example_android_ipcamera/Makefile new file mode 100644 index 0000000..7a7fe8b --- /dev/null +++ b/example_android_ipcamera/Makefile @@ -0,0 +1,13 @@ +# Attempt to load a config.make file. +# If none is found, project defaults in config.project.make will be used. +ifneq ($(wildcard config.make),) + include config.make +endif + +# make sure the the OF_ROOT location is defined +ifndef OF_ROOT + OF_ROOT=../../.. +endif + +# call the project makefile! +include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk diff --git a/example_android_ipcamera/addons.make b/example_android_ipcamera/addons.make new file mode 100644 index 0000000..ddc178d --- /dev/null +++ b/example_android_ipcamera/addons.make @@ -0,0 +1,7 @@ +ofxAndroid +ofxAccelerometer +ofxHTTP +ofxIO +ofxMediaType +ofxSSLManager +ofxTaskQueue diff --git a/example_android_ipcamera/build.xml b/example_android_ipcamera/build.xml new file mode 100644 index 0000000..024f138 --- /dev/null +++ b/example_android_ipcamera/build.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/example_android_ipcamera/config.make b/example_android_ipcamera/config.make new file mode 100644 index 0000000..836fce7 --- /dev/null +++ b/example_android_ipcamera/config.make @@ -0,0 +1,141 @@ +################################################################################ +# CONFIGURE PROJECT MAKEFILE (optional) +# This file is where we make project specific configurations. +################################################################################ + +################################################################################ +# OF ROOT +# The location of your root openFrameworks installation +# (default) OF_ROOT = ../../.. +################################################################################ +# OF_ROOT = ../../.. + +################################################################################ +# PROJECT ROOT +# The location of the project - a starting place for searching for files +# (default) PROJECT_ROOT = . (this directory) +# +################################################################################ +# PROJECT_ROOT = . + +################################################################################ +# PROJECT SPECIFIC CHECKS +# This is a project defined section to create internal makefile flags to +# conditionally enable or disable the addition of various features within +# this makefile. For instance, if you want to make changes based on whether +# GTK is installed, one might test that here and create a variable to check. +################################################################################ +# None + +################################################################################ +# PROJECT EXTERNAL SOURCE PATHS +# These are fully qualified paths that are not within the PROJECT_ROOT folder. +# Like source folders in the PROJECT_ROOT, these paths are subject to +# exlclusion via the PROJECT_EXLCUSIONS list. +# +# (default) PROJECT_EXTERNAL_SOURCE_PATHS = (blank) +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_EXTERNAL_SOURCE_PATHS = + +################################################################################ +# PROJECT EXCLUSIONS +# These makefiles assume that all folders in your current project directory +# and any listed in the PROJECT_EXTERNAL_SOURCH_PATHS are are valid locations +# to look for source code. The any folders or files that match any of the +# items in the PROJECT_EXCLUSIONS list below will be ignored. +# +# Each item in the PROJECT_EXCLUSIONS list will be treated as a complete +# string unless teh user adds a wildcard (%) operator to match subdirectories. +# GNU make only allows one wildcard for matching. The second wildcard (%) is +# treated literally. +# +# (default) PROJECT_EXCLUSIONS = (blank) +# +# Will automatically exclude the following: +# +# $(PROJECT_ROOT)/bin% +# $(PROJECT_ROOT)/obj% +# $(PROJECT_ROOT)/%.xcodeproj +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_EXCLUSIONS = + +################################################################################ +# PROJECT LINKER FLAGS +# These flags will be sent to the linker when compiling the executable. +# +# (default) PROJECT_LDFLAGS = -Wl,-rpath=./libs +# +# Note: Leave a leading space when adding list items with the += operator +# +# Currently, shared libraries that are needed are copied to the +# $(PROJECT_ROOT)/bin/libs directory. The following LDFLAGS tell the linker to +# add a runtime path to search for those shared libraries, since they aren't +# incorporated directly into the final executable application binary. +################################################################################ +# PROJECT_LDFLAGS=-Wl,-rpath=./libs + +################################################################################ +# PROJECT DEFINES +# Create a space-delimited list of DEFINES. The list will be converted into +# CFLAGS with the "-D" flag later in the makefile. +# +# (default) PROJECT_DEFINES = (blank) +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_DEFINES = + +################################################################################ +# PROJECT CFLAGS +# This is a list of fully qualified CFLAGS required when compiling for this +# project. These CFLAGS will be used IN ADDITION TO the PLATFORM_CFLAGS +# defined in your platform specific core configuration files. These flags are +# presented to the compiler BEFORE the PROJECT_OPTIMIZATION_CFLAGS below. +# +# (default) PROJECT_CFLAGS = (blank) +# +# Note: Before adding PROJECT_CFLAGS, note that the PLATFORM_CFLAGS defined in +# your platform specific configuration file will be applied by default and +# further flags here may not be needed. +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_CFLAGS = + +################################################################################ +# PROJECT OPTIMIZATION CFLAGS +# These are lists of CFLAGS that are target-specific. While any flags could +# be conditionally added, they are usually limited to optimization flags. +# These flags are added BEFORE the PROJECT_CFLAGS. +# +# PROJECT_OPTIMIZATION_CFLAGS_RELEASE flags are only applied to RELEASE targets. +# +# (default) PROJECT_OPTIMIZATION_CFLAGS_RELEASE = (blank) +# +# PROJECT_OPTIMIZATION_CFLAGS_DEBUG flags are only applied to DEBUG targets. +# +# (default) PROJECT_OPTIMIZATION_CFLAGS_DEBUG = (blank) +# +# Note: Before adding PROJECT_OPTIMIZATION_CFLAGS, please note that the +# PLATFORM_OPTIMIZATION_CFLAGS defined in your platform specific configuration +# file will be applied by default and further optimization flags here may not +# be needed. +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_OPTIMIZATION_CFLAGS_RELEASE = +# PROJECT_OPTIMIZATION_CFLAGS_DEBUG = + +################################################################################ +# PROJECT COMPILERS +# Custom compilers can be set for CC and CXX +# (default) PROJECT_CXX = (blank) +# (default) PROJECT_CC = (blank) +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_CXX = +# PROJECT_CC = diff --git a/example_android_ipcamera/gen/cc/openframeworks/androidCameraExample/BuildConfig.java b/example_android_ipcamera/gen/cc/openframeworks/androidCameraExample/BuildConfig.java new file mode 100644 index 0000000..57182dd --- /dev/null +++ b/example_android_ipcamera/gen/cc/openframeworks/androidCameraExample/BuildConfig.java @@ -0,0 +1,6 @@ +/** Automatically generated file. DO NOT MODIFY */ +package cc.openframeworks.androidCameraExample; + +public final class BuildConfig { + public final static boolean DEBUG = true; +} \ No newline at end of file diff --git a/example_android_ipcamera/gen/cc/openframeworks/androidCameraExample/R.java b/example_android_ipcamera/gen/cc/openframeworks/androidCameraExample/R.java new file mode 100644 index 0000000..44bd87b --- /dev/null +++ b/example_android_ipcamera/gen/cc/openframeworks/androidCameraExample/R.java @@ -0,0 +1,66 @@ +/* AUTO-GENERATED FILE. DO NOT MODIFY. + * + * This class was automatically generated by the + * aapt tool from the resource data it found. It + * should not be modified by hand. + */ + +package cc.openframeworks.androidCameraExample; + +public final class R { + public static final class attr { + } + public static final class drawable { + public static final int ic_launcher=0x7f020000; + public static final int icon=0x7f020001; + } + public static final class id { + public static final int menu_settings=0x7f080002; + public static final int of_gl_surface=0x7f080001; + public static final int relativeLayout1=0x7f080000; + } + public static final class layout { + public static final int main=0x7f030000; + public static final int main_layout=0x7f030001; + } + public static final class menu { + public static final int main_layout=0x7f070000; + } + public static final class raw { + public static final int androidcameraexampleresources=0x7f040000; + } + public static final class string { + public static final int app_name=0x7f050001; + public static final int hello=0x7f050000; + public static final int hello_world=0x7f050002; + public static final int menu_settings=0x7f050003; + } + public static final class style { + /** + Base application theme, dependent on API level. This theme is replaced + by AppBaseTheme from res/values-vXX/styles.xml on newer devices. + + + Theme customizations available in newer API levels can go in + res/values-vXX/styles.xml, while customizations related to + backward-compatibility can go here. + + + Base application theme for API 11+. This theme completely replaces + AppBaseTheme from res/values/styles.xml on API 11+ devices. + + API 11 theme customizations can go here. + + Base application theme for API 14+. This theme completely replaces + AppBaseTheme from BOTH res/values/styles.xml and + res/values-v11/styles.xml on API 14+ devices. + + API 14 theme customizations can go here. + */ + public static final int AppBaseTheme=0x7f060000; + /** Application theme. + All customizations that are NOT specific to a particular API-level can go here. + */ + public static final int AppTheme=0x7f060001; + } +} diff --git a/example_android_ipcamera/gen/cc/openframeworks/cc/R.java b/example_android_ipcamera/gen/cc/openframeworks/cc/R.java new file mode 100644 index 0000000..0f70555 --- /dev/null +++ b/example_android_ipcamera/gen/cc/openframeworks/cc/R.java @@ -0,0 +1,20 @@ +/* AUTO-GENERATED FILE. DO NOT MODIFY. + * + * This class was automatically generated by the + * aapt tool from the resource data it found. It + * should not be modified by hand. + */ +package cc.openframeworks.cc; + +public final class R { + public static final class drawable { + public static final int icon = 0x7f020001; + } + public static final class layout { + public static final int main = 0x7f030000; + } + public static final class string { + public static final int app_name = 0x7f050001; + public static final int hello = 0x7f050000; + } +} diff --git a/example_android_ipcamera/gen/cc/openframeworks/ofxhttpandroidcamera/BuildConfig.java b/example_android_ipcamera/gen/cc/openframeworks/ofxhttpandroidcamera/BuildConfig.java new file mode 100644 index 0000000..958a5d8 --- /dev/null +++ b/example_android_ipcamera/gen/cc/openframeworks/ofxhttpandroidcamera/BuildConfig.java @@ -0,0 +1,6 @@ +/** Automatically generated file. DO NOT MODIFY */ +package cc.openframeworks.ofxhttpandroidcamera; + +public final class BuildConfig { + public final static boolean DEBUG = true; +} \ No newline at end of file diff --git a/example_android_ipcamera/gen/cc/openframeworks/ofxhttpandroidcamera/R.java b/example_android_ipcamera/gen/cc/openframeworks/ofxhttpandroidcamera/R.java new file mode 100644 index 0000000..c38d635 --- /dev/null +++ b/example_android_ipcamera/gen/cc/openframeworks/ofxhttpandroidcamera/R.java @@ -0,0 +1,66 @@ +/* AUTO-GENERATED FILE. DO NOT MODIFY. + * + * This class was automatically generated by the + * aapt tool from the resource data it found. It + * should not be modified by hand. + */ + +package cc.openframeworks.ofxhttpandroidcamera; + +public final class R { + public static final class attr { + } + public static final class drawable { + public static final int ic_launcher=0x7f020000; + public static final int icon=0x7f020001; + } + public static final class id { + public static final int menu_settings=0x7f080002; + public static final int of_gl_surface=0x7f080001; + public static final int relativeLayout1=0x7f080000; + } + public static final class layout { + public static final int main=0x7f030000; + public static final int main_layout=0x7f030001; + } + public static final class menu { + public static final int main_layout=0x7f070000; + } + public static final class raw { + public static final int androidcameraexampleresources=0x7f040000; + } + public static final class string { + public static final int app_name=0x7f050001; + public static final int hello=0x7f050000; + public static final int hello_world=0x7f050002; + public static final int menu_settings=0x7f050003; + } + public static final class style { + /** + Base application theme, dependent on API level. This theme is replaced + by AppBaseTheme from res/values-vXX/styles.xml on newer devices. + + + Theme customizations available in newer API levels can go in + res/values-vXX/styles.xml, while customizations related to + backward-compatibility can go here. + + + Base application theme for API 11+. This theme completely replaces + AppBaseTheme from res/values/styles.xml on API 11+ devices. + + API 11 theme customizations can go here. + + Base application theme for API 14+. This theme completely replaces + AppBaseTheme from BOTH res/values/styles.xml and + res/values-v11/styles.xml on API 14+ devices. + + API 14 theme customizations can go here. + */ + public static final int AppBaseTheme=0x7f060000; + /** Application theme. + All customizations that are NOT specific to a particular API-level can go here. + */ + public static final int AppTheme=0x7f060001; + } +} diff --git a/example_android_ipcamera/ic_launcher-web.png b/example_android_ipcamera/ic_launcher-web.png new file mode 100644 index 0000000..70b562f Binary files /dev/null and b/example_android_ipcamera/ic_launcher-web.png differ diff --git a/example_android_ipcamera/jni/Android.mk b/example_android_ipcamera/jni/Android.mk new file mode 100644 index 0000000..7edc9c0 --- /dev/null +++ b/example_android_ipcamera/jni/Android.mk @@ -0,0 +1 @@ +LOCAL_MODULE := OFAndroidApp diff --git a/example_android_ipcamera/jni/Application.mk b/example_android_ipcamera/jni/Application.mk new file mode 100644 index 0000000..90cfd8b --- /dev/null +++ b/example_android_ipcamera/jni/Application.mk @@ -0,0 +1 @@ +APP_ABI := armeabi armeabi-v7a x86 diff --git a/example_android_ipcamera/libs/android-support-v4.jar b/example_android_ipcamera/libs/android-support-v4.jar new file mode 100644 index 0000000..6080877 Binary files /dev/null and b/example_android_ipcamera/libs/android-support-v4.jar differ diff --git a/example_android_ipcamera/libs/armeabi-v7a/gdb.setup b/example_android_ipcamera/libs/armeabi-v7a/gdb.setup new file mode 100644 index 0000000..35839f9 --- /dev/null +++ b/example_android_ipcamera/libs/armeabi-v7a/gdb.setup @@ -0,0 +1,6 @@ +set solib-search-path /Users/dantheman/src/openFrameworks/apps/TweetABooth/ofxHTTPAndroidCamera/obj/local/armeabi-v7a:/Users/dantheman/src/openFrameworks/apps/TweetABooth/ofxHTTPAndroidCamera/libs/armeabi-v7a +directory /Users/dantheman/src/android/android-ndk-r9b/platforms/android-17/arch-arm/usr/include +directory /Users/dantheman/src/openFrameworks/apps/TweetABooth/ofxHTTPAndroidCamera/src +directory /Users/dantheman/src/android/android-ndk-r9b/sources/cxx-stl/system +directory /Users/dantheman/src/openFrameworks/apps/TweetABooth/ofxHTTPAndroidCamera/libs/armeabi-v7a + diff --git a/example_android_ipcamera/libs/armeabi-v7a/gdbserver b/example_android_ipcamera/libs/armeabi-v7a/gdbserver new file mode 100755 index 0000000..b5a5c60 Binary files /dev/null and b/example_android_ipcamera/libs/armeabi-v7a/gdbserver differ diff --git a/example_android_ipcamera/libs/armeabi-v7a/libOFAndroidApp.so b/example_android_ipcamera/libs/armeabi-v7a/libOFAndroidApp.so new file mode 100755 index 0000000..cff6fb9 Binary files /dev/null and b/example_android_ipcamera/libs/armeabi-v7a/libOFAndroidApp.so differ diff --git a/example_android_ipcamera/libs/armeabi-v7a/libOFAndroidApp_neon.so b/example_android_ipcamera/libs/armeabi-v7a/libOFAndroidApp_neon.so new file mode 100755 index 0000000..3ccb5bf Binary files /dev/null and b/example_android_ipcamera/libs/armeabi-v7a/libOFAndroidApp_neon.so differ diff --git a/example_android_ipcamera/libs/armeabi-v7a/libneondetection.so b/example_android_ipcamera/libs/armeabi-v7a/libneondetection.so new file mode 100644 index 0000000..231da3b Binary files /dev/null and b/example_android_ipcamera/libs/armeabi-v7a/libneondetection.so differ diff --git a/example_android_ipcamera/libs/armeabi/gdb.setup b/example_android_ipcamera/libs/armeabi/gdb.setup new file mode 100644 index 0000000..5f85099 --- /dev/null +++ b/example_android_ipcamera/libs/armeabi/gdb.setup @@ -0,0 +1,6 @@ +set solib-search-path /Users/dantheman/src/openFrameworks/apps/TweetABooth/ofxHTTPAndroidCamera/obj/local/armeabi:/Users/dantheman/src/openFrameworks/apps/TweetABooth/ofxHTTPAndroidCamera/libs/armeabi +directory /Users/dantheman/src/android/android-ndk-r9b/platforms/android-17/arch-arm/usr/include +directory /Users/dantheman/src/openFrameworks/apps/TweetABooth/ofxHTTPAndroidCamera/src +directory /Users/dantheman/src/android/android-ndk-r9b/sources/cxx-stl/system +directory /Users/dantheman/src/openFrameworks/apps/TweetABooth/ofxHTTPAndroidCamera/libs/armeabi + diff --git a/example_android_ipcamera/libs/armeabi/gdbserver b/example_android_ipcamera/libs/armeabi/gdbserver new file mode 100755 index 0000000..b5a5c60 Binary files /dev/null and b/example_android_ipcamera/libs/armeabi/gdbserver differ diff --git a/example_android_ipcamera/libs/armeabi/libOFAndroidApp.so b/example_android_ipcamera/libs/armeabi/libOFAndroidApp.so new file mode 100755 index 0000000..1cff3ef Binary files /dev/null and b/example_android_ipcamera/libs/armeabi/libOFAndroidApp.so differ diff --git a/example_android_ipcamera/libs/x86/gdb.setup b/example_android_ipcamera/libs/x86/gdb.setup new file mode 100644 index 0000000..95c3663 --- /dev/null +++ b/example_android_ipcamera/libs/x86/gdb.setup @@ -0,0 +1,6 @@ +set solib-search-path /Users/dantheman/src/openFrameworks/apps/TweetABooth/ofxHTTPAndroidCamera/obj/local/x86:/Users/dantheman/src/openFrameworks/apps/TweetABooth/ofxHTTPAndroidCamera/libs/x86 +directory /Users/dantheman/src/android/android-ndk-r9b/platforms/android-17/arch-arm/usr/include +directory /Users/dantheman/src/openFrameworks/apps/TweetABooth/ofxHTTPAndroidCamera/src +directory /Users/dantheman/src/android/android-ndk-r9b/sources/cxx-stl/system +directory /Users/dantheman/src/openFrameworks/apps/TweetABooth/ofxHTTPAndroidCamera/libs/x86 + diff --git a/example_android_ipcamera/libs/x86/libOFAndroidApp.so b/example_android_ipcamera/libs/x86/libOFAndroidApp.so new file mode 100755 index 0000000..a1687a5 Binary files /dev/null and b/example_android_ipcamera/libs/x86/libOFAndroidApp.so differ diff --git a/example_android_ipcamera/proguard-project.txt b/example_android_ipcamera/proguard-project.txt new file mode 100644 index 0000000..f2fe155 --- /dev/null +++ b/example_android_ipcamera/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/example_android_ipcamera/project.properties b/example_android_ipcamera/project.properties new file mode 100644 index 0000000..1052e2e --- /dev/null +++ b/example_android_ipcamera/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-19 +android.library.reference.1=../../../addons/ofxAndroid/ofAndroidLib diff --git a/example_android_ipcamera/res/drawable/ic_launcher.png b/example_android_ipcamera/res/drawable/ic_launcher.png new file mode 100644 index 0000000..70b562f Binary files /dev/null and b/example_android_ipcamera/res/drawable/ic_launcher.png differ diff --git a/example_android_ipcamera/res/layout/main_layout.xml b/example_android_ipcamera/res/layout/main_layout.xml new file mode 100644 index 0000000..80964dd --- /dev/null +++ b/example_android_ipcamera/res/layout/main_layout.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/example_android_ipcamera/res/menu/main_layout.xml b/example_android_ipcamera/res/menu/main_layout.xml new file mode 100644 index 0000000..7ddcfbe --- /dev/null +++ b/example_android_ipcamera/res/menu/main_layout.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/example_android_ipcamera/res/values-v11/styles.xml b/example_android_ipcamera/res/values-v11/styles.xml new file mode 100644 index 0000000..541752f --- /dev/null +++ b/example_android_ipcamera/res/values-v11/styles.xml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/example_android_ipcamera/res/values-v14/styles.xml b/example_android_ipcamera/res/values-v14/styles.xml new file mode 100644 index 0000000..f20e015 --- /dev/null +++ b/example_android_ipcamera/res/values-v14/styles.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/example_android_ipcamera/res/values/strings.xml b/example_android_ipcamera/res/values/strings.xml new file mode 100644 index 0000000..066bc59 --- /dev/null +++ b/example_android_ipcamera/res/values/strings.xml @@ -0,0 +1,8 @@ + + + + androidCameraExample + Hello world! + Settings + + \ No newline at end of file diff --git a/example_android_ipcamera/res/values/styles.xml b/example_android_ipcamera/res/values/styles.xml new file mode 100644 index 0000000..4a10ca4 --- /dev/null +++ b/example_android_ipcamera/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/example_android_ipcamera/src/main.cpp b/example_android_ipcamera/src/main.cpp new file mode 100644 index 0000000..bc252b8 --- /dev/null +++ b/example_android_ipcamera/src/main.cpp @@ -0,0 +1,24 @@ +#include "ofMain.h" +#include "ofApp.h" + +int main(){ + ofSetupOpenGL(1024,768, OF_WINDOW); // <-------- setup the GL context + + // this kicks off the running of my app + // can be OF_WINDOW or OF_FULLSCREEN + // pass in width and height too: + ofRunApp( new ofApp() ); + return 0; +} + + +#ifdef TARGET_ANDROID +#include + +//======================================================================== +extern "C"{ + void Java_cc_openframeworks_OFAndroid_init( JNIEnv* env, jobject thiz ){ + main(); + } +} +#endif diff --git a/example_android_ipcamera/src/ofApp.cpp b/example_android_ipcamera/src/ofApp.cpp new file mode 100644 index 0000000..1668cd7 --- /dev/null +++ b/example_android_ipcamera/src/ofApp.cpp @@ -0,0 +1,136 @@ +#include "ofApp.h" +#include "ofxAndroidVideoGrabber.h" + +//-------------------------------------------------------------- +void ofApp::setup(){ + ofBackground(255,255,255); + ofSetLogLevel(OF_LOG_NOTICE); + ofSetOrientation(OF_ORIENTATION_90_LEFT); + grabber.initGrabber(640,480); + ofSetFrameRate(60); + one_second_time = ofGetElapsedTimeMillis(); + camera_fps = 0; + frames_one_sec = 0; + + ofx::HTTP::BasicIPVideoServerSettings settings; + + // Many other settings are available. + settings.setPort(7890); + + // The default maximum number of client connections is 5. + settings.setMaxClientConnections(1); + + // Apply the settings. + server = ofx::HTTP::BasicIPVideoServer::makeShared(settings); + + // Start the server. + server->start(); + +} + +//-------------------------------------------------------------- +void ofApp::update(){ + grabber.update(); + if(grabber.isFrameNew()){ + frames_one_sec++; + if( ofGetElapsedTimeMillis() - one_second_time >= 1000){ + camera_fps = frames_one_sec; + frames_one_sec = 0; + one_second_time = ofGetElapsedTimeMillis(); + } + server->send(grabber.getPixelsRef()); + } +} + +//-------------------------------------------------------------- +void ofApp::draw(){ + ofSetHexColor(0xFFFFFF); + grabber.draw(20,20); + ofSetHexColor(0x000000); + std::stringstream ss; + + ss << "Num clients connected: "; + ss << server->getNumConnections(); + + ofDrawBitmapStringHighlight(ss.str(), 20, 20); +} + +//-------------------------------------------------------------- +void ofApp::keyPressed (int key){ + +} + +//-------------------------------------------------------------- +void ofApp::keyReleased(int key){ + +} + +//-------------------------------------------------------------- +void ofApp::windowResized(int w, int h){ + +} + +//-------------------------------------------------------------- +void ofApp::touchDown(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void ofApp::touchMoved(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void ofApp::touchUp(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void ofApp::touchDoubleTap(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void ofApp::touchCancelled(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void ofApp::swipe(ofxAndroidSwipeDir swipeDir, int id){ + +} + +//-------------------------------------------------------------- +void ofApp::pause(){ + +} + +//-------------------------------------------------------------- +void ofApp::stop(){ + +} + +//-------------------------------------------------------------- +void ofApp::resume(){ + +} + +//-------------------------------------------------------------- +void ofApp::reloadTextures(){ + +} + +//-------------------------------------------------------------- +bool ofApp::backPressed(){ + return false; +} + +//-------------------------------------------------------------- +void ofApp::okPressed(){ + +} + +//-------------------------------------------------------------- +void ofApp::cancelPressed(){ + +} diff --git a/example_android_ipcamera/src/ofApp.h b/example_android_ipcamera/src/ofApp.h new file mode 100644 index 0000000..e612ae8 --- /dev/null +++ b/example_android_ipcamera/src/ofApp.h @@ -0,0 +1,42 @@ +#pragma once + +#include "ofMain.h" +#include "ofxAndroid.h" +#include "ofxHTTP.h" +class ofApp : public ofxAndroidApp{ + + public: + + void setup(); + void update(); + void draw(); + + void keyPressed(int key); + void keyReleased(int key); + void windowResized(int w, int h); + + void touchDown(int x, int y, int id); + void touchMoved(int x, int y, int id); + void touchUp(int x, int y, int id); + void touchDoubleTap(int x, int y, int id); + void touchCancelled(int x, int y, int id); + void swipe(ofxAndroidSwipeDir swipeDir, int id); + + void pause(); + void stop(); + void resume(); + void reloadTextures(); + + bool backPressed(); + void okPressed(); + void cancelPressed(); + + + ofVideoGrabber grabber; + int one_second_time; + int camera_fps; + int frames_one_sec; + + ofx::HTTP::BasicIPVideoServer::SharedPtr server; + +}; diff --git a/example_android_ipcamera/srcJava/cc/ofxhttp/androidcamera/OFActivity.java b/example_android_ipcamera/srcJava/cc/ofxhttp/androidcamera/OFActivity.java new file mode 100644 index 0000000..2ac4aad --- /dev/null +++ b/example_android_ipcamera/srcJava/cc/ofxhttp/androidcamera/OFActivity.java @@ -0,0 +1,92 @@ +package cc.ofxhttp.androidcamera; + +import android.os.Bundle; +import android.view.KeyEvent; +import android.view.Menu; +import android.view.MenuItem; +import android.view.WindowManager; +import cc.openframeworks.OFAndroid; + + +public class OFActivity extends cc.openframeworks.OFActivity{ + + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + String packageName = getPackageName(); + getWindow().setType(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + ofApp = new OFAndroid(packageName,this); + } + + @Override + public void onDetachedFromWindow() { + } + + @Override + protected void onPause() { + super.onPause(); + ofApp.pause(); + } + + @Override + protected void onResume() { + super.onResume(); + ofApp.resume(); + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (OFAndroid.keyDown(keyCode, event)) { + return true; + } else { + return super.onKeyDown(keyCode, event); + } + } + + @Override + public boolean onKeyUp(int keyCode, KeyEvent event) { + if (OFAndroid.keyUp(keyCode, event)) { + return true; + } else { + return super.onKeyUp(keyCode, event); + } + } + + + OFAndroid ofApp; + + + + // Menus + // http://developer.android.com/guide/topics/ui/menus.html + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Create settings menu options from here, one by one or infalting an xml + return super.onCreateOptionsMenu(menu); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // This passes the menu option string to OF + // you can add additional behavior from java modifying this method + // but keep the call to OFAndroid so OF is notified of menu events + if(OFAndroid.menuItemSelected(item.getItemId())){ + + return true; + } + return super.onOptionsItemSelected(item); + } + + + @Override + public boolean onPrepareOptionsMenu (Menu menu){ + // This method is called every time the menu is opened + // you can add or remove menu options from here + return super.onPrepareOptionsMenu(menu); + } + +} + + +