From cf4227621623845b831a4983c50d9f06dfca5c51 Mon Sep 17 00:00:00 2001 From: MasDennis Date: Thu, 7 Jul 2011 11:38:02 +0100 Subject: [PATCH] initial commit --- .classpath | 7 + .gitignore | 3 + .project | 33 ++ AndroidManifest.xml | 27 ++ default.properties | 11 + proguard.cfg | 36 ++ res/drawable-hdpi/icon.png | Bin 0 -> 8214 bytes res/drawable-ldpi/icon.png | Bin 0 -> 3038 bytes res/drawable-mdpi/icon.png | Bin 0 -> 8214 bytes res/layout/main.xml | 7 + res/values/defaultvalues.xml | 4 + res/values/strings.xml | 6 + res/xml/albums.xml | 5 + res/xml/settings.xml | 13 + src/net/rbgrn/opengl/BaseConfigChooser.java | 132 ++++++ .../rbgrn/opengl/DefaultContextFactory.java | 46 ++ .../opengl/DefaultWindowSurfaceFactory.java | 46 ++ src/net/rbgrn/opengl/EglHelper.java | 183 ++++++++ src/net/rbgrn/opengl/GLThread.java | 415 +++++++++++++++++ src/net/rbgrn/opengl/GLWallpaperService.java | 230 ++++++++++ src/rajawali/BaseObject3D.java | 424 ++++++++++++++++++ src/rajawali/Camera3D.java | 79 ++++ src/rajawali/IObject3D.java | 48 ++ src/rajawali/RajawaliActivity.java | 46 ++ src/rajawali/SerializedObject3D.java | 44 ++ src/rajawali/lights/ALight.java | 56 +++ src/rajawali/lights/DirectionalLight.java | 23 + src/rajawali/materials/AMaterial.java | 233 ++++++++++ src/rajawali/materials/CubeMapMaterial.java | 113 +++++ src/rajawali/materials/DiffuseMaterial.java | 113 +++++ src/rajawali/materials/GouraudMaterial.java | 147 ++++++ src/rajawali/materials/ParticleMaterial.java | 55 +++ src/rajawali/materials/PhongMaterial.java | 181 ++++++++ src/rajawali/materials/SimpleMaterial.java | 28 ++ src/rajawali/materials/TextureManager.java | 179 ++++++++ src/rajawali/parser/AParser.java | 30 ++ src/rajawali/parser/IParser.java | 8 + src/rajawali/parser/ObjParser.java | 161 +++++++ .../preferences/ColorPickerPreference.java | 104 +++++ src/rajawali/preferences/ColorPickerView.java | 159 +++++++ .../preferences/SeekbarPreference.java | 84 ++++ src/rajawali/primitives/Particle.java | 51 +++ src/rajawali/primitives/Plane.java | 112 +++++ src/rajawali/primitives/Sphere.java | 91 ++++ src/rajawali/renderer/RajawaliRenderer.java | 203 +++++++++ src/rajawali/wallpaper/Wallpaper.java | 262 +++++++++++ src/rajawali/wallpaper/WallpaperSettings.java | 36 ++ 47 files changed, 4274 insertions(+) create mode 100644 .classpath create mode 100644 .gitignore create mode 100644 .project create mode 100644 AndroidManifest.xml create mode 100644 default.properties create mode 100644 proguard.cfg create mode 100644 res/drawable-hdpi/icon.png create mode 100644 res/drawable-ldpi/icon.png create mode 100644 res/drawable-mdpi/icon.png create mode 100644 res/layout/main.xml create mode 100644 res/values/defaultvalues.xml create mode 100644 res/values/strings.xml create mode 100644 res/xml/albums.xml create mode 100644 res/xml/settings.xml create mode 100644 src/net/rbgrn/opengl/BaseConfigChooser.java create mode 100644 src/net/rbgrn/opengl/DefaultContextFactory.java create mode 100644 src/net/rbgrn/opengl/DefaultWindowSurfaceFactory.java create mode 100644 src/net/rbgrn/opengl/EglHelper.java create mode 100644 src/net/rbgrn/opengl/GLThread.java create mode 100644 src/net/rbgrn/opengl/GLWallpaperService.java create mode 100644 src/rajawali/BaseObject3D.java create mode 100644 src/rajawali/Camera3D.java create mode 100644 src/rajawali/IObject3D.java create mode 100644 src/rajawali/RajawaliActivity.java create mode 100644 src/rajawali/SerializedObject3D.java create mode 100644 src/rajawali/lights/ALight.java create mode 100644 src/rajawali/lights/DirectionalLight.java create mode 100644 src/rajawali/materials/AMaterial.java create mode 100644 src/rajawali/materials/CubeMapMaterial.java create mode 100644 src/rajawali/materials/DiffuseMaterial.java create mode 100644 src/rajawali/materials/GouraudMaterial.java create mode 100644 src/rajawali/materials/ParticleMaterial.java create mode 100644 src/rajawali/materials/PhongMaterial.java create mode 100644 src/rajawali/materials/SimpleMaterial.java create mode 100644 src/rajawali/materials/TextureManager.java create mode 100644 src/rajawali/parser/AParser.java create mode 100644 src/rajawali/parser/IParser.java create mode 100644 src/rajawali/parser/ObjParser.java create mode 100644 src/rajawali/preferences/ColorPickerPreference.java create mode 100644 src/rajawali/preferences/ColorPickerView.java create mode 100644 src/rajawali/preferences/SeekbarPreference.java create mode 100644 src/rajawali/primitives/Particle.java create mode 100644 src/rajawali/primitives/Plane.java create mode 100644 src/rajawali/primitives/Sphere.java create mode 100644 src/rajawali/renderer/RajawaliRenderer.java create mode 100644 src/rajawali/wallpaper/Wallpaper.java create mode 100644 src/rajawali/wallpaper/WallpaperSettings.java diff --git a/.classpath b/.classpath new file mode 100644 index 000000000..609aa00eb --- /dev/null +++ b/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..e80a6d473 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ + +/bin +/gen \ No newline at end of file diff --git a/.project b/.project new file mode 100644 index 000000000..a642dc362 --- /dev/null +++ b/.project @@ -0,0 +1,33 @@ + + + Rajawali + + + + + + com.android.ide.eclipse.adt.ResourceManagerBuilder + + + + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + + + + com.android.ide.eclipse.adt.AndroidNature + org.eclipse.jdt.core.javanature + + diff --git a/AndroidManifest.xml b/AndroidManifest.xml new file mode 100644 index 000000000..0766b4b5b --- /dev/null +++ b/AndroidManifest.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/default.properties b/default.properties new file mode 100644 index 000000000..e2e8061f2 --- /dev/null +++ b/default.properties @@ -0,0 +1,11 @@ +# 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 use, +# "build.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-8 diff --git a/proguard.cfg b/proguard.cfg new file mode 100644 index 000000000..12dd0392c --- /dev/null +++ b/proguard.cfg @@ -0,0 +1,36 @@ +-optimizationpasses 5 +-dontusemixedcaseclassnames +-dontskipnonpubliclibraryclasses +-dontpreverify +-verbose +-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* + +-keep public class * extends android.app.Activity +-keep public class * extends android.app.Application +-keep public class * extends android.app.Service +-keep public class * extends android.content.BroadcastReceiver +-keep public class * extends android.content.ContentProvider +-keep public class * extends android.app.backup.BackupAgentHelper +-keep public class * extends android.preference.Preference +-keep public class com.android.vending.licensing.ILicensingService + +-keepclasseswithmembernames class * { + native ; +} + +-keepclasseswithmembernames class * { + public (android.content.Context, android.util.AttributeSet); +} + +-keepclasseswithmembernames class * { + public (android.content.Context, android.util.AttributeSet, int); +} + +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +-keep class * implements android.os.Parcelable { + public static final android.os.Parcelable$Creator *; +} diff --git a/res/drawable-hdpi/icon.png b/res/drawable-hdpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..02330252e5121661fcd6ffb542c718764713bab2 GIT binary patch literal 8214 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 XkQH?BP4>vfAGd|M4Z7I$?4|zz5&=ko literal 0 HcmV?d00001 diff --git a/res/drawable-mdpi/icon.png b/res/drawable-mdpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d6eb49879c6f69b812b85260492d2f613a39c383 GIT binary patch literal 8214 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�kTh`#2bWbSi2CM<-)A247RDh zs8II;E_xIMz3LPBRCagr7?))s`Z|7U>t|Jsxw;^-DqT^t0p^!tZr$BY6q{Z8;dyi4 zpO}MV+qG))3gbJwgkpYIv_!eeJO#E<>UgFxzO=IJ;R~?ym&0KEeUmrim0<%n%WQX< zGRm_@TR5-A3Guk;$h#hA4#o{dDZD5*6F-#|1tg)MD`R~XC9b{ZvC+}oh=K>u!agx~VHUcD?>gw=zX)5f! zEpbsO=0xQ~I$hyC1mgn8h%^LsxM^p_#H^G)pf7E*BBxlNe5Z2c{>N5D+T`r4jPJRj zZ^P*iBl|(RKC{+_u1+=uoTx0|hmUdZR^@^+uOLz~Ovs*PHsL$+k8iIS0hEm9E;DtWc6P3afbqs$58DwrjrHmKS!Dm+9pOfY6zrWX4h*XT=Yve8 zL(PKC(CH5D(kaz$<)?%d<35)sea8{{B`x=(S(wYugoN`bUVx?TY9VF%jm`E#9W&fHLP6#a5`e_v zu^brsm%Gs&hf;^kgY#bti+u~zcB`GSBA$*xWw#f?U3@L)6&j{kY_fa%AH#g{3X zH6*j4vZ<#*M?y9Fx4bJ}Tb9JUdlpHh6ShdDT_UXbwD7CTgep`wgsm82uSC8uyib`4 zMxnraB8X)Dc@q-)bFoOpZZ*Pxi?4mHuY^=;P=kNthC_ZHoy5dQ)MFpd)8#HUWx|E^Np%7l=@PVEI4fy3bTX3{lnnck zp;GT;=-oC)KwEH!5TvNvA??+qBsq!#mqgUx8$bQ#(msJQhgp*P_7WO!SbZyTb}12b z+#OMw@xv%DKa<8aKdw|eo8_GQdAKsA5Q;pYR}6TJac>qWjOOsO^U`?i2{jsCa9uGG zgI){#k zl3(4)SGAq>KAhxJxGdZ}(|uxLqC@-#R|x`_GibI0$O!9pzK8H%Ti zwUTQEp3)7`JZYg&`H1%TmTA}AOpknYNq5P!Evo5Up4OmaCtv&PL9;*SCbyRp--d<_ z_c;^ceHb^%glK**xj%0y=#rXObIlyC2mAiW2Wh#h?$N&VgmYNxra$gxa~z5x){lyr z@rw69Wxt5yTRw&G8B;{XF{*^5DpPrTy$S{f`Lf;N^|d!!%)Xy`+zS$~a~rB92#ONW z<1O$b;_}%>4rwwZH7klU^>Zq+wkvxh4ks{?EuZh&^>iSOvkok!({adJ6vkYq8Ov<; z^{&ZlN!Nz+hpbLNqtm;aIo=lrb;e64^y(S1e?Y3!xyl?;lb6(V2luE$CdOv#lrs{n zXP3vFXkTUpq*-Jt0#+7iE`_-43h{dp73%8_0;Mb04s*>sw;s*oi3e`xZ}Xd*?M{5m zL9Ky@fm(A-9XT79ym)x>4Zr^Md7E;Be5Jvdnx(BcaJJ^s5=?0+CK2SgL5 VRfvrUWd1#=SCmtOR?C=&{vVjDJ-+|| literal 0 HcmV?d00001 diff --git a/res/layout/main.xml b/res/layout/main.xml new file mode 100644 index 000000000..4361cfe8a --- /dev/null +++ b/res/layout/main.xml @@ -0,0 +1,7 @@ + + + diff --git a/res/values/defaultvalues.xml b/res/values/defaultvalues.xml new file mode 100644 index 000000000..919b6a35f --- /dev/null +++ b/res/values/defaultvalues.xml @@ -0,0 +1,4 @@ + + + 5 + diff --git a/res/values/strings.xml b/res/values/strings.xml new file mode 100644 index 000000000..ef17ad290 --- /dev/null +++ b/res/values/strings.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/res/xml/albums.xml b/res/xml/albums.xml new file mode 100644 index 000000000..fc01c6bc7 --- /dev/null +++ b/res/xml/albums.xml @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/res/xml/settings.xml b/res/xml/settings.xml new file mode 100644 index 000000000..c33b8aedf --- /dev/null +++ b/res/xml/settings.xml @@ -0,0 +1,13 @@ + + + +