From 11ea1829a7057531be95c188fee081a20a7e21c3 Mon Sep 17 00:00:00 2001 From: Gatis Paeglis Date: Wed, 8 Oct 2014 14:09:14 +0200 Subject: Remove experimental/qt5-intro-android directory This directory contains old (probably development) version of qt5 launch presentation. We used to have the final version in the basicsuite/, but also that was removed as "obsolete" in: e6253b8d140a98f3d2327b2d028b237480378637 Change-Id: If262643d5e7b01090f72669fbe60bf255ddabd1b Reviewed-by: Samuli Piippo --- experimental/qt5-intro-android/Button.qml | 78 -- experimental/qt5-intro-android/CameraSlide.qml | 92 -- experimental/qt5-intro-android/CanvasSlide.qml | 158 --- experimental/qt5-intro-android/DemoMain.qml | 139 -- experimental/qt5-intro-android/EffectsSlide.qml | 203 --- experimental/qt5-intro-android/ExamplesSlide.qml | 125 -- experimental/qt5-intro-android/FontSlide.qml | 98 -- experimental/qt5-intro-android/NoisyGradient.qml | 92 -- .../qt5-intro-android/NormalMapGenerator.qml | 92 -- .../OpacityTransitionPresentation.qml | 104 -- experimental/qt5-intro-android/ParticleSlide.qml | 87 -- experimental/qt5-intro-android/README | 51 - experimental/qt5-intro-android/ShaderSlide.qml | 197 --- experimental/qt5-intro-android/SlideDeck.qml | 254 ---- experimental/qt5-intro-android/Swirl.qml | 116 -- experimental/qt5-intro-android/VideoSlide.qml | 123 -- .../qt5-intro-android/WebKitSlideContent.qml | 124 -- experimental/qt5-intro-android/WebkitSlide.qml | 59 - experimental/qt5-intro-android/WidgetsSlide.qml | 152 --- experimental/qt5-intro-android/android.pro | 159 --- .../qt5-intro-android/android/AndroidManifest.xml | 36 - experimental/qt5-intro-android/android/build.xml | 92 -- .../qt5-intro-android/android/local.properties | 10 - .../qt5-intro-android/android/project.properties | 14 - .../android/res/drawable-hdpi/icon.png | Bin 4627 -> 0 bytes .../android/res/drawable-ldpi/icon.png | Bin 2156 -> 0 bytes .../android/res/drawable-mdpi/icon.png | Bin 2464 -> 0 bytes .../android/res/layout/splash.xml | 13 - .../android/res/values-de/strings.xml | 6 - .../android/res/values-el/strings.xml | 6 - .../android/res/values-es/strings.xml | 6 - .../android/res/values-et/strings.xml | 6 - .../android/res/values-fa/strings.xml | 6 - .../android/res/values-fr/strings.xml | 6 - .../android/res/values-id/strings.xml | 6 - .../android/res/values-it/strings.xml | 6 - .../android/res/values-ja/strings.xml | 6 - .../android/res/values-ms/strings.xml | 6 - .../android/res/values-nb/strings.xml | 6 - .../android/res/values-nl/strings.xml | 6 - .../android/res/values-pl/strings.xml | 6 - .../android/res/values-pt-rBR/strings.xml | 6 - .../android/res/values-ro/strings.xml | 6 - .../android/res/values-rs/strings.xml | 6 - .../android/res/values-ru/strings.xml | 6 - .../android/res/values-zh-rCN/strings.xml | 6 - .../android/res/values-zh-rTW/strings.xml | 6 - .../qt5-intro-android/android/res/values/libs.xml | 243 ---- .../android/res/values/strings.xml | 7 - .../src/org/kde/necessitas/ministro/IMinistro.aidl | 50 - .../kde/necessitas/ministro/IMinistroCallback.aidl | 55 - .../qtproject/qt5/android/bindings/QtActivity.java | 1404 -------------------- .../qt5/android/bindings/QtApplication.java | 149 --- experimental/qt5-intro-android/android/version.xml | 8 - .../qt5-intro-android/calqlatr/Calqlatr.qml | 110 -- .../qt5-intro-android/calqlatr/content/Button.qml | 80 -- .../qt5-intro-android/calqlatr/content/Display.qml | 124 -- .../calqlatr/content/NumberPad.qml | 69 - .../calqlatr/content/StyleLabel.qml | 50 - .../calqlatr/content/audio/touch.wav | Bin 950 -> 0 bytes .../calqlatr/content/calculator.js | 143 -- .../calqlatr/content/images/icon-back.png | Bin 328 -> 0 bytes .../calqlatr/content/images/icon-close.png | Bin 488 -> 0 bytes .../calqlatr/content/images/icon-settings.png | Bin 503 -> 0 bytes .../calqlatr/content/images/logo.png | Bin 5950 -> 0 bytes .../calqlatr/content/images/paper-edge-left.png | Bin 12401 -> 0 bytes .../calqlatr/content/images/paper-edge-right.png | Bin 12967 -> 0 bytes .../calqlatr/content/images/paper-grip.png | Bin 298 -> 0 bytes .../content/images/settings-selected-a.png | Bin 2326 -> 0 bytes .../content/images/settings-selected-b.png | Bin 2334 -> 0 bytes .../calqlatr/content/images/touch-green.png | Bin 4808 -> 0 bytes .../calqlatr/content/images/touch-white.png | Bin 4601 -> 0 bytes experimental/qt5-intro-android/demo.qmlproject | 18 - experimental/qt5-intro-android/description.txt | 6 - experimental/qt5-intro-android/images/ally.png | Bin 1907941 -> 0 bytes .../qt5-intro-android/images/butterfly.png | Bin 18668 -> 0 bytes experimental/qt5-intro-android/images/displace.png | Bin 20269 -> 0 bytes experimental/qt5-intro-android/images/fog.png | Bin 225653 -> 0 bytes experimental/qt5-intro-android/images/particle.png | Bin 861 -> 0 bytes .../qt5-intro-android/images/qt-logo-hdpi.png | Bin 4627 -> 0 bytes .../qt5-intro-android/images/qt-logo-ldpi.png | Bin 2156 -> 0 bytes .../qt5-intro-android/images/qt-logo-mdpi.png | Bin 2464 -> 0 bytes experimental/qt5-intro-android/images/qt-logo.png | Bin 34605 -> 0 bytes .../qt5-intro-android/images/widgets_boxes.png | Bin 589779 -> 0 bytes .../qt5-intro-android/images/widgets_chips.png | Bin 211342 -> 0 bytes .../images/widgets_mainwindows.png | Bin 95685 -> 0 bytes .../images/widgets_styles_fusion.png | Bin 65678 -> 0 bytes .../images/widgets_styles_macstyle.png | Bin 70514 -> 0 bytes experimental/qt5-intro-android/main.cpp | 73 - experimental/qt5-intro-android/main.qml | 64 - experimental/qt5-intro-android/main.qrc | 203 --- experimental/qt5-intro-android/main_hifi.qml | 43 - experimental/qt5-intro-android/maroon/Maroon.qml | 233 ---- .../maroon/content/BuildButton.qml | 90 -- .../maroon/content/GameCanvas.qml | 240 ---- .../maroon/content/GameOverScreen.qml | 115 -- .../qt5-intro-android/maroon/content/InfoBar.qml | 84 -- .../maroon/content/NewGameScreen.qml | 111 -- .../maroon/content/SoundEffect.qml | 53 - .../maroon/content/audio/bomb-action.wav | Bin 20972 -> 0 bytes .../maroon/content/audio/catch-action.wav | Bin 13274 -> 0 bytes .../maroon/content/audio/catch.wav | Bin 8638 -> 0 bytes .../maroon/content/audio/currency.wav | Bin 15790 -> 0 bytes .../maroon/content/audio/factory-action.wav | Bin 4936 -> 0 bytes .../maroon/content/audio/melee-action.wav | Bin 17798 -> 0 bytes .../maroon/content/audio/projectile-action.wav | Bin 2562 -> 0 bytes .../maroon/content/audio/shooter-action.wav | Bin 27554 -> 0 bytes .../maroon/content/gfx/background.png | Bin 5802 -> 0 bytes .../maroon/content/gfx/bomb-action.png | Bin 23974 -> 0 bytes .../maroon/content/gfx/bomb-idle.png | Bin 12238 -> 0 bytes .../qt5-intro-android/maroon/content/gfx/bomb.png | Bin 4067 -> 0 bytes .../maroon/content/gfx/button-help.png | Bin 8916 -> 0 bytes .../maroon/content/gfx/button-play.png | Bin 13945 -> 0 bytes .../maroon/content/gfx/catch-action.png | Bin 6760 -> 0 bytes .../qt5-intro-android/maroon/content/gfx/catch.png | Bin 4771 -> 0 bytes .../qt5-intro-android/maroon/content/gfx/cloud.png | Bin 3398 -> 0 bytes .../maroon/content/gfx/currency.png | Bin 1889 -> 0 bytes .../maroon/content/gfx/dialog-bomb.png | Bin 3751 -> 0 bytes .../maroon/content/gfx/dialog-factory.png | Bin 3946 -> 0 bytes .../maroon/content/gfx/dialog-melee.png | Bin 4392 -> 0 bytes .../maroon/content/gfx/dialog-pointer.png | Bin 911 -> 0 bytes .../maroon/content/gfx/dialog-shooter.png | Bin 3737 -> 0 bytes .../maroon/content/gfx/dialog.png | Bin 3362 -> 0 bytes .../maroon/content/gfx/factory-action.png | Bin 22440 -> 0 bytes .../maroon/content/gfx/factory-idle.png | Bin 12729 -> 0 bytes .../maroon/content/gfx/factory.png | Bin 4138 -> 0 bytes .../qt5-intro-android/maroon/content/gfx/grid.png | Bin 2830 -> 0 bytes .../qt5-intro-android/maroon/content/gfx/help.png | Bin 38255 -> 0 bytes .../qt5-intro-android/maroon/content/gfx/lifes.png | Bin 1675 -> 0 bytes .../maroon/content/gfx/logo-bubble.png | Bin 7706 -> 0 bytes .../maroon/content/gfx/logo-fish.png | Bin 3477 -> 0 bytes .../qt5-intro-android/maroon/content/gfx/logo.png | Bin 18332 -> 0 bytes .../maroon/content/gfx/melee-action.png | Bin 7797 -> 0 bytes .../maroon/content/gfx/melee-idle.png | Bin 22832 -> 0 bytes .../qt5-intro-android/maroon/content/gfx/melee.png | Bin 4046 -> 0 bytes .../maroon/content/gfx/mob-idle.png | Bin 6181 -> 0 bytes .../qt5-intro-android/maroon/content/gfx/mob.png | Bin 2391 -> 0 bytes .../maroon/content/gfx/points.png | Bin 1561 -> 0 bytes .../maroon/content/gfx/projectile-action.png | Bin 6257 -> 0 bytes .../maroon/content/gfx/projectile.png | Bin 801 -> 0 bytes .../maroon/content/gfx/scores.png | Bin 1535 -> 0 bytes .../maroon/content/gfx/shooter-action.png | Bin 18121 -> 0 bytes .../maroon/content/gfx/shooter-idle.png | Bin 11929 -> 0 bytes .../maroon/content/gfx/shooter.png | Bin 4137 -> 0 bytes .../maroon/content/gfx/sunlight.png | Bin 248412 -> 0 bytes .../maroon/content/gfx/text-1.png | Bin 2777 -> 0 bytes .../maroon/content/gfx/text-2.png | Bin 4959 -> 0 bytes .../maroon/content/gfx/text-3.png | Bin 5063 -> 0 bytes .../maroon/content/gfx/text-blank.png | Bin 1326 -> 0 bytes .../maroon/content/gfx/text-gameover.png | Bin 1515 -> 0 bytes .../maroon/content/gfx/text-go.png | Bin 4230 -> 0 bytes .../qt5-intro-android/maroon/content/gfx/wave.png | Bin 2763 -> 0 bytes .../qt5-intro-android/maroon/content/logic.js | 264 ---- .../maroon/content/mobs/MobBase.qml | 262 ---- .../maroon/content/towers/Bomb.qml | 133 -- .../maroon/content/towers/Factory.qml | 114 -- .../maroon/content/towers/Melee.qml | 83 -- .../maroon/content/towers/Ranged.qml | 128 -- .../maroon/content/towers/TowerBase.qml | 72 - .../qt5-intro-android/particles/customemitter.qml | 91 -- .../qt5-intro-android/particles/emitmask.qml | 76 -- .../qt5-intro-android/particles/particle.png | Bin 861 -> 0 bytes .../qt5-intro-android/particles/particle4.png | Bin 1799 -> 0 bytes experimental/qt5-intro-android/particles/star.png | Bin 1550 -> 0 bytes .../qt5-intro-android/particles/starfish_mask.png | Bin 11301 -> 0 bytes .../particles/velocityfrommotion.qml | 305 ----- .../qt5-intro-android/presentation/Clock.qml | 77 -- .../qt5-intro-android/presentation/CodeSlide.qml | 162 --- .../presentation/Presentation.qml | 243 ---- .../qt5-intro-android/presentation/Slide.qml | 195 --- .../presentation/SlideCounter.qml | 61 - experimental/qt5-intro-android/preview_l.jpg | Bin 16252 -> 0 bytes .../qt5-intro-android/samegame/Samegame.qml | 371 ------ .../qt5-intro-android/samegame/content/Block.qml | 114 -- .../samegame/content/BlockEmitter.qml | 57 - .../qt5-intro-android/samegame/content/Button.qml | 70 - .../samegame/content/GameArea.qml | 226 ---- .../samegame/content/LogoAnimation.qml | 102 -- .../samegame/content/MenuEmitter.qml | 53 - .../samegame/content/PaintEmitter.qml | 98 -- .../samegame/content/PrimaryPack.qml | 122 -- .../samegame/content/PuzzleBlock.qml | 111 -- .../samegame/content/SamegameText.qml | 49 - .../samegame/content/SimpleBlock.qml | 108 -- .../samegame/content/SmokeText.qml | 83 -- .../samegame/content/gfx/background-puzzle.png | Bin 86666 -> 0 bytes .../samegame/content/gfx/background.png | Bin 101018 -> 0 bytes .../qt5-intro-android/samegame/content/gfx/bar.png | Bin 10970 -> 0 bytes .../samegame/content/gfx/blue-puzzle.png | Bin 2219 -> 0 bytes .../samegame/content/gfx/blue.png | Bin 1018 -> 0 bytes .../samegame/content/gfx/bubble-highscore.png | Bin 2276 -> 0 bytes .../samegame/content/gfx/bubble-puzzle.png | Bin 2811 -> 0 bytes .../samegame/content/gfx/but-game-1.png | Bin 2728 -> 0 bytes .../samegame/content/gfx/but-game-2.png | Bin 3378 -> 0 bytes .../samegame/content/gfx/but-game-3.png | Bin 1423 -> 0 bytes .../samegame/content/gfx/but-game-4.png | Bin 2096 -> 0 bytes .../samegame/content/gfx/but-game-new.png | Bin 3662 -> 0 bytes .../samegame/content/gfx/but-menu.png | Bin 2391 -> 0 bytes .../samegame/content/gfx/but-puzzle-next.png | Bin 3658 -> 0 bytes .../samegame/content/gfx/but-quit.png | Bin 2100 -> 0 bytes .../samegame/content/gfx/green-puzzle.png | Bin 2271 -> 0 bytes .../samegame/content/gfx/green.png | Bin 1024 -> 0 bytes .../samegame/content/gfx/icon-fail.png | Bin 6549 -> 0 bytes .../samegame/content/gfx/icon-ok.png | Bin 7190 -> 0 bytes .../samegame/content/gfx/icon-time.png | Bin 1159 -> 0 bytes .../samegame/content/gfx/logo-a.png | Bin 1814 -> 0 bytes .../samegame/content/gfx/logo-e.png | Bin 1725 -> 0 bytes .../samegame/content/gfx/logo-g.png | Bin 1765 -> 0 bytes .../samegame/content/gfx/logo-m.png | Bin 1743 -> 0 bytes .../samegame/content/gfx/logo-s.png | Bin 1791 -> 0 bytes .../samegame/content/gfx/logo.png | Bin 3608 -> 0 bytes .../samegame/content/gfx/particle-brick.png | Bin 861 -> 0 bytes .../samegame/content/gfx/particle-paint.png | Bin 714 -> 0 bytes .../samegame/content/gfx/particle-smoke.png | Bin 5409 -> 0 bytes .../samegame/content/gfx/red-puzzle.png | Bin 2218 -> 0 bytes .../qt5-intro-android/samegame/content/gfx/red.png | Bin 1018 -> 0 bytes .../samegame/content/gfx/text-highscore-new.png | Bin 6767 -> 0 bytes .../samegame/content/gfx/text-highscore.png | Bin 3179 -> 0 bytes .../samegame/content/gfx/text-no-winner.png | Bin 6321 -> 0 bytes .../samegame/content/gfx/text-p1-go.png | Bin 5395 -> 0 bytes .../samegame/content/gfx/text-p1-won.png | Bin 5618 -> 0 bytes .../samegame/content/gfx/text-p1.png | Bin 1751 -> 0 bytes .../samegame/content/gfx/text-p2-go.png | Bin 5874 -> 0 bytes .../samegame/content/gfx/text-p2-won.png | Bin 6177 -> 0 bytes .../samegame/content/gfx/text-p2.png | Bin 2381 -> 0 bytes .../samegame/content/gfx/yellow-puzzle.png | Bin 2239 -> 0 bytes .../samegame/content/gfx/yellow.png | Bin 1008 -> 0 bytes .../samegame/content/levels/TemplateBase.qml | 70 - .../samegame/content/levels/level0.qml | 59 - .../samegame/content/levels/level1.qml | 59 - .../samegame/content/levels/level2.qml | 61 - .../samegame/content/levels/level3.qml | 60 - .../samegame/content/levels/level4.qml | 58 - .../samegame/content/levels/level5.qml | 59 - .../samegame/content/levels/level6.qml | 60 - .../samegame/content/levels/level7.qml | 58 - .../samegame/content/levels/level8.qml | 59 - .../samegame/content/levels/level9.qml | 62 - .../qt5-intro-android/samegame/content/samegame.js | 581 -------- .../qt5-intro-android/samegame/settings.js | 56 - 240 files changed, 11739 deletions(-) delete mode 100644 experimental/qt5-intro-android/Button.qml delete mode 100644 experimental/qt5-intro-android/CameraSlide.qml delete mode 100644 experimental/qt5-intro-android/CanvasSlide.qml delete mode 100644 experimental/qt5-intro-android/DemoMain.qml delete mode 100644 experimental/qt5-intro-android/EffectsSlide.qml delete mode 100644 experimental/qt5-intro-android/ExamplesSlide.qml delete mode 100644 experimental/qt5-intro-android/FontSlide.qml delete mode 100644 experimental/qt5-intro-android/NoisyGradient.qml delete mode 100644 experimental/qt5-intro-android/NormalMapGenerator.qml delete mode 100644 experimental/qt5-intro-android/OpacityTransitionPresentation.qml delete mode 100644 experimental/qt5-intro-android/ParticleSlide.qml delete mode 100644 experimental/qt5-intro-android/README delete mode 100644 experimental/qt5-intro-android/ShaderSlide.qml delete mode 100644 experimental/qt5-intro-android/SlideDeck.qml delete mode 100644 experimental/qt5-intro-android/Swirl.qml delete mode 100644 experimental/qt5-intro-android/VideoSlide.qml delete mode 100644 experimental/qt5-intro-android/WebKitSlideContent.qml delete mode 100644 experimental/qt5-intro-android/WebkitSlide.qml delete mode 100644 experimental/qt5-intro-android/WidgetsSlide.qml delete mode 100644 experimental/qt5-intro-android/android.pro delete mode 100644 experimental/qt5-intro-android/android/AndroidManifest.xml delete mode 100644 experimental/qt5-intro-android/android/build.xml delete mode 100644 experimental/qt5-intro-android/android/local.properties delete mode 100644 experimental/qt5-intro-android/android/project.properties delete mode 100644 experimental/qt5-intro-android/android/res/drawable-hdpi/icon.png delete mode 100644 experimental/qt5-intro-android/android/res/drawable-ldpi/icon.png delete mode 100644 experimental/qt5-intro-android/android/res/drawable-mdpi/icon.png delete mode 100644 experimental/qt5-intro-android/android/res/layout/splash.xml delete mode 100644 experimental/qt5-intro-android/android/res/values-de/strings.xml delete mode 100644 experimental/qt5-intro-android/android/res/values-el/strings.xml delete mode 100644 experimental/qt5-intro-android/android/res/values-es/strings.xml delete mode 100644 experimental/qt5-intro-android/android/res/values-et/strings.xml delete mode 100644 experimental/qt5-intro-android/android/res/values-fa/strings.xml delete mode 100644 experimental/qt5-intro-android/android/res/values-fr/strings.xml delete mode 100644 experimental/qt5-intro-android/android/res/values-id/strings.xml delete mode 100644 experimental/qt5-intro-android/android/res/values-it/strings.xml delete mode 100644 experimental/qt5-intro-android/android/res/values-ja/strings.xml delete mode 100644 experimental/qt5-intro-android/android/res/values-ms/strings.xml delete mode 100644 experimental/qt5-intro-android/android/res/values-nb/strings.xml delete mode 100644 experimental/qt5-intro-android/android/res/values-nl/strings.xml delete mode 100644 experimental/qt5-intro-android/android/res/values-pl/strings.xml delete mode 100644 experimental/qt5-intro-android/android/res/values-pt-rBR/strings.xml delete mode 100644 experimental/qt5-intro-android/android/res/values-ro/strings.xml delete mode 100644 experimental/qt5-intro-android/android/res/values-rs/strings.xml delete mode 100644 experimental/qt5-intro-android/android/res/values-ru/strings.xml delete mode 100644 experimental/qt5-intro-android/android/res/values-zh-rCN/strings.xml delete mode 100644 experimental/qt5-intro-android/android/res/values-zh-rTW/strings.xml delete mode 100644 experimental/qt5-intro-android/android/res/values/libs.xml delete mode 100644 experimental/qt5-intro-android/android/res/values/strings.xml delete mode 100644 experimental/qt5-intro-android/android/src/org/kde/necessitas/ministro/IMinistro.aidl delete mode 100644 experimental/qt5-intro-android/android/src/org/kde/necessitas/ministro/IMinistroCallback.aidl delete mode 100644 experimental/qt5-intro-android/android/src/org/qtproject/qt5/android/bindings/QtActivity.java delete mode 100644 experimental/qt5-intro-android/android/src/org/qtproject/qt5/android/bindings/QtApplication.java delete mode 100644 experimental/qt5-intro-android/android/version.xml delete mode 100644 experimental/qt5-intro-android/calqlatr/Calqlatr.qml delete mode 100644 experimental/qt5-intro-android/calqlatr/content/Button.qml delete mode 100644 experimental/qt5-intro-android/calqlatr/content/Display.qml delete mode 100644 experimental/qt5-intro-android/calqlatr/content/NumberPad.qml delete mode 100644 experimental/qt5-intro-android/calqlatr/content/StyleLabel.qml delete mode 100644 experimental/qt5-intro-android/calqlatr/content/audio/touch.wav delete mode 100644 experimental/qt5-intro-android/calqlatr/content/calculator.js delete mode 100644 experimental/qt5-intro-android/calqlatr/content/images/icon-back.png delete mode 100644 experimental/qt5-intro-android/calqlatr/content/images/icon-close.png delete mode 100644 experimental/qt5-intro-android/calqlatr/content/images/icon-settings.png delete mode 100644 experimental/qt5-intro-android/calqlatr/content/images/logo.png delete mode 100644 experimental/qt5-intro-android/calqlatr/content/images/paper-edge-left.png delete mode 100644 experimental/qt5-intro-android/calqlatr/content/images/paper-edge-right.png delete mode 100644 experimental/qt5-intro-android/calqlatr/content/images/paper-grip.png delete mode 100644 experimental/qt5-intro-android/calqlatr/content/images/settings-selected-a.png delete mode 100644 experimental/qt5-intro-android/calqlatr/content/images/settings-selected-b.png delete mode 100644 experimental/qt5-intro-android/calqlatr/content/images/touch-green.png delete mode 100644 experimental/qt5-intro-android/calqlatr/content/images/touch-white.png delete mode 100644 experimental/qt5-intro-android/demo.qmlproject delete mode 100644 experimental/qt5-intro-android/description.txt delete mode 100644 experimental/qt5-intro-android/images/ally.png delete mode 100644 experimental/qt5-intro-android/images/butterfly.png delete mode 100644 experimental/qt5-intro-android/images/displace.png delete mode 100644 experimental/qt5-intro-android/images/fog.png delete mode 100644 experimental/qt5-intro-android/images/particle.png delete mode 100644 experimental/qt5-intro-android/images/qt-logo-hdpi.png delete mode 100644 experimental/qt5-intro-android/images/qt-logo-ldpi.png delete mode 100644 experimental/qt5-intro-android/images/qt-logo-mdpi.png delete mode 100644 experimental/qt5-intro-android/images/qt-logo.png delete mode 100644 experimental/qt5-intro-android/images/widgets_boxes.png delete mode 100644 experimental/qt5-intro-android/images/widgets_chips.png delete mode 100644 experimental/qt5-intro-android/images/widgets_mainwindows.png delete mode 100644 experimental/qt5-intro-android/images/widgets_styles_fusion.png delete mode 100644 experimental/qt5-intro-android/images/widgets_styles_macstyle.png delete mode 100644 experimental/qt5-intro-android/main.cpp delete mode 100644 experimental/qt5-intro-android/main.qml delete mode 100644 experimental/qt5-intro-android/main.qrc delete mode 100644 experimental/qt5-intro-android/main_hifi.qml delete mode 100644 experimental/qt5-intro-android/maroon/Maroon.qml delete mode 100644 experimental/qt5-intro-android/maroon/content/BuildButton.qml delete mode 100644 experimental/qt5-intro-android/maroon/content/GameCanvas.qml delete mode 100644 experimental/qt5-intro-android/maroon/content/GameOverScreen.qml delete mode 100644 experimental/qt5-intro-android/maroon/content/InfoBar.qml delete mode 100644 experimental/qt5-intro-android/maroon/content/NewGameScreen.qml delete mode 100644 experimental/qt5-intro-android/maroon/content/SoundEffect.qml delete mode 100644 experimental/qt5-intro-android/maroon/content/audio/bomb-action.wav delete mode 100644 experimental/qt5-intro-android/maroon/content/audio/catch-action.wav delete mode 100644 experimental/qt5-intro-android/maroon/content/audio/catch.wav delete mode 100644 experimental/qt5-intro-android/maroon/content/audio/currency.wav delete mode 100644 experimental/qt5-intro-android/maroon/content/audio/factory-action.wav delete mode 100644 experimental/qt5-intro-android/maroon/content/audio/melee-action.wav delete mode 100644 experimental/qt5-intro-android/maroon/content/audio/projectile-action.wav delete mode 100644 experimental/qt5-intro-android/maroon/content/audio/shooter-action.wav delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/background.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/bomb-action.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/bomb-idle.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/bomb.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/button-help.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/button-play.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/catch-action.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/catch.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/cloud.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/currency.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/dialog-bomb.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/dialog-factory.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/dialog-melee.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/dialog-pointer.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/dialog-shooter.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/dialog.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/factory-action.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/factory-idle.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/factory.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/grid.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/help.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/lifes.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/logo-bubble.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/logo-fish.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/logo.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/melee-action.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/melee-idle.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/melee.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/mob-idle.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/mob.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/points.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/projectile-action.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/projectile.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/scores.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/shooter-action.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/shooter-idle.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/shooter.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/sunlight.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/text-1.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/text-2.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/text-3.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/text-blank.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/text-gameover.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/text-go.png delete mode 100644 experimental/qt5-intro-android/maroon/content/gfx/wave.png delete mode 100644 experimental/qt5-intro-android/maroon/content/logic.js delete mode 100644 experimental/qt5-intro-android/maroon/content/mobs/MobBase.qml delete mode 100644 experimental/qt5-intro-android/maroon/content/towers/Bomb.qml delete mode 100644 experimental/qt5-intro-android/maroon/content/towers/Factory.qml delete mode 100644 experimental/qt5-intro-android/maroon/content/towers/Melee.qml delete mode 100644 experimental/qt5-intro-android/maroon/content/towers/Ranged.qml delete mode 100644 experimental/qt5-intro-android/maroon/content/towers/TowerBase.qml delete mode 100644 experimental/qt5-intro-android/particles/customemitter.qml delete mode 100644 experimental/qt5-intro-android/particles/emitmask.qml delete mode 100644 experimental/qt5-intro-android/particles/particle.png delete mode 100644 experimental/qt5-intro-android/particles/particle4.png delete mode 100644 experimental/qt5-intro-android/particles/star.png delete mode 100644 experimental/qt5-intro-android/particles/starfish_mask.png delete mode 100644 experimental/qt5-intro-android/particles/velocityfrommotion.qml delete mode 100644 experimental/qt5-intro-android/presentation/Clock.qml delete mode 100644 experimental/qt5-intro-android/presentation/CodeSlide.qml delete mode 100644 experimental/qt5-intro-android/presentation/Presentation.qml delete mode 100644 experimental/qt5-intro-android/presentation/Slide.qml delete mode 100644 experimental/qt5-intro-android/presentation/SlideCounter.qml delete mode 100644 experimental/qt5-intro-android/preview_l.jpg delete mode 100644 experimental/qt5-intro-android/samegame/Samegame.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/Block.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/BlockEmitter.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/Button.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/GameArea.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/LogoAnimation.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/MenuEmitter.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/PaintEmitter.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/PrimaryPack.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/PuzzleBlock.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/SamegameText.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/SimpleBlock.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/SmokeText.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/background-puzzle.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/background.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/bar.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/blue-puzzle.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/blue.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/bubble-highscore.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/bubble-puzzle.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/but-game-1.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/but-game-2.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/but-game-3.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/but-game-4.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/but-game-new.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/but-menu.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/but-puzzle-next.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/but-quit.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/green-puzzle.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/green.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/icon-fail.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/icon-ok.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/icon-time.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/logo-a.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/logo-e.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/logo-g.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/logo-m.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/logo-s.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/logo.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/particle-brick.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/particle-paint.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/particle-smoke.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/red-puzzle.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/red.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/text-highscore-new.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/text-highscore.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/text-no-winner.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/text-p1-go.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/text-p1-won.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/text-p1.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/text-p2-go.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/text-p2-won.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/text-p2.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/yellow-puzzle.png delete mode 100644 experimental/qt5-intro-android/samegame/content/gfx/yellow.png delete mode 100644 experimental/qt5-intro-android/samegame/content/levels/TemplateBase.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/levels/level0.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/levels/level1.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/levels/level2.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/levels/level3.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/levels/level4.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/levels/level5.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/levels/level6.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/levels/level7.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/levels/level8.qml delete mode 100644 experimental/qt5-intro-android/samegame/content/levels/level9.qml delete mode 100755 experimental/qt5-intro-android/samegame/content/samegame.js delete mode 100644 experimental/qt5-intro-android/samegame/settings.js (limited to 'experimental/qt5-intro-android') diff --git a/experimental/qt5-intro-android/Button.qml b/experimental/qt5-intro-android/Button.qml deleted file mode 100644 index 6d6bf6e..0000000 --- a/experimental/qt5-intro-android/Button.qml +++ /dev/null @@ -1,78 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt 5 launch demo. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -Rectangle { - - id: root; - - border.width: (pressed ? 1.5 : 1) * height / 20; - border.color: Qt.rgba(1, 1, 1, 0.4); - radius: height / 4; - - antialiasing: true - - gradient: Gradient { - GradientStop { position: 0; color: Qt.rgba(0.5, 0.5, 0.5, pressed ? 0.7 : 0.5); } - GradientStop { position: 1; color: Qt.rgba(0.2, 0.2, 0.2, pressed ? 0.7 : 0.5); } - } - - Behavior on color { ColorAnimation { duration: 100 } } - - property bool pressed; - property alias label: textItem.text; - - Text { - id: textItem - anchors.centerIn: parent - color: "white" - font.pixelSize: parent.height / 3; - font.bold: true - } - - MouseArea { - id: mouse - anchors.fill: parent - onPressed: root.pressed = !root.pressed; - - } - -} diff --git a/experimental/qt5-intro-android/CameraSlide.qml b/experimental/qt5-intro-android/CameraSlide.qml deleted file mode 100644 index 564b467..0000000 --- a/experimental/qt5-intro-android/CameraSlide.qml +++ /dev/null @@ -1,92 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt 5 launch demo. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import QtMultimedia 5 -import "presentation" - -import QtGraphicalEffects 1.0 - -Slide { - - id: slide - - title: "Qt Multimedia - Camera" - - Camera { - id: camera - Component.onCompleted: camera.stop(); - } - - VideoOutput { - id: videoOut - anchors.fill: parent - source: camera - layer.enabled: true; - layer.effect: ZoomBlur { - samples: 16 - length: button.pressed ? parent.height / 5 : 0 - Behavior on length { - NumberAnimation { duration: 250 } - } - } - } - - onVisibleChanged: { - if (slide.visible) - camera.start(); - else - camera.stop(); - } - - Button { - id: button - anchors.bottom: videoOut.bottom - anchors.horizontalCenter: videoOut.horizontalCenter - anchors.bottomMargin: height / 2; -// anchors.bottom: slide.top; -// anchors.right: slide.right; -// anchors.bottomMargin: height; - label: pressed ? "Remove Effect" : "Zoom Effect"; - width: height * 4; - height: parent.height * 0.1 - } - -} diff --git a/experimental/qt5-intro-android/CanvasSlide.qml b/experimental/qt5-intro-android/CanvasSlide.qml deleted file mode 100644 index 6bd97ff..0000000 --- a/experimental/qt5-intro-android/CanvasSlide.qml +++ /dev/null @@ -1,158 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt 5 launch demo. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import QtQuick.Particles 2.0 -import "presentation" - -Slide { - id: slide - - title: "Qt Quick - Canvas" - - shouldTimeout: false - - Rectangle { - height: parent.height - width: parent.width * 0.45 - anchors.right: parent.right; - antialiasing: true - radius: slide.height * 0.03; - color: Qt.rgba(0.0, 0.0, 0.0, 0.2); - Canvas { - id:canvas - anchors.fill: parent; - - renderTarget: Canvas.Image; - antialiasing: true; - onPaint: { - eval(editor.text); - } - } - } - - Rectangle { - height: parent.height - width: parent.width * 0.45 - anchors.left: parent.left - antialiasing: true - radius: slide.height * 0.03; - color: Qt.rgba(0.0, 0.0, 0.0, 0.2); - - clip: true; - - TextEdit { - id: editor - anchors.fill: parent; - anchors.margins: 10 - - font.pixelSize: 16 - color: "white" - font.family: "courier" - font.bold: true - - text: -"var ctx = canvas.getContext('2d'); -ctx.save(); -ctx.clearRect(0, 0, canvas.width, canvas.height); -ctx.strokeStyle = 'palegreen' -ctx.fillStyle = 'limegreen'; -ctx.lineWidth = 5; - -ctx.beginPath(); -ctx.moveTo(100, 100); -ctx.lineTo(300, 100); -ctx.lineTo(100, 200); -ctx.closePath(); -ctx.fill(); -ctx.stroke(); - -ctx.fillStyle = 'aquamarine' -ctx.font = '20px sansserif' -ctx.fillText('HTML Canvas API!', 100, 300); -ctx.fillText('Imperative Drawing!', 100, 340); - -ctx.restore(); -" - onTextChanged: canvas.requestPaint(); - - onCursorRectangleChanged: { - emitter.burst(10) - - } - - ParticleSystem { - id: sys1 - running: slide.visible - } - - ImageParticle { - system: sys1 - source: "images/particle.png" - color: "white" - colorVariation: 0.2 - alpha: 0 - } - - Emitter { - id: emitter - system: sys1 - - x: editor.cursorRectangle.x - editor.cursorRectangle.height / 2; - y: editor.cursorRectangle.y - width: editor.cursorRectangle.height - height: editor.cursorRectangle.height - enabled: false - - lifeSpan: 1000 - - velocity: PointDirection { xVariation: 30; yVariation: 30; } - acceleration: PointDirection {xVariation: 30; yVariation: 30; y: 100 } - - endSize: 0 - - size: 4 - sizeVariation: 2 - } - - } - - } -} diff --git a/experimental/qt5-intro-android/DemoMain.qml b/experimental/qt5-intro-android/DemoMain.qml deleted file mode 100644 index 6c3ab5c..0000000 --- a/experimental/qt5-intro-android/DemoMain.qml +++ /dev/null @@ -1,139 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt 5 launch demo. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - -import QtQuick 2.0 -import QtGraphicalEffects 1.0 - -Item { - id: demoMain; - - property bool useDropShadow: true; - property bool useSwirls: true; - property bool useSimpleGradient: false; - property bool autorun: false; - - width: 1280 - height: 720 - - NoisyGradient { - anchors.fill: parent; - gradient: Gradient { - GradientStop { position: 0.0; color: Qt.rgba(0.64 * 0.6, 0.82 * 0.6, 0.15 * 0.6) } - GradientStop { position: 1.0; color: "black" } - } - visible: !parent.useSimpleGradient - } - - Rectangle { - anchors.fill: parent; - gradient: Gradient { - GradientStop { position: 0.0; color: Qt.rgba(0.64, 0.82, 0.15) } - GradientStop { position: 1.0; color: "black" } - } - visible: parent.useSimpleGradient; - } - - Rectangle { - id: colorTable - width: 1 - height: 46 - color: "transparent" - - Column { - spacing: 2 - y: 1 - Rectangle { width: 1; height: 10; color: "white" } - Rectangle { width: 1; height: 10; color: Qt.rgba(0.64 * 1.4, 0.82 * 1.4, 0.15 * 1.4, 1); } - Rectangle { width: 1; height: 10; color: Qt.rgba(0.64, 0.82, 0.15); } - Rectangle { width: 1; height: 10; color: Qt.rgba(0.64 * 0.7, 0.82 * 0.7, 0.15 * 0.7); } - } - - layer.enabled: true - layer.smooth: true - visible: false; - } - - - Swirl - { - x: 0; - width: parent.width - height: Math.min(parent.height, parent.width) * 0.2 - anchors.bottom: parent.bottom; - amplitude: height * 0.2; - colorTable: colorTable; - speed: 0.2; - opacity: 0.3 - visible: parent.useSwirls; - } - - Timer { - interval: 20000 - running: parent.autorun - repeat: true - - onTriggered: { - var from = slides.currentSlide; - var to = from == slides.slides.length - 1 ? 1 : from + 1; - slides.switchSlides(slides.slides[from], slides.slides[to], true); - slides.currentSlide = to; - } - } - - SlideDeck { - id: slides - titleColor: "white" - textColor: "white" - anchors.fill: parent - layer.enabled: parent.useDropShadow - layer.effect: DropShadow { - horizontalOffset: slides.width * 0.005; - verticalOffset: slides.width * 0.005; - radius: 16.0 - samples: 16 - fast: true - color: Qt.rgba(0.0, 0.0, 0.0, 0.7); - } - } - - - -} diff --git a/experimental/qt5-intro-android/EffectsSlide.qml b/experimental/qt5-intro-android/EffectsSlide.qml deleted file mode 100644 index 0355284..0000000 --- a/experimental/qt5-intro-android/EffectsSlide.qml +++ /dev/null @@ -1,203 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt 5 launch demo. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - -import QtQuick 2.0 -import QtGraphicalEffects 1.0 - -import "presentation" - -Slide { - id: slide - - title: "Qt Graphical Effects" - writeInText: "The Qt Graphical Effects module includes a wide range of effects:" - - property real t; - SequentialAnimation on t { - NumberAnimation { from: 0; to: 1; duration: 5000; easing.type: Easing.InOutCubic } - NumberAnimation { from: 1; to: 0; duration: 5000; easing.type: Easing.InOutCubic } - loops: Animation.Infinite - running: slide.visible; - } - - SequentialAnimation { - PropertyAction { target: grid; property: "opacity"; value: 0 } - PauseAnimation { duration: 1500 } - NumberAnimation { target: grid; property: "opacity"; to: 1; duration: 2000; easing.type: Easing.InOutCubic } - running: slide.visible; - } - - Grid { - id: grid; - - opacity: 0; - - width: parent.width - height: parent.height * 0.84 - anchors.bottom: parent.bottom; - - property real cw: width / columns - property real ch: height / rows; - - property int fontSize: slide.baseFontSize * 0.5 - - columns: 4 - rows: 2 - - Item { - width: grid.cw - height: grid.ch - Text { text: "Original"; color: "white"; font.pixelSize: grid.fontSize; anchors.horizontalCenter: noEffect.horizontalCenter } - Image { - id: noEffect; - source: "images/butterfly.png" - width: grid.cw * 0.9 - fillMode: Image.PreserveAspectFit - } - } - - Column { - Glow { - id: glowEffect - radius: 4 - samples: 4 - spread: slide.t - source: noEffect - width: grid.cw * 0.9 - height: width; - Text { text: "Glow"; color: "white"; font.pixelSize: grid.fontSize; anchors.top: parent.top; anchors.horizontalCenter: parent.horizontalCenter; } - } - } - - Column { - InnerShadow { - id: innerShadowEffect - radius: slide.t * 16; - samples: 16 - color: "black" - source: noEffect - width: grid.cw * 0.9 - height: width; - Text { text: "InnerShadow"; color: "white"; font.pixelSize: grid.fontSize; anchors.top: parent.top; anchors.horizontalCenter: parent.horizontalCenter; } - } - } - - Column { - GaussianBlur { - id: blurEffect - radius: slide.t * samples; - samples: 8 - source: noEffect - width: grid.cw * 0.9 - height: width; - Text { text: "GaussianBlur"; color: "white"; font.pixelSize: grid.fontSize; anchors.top: parent.top; anchors.horizontalCenter: parent.horizontalCenter; } - } - } - - Column { - ThresholdMask { - id: thresholdEffect - maskSource: Image { source: "images/fog.png" } - threshold: slide.t * 0.5 + 0.2; - spread: 0.2 - source: noEffect - width: grid.cw * 0.9 - height: width; - Text { text: "ThresholdMask"; color: "white"; font.pixelSize: grid.fontSize; anchors.top: parent.top; anchors.horizontalCenter: parent.horizontalCenter; } - } - } - - Column { - BrightnessContrast { - id: brightnessEffect - brightness: Math.sin(slide.t * 2 * Math.PI) * 0.5; - contrast: Math.sin(slide.t * 4 * Math.PI) * 0.5; - source: noEffect - width: grid.cw * 0.9 - height: width; - Text { text: "BrightnessContrast"; color: "white"; font.pixelSize: grid.fontSize; anchors.top: parent.top; anchors.horizontalCenter: parent.horizontalCenter; } - } - } - - Column { - Colorize { - id: colorizeEffect - hue: slide.t - source: noEffect - width: grid.cw * 0.9 - height: width; - Text { text: "Colorize"; color: "white"; font.pixelSize: grid.fontSize; anchors.top: parent.top; anchors.horizontalCenter: parent.horizontalCenter; } - } - } - - Column { - OpacityMask { - - Item { - id: maskSource; - anchors.fill: parent; - Rectangle { - anchors.fill: parent; - opacity: slide.t; - } - - Text { - text: "Qt 5" - font.pixelSize: parent.height * 0.15 - font.bold: true; - font.underline: true; - anchors.centerIn: parent; - rotation: 70 - } - visible: false; - } - - id: opacityMaskEffect - source: noEffect - maskSource: maskSource; - width: grid.cw * 0.9 - height: width; - Text { text: "OpacityMask"; color: "white"; font.pixelSize: grid.fontSize; anchors.top: parent.top; anchors.horizontalCenter: parent.horizontalCenter; } - } - } - } - -} diff --git a/experimental/qt5-intro-android/ExamplesSlide.qml b/experimental/qt5-intro-android/ExamplesSlide.qml deleted file mode 100644 index dd70c21..0000000 --- a/experimental/qt5-intro-android/ExamplesSlide.qml +++ /dev/null @@ -1,125 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt 5 launch demo. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import "presentation" - -Slide -{ - id: slide - - title: "Qt Quick 2 Interactive Demos" - shouldTimeout: false - - Row { - id: exampleRow - anchors.centerIn: parent - height: parent.height - width: item1.width + spacing * 3 + (item2.visible ? item2.width : 0) + (item3.visible ? item3.width : 0) - - spacing: Math.max(10, (width - 320 * 3) / 2) - - Item { - id: item1 - width: 320 - height: 480 - clip: true - MouseArea { - anchors.fill: parent - - Loader { - id: load1 - } - } - - } - - Item { - id: item2 - width: 320 - height: 480 - visible: masterWidth > masterHeight - clip: true; - MouseArea { - anchors.fill: parent - Loader { - id: load2 - } - } - } - - Item { - id: item3 - width: 320 - height: 480 - visible: masterWidth > masterHeight - clip: true; - MouseArea { - Loader { - id: load3 - } - anchors.fill: parent - } - } - } - - Text { - id: showMore - text: "Rotate the device for more" - color: textColor - anchors.top: exampleRow.bottom - font.family: slides[currentSlide].fontFamily - font.pixelSize: slides[currentSlide].fontSize * 0.6 - visible: masterWidth < masterHeight - anchors.horizontalCenter: parent.horizontalCenter - } - - onVisibleChanged: { - if (visible) { - load1.source = "maroon/Maroon.qml" - load2.source = "samegame/Samegame.qml" - load3.source = "calqlatr/Calqlatr.qml" - } else { - load1.source = "" - load2.source = "" - load3.source = "" - } - } -} diff --git a/experimental/qt5-intro-android/FontSlide.qml b/experimental/qt5-intro-android/FontSlide.qml deleted file mode 100644 index ce98779..0000000 --- a/experimental/qt5-intro-android/FontSlide.qml +++ /dev/null @@ -1,98 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt 5 launch demo. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import "presentation" - -Slide { - id: fontSlide; - title: "Qt Quick - Fonts" - writeInText: "The default font rendering in Qt Quick 2.0 uses distance fields, making\nit possible to do fully transformable text with subpixel positioning and\nsubpixel antialiasing. - -Native font rendering is also an option for applications that want to look native." - - Rectangle { - id: textRoot - anchors.centerIn: parent - anchors.horizontalCenterOffset: parent.width * 0.2 - anchors.verticalCenterOffset: parent.width * 0.1 - - width: 120 - height: 40 - - color: "transparent" - border.color: "white" - border.width: 1 - - Text { - anchors.centerIn: parent - - text: "Awesome!" - color: "white" - - font.pixelSize: 20; - - SequentialAnimation on scale { - NumberAnimation { to: 4; duration: 2508; easing.type: Easing.OutElastic } - NumberAnimation { to: 1; duration: 2508; easing.type: Easing.OutElastic } - PauseAnimation { duration: 1000 } - loops: Animation.Infinite - running: fontSlide.visible - } - - NumberAnimation on rotation { from: 0; to: 360; duration: 10000; loops: Animation.Infinite; easing.type: Easing.InOutCubic; running: fontSlide.visible } - } - } - - ShaderEffectSource { - width: textRoot.width - height: textRoot.height - sourceItem: textRoot - anchors.bottom: parent.bottom; - anchors.left: parent.left; - smooth: false - transformOrigin: Item.BottomLeft; - - visible: true - - scale: 4; - } - -} diff --git a/experimental/qt5-intro-android/NoisyGradient.qml b/experimental/qt5-intro-android/NoisyGradient.qml deleted file mode 100644 index 904f14e..0000000 --- a/experimental/qt5-intro-android/NoisyGradient.qml +++ /dev/null @@ -1,92 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt 5 launch demo. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -ShaderEffect { - - id: effectRoot; - - width: 1280 - height: 720 - - property Gradient gradient: Gradient { - GradientStop { position: 0; color: "white" } - GradientStop { position: 0.4; color: "blue" } - GradientStop { position: 1.0; color: "black" } - } - - Rectangle { - id: colorTable - width: 1 - height: 128; - - gradient: effectRoot.gradient; - - layer.enabled: true - layer.smooth: true - - visible: false; - } - - property variant source: colorTable; - - blending: false; - - fragmentShader:" - #ifdef GL_ES - precision lowp float; - #endif - - uniform lowp sampler2D source; - uniform lowp float qt_Opacity; - varying highp vec2 qt_TexCoord0; - - // Noise function from: http://stackoverflow.com/questions/4200224/random-noise-functions-for-glsl - float rand(vec2 n) { - return 0.5 + 0.5 * fract(sin(dot(n.xy, vec2(12.9898, 78.233))) * 43758.5453); - } - - void main() { - lowp float len = clamp(length(vec2(0.5, 0.0) - qt_TexCoord0), 0.0, 1.0); - gl_FragColor = texture2D(source, vec2(0, len)) * qt_Opacity + rand(qt_TexCoord0) * 0.05; - } -" -} diff --git a/experimental/qt5-intro-android/NormalMapGenerator.qml b/experimental/qt5-intro-android/NormalMapGenerator.qml deleted file mode 100644 index c6f55c7..0000000 --- a/experimental/qt5-intro-android/NormalMapGenerator.qml +++ /dev/null @@ -1,92 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt 5 launch demo. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import QtGraphicalEffects 1.0 - -ShaderEffect { - id: effectRoot; - - property alias source: blurShader.source; - - GaussianBlur - { - id: blurShader; - width: source != undefined ? source.width : 0 - height: source != undefined ? source.height : 0 - samples: 8 - radius: 8 - - layer.enabled: true; - layer.smooth: true; - - visible: false; - } - - width: 256 - height: 128 - - property variant tex: blurShader; - property size pixelSize: Qt.size(1 / blurShader.width, 1 / blurShader.height); - - fragmentShader: " - #ifdef GL_ES - precision lowp float; - #endif - - uniform lowp float qt_Opacity; - uniform lowp sampler2D tex; - uniform highp vec2 pixelSize; - varying highp vec2 qt_TexCoord0; - void main() { - - lowp vec2 xps = vec2(pixelSize.x, 0.0); - vec3 vx = vec3(1, 0, texture2D(tex, qt_TexCoord0 + xps).x - texture2D(tex, qt_TexCoord0 - xps).x); - - lowp vec2 yps = vec2(0.0, pixelSize.y); - vec3 vy = vec3(0, 1, texture2D(tex, qt_TexCoord0 + yps).x - texture2D(tex, qt_TexCoord0 - yps).x); - - vec3 n = normalize(cross(vx, vy)) * 0.5 + 0.5; - - gl_FragColor = vec4(n, 1); - } - " - -} diff --git a/experimental/qt5-intro-android/OpacityTransitionPresentation.qml b/experimental/qt5-intro-android/OpacityTransitionPresentation.qml deleted file mode 100644 index 1573c66..0000000 --- a/experimental/qt5-intro-android/OpacityTransitionPresentation.qml +++ /dev/null @@ -1,104 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt 5 launch demo. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - -import QtQuick 2.0 -import "presentation" - -Presentation { - - id: deck - - width: 1280 - height: 720 - - property bool inTransition: false; - - property variant fromSlide; - property variant toSlide; - - property int transitionTime: 500; - - SequentialAnimation { - id: forwardTransition - PropertyAction { target: deck; property: "inTransition"; value: true } - PropertyAction { target: toSlide; property: "visible"; value: true } - ParallelAnimation { - NumberAnimation { target: fromSlide; property: "opacity"; from: 1; to: 0; duration: deck.transitionTime; easing.type: Easing.OutQuart } - NumberAnimation { target: fromSlide; property: "scale"; from: 1; to: 1.1; duration: deck.transitionTime; easing.type: Easing.InOutQuart } - NumberAnimation { target: toSlide; property: "opacity"; from: 0; to: 1; duration: deck.transitionTime; easing.type: Easing.InQuart } - NumberAnimation { target: toSlide; property: "scale"; from: 0.7; to: 1; duration: deck.transitionTime; easing.type: Easing.InOutQuart } - } - PropertyAction { target: fromSlide; property: "visible"; value: false } - PropertyAction { target: fromSlide; property: "scale"; value: 1 } - PropertyAction { target: deck; property: "inTransition"; value: false } - } - SequentialAnimation { - id: backwardTransition - running: false - PropertyAction { target: deck; property: "inTransition"; value: true } - PropertyAction { target: toSlide; property: "visible"; value: true } - ParallelAnimation { - NumberAnimation { target: fromSlide; property: "opacity"; from: 1; to: 0; duration: 1; easing.type: Easing.OutQuart } - NumberAnimation { target: fromSlide; property: "scale"; from: 1; to: 0.7; duration: 1; easing.type: Easing.InOutQuart } - NumberAnimation { target: toSlide; property: "opacity"; from: 0; to: 1; duration: 1; easing.type: Easing.InQuart } - NumberAnimation { target: toSlide; property: "scale"; from: 1.1; to: 1; duration: 1; easing.type: Easing.InOutQuart } - } - PropertyAction { target: fromSlide; property: "visible"; value: false } - PropertyAction { target: fromSlide; property: "scale"; value: 1 } - PropertyAction { target: deck; property: "inTransition"; value: false } - } - - function switchSlides(from, to, forward) - { - if (deck.inTransition) - return false - - deck.fromSlide = from - deck.toSlide = to - - if (forward) - forwardTransition.running = true - else - backwardTransition.running = true - - return true - } -} diff --git a/experimental/qt5-intro-android/ParticleSlide.qml b/experimental/qt5-intro-android/ParticleSlide.qml deleted file mode 100644 index 4dadcae..0000000 --- a/experimental/qt5-intro-android/ParticleSlide.qml +++ /dev/null @@ -1,87 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt 5 launch demo. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import "presentation" - -Slide -{ - id: slide - - title: "Qt Quick - Particle System" - shouldTimeout: false - - Row { - anchors.fill: parent - - SequentialAnimation on opacity { - running: slide.visible; - PropertyAction { value: 0 } - PauseAnimation { duration: 2000; } - NumberAnimation { to: 1; duration: 1000 } - } - - spacing: (width - 320 * 3) / 2 - - Loader { - id: load1 - } - - Loader { - id: load2 - } - - Loader { - id: load3 - } - } - - onVisibleChanged: { - if (visible) { - load1.source = "particles/velocityfrommotion.qml" - load2.source = "particles/customemitter.qml" - load3.source = "particles/emitmask.qml" - } else { - load1.source = "" - load2.source = "" - load3.source = "" - } - } -} diff --git a/experimental/qt5-intro-android/README b/experimental/qt5-intro-android/README deleted file mode 100644 index c182593..0000000 --- a/experimental/qt5-intro-android/README +++ /dev/null @@ -1,51 +0,0 @@ -This project contains quick tour of Qt 5.0, primarily focusing on its -graphical capabilities. - - - ------------------------------------------------------------------------- - Requirements: - - - Qt 5, including QtDeclarative, QtGraphicalEffects and QtMultimedia. - Commercial URL: http://www.qt.io - Open Source URL: http://qt-project.org - - - The QML Presentation System: - URL: https://qt.gitorious.org/qt-labs/qml-presentation-system - git: git clone https://git.gitorious.org/qt-labs/qml-presentation-system.git - - - A movie file called 'bunny.mov' in the same directory as the - main.qml file. The demo will run without, but the Video slide will - not show anything. - - - ------------------------------------------------------------------------- - Running: - -To run the demo, start it using the Qt Quick 2.0 'qmlscene' tool. - -> qmlscene main.qml - -The demo includes a slightly fancy fullscreen gradient and a rather -computationally intensive drop shadow which can be too much for -low-end GPUs. On these systems, one could try to use the 'lofi' -launcher instead. - -> qmlscene main_lofi.qml - -It is possible to tweak the parameters of the main file also. - - - ------------------------------------------------------------------------- - Troubleshooting: - -For a -developer-build of Qt, the webkit plugin and QtWebProcess will -be located inside the qtwebkit module, rather than inside QtBase, the plugin -must be added to the QML import path and the path to QtWebProcess must be -added to PATH for the demo to run. - -The slides have been written for the resolution 1280x720. When resized -some of the spacing and content will look a bit odd. Any patches to -fix this will be welcomed :) diff --git a/experimental/qt5-intro-android/ShaderSlide.qml b/experimental/qt5-intro-android/ShaderSlide.qml deleted file mode 100644 index 52a9247..0000000 --- a/experimental/qt5-intro-android/ShaderSlide.qml +++ /dev/null @@ -1,197 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt 5 launch demo. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import "presentation" - - -Slide { - id: slide - - title: "Qt Quick - ShaderEffect" - - writeInText: "Harness the raw power of the graphics processor. The ShaderEffect\nelement lets you write GLSL inline in your QML files." - - Image { - id: sourceItem - source: "images/ally.png" - visible: false - } - - SequentialAnimation { - id: kickoffAnimation - - // setup - PropertyAction { target: rotationAnimation; property: "running"; value: false } - PropertyAction { target: timeAnimation; property: "running"; value: false } - PropertyAction { target: shader; property: "amp"; value: 0 } - PropertyAction { target: shader; property: "xrot"; value: 0 } - PropertyAction { target: shader; property: "zrot"; value: 0 } - PropertyAction { target: shader; property: "time"; value: 0 } - PropertyAction { target: shader; property: "scale"; value: 1; } - PropertyAction { target: rotationAnimation; property: "running"; value: false } - PropertyAction { target: timeAnimation; property: "running"; value: false } - // short pause - PauseAnimation { duration: 2000 } - // get started... - ParallelAnimation { - NumberAnimation { target: shader; property: "xrot"; to: 2 * Math.PI / 8; duration: 1000; easing.type: Easing.InOutCubic } - NumberAnimation { target: shader; property: "amp"; to: 0.1; duration: 1000; easing.type: Easing.InOutCubic } -// NumberAnimation { target: shader; property: "scale"; to: 1.5; duration: 1000; easing.type: Easing.InOutCubic } - PropertyAction { target: rotationAnimation; property: "running"; value: true } - PropertyAction { target: timeAnimation; property: "running"; value: true } - } - - running: slide.visible; - } - - - ShaderEffect { - id: shader - width: height - height: Math.min(parent.height, parent.width) - anchors.centerIn: parent; - anchors.verticalCenterOffset: Math.min(slide.height, slide.width) * 0.1 - - blending: true - - mesh: "50x50" - - property variant size: Qt.size(width, height); - - property variant source: sourceItem; - - property real amp: 0 - - property real xrot: 0; // 2 * Math.PI / 8; -// NumberAnimation on xrot { from: 0; to: Math.PI * 2; duration: 3000; loops: Animation.Infinite } - - property real zrot: 0 - NumberAnimation on zrot { - id: rotationAnimation - from: 0; - to: Math.PI * 2; - duration: 20000; - loops: Animation.Infinite - easing.type: Easing.InOutCubic - running: false; - } - - property real time: 0 - NumberAnimation on time { - id: timeAnimation - from: 0; - to: Math.PI * 2; - duration: 3457; - loops: Animation.Infinite - running: false; - } - - vertexShader: " - attribute highp vec4 qt_Vertex; - attribute highp vec2 qt_MultiTexCoord0; - uniform highp mat4 qt_Matrix; - uniform highp float xrot; - uniform highp float zrot; - uniform highp vec2 size; - uniform highp float time; - uniform highp float amp; - varying lowp vec2 v_TexCoord; - varying lowp float v_light; - void main() { - highp float xcosa = cos(xrot); - highp float xsina = sin(xrot); - - highp mat4 xrot = mat4(1, 0, 0, 0, - 0, xcosa, xsina, 0, - 0, -xsina, xcosa, 0, - 0, 0, 0, 1); - - highp float zcosa = cos(zrot); - highp float zsina = sin(zrot); - - highp mat4 zrot = mat4(zcosa, zsina, 0, 0, - -zsina, zcosa, 0, 0, - 0, 0, 1, 0, - 0, 0, 0, 1); - - highp float near = 2.; - highp float far = 6.; - highp float fmn = far - near; - - highp mat4 proj = mat4(near, 0, 0, 0, - 0, near, 0, 0, - 0, 0, -(far + near) / fmn, -1., - 0, 0, -2. * far * near / fmn, 1); - - highp mat4 model = mat4(2, 0, 0, 0, - 0, 2, 0, 0, - 0, 0, 2, 0, - 0, -.5, -4, 1); - - vec4 nLocPos = vec4(qt_Vertex.xy * 2.0 / size - 1.0, 0, 1); - nLocPos.z = cos(nLocPos.x * 5. + time) * amp; - - vec4 pos = proj * model * xrot * zrot * nLocPos; - pos = vec4(pos.xyx/pos.w, 1); - - gl_Position = qt_Matrix * vec4((pos.xy + 1.0) / 2.0 * size , 0, 1); - - v_TexCoord = qt_MultiTexCoord0; - - - v_light = dot(normalize(vec3(-sin(nLocPos.x * 5.0 + time) * 5.0 * amp, 0, -1)), vec3(0, 0, -1)); - } - " - - fragmentShader: " - uniform lowp sampler2D source; - uniform lowp float qt_Opacity; - varying highp vec2 v_TexCoord; - varying lowp float v_light; - void main() { - highp vec4 c = texture2D(source, v_TexCoord); - gl_FragColor = (vec4(pow(v_light, 16.0)) * 0.3 + c) * qt_Opacity; - } - " - - } - -} diff --git a/experimental/qt5-intro-android/SlideDeck.qml b/experimental/qt5-intro-android/SlideDeck.qml deleted file mode 100644 index bfe508a..0000000 --- a/experimental/qt5-intro-android/SlideDeck.qml +++ /dev/null @@ -1,254 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt 5 launch demo. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - -import QtQuick 2.0 -import QtGraphicalEffects 1.0 - -import "presentation" - -OpacityTransitionPresentation { - id: presentation - - width: 1280 - height: 720 - - transitionTime: 1000 - - - /******************************************************************************** - * - * Introduction - * - */ - -/* - Rectangle { - id: openingSlideBlackout - color: "black" - anchors.fill: parent; - Behavior on opacity { NumberAnimation { duration: 1000 } } - } - - onCurrentSlideChanged: { - if (currentSlide < 2) - openingSlideBlackout.opacity = 1; - else - openingSlideBlackout.opacity = 0; - } - - - Slide { - - } -*/ - - Slide { - id: introSlide - - centeredText: "The following is a quick tour of what is new in Qt 5. - -It is an application written with Qt Quick, based on Qt 5." - - + (masterWidth < masterHeight ? " - -For an optimal experience, try watching it in the landscape orientation. - -" : " ") - -+ "We hope you will enjoy Qt 5 as much as we have enjoyed creating it. - -[tap to advance]" - -// Image { -// source: "images/qt-logo.png" -// opacity: 0.4 -// z: -1 -// anchors.centerIn: parent -// } - } - - Slide { - centeredText: "Introducing" - fontScale: 2 - timeout: 2000 - } - - Slide { - centeredText: "Qt 5" - fontScale: 4; - timeout: 2000 - } - - - Slide { - writeInText: "OpenGL-based scene graph for Qt Quick 2.0 - providing velvet animations, particles and impressive graphical effects - -Multimedia support - -Preliminary support for Android and iOS" - } - - Slide { - writeInText: "C++ language features - template-based connect(), C++11 support - -Connectivity and Networking - DNS lookup, improved IPv6 support - -JSON Support - Fast parser and writer, binary format support" - } - - Slide { - writeInText: "Modularization of the Qt libraries - sanitizing our codebase and simplifying deployment - -Qt Platform Abstraction - Unifying the Qt codebase across platforms, minimizing the porting effort for new platforms - -Wayland support - Wayland-compatible Qt backend and compositor framework" - } - - Slide { - title: "Qt for Android" - writeInText: - " -Qt 5.1 allows you to write Android apps using Qt Quick or Qt Widgets. - -We support QML media player functionality, as well as a set of commonly used sensors in QtSensors. - -With Qt Creator you can develop your apps, deploy them directly to a device, and debug them on the device. - " - } - - Slide { - writeInText: - "For this preliminary release, we are focusing on the developer experience, working to enable Qt developers to easily run and test their applications on Android devices. - -You can easily deploy your app to an app store with Qt 5.1, but we recommend waiting until Qt 5.2 for an even smoother experience." - } - - - /******************************************************************************** - * - * Qt Quick Graphics Stack - * - */ - ExamplesSlide { } - - FontSlide { } - // CanvasSlide { } - ParticleSlide { } - ShaderSlide { } - - - - /******************************************************************************** - * - * Qt Graphical Effects - * - */ - - EffectsSlide {} - -// /******************************************************************************** -// * -// * Multimedia -// * -// */ - -// Slide { -// title: "Qt Multimedia" -// writeInText: "The Qt Multimedia module is implemented on all our major platforms, including Windows, Mac OS X and Linux. - -//It contains both a C++ API for use with existing Qt Widgets based applications and a QML API for use with Qt Quick 2.0. - -//The features include recording and playback of video and audio and also use of camera. - -//It also integrates nicely with the Qt Graphical Effects module." -// } - - VideoSlide { } -// CameraSlide { } - - - - - /******************************************************************************** - * - * WebKit - * - */ - -// WebkitSlide { } - - - - /******************************************************************************** - * - * The End - * - */ - - Slide { - title: "Links" - contentFormat: Text.RichText - content: [ - "Qt Project: qt-project.org", - "Qt by Digia: www.qt.io", - "Follow us on Twitter", - " @QtProject", - " @QtByDigia", - "Find us on Facebook:", - " Qt Project", - " Qt by Digia", - ]; - - Image { - z: -1 - opacity: 0.7 - source: "images/qt-logo.png" - width: parent.width / 3 - anchors.top: parent.top - anchors.right: parent.right - anchors.rightMargin: parent.width * 0.15 - fillMode: Image.PreserveAspectFit - visible: parent.masterWidth > parent.masterHeight - } - - } - -} diff --git a/experimental/qt5-intro-android/Swirl.qml b/experimental/qt5-intro-android/Swirl.qml deleted file mode 100644 index 710f04b..0000000 --- a/experimental/qt5-intro-android/Swirl.qml +++ /dev/null @@ -1,116 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt 5 launch demo. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -ShaderEffect { - id: shader - - width: 400 - height: 300 - - property real speed: 1 - - property color d: Qt.rgba(Math.random() * 0.7, - Math.random() * 0.5, - Math.random() * 0.7, - Math.random() * 0.5) - property real tx - NumberAnimation on tx { from: 0; to: Math.PI * 2; duration: (Math.random() * 30 + 30) * 1000 / speed; loops: Animation.Infinite } - property real ty - NumberAnimation on ty { from: 0; to: Math.PI * 2; duration: (Math.random() * 30 + 30) * 1000 / speed; loops: Animation.Infinite } - property real tz - NumberAnimation on tz { from: 0; to: Math.PI * 2; duration: (Math.random() * 30 + 30) * 1000 / speed; loops: Animation.Infinite } - property real tw - NumberAnimation on tw { from: 0; to: Math.PI * 2; duration: (Math.random() * 30 + 30) * 1000 / speed; loops: Animation.Infinite } - - property real amplitude: height / 2 - - property variant colorTable: ShaderEffectSource { sourceItem: Rectangle { width: 4; height: 4; color: "green" } } - - fragmentShader: " - uniform lowp float qt_Opacity; - uniform lowp sampler2D colorTable; - varying highp vec2 qt_TexCoord0; - varying lowp float xx; - - void main() { - gl_FragColor = texture2D(colorTable, qt_TexCoord0); - gl_FragColor.xyz += xx * 0.1; - gl_FragColor *= qt_Opacity; - } - " - - vertexShader: " - uniform lowp vec4 d; - uniform highp float tx; - uniform highp float ty; - uniform highp float tz; - uniform highp float tw; - uniform highp float amplitude; - uniform highp mat4 qt_Matrix; - attribute highp vec4 qt_Vertex; - attribute highp vec2 qt_MultiTexCoord0; - varying highp vec2 qt_TexCoord0; - varying lowp float xx; - void main() { - highp vec4 pos = qt_Vertex; - - highp float y = sin(-tx + d.x * qt_MultiTexCoord0.x * 57. + 12. * d.y) - + sin(ty * 2.0 + d.z * qt_MultiTexCoord0.x * 21. + 5. * d.w) - + sin(tz * 4.0 + d.y * qt_MultiTexCoord0.x * 13. + 7.0 * d.x) - + sin(-ty * 8.0 + d.w * qt_MultiTexCoord0.x * 29. + 15. * d.z); - highp float x = sin(-tx + d.x * qt_MultiTexCoord0.x * 213. + 15. * d.y) - + sin(ty * 2.0 + d.z * qt_MultiTexCoord0.x * 107. + 12. * d.w) - + sin(tz * 4.0 + d.y * qt_MultiTexCoord0.x * 13. + 5. * d.x) - + sin(-ty * 8.0 + d.w * qt_MultiTexCoord0.x * 15. + 7. * d.z); - xx = x; - - pos.xy += vec2(x * sin(qt_MultiTexCoord0.x * 3.14152) * 0.3, - y * (1.0 - qt_MultiTexCoord0.y)) * amplitude; - - gl_Position = qt_Matrix * pos; - qt_TexCoord0 = qt_MultiTexCoord0; - } - " - - mesh: GridMesh { resolution: Qt.size(width / 10, 4) } - -} diff --git a/experimental/qt5-intro-android/VideoSlide.qml b/experimental/qt5-intro-android/VideoSlide.qml deleted file mode 100644 index 51d70d0..0000000 --- a/experimental/qt5-intro-android/VideoSlide.qml +++ /dev/null @@ -1,123 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt 5 launch demo. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import QtMultimedia 5 -import "presentation" - -import QtGraphicalEffects 1.0 - -Slide { - - id: slide - - title: "Qt Multimedia - Video" - focus: true - shouldTimeout: false - - Video { - id: video - - anchors.fill: parent - source: videoPath - autoLoad: true - volume: presentation.masterVolume - - layer.enabled: true; - layer.smooth: true; - layer.effect: Displace { - displacementSource: normalMap - displacement: button.pressed ? 1.0 : 0.0 - Behavior on displacement { - NumberAnimation { duration: 1000 } - } - } - } - - Rectangle { - id: theItem; - width: 256 - height: 128 - color: "transparent" - Text { - id: label - color: "white" - text: "Qt 5" -// font.family: "Times New Roman" - font.bold: true; - font.pixelSize: 80 - anchors.centerIn: parent - } - visible: false; - } - - Keys.onPressed: { - console.debug("abc: " + event.key) - } - - NormalMapGenerator { - anchors.left: theItem.right - width: 256 - height: 128 - id: normalMap - source: theItem; - visible: false - } - - centeredText: video.hasVideo ? "" : "'" + video.source + "' is not found or cannot be played: " + video.errorString - - onVisibleChanged: { - if (slide.visible) - video.play(); - else - video.pause(); - } - - Button { - id: button - anchors.bottom: video.bottom - anchors.horizontalCenter: video.horizontalCenter - anchors.bottomMargin: height / 2; - label: pressed ? "Remove Effect" : "Displacement Effect"; - width: height * 4; - height: parent.height * 0.1 - } - -} diff --git a/experimental/qt5-intro-android/WebKitSlideContent.qml b/experimental/qt5-intro-android/WebKitSlideContent.qml deleted file mode 100644 index 3ba87c7..0000000 --- a/experimental/qt5-intro-android/WebKitSlideContent.qml +++ /dev/null @@ -1,124 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: For any questions to Digia, please use the contact form at -** http://www.qt.io -** -** This file is part of the examples of the Qt Enterprise Embedded. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -import QtQuick 2.0 -import QtQuick.Particles 2.0 -import QtWebKit 3.0 - -Item { - id: slide - - anchors.fill: parent; - - WebView { - id: browser - anchors.fill: parent - url: editor.text - - // This works around rendering bugs in webkit. CSS animations - // and webGL content gets a bad offset, but this hack - // clips it so it is not visible. Not ideal, but it kinda works - // for now. - layer.enabled: true - layer.smooth: true - } - - Rectangle { - border.width: 2 - border.color: "black" - opacity: 0.5 - color: "black" - anchors.fill: editor - anchors.margins: -editor.height * 0.2; - - radius: -anchors.margins - antialiasing: true - } - - TextInput { - id: editor - anchors.top: browser.bottom; - anchors.horizontalCenter: browser.horizontalCenter - font.pixelSize: slide.height * 0.05; - text: "http://www.qt.io" - onAccepted: browser.reload(); - color: "white" - - onCursorPositionChanged: { - var rect = positionToRectangle(cursorPosition); - emitter.x = rect.x; - emitter.y = rect.y; - emitter.width = rect.width; - emitter.height = rect.height; - emitter.burst(10); - } - - ParticleSystem { - id: sys1 - running: slide.visible - } - - ImageParticle { - system: sys1 - source: "images/particle.png" - color: "white" - colorVariation: 0.2 - alpha: 0 - } - - Emitter { - id: emitter - system: sys1 - - enabled: false - - lifeSpan: 2000 - - velocity: PointDirection { xVariation: 30; yVariation: 30; } - acceleration: PointDirection {xVariation: 30; yVariation: 30; y: 100 } - - endSize: 0 - - size: 8 - sizeVariation: 2 - } - } - -} diff --git a/experimental/qt5-intro-android/WebkitSlide.qml b/experimental/qt5-intro-android/WebkitSlide.qml deleted file mode 100644 index d016d96..0000000 --- a/experimental/qt5-intro-android/WebkitSlide.qml +++ /dev/null @@ -1,59 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: For any questions to Digia, please use the contact form at -** http://www.qt.io -** -** This file is part of the examples of the Qt Enterprise Embedded. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -import QtQuick 2.0 -import "presentation" - -Slide { - id: slide - - title: "Qt WebKit - WebView" - - Loader { - id: webkitLoader - - anchors.fill: parent - - source: "WebKitSlideContent.qml" - } - - centeredText: webkitLoader.status == Loader.Error ? "Qt WebKit not installed or otherwise failed to load" : "" -} - diff --git a/experimental/qt5-intro-android/WidgetsSlide.qml b/experimental/qt5-intro-android/WidgetsSlide.qml deleted file mode 100644 index 20f0770..0000000 --- a/experimental/qt5-intro-android/WidgetsSlide.qml +++ /dev/null @@ -1,152 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt 5 launch demo. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import "presentation" - -Slide { - id: slide - - writeInText: "The Qt Widgets are working better than ever with accessibility\nimprovements and retina display support." - - property int slamTime: 800; - property int waitTime: 500; - - y: parent.height * 0.1 - - SequentialAnimation { - id: widgetAnimation - ScriptAction { script: { - boxesImage.opacity = 0; - mainwindowsImage.opacity = 0; - chipsWindow.opacity = 0; - stylesWindow.opacity = 0; - } - } - PauseAnimation { duration: 3000 } - ParallelAnimation { - NumberAnimation { target: boxesImage; property: "opacity"; from: 0; to: 1; duration: slide.slamTime; easing.type: Easing.OutBack } - NumberAnimation { target: boxesImage; property: "rotation"; from: 20; to: 10; duration: slide.slamTime; easing.type: Easing.OutBack } - NumberAnimation { target: boxesImage; property: "scale"; from: 2; to: 1.5; duration: slide.slamTime; easing.type: Easing.OutBack } - } - PauseAnimation { duration: slide.waitTime } - ParallelAnimation { - NumberAnimation { target: mainwindowsImage; property: "opacity"; from: 0; to: 1; duration: slide.slamTime; easing.type: Easing.OutBack } - NumberAnimation { target: mainwindowsImage; property: "rotation"; from: -35; to: -20; duration: slide.slamTime; easing.type: Easing.OutBack} - NumberAnimation { target: mainwindowsImage; property: "scale"; from: 2; to: 1.5; duration: slide.slamTime; easing.type: Easing.OutBack } - } - PauseAnimation { duration: slide.waitTime } - ParallelAnimation { - NumberAnimation { target: chipsWindow; property: "opacity"; from: 0; to: 1; duration: slide.slamTime; easing.type: Easing.InOutCubic } - NumberAnimation { target: chipsWindow; property: "rotation"; from: 10; to: 25; duration: slide.slamTime; easing.type: Easing.OutBack} - NumberAnimation { target: chipsWindow; property: "scale"; from: 2.5; to: 1.6; duration: slide.slamTime; easing.type: Easing.OutBack } - } - PauseAnimation { duration: slide.waitTime } - ParallelAnimation { - NumberAnimation { target: stylesWindow; property: "opacity"; from: 0; to: 1; duration: slide.slamTime; easing.type: Easing.InOutCubic } - NumberAnimation { target: stylesWindow; property: "rotation"; from: 30; to: -15; duration: slide.slamTime; easing.type: Easing.OutBack} - NumberAnimation { target: stylesWindow; property: "scale"; from: 1.8; to: 1.4; duration: slide.slamTime; easing.type: Easing.OutBack } - } - running: false - } - - onVisibleChanged: { - widgetAnimation.running = slide.visible; - } - - Row { - x: slide.width * 0.05 - y: slide.height * 0.65; - width: parent.width - Image { - id: boxesImage; - source: "images/widgets_boxes.png" - fillMode: Image.PreserveAspectFit - width: slide.width * .2 - antialiasing: true - opacity: 0; - y: -slide.height * 0.2 - rotation: 10 - scale: 1.5; - } - Image { - id: mainwindowsImage - source: "images/widgets_mainwindows.png" - fillMode: Image.PreserveAspectFit - width: slide.width * .2 - antialiasing: true - opacity: 0 - } - Image { - id: chipsWindow - source: "images/widgets_chips.png" - fillMode: Image.PreserveAspectFit - width: slide.width * .2 - x: slide.width * -0.05 - y: -slide.height * 0.2 - antialiasing: true - opacity: 0 - } - - Image { - id: stylesWindow - source: "images/widgets_styles_fusion.png" - fillMode: Image.PreserveAspectFit - width: slide.width * .2 - - x: slide.width * 1 - y: -slide.height * 0.1 - antialiasing: true - opacity: 0 - - Image { - source: "images/widgets_styles_macstyle.png" - fillMode: Image.PreserveAspectFit - width: slide.width * .2 - - x: parent.width * 0.3 - y: parent.width * 0.1 - rotation: -20 - antialiasing: true - } - } - } -} - diff --git a/experimental/qt5-intro-android/android.pro b/experimental/qt5-intro-android/android.pro deleted file mode 100644 index 8de4a94..0000000 --- a/experimental/qt5-intro-android/android.pro +++ /dev/null @@ -1,159 +0,0 @@ -TARGET = qt5launchdemo -QT += quick multimedia sql - -SOURCES += \ - main.cpp - -RESOURCES += \ - main.qrc - -OTHER_FILES += \ - calqlatr/Calqlatr.qml \ - calqlatr/content/Button.qml \ - calqlatr/content/StyleLabel.qml \ - calqlatr/content/NumberPad.qml \ - calqlatr/content/Display.qml \ - calqlatr/content/calculator.js \ - calqlatr/content/audio/touch.wav \ - calqlatr/content/images/touch-white.png \ - calqlatr/content/images/touch-green.png \ - calqlatr/content/images/settings-selected-b.png \ - calqlatr/content/images/settings-selected-a.png \ - calqlatr/content/images/paper-grip.png \ - calqlatr/content/images/paper-edge-right.png \ - calqlatr/content/images/paper-edge-left.png \ - calqlatr/content/images/logo.png \ - calqlatr/content/images/icon-settings.png \ - calqlatr/content/images/icon-close.png \ - calqlatr/content/images/icon-back.png \ - images/widgets_styles_macstyle.png \ - images/widgets_styles_fusion.png \ - images/widgets_mainwindows.png \ - images/widgets_chips.png \ - images/widgets_boxes.png \ - images/qt-logo.png \ - images/particle.png \ - images/fog.png \ - images/displace.png \ - images/butterfly.png \ - images/ally.png \ - maroon/Maroon.qml \ - maroon/content/SoundEffect.qml \ - maroon/content/NewGameScreen.qml \ - maroon/content/InfoBar.qml \ - maroon/content/GameOverScreen.qml \ - maroon/content/GameCanvas.qml \ - maroon/content/BuildButton.qml \ - maroon/content/logic.js \ - android/res/values-zh-rTW/strings.xml \ - android/res/values-et/strings.xml \ - android/res/values-nb/strings.xml \ - android/res/values-ro/strings.xml \ - android/res/values/libs.xml \ - android/res/values/strings.xml \ - android/res/layout/splash.xml \ - android/res/values-fr/strings.xml \ - android/res/values-pl/strings.xml \ - android/res/values-ja/strings.xml \ - android/res/values-el/strings.xml \ - android/res/values-pt-rBR/strings.xml \ - android/res/values-es/strings.xml \ - android/res/values-ms/strings.xml \ - android/res/values-id/strings.xml \ - android/res/values-fa/strings.xml \ - android/res/values-zh-rCN/strings.xml \ - android/res/values-de/strings.xml \ - android/res/values-it/strings.xml \ - android/res/values-rs/strings.xml \ - android/res/values-ru/strings.xml \ - android/res/values-nl/strings.xml \ - android/version.xml \ - android/AndroidManifest.xml \ - android/src/org/qtproject/qt5/android/bindings/QtActivity.java \ - android/src/org/qtproject/qt5/android/bindings/QtApplication.java \ - android/src/org/kde/necessitas/ministro/IMinistro.aidl \ - android/src/org/kde/necessitas/ministro/IMinistroCallback.aidl \ - android/res/values-zh-rTW/strings.xml \ - android/res/values-et/strings.xml \ - android/res/values-nb/strings.xml \ - android/res/values-ro/strings.xml \ - android/res/values/libs.xml \ - android/res/values/strings.xml \ - android/res/layout/splash.xml \ - android/res/values-fr/strings.xml \ - android/res/values-pl/strings.xml \ - android/res/values-ja/strings.xml \ - android/res/values-el/strings.xml \ - android/res/values-pt-rBR/strings.xml \ - android/res/values-es/strings.xml \ - android/res/values-ms/strings.xml \ - android/res/values-id/strings.xml \ - android/res/values-fa/strings.xml \ - android/res/values-zh-rCN/strings.xml \ - android/res/values-de/strings.xml \ - android/res/values-it/strings.xml \ - android/res/values-rs/strings.xml \ - android/res/values-ru/strings.xml \ - android/res/values-nl/strings.xml \ - android/version.xml \ - android/AndroidManifest.xml \ - android/src/org/qtproject/qt5/android/bindings/QtActivity.java \ - android/src/org/qtproject/qt5/android/bindings/QtApplication.java \ - android/src/org/kde/necessitas/ministro/IMinistro.aidl \ - android/src/org/kde/necessitas/ministro/IMinistroCallback.aidl \ - android/res/values-zh-rTW/strings.xml \ - android/res/values-et/strings.xml \ - android/res/values-nb/strings.xml \ - android/res/values-ro/strings.xml \ - android/res/values/libs.xml \ - android/res/values/strings.xml \ - android/res/layout/splash.xml \ - android/res/values-fr/strings.xml \ - android/res/values-pl/strings.xml \ - android/res/values-ja/strings.xml \ - android/res/values-el/strings.xml \ - android/res/values-pt-rBR/strings.xml \ - android/res/values-es/strings.xml \ - android/res/values-ms/strings.xml \ - android/res/values-id/strings.xml \ - android/res/values-fa/strings.xml \ - android/res/values-zh-rCN/strings.xml \ - android/res/values-de/strings.xml \ - android/res/values-it/strings.xml \ - android/res/values-rs/strings.xml \ - android/res/values-ru/strings.xml \ - android/res/values-nl/strings.xml \ - android/version.xml \ - android/AndroidManifest.xml \ - android/src/org/qtproject/qt5/android/bindings/QtActivity.java \ - android/src/org/qtproject/qt5/android/bindings/QtApplication.java \ - android/src/org/kde/necessitas/ministro/IMinistro.aidl \ - android/src/org/kde/necessitas/ministro/IMinistroCallback.aidl \ - description.txt \ - README \ - preview_l.jpg \ - WidgetsSlide.qml \ - WebKitSlideContent.qml \ - WebkitSlide.qml \ - VideoSlide.qml \ - Swirl.qml \ - SlideDeck.qml \ - ShaderSlide.qml \ - ParticleSlide.qml \ - OpacityTransitionPresentation.qml \ - NormalMapGenerator.qml \ - NoisyGradient.qml \ - main.qml \ - main_hifi.qml \ - FontSlide.qml \ - ExamplesSlide.qml \ - EffectsSlide.qml \ - DemoMain.qml \ - CanvasSlide.qml \ - CameraSlide.qml \ - Button.qml \ - presentation/SlideCounter.qml \ - presentation/Slide.qml \ - presentation/Presentation.qml \ - presentation/CodeSlide.qml \ - presentation/Clock.qml diff --git a/experimental/qt5-intro-android/android/AndroidManifest.xml b/experimental/qt5-intro-android/android/AndroidManifest.xml deleted file mode 100644 index 002dae0..0000000 --- a/experimental/qt5-intro-android/android/AndroidManifest.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/experimental/qt5-intro-android/android/build.xml b/experimental/qt5-intro-android/android/build.xml deleted file mode 100644 index 2395774..0000000 --- a/experimental/qt5-intro-android/android/build.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/experimental/qt5-intro-android/android/local.properties b/experimental/qt5-intro-android/android/local.properties deleted file mode 100644 index cd7b9ef..0000000 --- a/experimental/qt5-intro-android/android/local.properties +++ /dev/null @@ -1,10 +0,0 @@ -# This file is automatically generated by Android Tools. -# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -# -# This file must *NOT* be checked into Version Control Systems, -# as it contains information specific to your local configuration. - -# location of the SDK. This is only used by Ant -# For customization when using a Version Control System, please read the -# header note. -sdk.dir=/home/eblomfel/android-sdk-linux diff --git a/experimental/qt5-intro-android/android/project.properties b/experimental/qt5-intro-android/android/project.properties deleted file mode 100644 index b7c2081..0000000 --- a/experimental/qt5-intro-android/android/project.properties +++ /dev/null @@ -1,14 +0,0 @@ -# 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-10 diff --git a/experimental/qt5-intro-android/android/res/drawable-hdpi/icon.png b/experimental/qt5-intro-android/android/res/drawable-hdpi/icon.png deleted file mode 100644 index 379cfab..0000000 Binary files a/experimental/qt5-intro-android/android/res/drawable-hdpi/icon.png and /dev/null differ diff --git a/experimental/qt5-intro-android/android/res/drawable-ldpi/icon.png b/experimental/qt5-intro-android/android/res/drawable-ldpi/icon.png deleted file mode 100644 index 587c0ca..0000000 Binary files a/experimental/qt5-intro-android/android/res/drawable-ldpi/icon.png and /dev/null differ diff --git a/experimental/qt5-intro-android/android/res/drawable-mdpi/icon.png b/experimental/qt5-intro-android/android/res/drawable-mdpi/icon.png deleted file mode 100644 index d93a564..0000000 Binary files a/experimental/qt5-intro-android/android/res/drawable-mdpi/icon.png and /dev/null differ diff --git a/experimental/qt5-intro-android/android/res/layout/splash.xml b/experimental/qt5-intro-android/android/res/layout/splash.xml deleted file mode 100644 index 6b0d492..0000000 --- a/experimental/qt5-intro-android/android/res/layout/splash.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - diff --git a/experimental/qt5-intro-android/android/res/values-de/strings.xml b/experimental/qt5-intro-android/android/res/values-de/strings.xml deleted file mode 100644 index 320d9ec..0000000 --- a/experimental/qt5-intro-android/android/res/values-de/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - Ministro-Dienst wurde nicht gefunden.\nAnwendung kann nicht gestartet werden - Diese Anwendung benötigt den Ministro-Dienst. Möchten Sie ihn installieren? - In Ihrer Anwendung ist ein schwerwiegender Fehler aufgetreten, sie kann nicht fortgesetzt werden - diff --git a/experimental/qt5-intro-android/android/res/values-el/strings.xml b/experimental/qt5-intro-android/android/res/values-el/strings.xml deleted file mode 100644 index 3cab212..0000000 --- a/experimental/qt5-intro-android/android/res/values-el/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - Δεν ήταν δυνατή η εύρεση της υπηρεσίας Ministro. Δεν είναι δυνατή η εκκίνηση της εφαρμογής. - Η εφαρμογή απαιτεί την υπηρεσία Ministro. Να εγκατασταθεί η υπηρεσία? - Παρουσιάστηκε ένα κρίσιμο σφάλμα και η εφαρμογή δεν μπορεί να συνεχίσει. - diff --git a/experimental/qt5-intro-android/android/res/values-es/strings.xml b/experimental/qt5-intro-android/android/res/values-es/strings.xml deleted file mode 100644 index cf0b54d..0000000 --- a/experimental/qt5-intro-android/android/res/values-es/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - Servicio Ministro inesistente. Imposible ejecutar la aplicación. - Esta aplicación requiere el servicio Ministro. Instalarlo? - La aplicación ha causado un error grave y no es posible continuar. - diff --git a/experimental/qt5-intro-android/android/res/values-et/strings.xml b/experimental/qt5-intro-android/android/res/values-et/strings.xml deleted file mode 100644 index d55a3c1..0000000 --- a/experimental/qt5-intro-android/android/res/values-et/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - Ei suuda leida Ministro teenust.\nProgrammi ei saa käivitada. - See programm vajab Ministro teenust.\nKas soovite paigaldada? - Programmiga juhtus fataalne viga.\nKahjuks ei saa jätkata. - diff --git a/experimental/qt5-intro-android/android/res/values-fa/strings.xml b/experimental/qt5-intro-android/android/res/values-fa/strings.xml deleted file mode 100644 index a8d1b87..0000000 --- a/experimental/qt5-intro-android/android/res/values-fa/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - سرویس Ministro را پیدا نمی‌کند. برنامه نمی‌تواند آغاز شود. - این نرم‌افزار به سرویس Ministro احتیاج دارد. آیا دوست دارید آن را نصب کنید؟ - خطایی اساسی در برنامه‌تان رخ داد و اجرای برنامه نمی‌تواند ادامه یابد. - diff --git a/experimental/qt5-intro-android/android/res/values-fr/strings.xml b/experimental/qt5-intro-android/android/res/values-fr/strings.xml deleted file mode 100644 index efc0fb6..0000000 --- a/experimental/qt5-intro-android/android/res/values-fr/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - Le service Ministro est introuvable.\nL\'application ne peut pas démarrer. - Cette application requiert le service Ministro. Voulez-vous l\'installer? - Votre application a rencontré une erreur fatale et ne peut pas continuer. - diff --git a/experimental/qt5-intro-android/android/res/values-id/strings.xml b/experimental/qt5-intro-android/android/res/values-id/strings.xml deleted file mode 100644 index aaa5bda..0000000 --- a/experimental/qt5-intro-android/android/res/values-id/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - Layanan Ministro tidak bisa ditemukan.\nAplikasi tidak bisa dimulai. - Aplikasi ini membutuhkan layanan Ministro. Apakah Anda ingin menginstalnya? - Aplikasi Anda mengalami kesalahan fatal dan tidak dapat melanjutkan. - diff --git a/experimental/qt5-intro-android/android/res/values-it/strings.xml b/experimental/qt5-intro-android/android/res/values-it/strings.xml deleted file mode 100644 index 4773419..0000000 --- a/experimental/qt5-intro-android/android/res/values-it/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - Servizio Ministro inesistente. Impossibile eseguire \nl\'applicazione. - Questa applicazione richiede il servizio Ministro.Installarlo? - L\'applicazione ha provocato un errore grave e non puo\' continuare. - diff --git a/experimental/qt5-intro-android/android/res/values-ja/strings.xml b/experimental/qt5-intro-android/android/res/values-ja/strings.xml deleted file mode 100644 index ba1cfda..0000000 --- a/experimental/qt5-intro-android/android/res/values-ja/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - Ministroサービスが見つかりません。\nアプリケーションが起動できません。 - このアプリケーションにはMinistroサービスが必要です。 インストールしてもよろしいですか? - アプリケーションで致命的なエラーが発生したため続行できません。 - diff --git a/experimental/qt5-intro-android/android/res/values-ms/strings.xml b/experimental/qt5-intro-android/android/res/values-ms/strings.xml deleted file mode 100644 index 6e3952e..0000000 --- a/experimental/qt5-intro-android/android/res/values-ms/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - Tidak jumpa servis Ministro.\nAplikasi tidak boleh dimulakan. - Aplikasi ini memerlukan servis Ministro. Adakah anda ingin pasang servis itu? - Aplikasi anda menemui ralat muat dan tidak boleh diteruskan. - diff --git a/experimental/qt5-intro-android/android/res/values-nb/strings.xml b/experimental/qt5-intro-android/android/res/values-nb/strings.xml deleted file mode 100644 index 8a550e9..0000000 --- a/experimental/qt5-intro-android/android/res/values-nb/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - Kan ikke finne tjenesten Ministro. Applikasjonen kan ikke starte. - Denne applikasjonen krever tjenesten Ministro. Vil du installere denne? - Applikasjonen fikk en kritisk feil og kan ikke fortsette - diff --git a/experimental/qt5-intro-android/android/res/values-nl/strings.xml b/experimental/qt5-intro-android/android/res/values-nl/strings.xml deleted file mode 100644 index 8a45a72..0000000 --- a/experimental/qt5-intro-android/android/res/values-nl/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - De Ministro service is niet gevonden.\nDe applicatie kan niet starten. - Deze applicatie maakt gebruik van de Ministro service. Wilt u deze installeren? - Er is een fatale fout in de applicatie opgetreden. De applicatie kan niet verder gaan. - diff --git a/experimental/qt5-intro-android/android/res/values-pl/strings.xml b/experimental/qt5-intro-android/android/res/values-pl/strings.xml deleted file mode 100644 index 9fefc92..0000000 --- a/experimental/qt5-intro-android/android/res/values-pl/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - Usługa Ministro nie została znaleziona.\nAplikacja nie może zostać uruchomiona. - Aplikacja wymaga usługi Ministro. Czy chcesz ją zainstalować? - Wystąpił błąd krytyczny. Aplikacja zostanie zamknięta. - diff --git a/experimental/qt5-intro-android/android/res/values-pt-rBR/strings.xml b/experimental/qt5-intro-android/android/res/values-pt-rBR/strings.xml deleted file mode 100644 index 67ac3f9..0000000 --- a/experimental/qt5-intro-android/android/res/values-pt-rBR/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - Não foi possível encontrar o serviço Ministro.\nA aplicação não pode iniciar. - Essa aplicação requer o serviço Ministro. Gostaria de instalá-lo? - Sua aplicação encontrou um erro fatal e não pode continuar. - diff --git a/experimental/qt5-intro-android/android/res/values-ro/strings.xml b/experimental/qt5-intro-android/android/res/values-ro/strings.xml deleted file mode 100644 index f88a442..0000000 --- a/experimental/qt5-intro-android/android/res/values-ro/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - Serviciul Ministro nu poate fi găsit.\nAplicaţia nu poate porni. - Această aplicaţie necesită serviciul Ministro.\nDoriţi să-l instalaţi? - Aplicaţia dumneavoastră a întâmpinat o eroare fatală şi nu poate continua. - diff --git a/experimental/qt5-intro-android/android/res/values-rs/strings.xml b/experimental/qt5-intro-android/android/res/values-rs/strings.xml deleted file mode 100644 index 3194ce9..0000000 --- a/experimental/qt5-intro-android/android/res/values-rs/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - Ministro servise nije pronađen. Aplikacija ne može biti pokrenuta. - Ova aplikacija zahteva Ministro servis. Želite li da ga instalirate? - Vaša aplikacija je naišla na fatalnu grešku i ne može nastaviti sa radom. - diff --git a/experimental/qt5-intro-android/android/res/values-ru/strings.xml b/experimental/qt5-intro-android/android/res/values-ru/strings.xml deleted file mode 100644 index d3cee80..0000000 --- a/experimental/qt5-intro-android/android/res/values-ru/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - Сервис Ministro не найден.\nПриложение нельзя запустить. - Этому приложению необходим сервис Ministro. Вы хотите его установить? - Ваше приложение столкнулось с фатальной ошибкой и не может более работать. - diff --git a/experimental/qt5-intro-android/android/res/values-zh-rCN/strings.xml b/experimental/qt5-intro-android/android/res/values-zh-rCN/strings.xml deleted file mode 100644 index 2eb1269..0000000 --- a/experimental/qt5-intro-android/android/res/values-zh-rCN/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - 无法找到Ministro服务。\n应用程序无法启动。 - 此应用程序需要Ministro服务。您想安装它吗? - 您的应用程序遇到一个致命错误导致它无法继续。 - diff --git a/experimental/qt5-intro-android/android/res/values-zh-rTW/strings.xml b/experimental/qt5-intro-android/android/res/values-zh-rTW/strings.xml deleted file mode 100644 index f6e68ef..0000000 --- a/experimental/qt5-intro-android/android/res/values-zh-rTW/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - 無法找到Ministro服務。\n應用程序無法啟動。 - 此應用程序需要Ministro服務。您想安裝它嗎? - 您的應用程序遇到一個致命錯誤導致它無法繼續。 - diff --git a/experimental/qt5-intro-android/android/res/values/libs.xml b/experimental/qt5-intro-android/android/res/values/libs.xml deleted file mode 100644 index d495eaa..0000000 --- a/experimental/qt5-intro-android/android/res/values/libs.xml +++ /dev/null @@ -1,243 +0,0 @@ - - - - https://download.qt-project.org/ministro/android/qt5/latest - - default - - - lib--Managed_by_Qt_Creator--plugins_platforms_libqminimalegl.so:plugins/platforms/libqminimalegl.so - lib--Managed_by_Qt_Creator--plugins_platforms_libqoffscreen.so:plugins/platforms/libqoffscreen.so - lib--Managed_by_Qt_Creator--plugins_platforms_libqeglfs.so:plugins/platforms/libqeglfs.so - lib--Managed_by_Qt_Creator--plugins_platforms_android_libqtforandroid.so:plugins/platforms/android/libqtforandroid.so - lib--Managed_by_Qt_Creator--plugins_platforms_android_libqtforandroidGL.so:plugins/platforms/android/libqtforandroidGL.so - lib--Managed_by_Qt_Creator--plugins_platforms_libqminimal.so:plugins/platforms/libqminimal.so - lib--Managed_by_Qt_Creator--plugins_imageformats_libqjpeg.so:plugins/imageformats/libqjpeg.so - lib--Managed_by_Qt_Creator--plugins_imageformats_libqtiff.so:plugins/imageformats/libqtiff.so - lib--Managed_by_Qt_Creator--plugins_imageformats_libqwbmp.so:plugins/imageformats/libqwbmp.so - lib--Managed_by_Qt_Creator--plugins_imageformats_libqmng.so:plugins/imageformats/libqmng.so - lib--Managed_by_Qt_Creator--plugins_imageformats_libqsvg.so:plugins/imageformats/libqsvg.so - lib--Managed_by_Qt_Creator--plugins_imageformats_libqtga.so:plugins/imageformats/libqtga.so - lib--Managed_by_Qt_Creator--plugins_imageformats_libqico.so:plugins/imageformats/libqico.so - lib--Managed_by_Qt_Creator--plugins_imageformats_libqgif.so:plugins/imageformats/libqgif.so - libQt5MultimediaQuick_p.so:lib/libQt5MultimediaQuick_p.so - lib--Managed_by_Qt_Creator--plugins_mediaservice_libqtmedia_audioengine.so:plugins/mediaservice/libqtmedia_audioengine.so - lib--Managed_by_Qt_Creator--plugins_mediaservice_libandroidmediaplayer.so:plugins/mediaservice/libandroidmediaplayer.so - lib--Managed_by_Qt_Creator--plugins_bearer_libqgenericbearer.so:plugins/bearer/libqgenericbearer.so - lib--Managed_by_Qt_Creator--qml_QtQuick.2_libqtquick2plugin.so:qml/QtQuick.2/libqtquick2plugin.so - lib--Managed_by_Qt_Creator--qml_QtMultimedia_libdeclarative_multimedia.so:qml/QtMultimedia/libdeclarative_multimedia.so - lib--Managed_by_Qt_Creator--qml_QtSensors_libdeclarative_sensors.so:qml/QtSensors/libdeclarative_sensors.so - lib--Managed_by_Qt_Creator--qml_Qt_labs_folderlistmodel_libqmlfolderlistmodelplugin.so:qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so - lib--Managed_by_Qt_Creator--qml_QtTest_libqmltestplugin.so:qml/QtTest/libqmltestplugin.so - lib--Managed_by_Qt_Creator--qml_QtQuick_Layouts_libqquicklayoutsplugin.so:qml/QtQuick/Layouts/libqquicklayoutsplugin.so - lib--Managed_by_Qt_Creator--qml_QtQuick_Dialogs_libdialogplugin.so:qml/QtQuick/Dialogs/libdialogplugin.so - lib--Managed_by_Qt_Creator--qml_QtQuick_Particles.2_libparticlesplugin.so:qml/QtQuick/Particles.2/libparticlesplugin.so - lib--Managed_by_Qt_Creator--qml_QtQuick_LocalStorage_libqmllocalstorageplugin.so:qml/QtQuick/LocalStorage/libqmllocalstorageplugin.so - lib--Managed_by_Qt_Creator--qml_QtQuick_PrivateWidgets_libwidgetsplugin.so:qml/QtQuick/PrivateWidgets/libwidgetsplugin.so - lib--Managed_by_Qt_Creator--qml_QtQuick_Controls_Private_libprivateplugin.so:qml/QtQuick/Controls/Private/libprivateplugin.so - lib--Managed_by_Qt_Creator--qml_QtQuick_Controls_libplugin.so:qml/QtQuick/Controls/libplugin.so - lib--Managed_by_Qt_Creator--qml_QtQuick_XmlListModel_libqmlxmllistmodelplugin.so:qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.so - lib--Managed_by_Qt_Creator--qml_QtQuick_Window.2_libwindowplugin.so:qml/QtQuick/Window.2/libwindowplugin.so - lib--Managed_by_Qt_Creator--qml_QtQml_Models.2_libmodelsplugin.so:qml/QtQml/Models.2/libmodelsplugin.so - libQt5QuickParticles.so:lib/libQt5QuickParticles.so - lib--Managed_by_Qt_Creator--plugins_accessible_libqtaccessiblequick.so:plugins/accessible/libqtaccessiblequick.so - lib--Managed_by_Qt_Creator--plugins_accessible_libqtaccessiblewidgets.so:plugins/accessible/libqtaccessiblewidgets.so - lib--Managed_by_Qt_Creator--plugins_sqldrivers_libqsqlite.so:plugins/sqldrivers/libqsqlite.so - - - --Managed_by_Qt_Creator--/qml/QtQuick.2/qmldir:qml/QtQuick.2/qmldir - --Managed_by_Qt_Creator--/qml/QtQuick.2/plugins.qmltypes:qml/QtQuick.2/plugins.qmltypes - --Managed_by_Qt_Creator--/qml/QtMultimedia/Video.qml:qml/QtMultimedia/Video.qml - --Managed_by_Qt_Creator--/qml/QtMultimedia/qmldir:qml/QtMultimedia/qmldir - --Managed_by_Qt_Creator--/qml/QtMultimedia/plugins.qmltypes:qml/QtMultimedia/plugins.qmltypes - --Managed_by_Qt_Creator--/qml/QtSensors/qmldir:qml/QtSensors/qmldir - --Managed_by_Qt_Creator--/qml/QtSensors/plugins.qmltypes:qml/QtSensors/plugins.qmltypes - --Managed_by_Qt_Creator--/qml/Qt/labs/presentation/SlideCounter.qml:qml/Qt/labs/presentation/SlideCounter.qml - --Managed_by_Qt_Creator--/qml/Qt/labs/presentation/CodeSlide.qml:qml/Qt/labs/presentation/CodeSlide.qml - --Managed_by_Qt_Creator--/qml/Qt/labs/presentation/qmldir:qml/Qt/labs/presentation/qmldir - --Managed_by_Qt_Creator--/qml/Qt/labs/presentation/Clock.qml:qml/Qt/labs/presentation/Clock.qml - --Managed_by_Qt_Creator--/qml/Qt/labs/presentation/Slide.qml:qml/Qt/labs/presentation/Slide.qml - --Managed_by_Qt_Creator--/qml/Qt/labs/presentation/Presentation.qml:qml/Qt/labs/presentation/Presentation.qml - --Managed_by_Qt_Creator--/qml/Qt/labs/folderlistmodel/qmldir:qml/Qt/labs/folderlistmodel/qmldir - --Managed_by_Qt_Creator--/qml/Qt/labs/folderlistmodel/plugins.qmltypes:qml/Qt/labs/folderlistmodel/plugins.qmltypes - --Managed_by_Qt_Creator--/qml/QtTest/TestCase.qml:qml/QtTest/TestCase.qml - --Managed_by_Qt_Creator--/qml/QtTest/testlogger.js:qml/QtTest/testlogger.js - --Managed_by_Qt_Creator--/qml/QtTest/qmldir:qml/QtTest/qmldir - --Managed_by_Qt_Creator--/qml/QtTest/plugins.qmltypes:qml/QtTest/plugins.qmltypes - --Managed_by_Qt_Creator--/qml/QtTest/SignalSpy.qml:qml/QtTest/SignalSpy.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/private/GaussianInnerShadow.qml:qml/QtGraphicalEffects/private/GaussianInnerShadow.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/private/FastInnerShadow.qml:qml/QtGraphicalEffects/private/FastInnerShadow.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/private/SourceProxy.qml:qml/QtGraphicalEffects/private/SourceProxy.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/private/GaussianDirectionalBlur.qml:qml/QtGraphicalEffects/private/GaussianDirectionalBlur.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/private/GaussianGlow.qml:qml/QtGraphicalEffects/private/GaussianGlow.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/private/GaussianMaskedBlur.qml:qml/QtGraphicalEffects/private/GaussianMaskedBlur.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/private/FastMaskedBlur.qml:qml/QtGraphicalEffects/private/FastMaskedBlur.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/private/FastGlow.qml:qml/QtGraphicalEffects/private/FastGlow.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/RectangularGlow.qml:qml/QtGraphicalEffects/RectangularGlow.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/RadialBlur.qml:qml/QtGraphicalEffects/RadialBlur.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/Glow.qml:qml/QtGraphicalEffects/Glow.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/OpacityMask.qml:qml/QtGraphicalEffects/OpacityMask.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/GaussianBlur.qml:qml/QtGraphicalEffects/GaussianBlur.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/ThresholdMask.qml:qml/QtGraphicalEffects/ThresholdMask.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/LinearGradient.qml:qml/QtGraphicalEffects/LinearGradient.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/Desaturate.qml:qml/QtGraphicalEffects/Desaturate.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/Blend.qml:qml/QtGraphicalEffects/Blend.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/DropShadow.qml:qml/QtGraphicalEffects/DropShadow.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/InnerShadow.qml:qml/QtGraphicalEffects/InnerShadow.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/ZoomBlur.qml:qml/QtGraphicalEffects/ZoomBlur.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/Colorize.qml:qml/QtGraphicalEffects/Colorize.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/ColorOverlay.qml:qml/QtGraphicalEffects/ColorOverlay.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/qmldir:qml/QtGraphicalEffects/qmldir - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/LevelAdjust.qml:qml/QtGraphicalEffects/LevelAdjust.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/RecursiveBlur.qml:qml/QtGraphicalEffects/RecursiveBlur.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/BrightnessContrast.qml:qml/QtGraphicalEffects/BrightnessContrast.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/FastBlur.qml:qml/QtGraphicalEffects/FastBlur.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/ConicalGradient.qml:qml/QtGraphicalEffects/ConicalGradient.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/MaskedBlur.qml:qml/QtGraphicalEffects/MaskedBlur.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/HueSaturation.qml:qml/QtGraphicalEffects/HueSaturation.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/DirectionalBlur.qml:qml/QtGraphicalEffects/DirectionalBlur.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/Displace.qml:qml/QtGraphicalEffects/Displace.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/GammaAdjust.qml:qml/QtGraphicalEffects/GammaAdjust.qml - --Managed_by_Qt_Creator--/qml/QtGraphicalEffects/RadialGradient.qml:qml/QtGraphicalEffects/RadialGradient.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Layouts/qmldir:qml/QtQuick/Layouts/qmldir - --Managed_by_Qt_Creator--/qml/QtQuick/Layouts/plugins.qmltypes:qml/QtQuick/Layouts/plugins.qmltypes - --Managed_by_Qt_Creator--/qml/QtQuick/Dialogs/qml/TextField.qml:qml/QtQuick/Dialogs/qml/TextField.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Dialogs/qml/qmldir:qml/QtQuick/Dialogs/qml/qmldir - --Managed_by_Qt_Creator--/qml/QtQuick/Dialogs/qml/Button.qml:qml/QtQuick/Dialogs/qml/Button.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Dialogs/qml/ColorSlider.qml:qml/QtQuick/Dialogs/qml/ColorSlider.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Dialogs/DefaultFileDialog.qml:qml/QtQuick/Dialogs/DefaultFileDialog.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Dialogs/WidgetColorDialog.qml:qml/QtQuick/Dialogs/WidgetColorDialog.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Dialogs/WidgetFileDialog.qml:qml/QtQuick/Dialogs/WidgetFileDialog.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Dialogs/qmldir:qml/QtQuick/Dialogs/qmldir - --Managed_by_Qt_Creator--/qml/QtQuick/Dialogs/plugins.qmltypes:qml/QtQuick/Dialogs/plugins.qmltypes - --Managed_by_Qt_Creator--/qml/QtQuick/Dialogs/DefaultColorDialog.qml:qml/QtQuick/Dialogs/DefaultColorDialog.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Dialogs/images/crosshairs.png:qml/QtQuick/Dialogs/images/crosshairs.png - --Managed_by_Qt_Creator--/qml/QtQuick/Dialogs/images/slider_handle.png:qml/QtQuick/Dialogs/images/slider_handle.png - --Managed_by_Qt_Creator--/qml/QtQuick/Dialogs/images/sunken_frame.png:qml/QtQuick/Dialogs/images/sunken_frame.png - --Managed_by_Qt_Creator--/qml/QtQuick/Dialogs/images/folder.png:qml/QtQuick/Dialogs/images/folder.png - --Managed_by_Qt_Creator--/qml/QtQuick/Dialogs/images/copy.png:qml/QtQuick/Dialogs/images/copy.png - --Managed_by_Qt_Creator--/qml/QtQuick/Dialogs/images/checkers.png:qml/QtQuick/Dialogs/images/checkers.png - --Managed_by_Qt_Creator--/qml/QtQuick/Dialogs/images/up.png:qml/QtQuick/Dialogs/images/up.png - --Managed_by_Qt_Creator--/qml/QtQuick/Particles.2/qmldir:qml/QtQuick/Particles.2/qmldir - --Managed_by_Qt_Creator--/qml/QtQuick/Particles.2/plugins.qmltypes:qml/QtQuick/Particles.2/plugins.qmltypes - --Managed_by_Qt_Creator--/qml/QtQuick/LocalStorage/qmldir:qml/QtQuick/LocalStorage/qmldir - --Managed_by_Qt_Creator--/qml/QtQuick/LocalStorage/plugins.qmltypes:qml/QtQuick/LocalStorage/plugins.qmltypes - --Managed_by_Qt_Creator--/qml/QtQuick/PrivateWidgets/qmldir:qml/QtQuick/PrivateWidgets/qmldir - --Managed_by_Qt_Creator--/qml/QtQuick/PrivateWidgets/plugins.qmltypes:qml/QtQuick/PrivateWidgets/plugins.qmltypes - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/StackViewDelegate.qml:qml/QtQuick/Controls/StackViewDelegate.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Label.qml:qml/QtQuick/Controls/Label.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/StackView.qml:qml/QtQuick/Controls/StackView.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/ScrollView.qml:qml/QtQuick/Controls/ScrollView.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/SpinBox.qml:qml/QtQuick/Controls/SpinBox.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/RadioButton.qml:qml/QtQuick/Controls/RadioButton.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/ComboBox.qml:qml/QtQuick/Controls/ComboBox.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/ApplicationWindow.qml:qml/QtQuick/Controls/ApplicationWindow.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/SplitView.qml:qml/QtQuick/Controls/SplitView.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/TextField.qml:qml/QtQuick/Controls/TextField.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Private/FocusFrame.qml:qml/QtQuick/Controls/Private/FocusFrame.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Private/Style.qml:qml/QtQuick/Controls/Private/Style.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Private/StackView.js:qml/QtQuick/Controls/Private/StackView.js - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Private/ScrollBar.qml:qml/QtQuick/Controls/Private/ScrollBar.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Private/TabBar.qml:qml/QtQuick/Controls/Private/TabBar.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Private/Margins.qml:qml/QtQuick/Controls/Private/Margins.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Private/style.js:qml/QtQuick/Controls/Private/style.js - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Private/AbstractCheckable.qml:qml/QtQuick/Controls/Private/AbstractCheckable.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Private/qmldir:qml/QtQuick/Controls/Private/qmldir - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Private/ModalPopupBehavior.qml:qml/QtQuick/Controls/Private/ModalPopupBehavior.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Private/StackViewSlideDelegate.qml:qml/QtQuick/Controls/Private/StackViewSlideDelegate.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Private/BasicButton.qml:qml/QtQuick/Controls/Private/BasicButton.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Private/Control.qml:qml/QtQuick/Controls/Private/Control.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Private/ScrollViewHelper.qml:qml/QtQuick/Controls/Private/ScrollViewHelper.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/ToolBar.qml:qml/QtQuick/Controls/ToolBar.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/TextArea.qml:qml/QtQuick/Controls/TextArea.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/qmldir:qml/QtQuick/Controls/qmldir - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/GroupBox.qml:qml/QtQuick/Controls/GroupBox.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/plugins.qmltypes:qml/QtQuick/Controls/plugins.qmltypes - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/ScrollViewStyle.qml:qml/QtQuick/Controls/Styles/ScrollViewStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/TextFieldStyle.qml:qml/QtQuick/Controls/Styles/TextFieldStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/ToolBarStyle.qml:qml/QtQuick/Controls/Styles/ToolBarStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/SliderStyle.qml:qml/QtQuick/Controls/Styles/SliderStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/RadioButtonStyle.qml:qml/QtQuick/Controls/Styles/RadioButtonStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/CheckBoxStyle.qml:qml/QtQuick/Controls/Styles/CheckBoxStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/ComboBoxStyle.qml:qml/QtQuick/Controls/Styles/ComboBoxStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/MenuBarStyle.qml:qml/QtQuick/Controls/Styles/MenuBarStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/ButtonStyle.qml:qml/QtQuick/Controls/Styles/ButtonStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/Desktop/ScrollViewStyle.qml:qml/QtQuick/Controls/Styles/Desktop/ScrollViewStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/Desktop/TextFieldStyle.qml:qml/QtQuick/Controls/Styles/Desktop/TextFieldStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/Desktop/ToolBarStyle.qml:qml/QtQuick/Controls/Styles/Desktop/ToolBarStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/Desktop/SliderStyle.qml:qml/QtQuick/Controls/Styles/Desktop/SliderStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/Desktop/RadioButtonStyle.qml:qml/QtQuick/Controls/Styles/Desktop/RadioButtonStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/Desktop/CheckBoxStyle.qml:qml/QtQuick/Controls/Styles/Desktop/CheckBoxStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/Desktop/ComboBoxStyle.qml:qml/QtQuick/Controls/Styles/Desktop/ComboBoxStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/Desktop/MenuBarStyle.qml:qml/QtQuick/Controls/Styles/Desktop/MenuBarStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/Desktop/ButtonStyle.qml:qml/QtQuick/Controls/Styles/Desktop/ButtonStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/Desktop/FocusFrameStyle.qml:qml/QtQuick/Controls/Styles/Desktop/FocusFrameStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/Desktop/MenuStyle.qml:qml/QtQuick/Controls/Styles/Desktop/MenuStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/Desktop/TabViewStyle.qml:qml/QtQuick/Controls/Styles/Desktop/TabViewStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/Desktop/TableViewStyle.qml:qml/QtQuick/Controls/Styles/Desktop/TableViewStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/Desktop/SpinBoxStyle.qml:qml/QtQuick/Controls/Styles/Desktop/SpinBoxStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/Desktop/ToolButtonStyle.qml:qml/QtQuick/Controls/Styles/Desktop/ToolButtonStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/Desktop/GroupBoxStyle.qml:qml/QtQuick/Controls/Styles/Desktop/GroupBoxStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/Desktop/ProgressBarStyle.qml:qml/QtQuick/Controls/Styles/Desktop/ProgressBarStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/Desktop/StatusBarStyle.qml:qml/QtQuick/Controls/Styles/Desktop/StatusBarStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/Private/qmldir:qml/QtQuick/Controls/Styles/Private/qmldir - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/qmldir:qml/QtQuick/Controls/Styles/qmldir - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/FocusFrameStyle.qml:qml/QtQuick/Controls/Styles/FocusFrameStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/MenuStyle.qml:qml/QtQuick/Controls/Styles/MenuStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/TabViewStyle.qml:qml/QtQuick/Controls/Styles/TabViewStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/TableViewStyle.qml:qml/QtQuick/Controls/Styles/TableViewStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/SpinBoxStyle.qml:qml/QtQuick/Controls/Styles/SpinBoxStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/ToolButtonStyle.qml:qml/QtQuick/Controls/Styles/ToolButtonStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/GroupBoxStyle.qml:qml/QtQuick/Controls/Styles/GroupBoxStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/ProgressBarStyle.qml:qml/QtQuick/Controls/Styles/ProgressBarStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/images/arrow-down.png:qml/QtQuick/Controls/Styles/images/arrow-down.png - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/images/arrow-right.png:qml/QtQuick/Controls/Styles/images/arrow-right.png - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/images/groupbox.png:qml/QtQuick/Controls/Styles/images/groupbox.png - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/images/progress-indeterminate.png:qml/QtQuick/Controls/Styles/images/progress-indeterminate.png - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/images/button_down.png:qml/QtQuick/Controls/Styles/images/button_down.png - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/images/header.png:qml/QtQuick/Controls/Styles/images/header.png - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/images/arrow-left.png:qml/QtQuick/Controls/Styles/images/arrow-left.png - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/images/tab.png:qml/QtQuick/Controls/Styles/images/tab.png - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/images/focusframe.png:qml/QtQuick/Controls/Styles/images/focusframe.png - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/images/editbox.png:qml/QtQuick/Controls/Styles/images/editbox.png - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/images/arrow-right@2x.png:qml/QtQuick/Controls/Styles/images/arrow-right@2x.png - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/images/arrow-left@2x.png:qml/QtQuick/Controls/Styles/images/arrow-left@2x.png - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/images/arrow-down@2x.png:qml/QtQuick/Controls/Styles/images/arrow-down@2x.png - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/images/scrollbar-handle-horizontal.png:qml/QtQuick/Controls/Styles/images/scrollbar-handle-horizontal.png - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/images/scrollbar-handle-vertical.png:qml/QtQuick/Controls/Styles/images/scrollbar-handle-vertical.png - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/images/tab_selected.png:qml/QtQuick/Controls/Styles/images/tab_selected.png - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/images/arrow-up.png:qml/QtQuick/Controls/Styles/images/arrow-up.png - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/images/button.png:qml/QtQuick/Controls/Styles/images/button.png - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/images/arrow-up@2x.png:qml/QtQuick/Controls/Styles/images/arrow-up@2x.png - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Styles/StatusBarStyle.qml:qml/QtQuick/Controls/Styles/StatusBarStyle.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/MenuBar.qml:qml/QtQuick/Controls/MenuBar.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/TabView.qml:qml/QtQuick/Controls/TabView.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/ToolButton.qml:qml/QtQuick/Controls/ToolButton.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Tab.qml:qml/QtQuick/Controls/Tab.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Button.qml:qml/QtQuick/Controls/Button.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/CheckBox.qml:qml/QtQuick/Controls/CheckBox.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/TableViewColumn.qml:qml/QtQuick/Controls/TableViewColumn.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Menu.qml:qml/QtQuick/Controls/Menu.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/StatusBar.qml:qml/QtQuick/Controls/StatusBar.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/ProgressBar.qml:qml/QtQuick/Controls/ProgressBar.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/TableView.qml:qml/QtQuick/Controls/TableView.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/Slider.qml:qml/QtQuick/Controls/Slider.qml - --Managed_by_Qt_Creator--/qml/QtQuick/Controls/StackViewTransition.qml:qml/QtQuick/Controls/StackViewTransition.qml - --Managed_by_Qt_Creator--/qml/QtQuick/XmlListModel/qmldir:qml/QtQuick/XmlListModel/qmldir - --Managed_by_Qt_Creator--/qml/QtQuick/XmlListModel/plugins.qmltypes:qml/QtQuick/XmlListModel/plugins.qmltypes - --Managed_by_Qt_Creator--/qml/QtQuick/Window.2/qmldir:qml/QtQuick/Window.2/qmldir - --Managed_by_Qt_Creator--/qml/QtQuick/Window.2/plugins.qmltypes:qml/QtQuick/Window.2/plugins.qmltypes - --Managed_by_Qt_Creator--/qml/QtQml/Models.2/qmldir:qml/QtQml/Models.2/qmldir - - - gnustl_shared - Qt5Core - Qt5V8 - Qt5Gui - Qt5Network - Qt5Sql - Qt5Multimedia - Qt5Qml - Qt5Quick - - diff --git a/experimental/qt5-intro-android/android/res/values/strings.xml b/experimental/qt5-intro-android/android/res/values/strings.xml deleted file mode 100644 index 7beee08..0000000 --- a/experimental/qt5-intro-android/android/res/values/strings.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - Qt 5 Intro - Can\'t find Ministro service.\nThe application can\'t start. - This application requires Ministro service. Would you like to install it? - Your application encountered a fatal error and cannot continue. - diff --git a/experimental/qt5-intro-android/android/src/org/kde/necessitas/ministro/IMinistro.aidl b/experimental/qt5-intro-android/android/src/org/kde/necessitas/ministro/IMinistro.aidl deleted file mode 100644 index 236a62f..0000000 --- a/experimental/qt5-intro-android/android/src/org/kde/necessitas/ministro/IMinistro.aidl +++ /dev/null @@ -1,50 +0,0 @@ -/* - Copyright (c) 2011-2013, BogDan Vatra - Contact: http://www.qt-project.org/legal - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - - -package org.kde.necessitas.ministro; - -import org.kde.necessitas.ministro.IMinistroCallback; - -interface IMinistro -{ -/** -* Check/download required libs to run the application -* -* param callback - interface used by Minsitro service to notify the client when the loader is ready -* param parameters -* parameters fields: -* * Key Name Key type Explanations -* "sources" StringArray Sources list from where Ministro will download the libs. Make sure you are using ONLY secure locations. -* "repository" String Overwrites the default Ministro repository. Possible values: default, stable, testing and unstable -* "required.modules" StringArray Required modules by your application -* "application.title" String Application name, used to show more informations to user -* "qt.provider" String Qt libs provider, currently only "necessitas" is supported. -* "minimum.ministro.api" Integer Minimum Ministro API level, used to check if Ministro service compatible with your application. Current API Level is 3 ! -* "minimum.qt.version" Integer Minimim Qt version (e.g. 0x040800, which means Qt 4.8.0, check http://qt-project.org/doc/qt-4.8/qtglobal.html#QT_VERSION)! -*/ - void requestLoader(in IMinistroCallback callback, in Bundle parameters); -} diff --git a/experimental/qt5-intro-android/android/src/org/kde/necessitas/ministro/IMinistroCallback.aidl b/experimental/qt5-intro-android/android/src/org/kde/necessitas/ministro/IMinistroCallback.aidl deleted file mode 100644 index 0bcb528..0000000 --- a/experimental/qt5-intro-android/android/src/org/kde/necessitas/ministro/IMinistroCallback.aidl +++ /dev/null @@ -1,55 +0,0 @@ -/* - Copyright (c) 2011-2013, BogDan Vatra - Contact: http://www.qt-project.org/legal - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -package org.kde.necessitas.ministro; - -oneway interface IMinistroCallback { -/** -* This method is called by the Ministro service back into the application which -* implements this interface. -* -* param in - loaderParams -* loaderParams fields: -* * Key Name Key type Explanations -* * "error.code" Integer See below -* * "error.message" String Missing if no error, otherwise will contain the error message translated into phone language where available. -* * "dex.path" String The list of jar/apk files containing classes and resources, needed to be passed to application DexClassLoader -* * "lib.path" String The list of directories containing native libraries; may be missing, needed to be passed to application DexClassLoader -* * "loader.class.name" String Loader class name. -* -* "error.code" field possible errors: -* - 0 no error. -* - 1 incompatible Ministro version. Ministro needs to be upgraded. -* - 2 not all modules could be satisfy. -* - 3 invalid parameters -* - 4 invalid qt version -* - 5 download canceled -* -* The parameter contains additional fields which are used by the loader to start your application, so it must be passed to the loader. -*/ - - void loaderReady(in Bundle loaderParams); -} diff --git a/experimental/qt5-intro-android/android/src/org/qtproject/qt5/android/bindings/QtActivity.java b/experimental/qt5-intro-android/android/src/org/qtproject/qt5/android/bindings/QtActivity.java deleted file mode 100644 index 8d129de..0000000 --- a/experimental/qt5-intro-android/android/src/org/qtproject/qt5/android/bindings/QtActivity.java +++ /dev/null @@ -1,1404 +0,0 @@ -/* - Copyright (c) 2012-2013, BogDan Vatra - Contact: http://www.qt-project.org/legal - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -package org.qtproject.qt5.android.bindings; - -import java.io.File; -import java.io.IOException; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.FileOutputStream; -import java.io.FileInputStream; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Arrays; - -import org.kde.necessitas.ministro.IMinistro; -import org.kde.necessitas.ministro.IMinistroCallback; - -import android.app.Activity; -import android.app.AlertDialog; -import android.app.Dialog; -import android.content.ComponentName; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.content.ServiceConnection; -import android.content.pm.ActivityInfo; -import android.content.pm.PackageManager; -import android.content.pm.PackageManager.NameNotFoundException; -import android.content.res.Configuration; -import android.content.res.Resources.Theme; -import android.content.res.AssetManager; -import android.graphics.Bitmap; -import android.graphics.Canvas; -import android.net.Uri; -import android.os.Bundle; -import android.os.IBinder; -import android.os.RemoteException; -import android.util.AttributeSet; -import android.util.Log; -import android.view.ContextMenu; -import android.view.ContextMenu.ContextMenuInfo; -import android.view.KeyEvent; -import android.view.Menu; -import android.view.MenuItem; -import android.view.MotionEvent; -import android.view.View; -import android.view.Window; -import android.view.WindowManager.LayoutParams; -import android.view.accessibility.AccessibilityEvent; -import dalvik.system.DexClassLoader; - -//@ANDROID-11 -//QtCreator import android.app.Fragment; -//QtCreator import android.view.ActionMode; -//QtCreator import android.view.ActionMode.Callback; -//@ANDROID-11 - -public class QtActivity extends Activity -{ - private final static int MINISTRO_INSTALL_REQUEST_CODE = 0xf3ee; // request code used to know when Ministro instalation is finished - private static final int MINISTRO_API_LEVEL = 3; // Ministro api level (check IMinistro.aidl file) - private static final int NECESSITAS_API_LEVEL = 2; // Necessitas api level used by platform plugin - private static final int QT_VERSION = 0x050100; // This app requires at least Qt version 5.1.0 - - private static final String ERROR_CODE_KEY = "error.code"; - private static final String ERROR_MESSAGE_KEY = "error.message"; - private static final String DEX_PATH_KEY = "dex.path"; - private static final String LIB_PATH_KEY = "lib.path"; - private static final String LOADER_CLASS_NAME_KEY = "loader.class.name"; - private static final String NATIVE_LIBRARIES_KEY = "native.libraries"; - private static final String ENVIRONMENT_VARIABLES_KEY = "environment.variables"; - private static final String APPLICATION_PARAMETERS_KEY = "application.parameters"; - private static final String BUNDLED_LIBRARIES_KEY = "bundled.libraries"; - private static final String BUNDLED_IN_LIB_RESOURCE_ID_KEY = "android.app.bundled_in_lib_resource_id"; - private static final String BUNDLED_IN_ASSETS_RESOURCE_ID_KEY = "android.app.bundled_in_assets_resource_id"; - private static final String MAIN_LIBRARY_KEY = "main.library"; - private static final String STATIC_INIT_CLASSES_KEY = "static.init.classes"; - private static final String NECESSITAS_API_LEVEL_KEY = "necessitas.api.level"; - - /// Ministro server parameter keys - private static final String REQUIRED_MODULES_KEY = "required.modules"; - private static final String APPLICATION_TITLE_KEY = "application.title"; - private static final String MINIMUM_MINISTRO_API_KEY = "minimum.ministro.api"; - private static final String MINIMUM_QT_VERSION_KEY = "minimum.qt.version"; - private static final String SOURCES_KEY = "sources"; // needs MINISTRO_API_LEVEL >=3 !!! - // Use this key to specify any 3rd party sources urls - // Ministro will download these repositories into their - // own folders, check http://community.kde.org/Necessitas/Ministro - // for more details. - - private static final String REPOSITORY_KEY = "repository"; // use this key to overwrite the default ministro repsitory - - private static final String APPLICATION_PARAMETERS = null; // use this variable to pass any parameters to your application, - // the parameters must not contain any white spaces - // and must be separated with "\t" - // e.g "-param1\t-param2=value2\t-param3\tvalue3" - - private static final String ENVIRONMENT_VARIABLES = "QT_USE_ANDROID_NATIVE_STYLE=0\t"; - // use this variable to add any environment variables to your application. - // the env vars must be separated with "\t" - // e.g. "ENV_VAR1=1\tENV_VAR2=2\t" - // Currently the following vars are used by the android plugin: - // * QT_USE_ANDROID_NATIVE_STYLE - 1 to use the android widget style if available, - // note that the android style plugin in Qt 5.1 is not fully functional. - - private static final int INCOMPATIBLE_MINISTRO_VERSION = 1; // Incompatible Ministro version. Ministro needs to be upgraded. - private static final int BUFFER_SIZE = 1024; - - private ActivityInfo m_activityInfo = null; // activity info object, used to access the libs and the strings - private DexClassLoader m_classLoader = null; // loader object - private String[] m_sources = {"https://download.qt-project.org/ministro/android/qt5/latest"}; // Make sure you are using ONLY secure locations - private String m_repository = "default"; // Overwrites the default Ministro repository - // Possible values: - // * default - Ministro default repository set with "Ministro configuration tool". - // By default the stable version is used. Only this or stable repositories should - // be used in production. - // * stable - stable repository, only this and default repositories should be used - // in production. - // * testing - testing repository, DO NOT use this repository in production, - // this repository is used to push a new release, and should be used to test your application. - // * unstable - unstable repository, DO NOT use this repository in production, - // this repository is used to push Qt snapshots. - private String[] m_qtLibs = null; // required qt libs - - // this function is used to load and start the loader - private void loadApplication(Bundle loaderParams) - { - try { - final int errorCode = loaderParams.getInt(ERROR_CODE_KEY); - if (errorCode != 0) { - if (errorCode == INCOMPATIBLE_MINISTRO_VERSION) { - downloadUpgradeMinistro(loaderParams.getString(ERROR_MESSAGE_KEY)); - return; - } - - // fatal error, show the error and quit - AlertDialog errorDialog = new AlertDialog.Builder(QtActivity.this).create(); - errorDialog.setMessage(loaderParams.getString(ERROR_MESSAGE_KEY)); - errorDialog.setButton(getResources().getString(android.R.string.ok), new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - finish(); - } - }); - errorDialog.show(); - return; - } - - // add all bundled Qt libs to loader params - ArrayList libs = new ArrayList(); - if ( m_activityInfo.metaData.containsKey("android.app.bundled_libs_resource_id") ) - libs.addAll(Arrays.asList(getResources().getStringArray(m_activityInfo.metaData.getInt("android.app.bundled_libs_resource_id")))); - - String libName = null; - if ( m_activityInfo.metaData.containsKey("android.app.lib_name") ) { - libName = m_activityInfo.metaData.getString("android.app.lib_name"); - loaderParams.putString(MAIN_LIBRARY_KEY, libName); //main library contains main() function - } - - loaderParams.putStringArrayList(BUNDLED_LIBRARIES_KEY, libs); - loaderParams.putInt(NECESSITAS_API_LEVEL_KEY, NECESSITAS_API_LEVEL); - - // load and start QtLoader class - m_classLoader = new DexClassLoader(loaderParams.getString(DEX_PATH_KEY), // .jar/.apk files - getDir("outdex", Context.MODE_PRIVATE).getAbsolutePath(), // directory where optimized DEX files should be written. - loaderParams.containsKey(LIB_PATH_KEY) ? loaderParams.getString(LIB_PATH_KEY) : null, // libs folder (if exists) - getClassLoader()); // parent loader - - @SuppressWarnings("rawtypes") - Class loaderClass = m_classLoader.loadClass(loaderParams.getString(LOADER_CLASS_NAME_KEY)); // load QtLoader class - Object qtLoader = loaderClass.newInstance(); // create an instance - Method perpareAppMethod = qtLoader.getClass().getMethod("loadApplication", - Activity.class, - ClassLoader.class, - Bundle.class); - if (!(Boolean)perpareAppMethod.invoke(qtLoader, this, m_classLoader, loaderParams)) - throw new Exception(""); - - QtApplication.setQtActivityDelegate(qtLoader); - - // now load the application library so it's accessible from this class loader - if (libName != null) - System.loadLibrary(libName); - - Method startAppMethod=qtLoader.getClass().getMethod("startApplication"); - if (!(Boolean)startAppMethod.invoke(qtLoader)) - throw new Exception(""); - - } catch (Exception e) { - e.printStackTrace(); - AlertDialog errorDialog = new AlertDialog.Builder(QtActivity.this).create(); - if (m_activityInfo.metaData.containsKey("android.app.fatal_error_msg")) - errorDialog.setMessage(m_activityInfo.metaData.getString("android.app.fatal_error_msg")); - else - errorDialog.setMessage("Fatal error, your application can't be started."); - - errorDialog.setButton(getResources().getString(android.R.string.ok), new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - finish(); - } - }); - errorDialog.show(); - } - } - - private ServiceConnection m_ministroConnection=new ServiceConnection() { - private IMinistro m_service = null; - @Override - public void onServiceConnected(ComponentName name, IBinder service) - { - m_service = IMinistro.Stub.asInterface(service); - try { - if (m_service!=null) { - Bundle parameters= new Bundle(); - parameters.putStringArray(REQUIRED_MODULES_KEY, m_qtLibs); - parameters.putString(APPLICATION_TITLE_KEY, (String)QtActivity.this.getTitle()); - parameters.putInt(MINIMUM_MINISTRO_API_KEY, MINISTRO_API_LEVEL); - parameters.putInt(MINIMUM_QT_VERSION_KEY, QT_VERSION); - parameters.putString(ENVIRONMENT_VARIABLES_KEY, ENVIRONMENT_VARIABLES); - if (null!=APPLICATION_PARAMETERS) - parameters.putString(APPLICATION_PARAMETERS_KEY, APPLICATION_PARAMETERS); - parameters.putStringArray(SOURCES_KEY, m_sources); - parameters.putString(REPOSITORY_KEY, m_repository); - m_service.requestLoader(m_ministroCallback, parameters); - } - } catch (RemoteException e) { - e.printStackTrace(); - } - } - - private IMinistroCallback m_ministroCallback = new IMinistroCallback.Stub() { - // this function is called back by Ministro. - @Override - public void loaderReady(final Bundle loaderParams) throws RemoteException { - runOnUiThread(new Runnable() { - @Override - public void run() { - unbindService(m_ministroConnection); - loadApplication(loaderParams); - } - }); - } - }; - - @Override - public void onServiceDisconnected(ComponentName name) { - m_service = null; - } - }; - - private void downloadUpgradeMinistro(String msg) - { - AlertDialog.Builder downloadDialog = new AlertDialog.Builder(this); - downloadDialog.setMessage(msg); - downloadDialog.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialogInterface, int i) { - try { - Uri uri = Uri.parse("market://search?q=pname:org.kde.necessitas.ministro"); - Intent intent = new Intent(Intent.ACTION_VIEW, uri); - startActivityForResult(intent, MINISTRO_INSTALL_REQUEST_CODE); - } catch (Exception e) { - e.printStackTrace(); - ministroNotFound(); - } - } - }); - - downloadDialog.setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialogInterface, int i) { - QtActivity.this.finish(); - } - }); - downloadDialog.show(); - } - - private void ministroNotFound() - { - AlertDialog errorDialog = new AlertDialog.Builder(QtActivity.this).create(); - - if (m_activityInfo.metaData.containsKey("android.app.ministro_not_found_msg")) - errorDialog.setMessage(m_activityInfo.metaData.getString("android.app.ministro_not_found_msg")); - else - errorDialog.setMessage("Can't find Ministro service.\nThe application can't start."); - - errorDialog.setButton(getResources().getString(android.R.string.ok), new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - finish(); - } - }); - errorDialog.show(); - } - - static private void copyFile(InputStream inputStream, OutputStream outputStream) - throws IOException - { - byte[] buffer = new byte[BUFFER_SIZE]; - - int count; - while ((count = inputStream.read(buffer)) > 0) - outputStream.write(buffer, 0, count); - } - - - private void copyAsset(String source, String destination) - throws IOException - { - // Already exists, we don't have to do anything - File destinationFile = new File(destination); - if (destinationFile.exists()) - return; - - File parentDirectory = destinationFile.getParentFile(); - if (!parentDirectory.exists()) - parentDirectory.mkdirs(); - - destinationFile.createNewFile(); - - AssetManager assetsManager = getAssets(); - InputStream inputStream = assetsManager.open(source); - OutputStream outputStream = new FileOutputStream(destinationFile); - copyFile(inputStream, outputStream); - } - - private static void createBundledBinary(String source, String destination) - throws IOException - { - // Already exists, we don't have to do anything - File destinationFile = new File(destination); - if (destinationFile.exists()) - return; - - File parentDirectory = destinationFile.getParentFile(); - if (!parentDirectory.exists()) - parentDirectory.mkdirs(); - - destinationFile.createNewFile(); - - InputStream inputStream = new FileInputStream(source); - OutputStream outputStream = new FileOutputStream(destinationFile); - copyFile(inputStream, outputStream); - } - - private void extractBundledPluginsAndImports(String localPrefix) - throws IOException - { - ArrayList libs = new ArrayList(); - - { - String key = BUNDLED_IN_LIB_RESOURCE_ID_KEY; - java.util.Set keys = m_activityInfo.metaData.keySet(); - if (m_activityInfo.metaData.containsKey(key)) { - String[] list = getResources().getStringArray(m_activityInfo.metaData.getInt(key)); - - for (String bundledImportBinary : list) { - String[] split = bundledImportBinary.split(":"); - String sourceFileName = localPrefix + "lib/" + split[0]; - String destinationFileName = localPrefix + split[1]; - createBundledBinary(sourceFileName, destinationFileName); - } - } - } - - { - String key = BUNDLED_IN_ASSETS_RESOURCE_ID_KEY; - if (m_activityInfo.metaData.containsKey(key)) { - String[] list = getResources().getStringArray(m_activityInfo.metaData.getInt(key)); - - for (String fileName : list) { - String[] split = fileName.split(":"); - String sourceFileName = split[0]; - String destinationFileName = localPrefix + split[1]; - copyAsset(sourceFileName, destinationFileName); - } - } - - } - } - - private void startApp(final boolean firstStart) - { - try { - if (m_activityInfo.metaData.containsKey("android.app.qt_sources_resource_id")) { - int resourceId = m_activityInfo.metaData.getInt("android.app.qt_sources_resource_id"); - m_sources = getResources().getStringArray(resourceId); - } - - if (m_activityInfo.metaData.containsKey("android.app.repository")) - m_repository = m_activityInfo.metaData.getString("android.app.repository"); - - if (m_activityInfo.metaData.containsKey("android.app.qt_libs_resource_id")) { - int resourceId = m_activityInfo.metaData.getInt("android.app.qt_libs_resource_id"); - m_qtLibs = getResources().getStringArray(resourceId); - } - - if (m_activityInfo.metaData.containsKey("android.app.use_local_qt_libs") - && m_activityInfo.metaData.getInt("android.app.use_local_qt_libs") == 1) { - ArrayList libraryList = new ArrayList(); - - - String localPrefix = "/data/local/tmp/qt/"; - if (m_activityInfo.metaData.containsKey("android.app.libs_prefix")) - localPrefix = m_activityInfo.metaData.getString("android.app.libs_prefix"); - - boolean bundlingQtLibs = false; - if (m_activityInfo.metaData.containsKey("android.app.bundle_local_qt_libs") - && m_activityInfo.metaData.getInt("android.app.bundle_local_qt_libs") == 1) { - localPrefix = getApplicationInfo().dataDir + "/"; - extractBundledPluginsAndImports(localPrefix); - bundlingQtLibs = true; - } - - if (m_qtLibs != null) { - for (int i=0;i 0) - libraryList.add(localPrefix + lib); - } - } - - - String dexPaths = new String(); - String pathSeparator = System.getProperty("path.separator", ":"); - if (!bundlingQtLibs && m_activityInfo.metaData.containsKey("android.app.load_local_jars")) { - String[] jarFiles = m_activityInfo.metaData.getString("android.app.load_local_jars").split(":"); - for (String jar:jarFiles) { - if (jar.length() > 0) { - if (dexPaths.length() > 0) - dexPaths += pathSeparator; - dexPaths += localPrefix + jar; - } - } - } - - Bundle loaderParams = new Bundle(); - loaderParams.putInt(ERROR_CODE_KEY, 0); - loaderParams.putString(DEX_PATH_KEY, dexPaths); - loaderParams.putString(LOADER_CLASS_NAME_KEY, "org.qtproject.qt5.android.QtActivityDelegate"); - if (m_activityInfo.metaData.containsKey("android.app.static_init_classes")) { - loaderParams.putStringArray(STATIC_INIT_CLASSES_KEY, - m_activityInfo.metaData.getString("android.app.static_init_classes").split(":")); - } - loaderParams.putStringArrayList(NATIVE_LIBRARIES_KEY, libraryList); - loaderParams.putString(ENVIRONMENT_VARIABLES_KEY, ENVIRONMENT_VARIABLES - + "\tQML2_IMPORT_PATH=" + localPrefix + "/qml" - + "\tQML_IMPORT_PATH=" + localPrefix + "/imports" - + "\tQT_PLUGIN_PATH=" + localPrefix + "/plugins"); - loadApplication(loaderParams); - return; - } - - try { - if (!bindService(new Intent(org.kde.necessitas.ministro.IMinistro.class.getCanonicalName()), - m_ministroConnection, - Context.BIND_AUTO_CREATE)) { - throw new SecurityException(""); - } - } catch (Exception e) { - if (firstStart) { - String msg = "This application requires Ministro service. Would you like to install it?"; - if (m_activityInfo.metaData.containsKey("android.app.ministro_needed_msg")) - msg = m_activityInfo.metaData.getString("android.app.ministro_needed_msg"); - downloadUpgradeMinistro(msg); - } else { - ministroNotFound(); - } - } - } catch (Exception e) { - Log.e(QtApplication.QtTAG, "Can't create main activity", e); - } - } - - - - /////////////////////////// forward all notifications //////////////////////////// - /////////////////////////// Super class calls //////////////////////////////////// - /////////////// PLEASE DO NOT CHANGE THE FOLLOWING CODE ////////////////////////// - ////////////////////////////////////////////////////////////////////////////////// - - @Override - public boolean dispatchKeyEvent(KeyEvent event) - { - if (QtApplication.m_delegateObject != null && QtApplication.dispatchKeyEvent != null) - return (Boolean) QtApplication.invokeDelegateMethod(QtApplication.dispatchKeyEvent, event); - else - return super.dispatchKeyEvent(event); - } - public boolean super_dispatchKeyEvent(KeyEvent event) - { - return super.dispatchKeyEvent(event); - } - //--------------------------------------------------------------------------- - - @Override - public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) - { - if (QtApplication.m_delegateObject != null && QtApplication.dispatchPopulateAccessibilityEvent != null) - return (Boolean) QtApplication.invokeDelegateMethod(QtApplication.dispatchPopulateAccessibilityEvent, event); - else - return super.dispatchPopulateAccessibilityEvent(event); - } - public boolean super_dispatchPopulateAccessibilityEvent(AccessibilityEvent event) - { - return super_dispatchPopulateAccessibilityEvent(event); - } - //--------------------------------------------------------------------------- - - @Override - public boolean dispatchTouchEvent(MotionEvent ev) - { - if (QtApplication.m_delegateObject != null && QtApplication.dispatchTouchEvent != null) - return (Boolean) QtApplication.invokeDelegateMethod(QtApplication.dispatchTouchEvent, ev); - else - return super.dispatchTouchEvent(ev); - } - public boolean super_dispatchTouchEvent(MotionEvent event) - { - return super.dispatchTouchEvent(event); - } - //--------------------------------------------------------------------------- - - @Override - public boolean dispatchTrackballEvent(MotionEvent ev) - { - if (QtApplication.m_delegateObject != null && QtApplication.dispatchTrackballEvent != null) - return (Boolean) QtApplication.invokeDelegateMethod(QtApplication.dispatchTrackballEvent, ev); - else - return super.dispatchTrackballEvent(ev); - } - public boolean super_dispatchTrackballEvent(MotionEvent event) - { - return super.dispatchTrackballEvent(event); - } - //--------------------------------------------------------------------------- - - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) - { - - if (QtApplication.m_delegateObject != null && QtApplication.onActivityResult != null) { - QtApplication.invokeDelegateMethod(QtApplication.onActivityResult, requestCode, resultCode, data); - return; - } - if (requestCode == MINISTRO_INSTALL_REQUEST_CODE) - startApp(false); - super.onActivityResult(requestCode, resultCode, data); - } - public void super_onActivityResult(int requestCode, int resultCode, Intent data) - { - super.onActivityResult(requestCode, resultCode, data); - } - //--------------------------------------------------------------------------- - - @Override - protected void onApplyThemeResource(Theme theme, int resid, boolean first) - { - if (!QtApplication.invokeDelegate(theme, resid, first).invoked) - super.onApplyThemeResource(theme, resid, first); - } - public void super_onApplyThemeResource(Theme theme, int resid, boolean first) - { - super.onApplyThemeResource(theme, resid, first); - } - //--------------------------------------------------------------------------- - - - @Override - protected void onChildTitleChanged(Activity childActivity, CharSequence title) - { - if (!QtApplication.invokeDelegate(childActivity, title).invoked) - super.onChildTitleChanged(childActivity, title); - } - public void super_onChildTitleChanged(Activity childActivity, CharSequence title) - { - super.onChildTitleChanged(childActivity, title); - } - //--------------------------------------------------------------------------- - - @Override - public void onConfigurationChanged(Configuration newConfig) - { - if (!QtApplication.invokeDelegate(newConfig).invoked) - super.onConfigurationChanged(newConfig); - } - public void super_onConfigurationChanged(Configuration newConfig) - { - super.onConfigurationChanged(newConfig); - } - //--------------------------------------------------------------------------- - - @Override - public void onContentChanged() - { - if (!QtApplication.invokeDelegate().invoked) - super.onContentChanged(); - } - public void super_onContentChanged() - { - super.onContentChanged(); - } - //--------------------------------------------------------------------------- - - @Override - public boolean onContextItemSelected(MenuItem item) - { - QtApplication.InvokeResult res = QtApplication.invokeDelegate(item); - if (res.invoked) - return (Boolean)res.methodReturns; - else - return super.onContextItemSelected(item); - } - public boolean super_onContextItemSelected(MenuItem item) - { - return super.onContextItemSelected(item); - } - //--------------------------------------------------------------------------- - - @Override - public void onContextMenuClosed(Menu menu) - { - if (!QtApplication.invokeDelegate(menu).invoked) - super.onContextMenuClosed(menu); - } - public void super_onContextMenuClosed(Menu menu) - { - super.onContextMenuClosed(menu); - } - //--------------------------------------------------------------------------- - - @Override - public void onCreate(Bundle savedInstanceState) - { - super.onCreate(savedInstanceState); - if (QtApplication.m_delegateObject != null && QtApplication.onCreate != null) { - QtApplication.invokeDelegateMethod(QtApplication.onCreate, savedInstanceState); - return; - } - - requestWindowFeature(Window.FEATURE_NO_TITLE); - try { - m_activityInfo = getPackageManager().getActivityInfo(getComponentName(), PackageManager.GET_META_DATA); - } catch (NameNotFoundException e) { - e.printStackTrace(); - finish(); - return; - } - - if (null == getLastNonConfigurationInstance()) { - // if splash screen is defined, then show it - if (m_activityInfo.metaData.containsKey("android.app.splash_screen") ) - setContentView(m_activityInfo.metaData.getInt("android.app.splash_screen")); - startApp(true); - } - } - //--------------------------------------------------------------------------- - - @Override - public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) - { - if (!QtApplication.invokeDelegate(menu, v, menuInfo).invoked) - super.onCreateContextMenu(menu, v, menuInfo); - } - public void super_onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) - { - super.onCreateContextMenu(menu, v, menuInfo); - } - //--------------------------------------------------------------------------- - - @Override - public CharSequence onCreateDescription() - { - QtApplication.InvokeResult res = QtApplication.invokeDelegate(); - if (res.invoked) - return (CharSequence)res.methodReturns; - else - return super.onCreateDescription(); - } - public CharSequence super_onCreateDescription() - { - return super.onCreateDescription(); - } - //--------------------------------------------------------------------------- - - @Override - protected Dialog onCreateDialog(int id) - { - QtApplication.InvokeResult res = QtApplication.invokeDelegate(id); - if (res.invoked) - return (Dialog)res.methodReturns; - else - return super.onCreateDialog(id); - } - public Dialog super_onCreateDialog(int id) - { - return super.onCreateDialog(id); - } - //--------------------------------------------------------------------------- - - @Override - public boolean onCreateOptionsMenu(Menu menu) - { - QtApplication.InvokeResult res = QtApplication.invokeDelegate(menu); - if (res.invoked) - return (Boolean)res.methodReturns; - else - return super.onCreateOptionsMenu(menu); - } - public boolean super_onCreateOptionsMenu(Menu menu) - { - return super.onCreateOptionsMenu(menu); - } - //--------------------------------------------------------------------------- - - @Override - public boolean onCreatePanelMenu(int featureId, Menu menu) - { - QtApplication.InvokeResult res = QtApplication.invokeDelegate(featureId, menu); - if (res.invoked) - return (Boolean)res.methodReturns; - else - return super.onCreatePanelMenu(featureId, menu); - } - public boolean super_onCreatePanelMenu(int featureId, Menu menu) - { - return super.onCreatePanelMenu(featureId, menu); - } - //--------------------------------------------------------------------------- - - - @Override - public View onCreatePanelView(int featureId) - { - QtApplication.InvokeResult res = QtApplication.invokeDelegate(featureId); - if (res.invoked) - return (View)res.methodReturns; - else - return super.onCreatePanelView(featureId); - } - public View super_onCreatePanelView(int featureId) - { - return super.onCreatePanelView(featureId); - } - //--------------------------------------------------------------------------- - - @Override - public boolean onCreateThumbnail(Bitmap outBitmap, Canvas canvas) - { - QtApplication.InvokeResult res = QtApplication.invokeDelegate(outBitmap, canvas); - if (res.invoked) - return (Boolean)res.methodReturns; - else - return super.onCreateThumbnail(outBitmap, canvas); - } - public boolean super_onCreateThumbnail(Bitmap outBitmap, Canvas canvas) - { - return super.onCreateThumbnail(outBitmap, canvas); - } - //--------------------------------------------------------------------------- - - @Override - public View onCreateView(String name, Context context, AttributeSet attrs) - { - QtApplication.InvokeResult res = QtApplication.invokeDelegate(name, context, attrs); - if (res.invoked) - return (View)res.methodReturns; - else - return super.onCreateView(name, context, attrs); - } - public View super_onCreateView(String name, Context context, AttributeSet attrs) - { - return super.onCreateView(name, context, attrs); - } - //--------------------------------------------------------------------------- - - @Override - protected void onDestroy() - { - super.onDestroy(); - QtApplication.invokeDelegate(); - } - //--------------------------------------------------------------------------- - - - @Override - public boolean onKeyDown(int keyCode, KeyEvent event) - { - if (QtApplication.m_delegateObject != null && QtApplication.onKeyDown != null) - return (Boolean) QtApplication.invokeDelegateMethod(QtApplication.onKeyDown, keyCode, event); - else - return super.onKeyDown(keyCode, event); - } - public boolean super_onKeyDown(int keyCode, KeyEvent event) - { - return super.onKeyDown(keyCode, event); - } - //--------------------------------------------------------------------------- - - - @Override - public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event) - { - if (QtApplication.m_delegateObject != null && QtApplication.onKeyMultiple != null) - return (Boolean) QtApplication.invokeDelegateMethod(QtApplication.onKeyMultiple, keyCode, repeatCount, event); - else - return super.onKeyMultiple(keyCode, repeatCount, event); - } - public boolean super_onKeyMultiple(int keyCode, int repeatCount, KeyEvent event) - { - return super.onKeyMultiple(keyCode, repeatCount, event); - } - //--------------------------------------------------------------------------- - - @Override - public boolean onKeyUp(int keyCode, KeyEvent event) - { - if (QtApplication.m_delegateObject != null && QtApplication.onKeyDown != null) - return (Boolean) QtApplication.invokeDelegateMethod(QtApplication.onKeyUp, keyCode, event); - else - return super.onKeyUp(keyCode, event); - } - public boolean super_onKeyUp(int keyCode, KeyEvent event) - { - return super.onKeyUp(keyCode, event); - } - //--------------------------------------------------------------------------- - - @Override - public void onLowMemory() - { - if (!QtApplication.invokeDelegate().invoked) - super.onLowMemory(); - } - //--------------------------------------------------------------------------- - - @Override - public boolean onMenuItemSelected(int featureId, MenuItem item) - { - QtApplication.InvokeResult res = QtApplication.invokeDelegate(featureId, item); - if (res.invoked) - return (Boolean)res.methodReturns; - else - return super.onMenuItemSelected(featureId, item); - } - public boolean super_onMenuItemSelected(int featureId, MenuItem item) - { - return super.onMenuItemSelected(featureId, item); - } - //--------------------------------------------------------------------------- - - @Override - public boolean onMenuOpened(int featureId, Menu menu) - { - QtApplication.InvokeResult res = QtApplication.invokeDelegate(featureId, menu); - if (res.invoked) - return (Boolean)res.methodReturns; - else - return super.onMenuOpened(featureId, menu); - } - public boolean super_onMenuOpened(int featureId, Menu menu) - { - return super.onMenuOpened(featureId, menu); - } - //--------------------------------------------------------------------------- - - @Override - protected void onNewIntent(Intent intent) - { - if (!QtApplication.invokeDelegate(intent).invoked) - super.onNewIntent(intent); - } - public void super_onNewIntent(Intent intent) - { - super.onNewIntent(intent); - } - //--------------------------------------------------------------------------- - - @Override - public boolean onOptionsItemSelected(MenuItem item) - { - QtApplication.InvokeResult res = QtApplication.invokeDelegate(item); - if (res.invoked) - return (Boolean)res.methodReturns; - else - return super.onOptionsItemSelected(item); - } - public boolean super_onOptionsItemSelected(MenuItem item) - { - return super.onOptionsItemSelected(item); - } - //--------------------------------------------------------------------------- - - @Override - public void onOptionsMenuClosed(Menu menu) - { - if (!QtApplication.invokeDelegate(menu).invoked) - super.onOptionsMenuClosed(menu); - } - public void super_onOptionsMenuClosed(Menu menu) - { - super.onOptionsMenuClosed(menu); - } - //--------------------------------------------------------------------------- - - @Override - public void onPanelClosed(int featureId, Menu menu) - { - if (!QtApplication.invokeDelegate(featureId, menu).invoked) - super.onPanelClosed(featureId, menu); - } - public void super_onPanelClosed(int featureId, Menu menu) - { - super.onPanelClosed(featureId, menu); - } - //--------------------------------------------------------------------------- - - @Override - protected void onPause() - { - super.onPause(); - QtApplication.invokeDelegate(); - } - //--------------------------------------------------------------------------- - - @Override - protected void onPostCreate(Bundle savedInstanceState) - { - super.onPostCreate(savedInstanceState); - QtApplication.invokeDelegate(savedInstanceState); - } - //--------------------------------------------------------------------------- - - @Override - protected void onPostResume() - { - super.onPostResume(); - QtApplication.invokeDelegate(); - } - //--------------------------------------------------------------------------- - - @Override - protected void onPrepareDialog(int id, Dialog dialog) - { - if (!QtApplication.invokeDelegate(id, dialog).invoked) - super.onPrepareDialog(id, dialog); - } - public void super_onPrepareDialog(int id, Dialog dialog) - { - super.onPrepareDialog(id, dialog); - } - //--------------------------------------------------------------------------- - - @Override - public boolean onPrepareOptionsMenu(Menu menu) - { - QtApplication.InvokeResult res = QtApplication.invokeDelegate(menu); - if (res.invoked) - return (Boolean)res.methodReturns; - else - return super.onPrepareOptionsMenu(menu); - } - public boolean super_onPrepareOptionsMenu(Menu menu) - { - return super.onPrepareOptionsMenu(menu); - } - //--------------------------------------------------------------------------- - - @Override - public boolean onPreparePanel(int featureId, View view, Menu menu) - { - QtApplication.InvokeResult res = QtApplication.invokeDelegate(featureId, view, menu); - if (res.invoked) - return (Boolean)res.methodReturns; - else - return super.onPreparePanel(featureId, view, menu); - } - public boolean super_onPreparePanel(int featureId, View view, Menu menu) - { - return super.onPreparePanel(featureId, view, menu); - } - //--------------------------------------------------------------------------- - - @Override - protected void onRestart() - { - super.onRestart(); - QtApplication.invokeDelegate(); - } - //--------------------------------------------------------------------------- - - @Override - protected void onRestoreInstanceState(Bundle savedInstanceState) - { - if (!QtApplication.invokeDelegate(savedInstanceState).invoked) - super.onRestoreInstanceState(savedInstanceState); - } - public void super_onRestoreInstanceState(Bundle savedInstanceState) - { - super.onRestoreInstanceState(savedInstanceState); - } - //--------------------------------------------------------------------------- - - @Override - protected void onResume() - { - super.onResume(); - QtApplication.invokeDelegate(); - } - //--------------------------------------------------------------------------- - - @Override - public Object onRetainNonConfigurationInstance() - { - QtApplication.InvokeResult res = QtApplication.invokeDelegate(); - if (res.invoked) - return res.methodReturns; - else - return super.onRetainNonConfigurationInstance(); - } - public Object super_onRetainNonConfigurationInstance() - { - return super.onRetainNonConfigurationInstance(); - } - //--------------------------------------------------------------------------- - - @Override - protected void onSaveInstanceState(Bundle outState) - { - if (!QtApplication.invokeDelegate(outState).invoked) - super.onSaveInstanceState(outState); - } - public void super_onSaveInstanceState(Bundle outState) - { - super.onSaveInstanceState(outState); - - } - //--------------------------------------------------------------------------- - - @Override - public boolean onSearchRequested() - { - QtApplication.InvokeResult res = QtApplication.invokeDelegate(); - if (res.invoked) - return (Boolean)res.methodReturns; - else - return super.onSearchRequested(); - } - public boolean super_onSearchRequested() - { - return super.onSearchRequested(); - } - //--------------------------------------------------------------------------- - - @Override - protected void onStart() - { - super.onStart(); - QtApplication.invokeDelegate(); - } - //--------------------------------------------------------------------------- - - @Override - protected void onStop() - { - super.onStop(); - QtApplication.invokeDelegate(); - } - //--------------------------------------------------------------------------- - - @Override - protected void onTitleChanged(CharSequence title, int color) - { - if (!QtApplication.invokeDelegate(title, color).invoked) - super.onTitleChanged(title, color); - } - public void super_onTitleChanged(CharSequence title, int color) - { - super.onTitleChanged(title, color); - } - //--------------------------------------------------------------------------- - - @Override - public boolean onTouchEvent(MotionEvent event) - { - if (QtApplication.m_delegateObject != null && QtApplication.onTouchEvent != null) - return (Boolean) QtApplication.invokeDelegateMethod(QtApplication.onTouchEvent, event); - else - return super.onTouchEvent(event); - } - public boolean super_onTouchEvent(MotionEvent event) - { - return super.onTouchEvent(event); - } - //--------------------------------------------------------------------------- - - @Override - public boolean onTrackballEvent(MotionEvent event) - { - if (QtApplication.m_delegateObject != null && QtApplication.onTrackballEvent != null) - return (Boolean) QtApplication.invokeDelegateMethod(QtApplication.onTrackballEvent, event); - else - return super.onTrackballEvent(event); - } - public boolean super_onTrackballEvent(MotionEvent event) - { - return super.onTrackballEvent(event); - } - //--------------------------------------------------------------------------- - - @Override - public void onUserInteraction() - { - if (!QtApplication.invokeDelegate().invoked) - super.onUserInteraction(); - } - public void super_onUserInteraction() - { - super.onUserInteraction(); - } - //--------------------------------------------------------------------------- - - @Override - protected void onUserLeaveHint() - { - if (!QtApplication.invokeDelegate().invoked) - super.onUserLeaveHint(); - } - public void super_onUserLeaveHint() - { - super.onUserLeaveHint(); - } - //--------------------------------------------------------------------------- - - @Override - public void onWindowAttributesChanged(LayoutParams params) - { - if (!QtApplication.invokeDelegate(params).invoked) - super.onWindowAttributesChanged(params); - } - public void super_onWindowAttributesChanged(LayoutParams params) - { - super.onWindowAttributesChanged(params); - } - //--------------------------------------------------------------------------- - - @Override - public void onWindowFocusChanged(boolean hasFocus) - { - if (!QtApplication.invokeDelegate(hasFocus).invoked) - super.onWindowFocusChanged(hasFocus); - } - public void super_onWindowFocusChanged(boolean hasFocus) - { - super.onWindowFocusChanged(hasFocus); - } - //--------------------------------------------------------------------------- - - //////////////// Activity API 5 ///////////// -//@ANDROID-5 - @Override - public void onAttachedToWindow() - { - if (!QtApplication.invokeDelegate().invoked) - super.onAttachedToWindow(); - } - public void super_onAttachedToWindow() - { - super.onAttachedToWindow(); - } - //--------------------------------------------------------------------------- - - @Override - public void onBackPressed() - { - if (!QtApplication.invokeDelegate().invoked) - super.onBackPressed(); - } - public void super_onBackPressed() - { - super.onBackPressed(); - } - //--------------------------------------------------------------------------- - - @Override - public void onDetachedFromWindow() - { - if (!QtApplication.invokeDelegate().invoked) - super.onDetachedFromWindow(); - } - public void super_onDetachedFromWindow() - { - super.onDetachedFromWindow(); - } - //--------------------------------------------------------------------------- - - @Override - public boolean onKeyLongPress(int keyCode, KeyEvent event) - { - if (QtApplication.m_delegateObject != null && QtApplication.onKeyLongPress != null) - return (Boolean) QtApplication.invokeDelegateMethod(QtApplication.onKeyLongPress, keyCode, event); - else - return super.onKeyLongPress(keyCode, event); - } - public boolean super_onKeyLongPress(int keyCode, KeyEvent event) - { - return super.onKeyLongPress(keyCode, event); - } - //--------------------------------------------------------------------------- -//@ANDROID-5 - -//////////////// Activity API 8 ///////////// -//@ANDROID-8 -@Override - protected Dialog onCreateDialog(int id, Bundle args) - { - QtApplication.InvokeResult res = QtApplication.invokeDelegate(id, args); - if (res.invoked) - return (Dialog)res.methodReturns; - else - return super.onCreateDialog(id, args); - } - public Dialog super_onCreateDialog(int id, Bundle args) - { - return super.onCreateDialog(id, args); - } - //--------------------------------------------------------------------------- - - @Override - protected void onPrepareDialog(int id, Dialog dialog, Bundle args) - { - if (!QtApplication.invokeDelegate(id, dialog, args).invoked) - super.onPrepareDialog(id, dialog, args); - } - public void super_onPrepareDialog(int id, Dialog dialog, Bundle args) - { - super.onPrepareDialog(id, dialog, args); - } - //--------------------------------------------------------------------------- -//@ANDROID-8 - //////////////// Activity API 11 ///////////// - -//@ANDROID-11 -//QtCreator @Override -//QtCreator public boolean dispatchKeyShortcutEvent(KeyEvent event) -//QtCreator { -//QtCreator if (QtApplication.m_delegateObject != null && QtApplication.dispatchKeyShortcutEvent != null) -//QtCreator return (Boolean) QtApplication.invokeDelegateMethod(QtApplication.dispatchKeyShortcutEvent, event); -//QtCreator else -//QtCreator return super.dispatchKeyShortcutEvent(event); -//QtCreator } -//QtCreator public boolean super_dispatchKeyShortcutEvent(KeyEvent event) -//QtCreator { -//QtCreator return super.dispatchKeyShortcutEvent(event); -//QtCreator } -//QtCreator //--------------------------------------------------------------------------- -//QtCreator -//QtCreator @Override -//QtCreator public void onActionModeFinished(ActionMode mode) -//QtCreator { -//QtCreator if (!QtApplication.invokeDelegate(mode).invoked) -//QtCreator super.onActionModeFinished(mode); -//QtCreator } -//QtCreator public void super_onActionModeFinished(ActionMode mode) -//QtCreator { -//QtCreator super.onActionModeFinished(mode); -//QtCreator } -//QtCreator //--------------------------------------------------------------------------- -//QtCreator -//QtCreator @Override -//QtCreator public void onActionModeStarted(ActionMode mode) -//QtCreator { -//QtCreator if (!QtApplication.invokeDelegate(mode).invoked) -//QtCreator super.onActionModeStarted(mode); -//QtCreator } -//QtCreator public void super_onActionModeStarted(ActionMode mode) -//QtCreator { -//QtCreator super.onActionModeStarted(mode); -//QtCreator } -//QtCreator //--------------------------------------------------------------------------- -//QtCreator -//QtCreator @Override -//QtCreator public void onAttachFragment(Fragment fragment) -//QtCreator { -//QtCreator if (!QtApplication.invokeDelegate(fragment).invoked) -//QtCreator super.onAttachFragment(fragment); -//QtCreator } -//QtCreator public void super_onAttachFragment(Fragment fragment) -//QtCreator { -//QtCreator super.onAttachFragment(fragment); -//QtCreator } -//QtCreator //--------------------------------------------------------------------------- -//QtCreator -//QtCreator @Override -//QtCreator public View onCreateView(View parent, String name, Context context, AttributeSet attrs) -//QtCreator { -//QtCreator QtApplication.InvokeResult res = QtApplication.invokeDelegate(parent, name, context, attrs); -//QtCreator if (res.invoked) -//QtCreator return (View)res.methodReturns; -//QtCreator else -//QtCreator return super.onCreateView(parent, name, context, attrs); -//QtCreator } -//QtCreator public View super_onCreateView(View parent, String name, Context context, -//QtCreator AttributeSet attrs) { -//QtCreator return super.onCreateView(parent, name, context, attrs); -//QtCreator } -//QtCreator //--------------------------------------------------------------------------- -//QtCreator -//QtCreator @Override -//QtCreator public boolean onKeyShortcut(int keyCode, KeyEvent event) -//QtCreator { -//QtCreator if (QtApplication.m_delegateObject != null && QtApplication.onKeyShortcut != null) -//QtCreator return (Boolean) QtApplication.invokeDelegateMethod(QtApplication.onKeyShortcut, keyCode,event); -//QtCreator else -//QtCreator return super.onKeyShortcut(keyCode, event); -//QtCreator } -//QtCreator public boolean super_onKeyShortcut(int keyCode, KeyEvent event) -//QtCreator { -//QtCreator return super.onKeyShortcut(keyCode, event); -//QtCreator } -//QtCreator //--------------------------------------------------------------------------- -//QtCreator -//QtCreator @Override -//QtCreator public ActionMode onWindowStartingActionMode(Callback callback) -//QtCreator { -//QtCreator QtApplication.InvokeResult res = QtApplication.invokeDelegate(callback); -//QtCreator if (res.invoked) -//QtCreator return (ActionMode)res.methodReturns; -//QtCreator else -//QtCreator return super.onWindowStartingActionMode(callback); -//QtCreator } -//QtCreator public ActionMode super_onWindowStartingActionMode(Callback callback) -//QtCreator { -//QtCreator return super.onWindowStartingActionMode(callback); -//QtCreator } -//QtCreator //--------------------------------------------------------------------------- -//@ANDROID-11 - //////////////// Activity API 12 ///////////// - -//@ANDROID-12 -//QtCreator @Override -//QtCreator public boolean dispatchGenericMotionEvent(MotionEvent ev) -//QtCreator { -//QtCreator if (QtApplication.m_delegateObject != null && QtApplication.dispatchGenericMotionEvent != null) -//QtCreator return (Boolean) QtApplication.invokeDelegateMethod(QtApplication.dispatchGenericMotionEvent, ev); -//QtCreator else -//QtCreator return super.dispatchGenericMotionEvent(ev); -//QtCreator } -//QtCreator public boolean super_dispatchGenericMotionEvent(MotionEvent event) -//QtCreator { -//QtCreator return super.dispatchGenericMotionEvent(event); -//QtCreator } -//QtCreator //--------------------------------------------------------------------------- -//QtCreator -//QtCreator @Override -//QtCreator public boolean onGenericMotionEvent(MotionEvent event) -//QtCreator { -//QtCreator if (QtApplication.m_delegateObject != null && QtApplication.onGenericMotionEvent != null) -//QtCreator return (Boolean) QtApplication.invokeDelegateMethod(QtApplication.onGenericMotionEvent, event); -//QtCreator else -//QtCreator return super.onGenericMotionEvent(event); -//QtCreator } -//QtCreator public boolean super_onGenericMotionEvent(MotionEvent event) -//QtCreator { -//QtCreator return super.onGenericMotionEvent(event); -//QtCreator } -//QtCreator //--------------------------------------------------------------------------- -//@ANDROID-12 - -} diff --git a/experimental/qt5-intro-android/android/src/org/qtproject/qt5/android/bindings/QtApplication.java b/experimental/qt5-intro-android/android/src/org/qtproject/qt5/android/bindings/QtApplication.java deleted file mode 100644 index 4de1c83..0000000 --- a/experimental/qt5-intro-android/android/src/org/qtproject/qt5/android/bindings/QtApplication.java +++ /dev/null @@ -1,149 +0,0 @@ -/* - Copyright (c) 2012-2013, BogDan Vatra - Contact: http://www.qt-project.org/legal - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -package org.qtproject.qt5.android.bindings; - -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.HashMap; - -import android.app.Application; - -public class QtApplication extends Application -{ - public final static String QtTAG = "Qt"; - public static Object m_delegateObject = null; - public static HashMap> m_delegateMethods= new HashMap>(); - public static Method dispatchKeyEvent = null; - public static Method dispatchPopulateAccessibilityEvent = null; - public static Method dispatchTouchEvent = null; - public static Method dispatchTrackballEvent = null; - public static Method onKeyDown = null; - public static Method onKeyMultiple = null; - public static Method onKeyUp = null; - public static Method onTouchEvent = null; - public static Method onTrackballEvent = null; - public static Method onActivityResult = null; - public static Method onCreate = null; - public static Method onKeyLongPress = null; - public static Method dispatchKeyShortcutEvent = null; - public static Method onKeyShortcut = null; - public static Method dispatchGenericMotionEvent = null; - public static Method onGenericMotionEvent = null; - - public static void setQtActivityDelegate(Object listener) - { - QtApplication.m_delegateObject = listener; - - ArrayList delegateMethods = new ArrayList(); - for (Method m : listener.getClass().getMethods()) { - if (m.getDeclaringClass().getName().startsWith("org.qtproject.qt5.android")) - delegateMethods.add(m); - } - - ArrayList applicationFields = new ArrayList(); - for (Field f : QtApplication.class.getFields()) { - if (f.getDeclaringClass().getName().equals(QtApplication.class.getName())) - applicationFields.add(f); - } - - for (Method delegateMethod : delegateMethods) { - try { - QtActivity.class.getDeclaredMethod(delegateMethod.getName(), delegateMethod.getParameterTypes()); - if (QtApplication.m_delegateMethods.containsKey(delegateMethod.getName())) { - QtApplication.m_delegateMethods.get(delegateMethod.getName()).add(delegateMethod); - } else { - ArrayList delegateSet = new ArrayList(); - delegateSet.add(delegateMethod); - QtApplication.m_delegateMethods.put(delegateMethod.getName(), delegateSet); - } - for (Field applicationField:applicationFields) { - if (applicationField.getName().equals(delegateMethod.getName())) { - try { - applicationField.set(null, delegateMethod); - } catch (Exception e) { - e.printStackTrace(); - } - } - } - } catch (Exception e) { - } - } - } - - @Override - public void onTerminate() { - if (m_delegateObject != null && m_delegateMethods.containsKey("onTerminate")) - invokeDelegateMethod(m_delegateMethods.get("onTerminate").get(0)); - super.onTerminate(); - } - - public static class InvokeResult - { - public boolean invoked = false; - public Object methodReturns = null; - } - - private static int stackDeep=-1; - public static InvokeResult invokeDelegate(Object... args) - { - InvokeResult result = new InvokeResult(); - if (m_delegateObject == null) - return result; - StackTraceElement[] elements = Thread.currentThread().getStackTrace(); - if (-1 == stackDeep) { - String activityClassName = QtActivity.class.getCanonicalName(); - for (int it=0;it - - AndroidManifest.xml - libs.xml - logo.png - icon.png - - diff --git a/experimental/qt5-intro-android/calqlatr/Calqlatr.qml b/experimental/qt5-intro-android/calqlatr/Calqlatr.qml deleted file mode 100644 index 7640fbd..0000000 --- a/experimental/qt5-intro-android/calqlatr/Calqlatr.qml +++ /dev/null @@ -1,110 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import "content" -import "content/calculator.js" as CalcEngine - - -Rectangle { - id: window - width: 320 - height: 480 - focus: true - color: "#272822" - - onWidthChanged: controller.reload() - - function operatorPressed(operator) { CalcEngine.operatorPressed(operator) } - function digitPressed(digit) { CalcEngine.digitPressed(digit) } - - Item { - id: pad - width: window.width * 0.58 - NumberPad { y: 10; anchors.horizontalCenter: parent.horizontalCenter } - } - - AnimationController { - id: controller - animation: ParallelAnimation { - id: anim - NumberAnimation { target: display; property: "x"; duration: 400; from: -16; to: window.width - display.width; easing.type: Easing.InOutQuad } - NumberAnimation { target: pad; property: "x"; duration: 400; from: window.width - pad.width; to: 0; easing.type: Easing.InOutQuad } - SequentialAnimation { - NumberAnimation { target: pad; property: "scale"; duration: 200; from: 1; to: 0.97; easing.type: Easing.InOutQuad } - NumberAnimation { target: pad; property: "scale"; duration: 200; from: 0.97; to: 1; easing.type: Easing.InOutQuad } - } - } - } - - Display { - id: display - x: -16 - width: window.width * 0.42 - height: parent.height - - MouseArea { - property real startX: 0 - property real oldP: 0 - property bool rewind: false - - anchors.fill: parent - onPositionChanged: { - var reverse = startX > window.width / 2 - var mx = mapToItem(window, mouse.x).x - var p = Math.abs((mx - startX) / (window.width - display.width)) - if (p < oldP) - rewind = reverse ? false : true - else - rewind = reverse ? true : false - controller.progress = reverse ? 1 - p : p - oldP = p - } - onPressed: startX = mapToItem(window, mouse.x).x - onReleased: { - if (rewind) - controller.completeToBeginning() - else - controller.completeToEnd() - } - } - } - -} diff --git a/experimental/qt5-intro-android/calqlatr/content/Button.qml b/experimental/qt5-intro-android/calqlatr/content/Button.qml deleted file mode 100644 index c355c2d..0000000 --- a/experimental/qt5-intro-android/calqlatr/content/Button.qml +++ /dev/null @@ -1,80 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -Item { - property alias text: textItem.text - property alias color: textItem.color - - property bool operator: false - - signal clicked - - width: 30 - height: 50 - - Text { - id: textItem - font.pixelSize: 48 - wrapMode: Text.WordWrap - lineHeight: 0.75 - color: "white" - } - -// Rectangle { -// color: "red" -// opacity: 0.2 -// anchors.fill: mouse -// } - - MouseArea { - id: mouse - anchors.fill: parent - anchors.margins: -5 - onClicked: { - //parent.clicked() - if (operator) - window.operatorPressed(parent.text) - else - window.digitPressed(parent.text) - } - } -} diff --git a/experimental/qt5-intro-android/calqlatr/content/Display.qml b/experimental/qt5-intro-android/calqlatr/content/Display.qml deleted file mode 100644 index 3c1d9c0..0000000 --- a/experimental/qt5-intro-android/calqlatr/content/Display.qml +++ /dev/null @@ -1,124 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -Item { - id: display - - function displayOperator(operator) - { - listView.model.append({ "operator": operator, "operand": "" }) - } - - function newLine(operator, operand) - { - listView.model.append({ "operator": operator, "operand": operand }) - } - - function appendDigit(digit) - { - if (!listView.model.count) - listView.model.append({ "operator": "", "operand": "" }) - var i = listView.model.count - 1; - listView.model.get(i).operand = listView.model.get(i).operand + digit; - } - - Item { - id: theItem - width: parent.width + 32 - height: parent.height - - Rectangle { - id: rect - x: 16 - color: "white" - height: parent.height - width: display.width - 16 - } - Image { - anchors.right: rect.left - source: "images/paper-edge-left.png" - height: parent.height - fillMode: Image.TileVertically - } - Image { - anchors.left: rect.right - source: "images/paper-edge-right.png" - height: parent.height - fillMode: Image.TileVertically - } - - Image { - source: "images/paper-grip.png" - anchors.horizontalCenter: parent.horizontalCenter - anchors.bottom: parent.bottom - anchors.bottomMargin: 20 - } - - ListView { - id: listView - x: 16; y: 30 - width: display.width - height: display.height - delegate: Item { - height: 20 - width: parent.width - Text { - id: operator - x: 8 - font.pixelSize: 18 - color: "#6da43d" - text: model.operator - } - Text { - id: operand - font.pixelSize: 18 - anchors.right: parent.right - anchors.rightMargin: 26 - text: model.operand - } - } - model: ListModel { } - } - - } - -} diff --git a/experimental/qt5-intro-android/calqlatr/content/NumberPad.qml b/experimental/qt5-intro-android/calqlatr/content/NumberPad.qml deleted file mode 100644 index 853c763..0000000 --- a/experimental/qt5-intro-android/calqlatr/content/NumberPad.qml +++ /dev/null @@ -1,69 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -Grid { - columns: 3 - columnSpacing: 32 - rowSpacing: 16 - - Button { text: "7" } - Button { text: "8" } - Button { text: "9" } - Button { text: "4" } - Button { text: "5" } - Button { text: "6" } - Button { text: "1" } - Button { text: "2" } - Button { text: "3" } - Button { text: "0" } - Button { text: "." } - Button { text: " " } - Button { text: "±"; color: "#6da43d"; operator: true } - Button { text: "−"; color: "#6da43d"; operator: true } - Button { text: "+"; color: "#6da43d"; operator: true } - Button { text: " "; color: "#6da43d"; operator: true } - Button { text: "÷"; color: "#6da43d"; operator: true } - Button { text: "×"; color: "#6da43d"; operator: true } - Button { text: "C"; color: "#6da43d"; operator: true } - Button { text: " "; color: "#6da43d"; operator: true } - Button { text: "="; color: "#6da43d"; operator: true } -} diff --git a/experimental/qt5-intro-android/calqlatr/content/StyleLabel.qml b/experimental/qt5-intro-android/calqlatr/content/StyleLabel.qml deleted file mode 100644 index 3bdea86..0000000 --- a/experimental/qt5-intro-android/calqlatr/content/StyleLabel.qml +++ /dev/null @@ -1,50 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -Text { - width: 64 - font.pixelSize: 14 - font.bold: false - wrapMode: Text.WordWrap - lineHeight: 0.75 - color: "#676764" -} diff --git a/experimental/qt5-intro-android/calqlatr/content/audio/touch.wav b/experimental/qt5-intro-android/calqlatr/content/audio/touch.wav deleted file mode 100644 index 94cccb7..0000000 Binary files a/experimental/qt5-intro-android/calqlatr/content/audio/touch.wav and /dev/null differ diff --git a/experimental/qt5-intro-android/calqlatr/content/calculator.js b/experimental/qt5-intro-android/calqlatr/content/calculator.js deleted file mode 100644 index 843ef39..0000000 --- a/experimental/qt5-intro-android/calqlatr/content/calculator.js +++ /dev/null @@ -1,143 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - -var curVal = 0 -var memory = 0 -var lastOp = "" -var previousOperator = "" -var digits = "" - -function disabled(op) { - if (op == "." && digits.toString().search(/\./) != -1) { - return true - } else if (op == window.squareRoot && digits.toString().search(/-/) != -1) { - return true - } else { - return false - } -} - -function digitPressed(op) -{ - if (disabled(op)) - return - if (digits.toString().length >= 14) - return - if (lastOp.toString().length == 1 && ((lastOp >= "0" && lastOp <= "9") || lastOp == ".") ) { - digits = digits + op.toString() - display.appendDigit(op.toString()) - } else { - digits = op - display.appendDigit(op.toString()) - } - lastOp = op -} - -function operatorPressed(op) -{ - if (disabled(op)) - return - lastOp = op - - if (previousOperator == "+") { - digits = Number(digits.valueOf()) + Number(curVal.valueOf()) - } else if (previousOperator == "−") { - digits = Number(curVal) - Number(digits.valueOf()) - } else if (previousOperator == "×") { - digits = Number(curVal) * Number(digits.valueOf()) - } else if (previousOperator == "÷") { - digits = Number(Number(curVal) / Number(digits.valueOf())).toString() - } else if (previousOperator == "=") { - } - - if (op == "+" || op == "−" || op == "×" || op == "÷") { - previousOperator = op - curVal = digits.valueOf() - display.displayOperator(previousOperator) - return - } - - if (op == "=") { - display.newLine("=", digits.toString()) - } - - curVal = 0 - previousOperator = "" - - if (op == "1/x") { - digits = (1 / digits.valueOf()).toString() - } else if (op == "x^2") { - digits = (digits.valueOf() * digits.valueOf()).toString() - } else if (op == "Abs") { - digits = (Math.abs(digits.valueOf())).toString() - } else if (op == "Int") { - digits = (Math.floor(digits.valueOf())).toString() - } else if (op == window.plusminus) { - digits = (digits.valueOf() * -1).toString() - } else if (op == window.squareRoot) { - digits = (Math.sqrt(digits.valueOf())).toString() - } else if (op == "mc") { - memory = 0; - } else if (op == "m+") { - memory += digits.valueOf() - } else if (op == "mr") { - digits = memory.toString() - } else if (op == "m-") { - memory = digits.valueOf() - } else if (op == window.leftArrow) { - digits = digits.toString().slice(0, -1) - if (digits.length == 0) { - digits = "0" - } - } else if (op == "Off") { - Qt.quit(); - } else if (op == "C") { - digits = "0" - } else if (op == "AC") { - curVal = 0 - memory = 0 - lastOp = "" - digits ="0" - } - - -} - diff --git a/experimental/qt5-intro-android/calqlatr/content/images/icon-back.png b/experimental/qt5-intro-android/calqlatr/content/images/icon-back.png deleted file mode 100644 index 2989ee2..0000000 Binary files a/experimental/qt5-intro-android/calqlatr/content/images/icon-back.png and /dev/null differ diff --git a/experimental/qt5-intro-android/calqlatr/content/images/icon-close.png b/experimental/qt5-intro-android/calqlatr/content/images/icon-close.png deleted file mode 100644 index 3e21248..0000000 Binary files a/experimental/qt5-intro-android/calqlatr/content/images/icon-close.png and /dev/null differ diff --git a/experimental/qt5-intro-android/calqlatr/content/images/icon-settings.png b/experimental/qt5-intro-android/calqlatr/content/images/icon-settings.png deleted file mode 100644 index 98e662f..0000000 Binary files a/experimental/qt5-intro-android/calqlatr/content/images/icon-settings.png and /dev/null differ diff --git a/experimental/qt5-intro-android/calqlatr/content/images/logo.png b/experimental/qt5-intro-android/calqlatr/content/images/logo.png deleted file mode 100644 index 6bc6561..0000000 Binary files a/experimental/qt5-intro-android/calqlatr/content/images/logo.png and /dev/null differ diff --git a/experimental/qt5-intro-android/calqlatr/content/images/paper-edge-left.png b/experimental/qt5-intro-android/calqlatr/content/images/paper-edge-left.png deleted file mode 100644 index ca29a3a..0000000 Binary files a/experimental/qt5-intro-android/calqlatr/content/images/paper-edge-left.png and /dev/null differ diff --git a/experimental/qt5-intro-android/calqlatr/content/images/paper-edge-right.png b/experimental/qt5-intro-android/calqlatr/content/images/paper-edge-right.png deleted file mode 100644 index 7c2da7b..0000000 Binary files a/experimental/qt5-intro-android/calqlatr/content/images/paper-edge-right.png and /dev/null differ diff --git a/experimental/qt5-intro-android/calqlatr/content/images/paper-grip.png b/experimental/qt5-intro-android/calqlatr/content/images/paper-grip.png deleted file mode 100644 index 953c408..0000000 Binary files a/experimental/qt5-intro-android/calqlatr/content/images/paper-grip.png and /dev/null differ diff --git a/experimental/qt5-intro-android/calqlatr/content/images/settings-selected-a.png b/experimental/qt5-intro-android/calqlatr/content/images/settings-selected-a.png deleted file mode 100644 index e08ddfa..0000000 Binary files a/experimental/qt5-intro-android/calqlatr/content/images/settings-selected-a.png and /dev/null differ diff --git a/experimental/qt5-intro-android/calqlatr/content/images/settings-selected-b.png b/experimental/qt5-intro-android/calqlatr/content/images/settings-selected-b.png deleted file mode 100644 index d9aa7e3..0000000 Binary files a/experimental/qt5-intro-android/calqlatr/content/images/settings-selected-b.png and /dev/null differ diff --git a/experimental/qt5-intro-android/calqlatr/content/images/touch-green.png b/experimental/qt5-intro-android/calqlatr/content/images/touch-green.png deleted file mode 100644 index 64dbde6..0000000 Binary files a/experimental/qt5-intro-android/calqlatr/content/images/touch-green.png and /dev/null differ diff --git a/experimental/qt5-intro-android/calqlatr/content/images/touch-white.png b/experimental/qt5-intro-android/calqlatr/content/images/touch-white.png deleted file mode 100644 index bb02b00..0000000 Binary files a/experimental/qt5-intro-android/calqlatr/content/images/touch-white.png and /dev/null differ diff --git a/experimental/qt5-intro-android/demo.qmlproject b/experimental/qt5-intro-android/demo.qmlproject deleted file mode 100644 index eed1c97..0000000 --- a/experimental/qt5-intro-android/demo.qmlproject +++ /dev/null @@ -1,18 +0,0 @@ -/* File generated by Qt Creator, version 2.6.1 */ - -import QmlProject 1.1 - -Project { - mainFile: "main.qml" - - /* Include .qml, .js, and image files from current directory and subdirectories */ - QmlFiles { - directory: "." - } - JavaScriptFiles { - directory: "." - } - ImageFiles { - directory: "images" - } -} diff --git a/experimental/qt5-intro-android/description.txt b/experimental/qt5-intro-android/description.txt deleted file mode 100644 index 48d03f3..0000000 --- a/experimental/qt5-intro-android/description.txt +++ /dev/null @@ -1,6 +0,0 @@ -The following is a quick tour of what is new in Qt 5. - -It is an application written with Qt Quick, based on Qt 5. The source code is available from: https://qt.gitorious.org/qt-labs/qt5-launch-demo -The demo makes use of the QML Presentation System, available from: ssh://codereview.qt-project.org/qt-labs/qml-presentation-system.git - -The demo has been modified slightly to run in this launcher. diff --git a/experimental/qt5-intro-android/images/ally.png b/experimental/qt5-intro-android/images/ally.png deleted file mode 100644 index 05b405b..0000000 Binary files a/experimental/qt5-intro-android/images/ally.png and /dev/null differ diff --git a/experimental/qt5-intro-android/images/butterfly.png b/experimental/qt5-intro-android/images/butterfly.png deleted file mode 100644 index b8cc35c..0000000 Binary files a/experimental/qt5-intro-android/images/butterfly.png and /dev/null differ diff --git a/experimental/qt5-intro-android/images/displace.png b/experimental/qt5-intro-android/images/displace.png deleted file mode 100644 index 440e8cb..0000000 Binary files a/experimental/qt5-intro-android/images/displace.png and /dev/null differ diff --git a/experimental/qt5-intro-android/images/fog.png b/experimental/qt5-intro-android/images/fog.png deleted file mode 100644 index f462222..0000000 Binary files a/experimental/qt5-intro-android/images/fog.png and /dev/null differ diff --git a/experimental/qt5-intro-android/images/particle.png b/experimental/qt5-intro-android/images/particle.png deleted file mode 100644 index 5c83896..0000000 Binary files a/experimental/qt5-intro-android/images/particle.png and /dev/null differ diff --git a/experimental/qt5-intro-android/images/qt-logo-hdpi.png b/experimental/qt5-intro-android/images/qt-logo-hdpi.png deleted file mode 100644 index 379cfab..0000000 Binary files a/experimental/qt5-intro-android/images/qt-logo-hdpi.png and /dev/null differ diff --git a/experimental/qt5-intro-android/images/qt-logo-ldpi.png b/experimental/qt5-intro-android/images/qt-logo-ldpi.png deleted file mode 100644 index 587c0ca..0000000 Binary files a/experimental/qt5-intro-android/images/qt-logo-ldpi.png and /dev/null differ diff --git a/experimental/qt5-intro-android/images/qt-logo-mdpi.png b/experimental/qt5-intro-android/images/qt-logo-mdpi.png deleted file mode 100644 index d93a564..0000000 Binary files a/experimental/qt5-intro-android/images/qt-logo-mdpi.png and /dev/null differ diff --git a/experimental/qt5-intro-android/images/qt-logo.png b/experimental/qt5-intro-android/images/qt-logo.png deleted file mode 100644 index 7b5c533..0000000 Binary files a/experimental/qt5-intro-android/images/qt-logo.png and /dev/null differ diff --git a/experimental/qt5-intro-android/images/widgets_boxes.png b/experimental/qt5-intro-android/images/widgets_boxes.png deleted file mode 100644 index 3115255..0000000 Binary files a/experimental/qt5-intro-android/images/widgets_boxes.png and /dev/null differ diff --git a/experimental/qt5-intro-android/images/widgets_chips.png b/experimental/qt5-intro-android/images/widgets_chips.png deleted file mode 100644 index 4ef1664..0000000 Binary files a/experimental/qt5-intro-android/images/widgets_chips.png and /dev/null differ diff --git a/experimental/qt5-intro-android/images/widgets_mainwindows.png b/experimental/qt5-intro-android/images/widgets_mainwindows.png deleted file mode 100644 index 5ce5416..0000000 Binary files a/experimental/qt5-intro-android/images/widgets_mainwindows.png and /dev/null differ diff --git a/experimental/qt5-intro-android/images/widgets_styles_fusion.png b/experimental/qt5-intro-android/images/widgets_styles_fusion.png deleted file mode 100644 index d94f859..0000000 Binary files a/experimental/qt5-intro-android/images/widgets_styles_fusion.png and /dev/null differ diff --git a/experimental/qt5-intro-android/images/widgets_styles_macstyle.png b/experimental/qt5-intro-android/images/widgets_styles_macstyle.png deleted file mode 100644 index 033f43b..0000000 Binary files a/experimental/qt5-intro-android/images/widgets_styles_macstyle.png and /dev/null differ diff --git a/experimental/qt5-intro-android/main.cpp b/experimental/qt5-intro-android/main.cpp deleted file mode 100644 index 84b27ed..0000000 --- a/experimental/qt5-intro-android/main.cpp +++ /dev/null @@ -1,73 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: For any questions to Digia, please use the contact form at -** http://www.qt.io -** -** This file is part of the examples of the Qt Enterprise Embedded. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#include -#include - -QtMessageHandler oldMessageHandler = 0; -void messageHandler(QtMsgType type, const QMessageLogContext &ctx, const QString &msg) -{ - if (type == QtCriticalMsg || type == QtFatalMsg) - oldMessageHandler(type, ctx, msg); -} - -int main(int argc, char **argv) -{ -#if defined(QT_NO_DEBUG) - oldMessageHandler = qInstallMessageHandler(messageHandler); -#endif - - QGuiApplication app(argc, argv); - - QString videoPath = QStandardPaths::writableLocation(QStandardPaths::MoviesLocation); - if (!QFile::exists(videoPath + QLatin1String("/Qt5_Animation_small.mp4"))) { - QDir().mkpath(videoPath); - if (!QFile::copy(QLatin1String("assets:/video/Qt5_Animation_small.mp4"), videoPath + QLatin1String("/Qt5_Animation_small.mp4"))) - qWarning("main: Couldn't copy video."); - } - - QQuickView view; - view.engine()->rootContext()->setContextProperty("videoPath", QLatin1String("file://") + videoPath + QLatin1String("/Qt5_Animation_small.mp4")); - view.setResizeMode(QQuickView::SizeRootObjectToView); - view.setSource(QUrl("qrc:/main.qml")); - view.show(); - - return app.exec(); -} diff --git a/experimental/qt5-intro-android/main.qml b/experimental/qt5-intro-android/main.qml deleted file mode 100644 index 2f44e72..0000000 --- a/experimental/qt5-intro-android/main.qml +++ /dev/null @@ -1,64 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt 5 launch demo. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -Rectangle { - id: root - - width: 1280 - height: 720 - color: "black" - - property real widthFactor: root.width / root.height; - - DemoMain { - width: 720 * root.widthFactor - height: 720 - - anchors.centerIn: parent - - scale: root.height / height - - useDropShadow: false; - useSimpleGradient: false; - } - -} diff --git a/experimental/qt5-intro-android/main.qrc b/experimental/qt5-intro-android/main.qrc deleted file mode 100644 index c825270..0000000 --- a/experimental/qt5-intro-android/main.qrc +++ /dev/null @@ -1,203 +0,0 @@ - - - Button.qml - CameraSlide.qml - CanvasSlide.qml - DemoMain.qml - EffectsSlide.qml - description.txt - ExamplesSlide.qml - FontSlide.qml - main_hifi.qml - main.qml - NoisyGradient.qml - NormalMapGenerator.qml - OpacityTransitionPresentation.qml - ParticleSlide.qml - preview_l.jpg - ShaderSlide.qml - SlideDeck.qml - Swirl.qml - VideoSlide.qml - WebkitSlide.qml - WebKitSlideContent.qml - WidgetsSlide.qml - README - calqlatr/Calqlatr.qml - calqlatr/content/Button.qml - calqlatr/content/calculator.js - calqlatr/content/Display.qml - calqlatr/content/NumberPad.qml - calqlatr/content/StyleLabel.qml - calqlatr/content/audio/touch.wav - calqlatr/content/images/icon-back.png - calqlatr/content/images/icon-close.png - calqlatr/content/images/icon-settings.png - calqlatr/content/images/logo.png - calqlatr/content/images/paper-edge-left.png - calqlatr/content/images/paper-edge-right.png - calqlatr/content/images/paper-grip.png - calqlatr/content/images/settings-selected-a.png - calqlatr/content/images/settings-selected-b.png - calqlatr/content/images/touch-green.png - calqlatr/content/images/touch-white.png - images/ally.png - images/butterfly.png - images/displace.png - images/fog.png - images/particle.png - images/qt-logo.png - images/widgets_boxes.png - images/widgets_chips.png - images/widgets_mainwindows.png - images/widgets_styles_fusion.png - images/widgets_styles_macstyle.png - maroon/Maroon.qml - maroon/content/GameCanvas.qml - maroon/content/BuildButton.qml - maroon/content/GameOverScreen.qml - maroon/content/InfoBar.qml - maroon/content/logic.js - maroon/content/NewGameScreen.qml - maroon/content/SoundEffect.qml - maroon/content/audio/bomb-action.wav - maroon/content/audio/catch-action.wav - maroon/content/audio/catch.wav - maroon/content/audio/currency.wav - maroon/content/audio/factory-action.wav - maroon/content/audio/melee-action.wav - maroon/content/audio/projectile-action.wav - maroon/content/audio/shooter-action.wav - maroon/content/gfx/background.png - maroon/content/gfx/bomb-action.png - maroon/content/gfx/bomb-idle.png - maroon/content/gfx/bomb.png - maroon/content/gfx/button-help.png - maroon/content/gfx/button-play.png - maroon/content/gfx/catch-action.png - maroon/content/gfx/catch.png - maroon/content/gfx/cloud.png - maroon/content/gfx/currency.png - maroon/content/gfx/dialog-bomb.png - maroon/content/gfx/dialog-factory.png - maroon/content/gfx/dialog-melee.png - maroon/content/gfx/dialog-pointer.png - maroon/content/gfx/dialog-shooter.png - maroon/content/gfx/dialog.png - maroon/content/gfx/factory-action.png - maroon/content/gfx/factory-idle.png - maroon/content/gfx/factory.png - maroon/content/gfx/grid.png - maroon/content/gfx/help.png - maroon/content/gfx/lifes.png - maroon/content/gfx/logo-bubble.png - maroon/content/gfx/logo-fish.png - maroon/content/gfx/logo.png - maroon/content/gfx/melee-action.png - maroon/content/gfx/melee-idle.png - maroon/content/gfx/melee.png - maroon/content/gfx/mob-idle.png - maroon/content/gfx/mob.png - maroon/content/gfx/points.png - maroon/content/gfx/projectile-action.png - maroon/content/gfx/projectile.png - maroon/content/gfx/scores.png - maroon/content/gfx/shooter-action.png - maroon/content/gfx/shooter-idle.png - maroon/content/gfx/shooter.png - maroon/content/gfx/sunlight.png - maroon/content/gfx/text-1.png - maroon/content/gfx/text-2.png - maroon/content/gfx/text-3.png - maroon/content/gfx/text-blank.png - maroon/content/gfx/text-gameover.png - maroon/content/gfx/text-go.png - maroon/content/gfx/wave.png - maroon/content/mobs/MobBase.qml - maroon/content/towers/Bomb.qml - maroon/content/towers/Factory.qml - maroon/content/towers/Melee.qml - maroon/content/towers/Ranged.qml - maroon/content/towers/TowerBase.qml - particles/customemitter.qml - particles/emitmask.qml - particles/particle.png - particles/particle4.png - particles/star.png - particles/starfish_mask.png - particles/velocityfrommotion.qml - presentation/Clock.qml - presentation/CodeSlide.qml - presentation/Presentation.qml - presentation/Slide.qml - presentation/SlideCounter.qml - samegame/Samegame.qml - samegame/settings.js - samegame/content/Block.qml - samegame/content/BlockEmitter.qml - samegame/content/Button.qml - samegame/content/GameArea.qml - samegame/content/LogoAnimation.qml - samegame/content/MenuEmitter.qml - samegame/content/PaintEmitter.qml - samegame/content/PrimaryPack.qml - samegame/content/PuzzleBlock.qml - samegame/content/samegame.js - samegame/content/SamegameText.qml - samegame/content/SimpleBlock.qml - samegame/content/SmokeText.qml - samegame/content/gfx/background-puzzle.png - samegame/content/gfx/background.png - samegame/content/gfx/bar.png - samegame/content/gfx/blue-puzzle.png - samegame/content/gfx/blue.png - samegame/content/gfx/bubble-highscore.png - samegame/content/gfx/bubble-puzzle.png - samegame/content/gfx/but-game-1.png - samegame/content/gfx/but-game-2.png - samegame/content/gfx/but-game-3.png - samegame/content/gfx/but-game-4.png - samegame/content/gfx/but-game-new.png - samegame/content/gfx/but-menu.png - samegame/content/gfx/but-puzzle-next.png - samegame/content/gfx/but-quit.png - samegame/content/gfx/green-puzzle.png - samegame/content/gfx/green.png - samegame/content/gfx/icon-fail.png - samegame/content/gfx/icon-ok.png - samegame/content/gfx/icon-time.png - samegame/content/gfx/logo-a.png - samegame/content/gfx/logo-e.png - samegame/content/gfx/logo-g.png - samegame/content/gfx/logo-m.png - samegame/content/gfx/logo-s.png - samegame/content/gfx/logo.png - samegame/content/gfx/particle-brick.png - samegame/content/gfx/particle-paint.png - samegame/content/gfx/particle-smoke.png - samegame/content/gfx/red-puzzle.png - samegame/content/gfx/red.png - samegame/content/gfx/text-highscore-new.png - samegame/content/gfx/text-highscore.png - samegame/content/gfx/text-no-winner.png - samegame/content/gfx/text-p1-go.png - samegame/content/gfx/text-p1-won.png - samegame/content/gfx/text-p1.png - samegame/content/gfx/text-p2-go.png - samegame/content/gfx/text-p2-won.png - samegame/content/gfx/text-p2.png - samegame/content/gfx/yellow-puzzle.png - samegame/content/gfx/yellow.png - samegame/content/levels/level0.qml - samegame/content/levels/level1.qml - samegame/content/levels/level2.qml - samegame/content/levels/level3.qml - samegame/content/levels/level4.qml - samegame/content/levels/level5.qml - samegame/content/levels/level6.qml - samegame/content/levels/level7.qml - samegame/content/levels/level8.qml - samegame/content/levels/level9.qml - samegame/content/levels/TemplateBase.qml - - diff --git a/experimental/qt5-intro-android/main_hifi.qml b/experimental/qt5-intro-android/main_hifi.qml deleted file mode 100644 index 19e006b..0000000 --- a/experimental/qt5-intro-android/main_hifi.qml +++ /dev/null @@ -1,43 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt 5 launch demo. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -DemoMain { - autorun: true -} diff --git a/experimental/qt5-intro-android/maroon/Maroon.qml b/experimental/qt5-intro-android/maroon/Maroon.qml deleted file mode 100644 index d7bfcb6..0000000 --- a/experimental/qt5-intro-android/maroon/Maroon.qml +++ /dev/null @@ -1,233 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import QtQuick.Particles 2.0 -import "content" -import "content/logic.js" as Logic - -Item { - id: root - width: 320 - height: 480 - property var gameState: Logic.newGameState(canvas); - property bool passedSplash: false - - Image { - source:"content/gfx/background.png" - anchors.bottom: view.bottom - - ParticleSystem { - id: particles - anchors.fill: parent - - ImageParticle { - id: bubble - anchors.fill: parent - source: "content/gfx/catch.png" - opacity: 0.25 - } - - Wander { - xVariance: 25; - pace: 25; - } - - Emitter { - width: parent.width - height: 150 - anchors.bottom: parent.bottom - anchors.bottomMargin: 3 - startTime: 15000 - - emitRate: 2 - lifeSpan: 15000 - - acceleration: PointDirection{ y: -6; xVariation: 2; yVariation: 2 } - - size: 24 - sizeVariation: 16 - } - } - } - - Column { - id: view - y: -(height - 480) - width: 320 - - GameOverScreen { gameCanvas: canvas } - - Item { - id: canvasArea - width: 320 - height: 480 - - Row { - height: childrenRect.height - Image { - id: wave - y: 30 - source:"content/gfx/wave.png" - } - Image { - y: 30 - source:"content/gfx/wave.png" - } - NumberAnimation on x { from: 0; to: -(wave.width); duration: 16000; loops: Animation.Infinite } - SequentialAnimation on y { - loops: Animation.Infinite - NumberAnimation { from: y - 2; to: y + 2; duration: 1600; easing.type: Easing.InOutQuad } - NumberAnimation { from: y + 2; to: y - 2; duration: 1600; easing.type: Easing.InOutQuad } - } - } - - Row { - opacity: 0.5 - Image { - id: wave2 - y: 25 - source: "content/gfx/wave.png" - } - Image { - y: 25 - source: "content/gfx/wave.png" - } - NumberAnimation on x { from: -(wave2.width); to: 0; duration: 32000; loops: Animation.Infinite } - SequentialAnimation on y { - loops: Animation.Infinite - NumberAnimation { from: y + 2; to: y - 2; duration: 1600; easing.type: Easing.InOutQuad } - NumberAnimation { from: y - 2; to: y + 2; duration: 1600; easing.type: Easing.InOutQuad } - } - } - - Image { - source: "content/gfx/sunlight.png" - opacity: 0.02 - y: 0 - anchors.horizontalCenter: parent.horizontalCenter - transformOrigin: Item.Top - SequentialAnimation on rotation { - loops: Animation.Infinite - NumberAnimation { from: -10; to: 10; duration: 8000; easing.type: Easing.InOutSine } - NumberAnimation { from: 10; to: -10; duration: 8000; easing.type: Easing.InOutSine } - } - } - - Image { - source: "content/gfx/sunlight.png" - opacity: 0.04 - y: 20 - anchors.horizontalCenter: parent.horizontalCenter - transformOrigin: Item.Top - SequentialAnimation on rotation { - loops: Animation.Infinite - NumberAnimation { from: 10; to: -10; duration: 8000; easing.type: Easing.InOutSine } - NumberAnimation { from: -10; to: 10; duration: 8000; easing.type: Easing.InOutSine } - } - } - - Image { - source: "content/gfx/grid.png" - opacity: 0.5 - } - - GameCanvas { - id: canvas - anchors.bottom: parent.bottom - anchors.bottomMargin: 20 - x: 32 - focus: true - } - - InfoBar { anchors.bottom: canvas.top; anchors.bottomMargin: 6; width: parent.width } - - //3..2..1..go - Timer { - id: countdownTimer - interval: 1000 - running: root.countdown < 5 - repeat: true - onTriggered: root.countdown++ - } - Repeater { - model: ["content/gfx/text-blank.png", "content/gfx/text-3.png", "content/gfx/text-2.png", "content/gfx/text-1.png", "content/gfx/text-go.png"] - delegate: Image { - visible: root.countdown <= index - opacity: root.countdown == index ? 0.5 : 0.1 - scale: root.countdown >= index ? 1.0 : 0.0 - source: modelData - Behavior on opacity { NumberAnimation {} } - Behavior on scale { NumberAnimation {} } - } - } - } - - NewGameScreen { - onStartButtonClicked: root.passedSplash = true - } - } - - property int countdown: 10 - Timer { - id: gameStarter - interval: 4000 - running: false - repeat: false - onTriggered: Logic.startGame(canvas); - } - - states: [ - State { - name: "gameOn"; when: gameState.gameOver == false && passedSplash - PropertyChanges { target: view; y: -(height - 960) } - StateChangeScript { script: root.countdown = 0; } - PropertyChanges { target: gameStarter; running: true } - }, - State { - name: "gameOver"; when: gameState.gameOver == true - PropertyChanges { target: view; y: 0 } - } - ] - - transitions: Transition { - NumberAnimation { properties: "x,y"; duration: 1200; easing.type: Easing.OutQuad } - } -} diff --git a/experimental/qt5-intro-android/maroon/content/BuildButton.qml b/experimental/qt5-intro-android/maroon/content/BuildButton.qml deleted file mode 100644 index 49641fc..0000000 --- a/experimental/qt5-intro-android/maroon/content/BuildButton.qml +++ /dev/null @@ -1,90 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import "logic.js" as Logic - -Item { - id: container - width: 64 - height: 64 - property alias source: img.source - property int index - property int row: 0 - property int col: 0 - property int towerType - property bool canBuild: true - property Item gameCanvas: parent.parent.parent - signal clicked() - - Image { - id: img - opacity: (canBuild && gameCanvas.coins >= Logic.towerData[towerType-1].cost) ? 1.0 : 0.4 - } - Text { - anchors.right: parent.right - font.pointSize: 14 - font.bold: true - color: "#ffffff" - text: Logic.towerData[towerType - 1].cost - } - MouseArea { - anchors.fill: parent - onClicked: { - Logic.buildTower(towerType, col, row) - container.clicked() - } - } - Image { - visible: col == index && row != 0 - source: "gfx/dialog-pointer.png" - anchors.top: parent.bottom - anchors.topMargin: 4 - anchors.horizontalCenter: parent.horizontalCenter - } - Image { - visible: col == index && row == 0 - source: "gfx/dialog-pointer.png" - rotation: 180 - anchors.bottom: parent.top - anchors.bottomMargin: 6 - anchors.horizontalCenter: parent.horizontalCenter - } -} diff --git a/experimental/qt5-intro-android/maroon/content/GameCanvas.qml b/experimental/qt5-intro-android/maroon/content/GameCanvas.qml deleted file mode 100644 index 5e6e963..0000000 --- a/experimental/qt5-intro-android/maroon/content/GameCanvas.qml +++ /dev/null @@ -1,240 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import "logic.js" as Logic -import "towers" as Towers - -Item { - id: grid - - property int squareSize: 64 - property int rows: 6 - property int cols: 4 - property Item canvas: grid - property int score: 0 - property int coins: 100 - property int lives: 3 - property int waveNumber: 0 - property int waveProgress: 0 - property var towers - property var mobs - property bool gameRunning: false - property bool gameOver: false - property bool errored: false - property string errorString: "" - - width: cols * squareSize - height: rows * squareSize - - function freshState() { - lives = 3 - coins = 100 - score = 0 - waveNumber = 0 - waveProgress = 0 - gameOver = false - gameRunning = false - towerMenu.shown = false - helpButton.comeBack(); - } - - Text { - id: errorText // Mostly for debug purposes - text: errorString - visible: errored - color: "red" - font.pixelSize: 18 - wrapMode: Text.WordWrap - width: parent.width / 1.2 - height: parent.height / 1.2 - anchors.centerIn: parent - z: 1000 - } - - Timer { - interval: 16 - running: true - repeat: true - onTriggered: Logic.tick() - } - - MouseArea { - id: ma - anchors.fill: parent - onClicked: { - if (towerMenu.visible) - towerMenu.finish() - else - towerMenu.open(mouse.x, mouse.y) - } - } - - Image { - id: towerMenu - visible: false - z: 1500 - scale: 0.9 - opacity: 0.7 - property int dragDistance: 16 - property int targetRow: 0 - property int targetCol: 0 - property bool shown: false - property bool towerExists: false - - function finish() { - shown = false - } - - function open(xp,yp) { - if (!grid.gameRunning) - return - targetRow = Logic.row(yp) - targetCol = Logic.col(xp) - if (targetRow == 0) - towerMenu.y = (targetRow + 1) * grid.squareSize - else - towerMenu.y = (targetRow - 1) * grid.squareSize - towerExists = (grid.towers[Logic.towerIdx(targetCol, targetRow)] != null) - shown = true - helpButton.goAway(); - } - - states: State { - name: "shown"; when: towerMenu.shown && !grid.gameOver - PropertyChanges { target: towerMenu; visible: true; scale: 1; opacity: 1 } - } - - transitions: Transition { - PropertyAction { property: "visible" } - NumberAnimation { properties: "opacity,scale"; duration: 500; easing.type: Easing.OutElastic } - } - - x: -32 - source: "gfx/dialog.png" - Row { - id: buttonRow - height: 100 - anchors.centerIn: parent - spacing: 8 - BuildButton { - row: towerMenu.targetRow; col: towerMenu.targetCol - anchors.verticalCenter: parent.verticalCenter - towerType: 1; index: 0 - canBuild: !towerMenu.towerExists - source: "gfx/dialog-melee.png" - onClicked: towerMenu.finish() - } - BuildButton { - row: towerMenu.targetRow; col: towerMenu.targetCol - anchors.verticalCenter: parent.verticalCenter - towerType: 2; index: 1 - canBuild: !towerMenu.towerExists - source: "gfx/dialog-shooter.png" - onClicked: towerMenu.finish() - } - BuildButton { - row: towerMenu.targetRow; col: towerMenu.targetCol - anchors.verticalCenter: parent.verticalCenter - towerType: 3; index: 2 - canBuild: !towerMenu.towerExists - source: "gfx/dialog-bomb.png" - onClicked: towerMenu.finish() - } - BuildButton { - row: towerMenu.targetRow; col: towerMenu.targetCol - anchors.verticalCenter: parent.verticalCenter - towerType: 4; index: 3 - canBuild: !towerMenu.towerExists - source: "gfx/dialog-factory.png" - onClicked: towerMenu.finish() - } - } - } - - - Keys.onPressed: { // Cheat Codes while Testing - if (event.key == Qt.Key_Up && (event.modifiers & Qt.ShiftModifier)) - grid.coins += 10; - if (event.key == Qt.Key_Left && (event.modifiers & Qt.ShiftModifier)) - grid.lives += 1; - if (event.key == Qt.Key_Down && (event.modifiers & Qt.ShiftModifier)) - Logic.gameState.waveProgress += 1000; - if (event.key == Qt.Key_Right && (event.modifiers & Qt.ShiftModifier)) - Logic.endGame(); - } - - Image { - id: helpButton - z: 1010 - source: "gfx/button-help.png" - function goAway() { - helpMA.enabled = false; - helpButton.opacity = 0; - } - function comeBack() { - helpMA.enabled = true; - helpButton.opacity = 1; - } - Behavior on opacity { NumberAnimation {} } - MouseArea { - id: helpMA - anchors.fill: parent - onClicked: {helpImage.visible = true; helpButton.visible = false;} - } - - anchors.horizontalCenter: parent.horizontalCenter - anchors.bottom: parent.bottom - anchors.bottomMargin: 0 - } - - Image { - id: helpImage - z: 1010 - source: "gfx/help.png" - anchors.fill: parent - visible: false - MouseArea { - anchors.fill: parent - onClicked: helpImage.visible = false; - } - } - -} diff --git a/experimental/qt5-intro-android/maroon/content/GameOverScreen.qml b/experimental/qt5-intro-android/maroon/content/GameOverScreen.qml deleted file mode 100644 index dfb439f..0000000 --- a/experimental/qt5-intro-android/maroon/content/GameOverScreen.qml +++ /dev/null @@ -1,115 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import QtQuick.Particles 2.0 -import "logic.js" as Logic - -Item { - id: gameOverScreen - width: 320 - height: 400 - property GameCanvas gameCanvas - - Image { - id: img - source: "gfx/text-gameover.png" - anchors.centerIn: parent - } - - ParticleSystem { - anchors.fill: parent - ImageParticle { - id: cloud - source: "gfx/cloud.png" - alphaVariation: 0.25 - opacity: 0.25 - } - - Wander { - xVariance: 100; - pace: 1; - } - - Emitter { - id: cloudLeft - width: 160 - height: 160 - anchors.right: parent.left - emitRate: 0.5 - lifeSpan: 12000 - velocity: PointDirection{ x: 64; xVariation: 2; yVariation: 2 } - size: 160 - } - - Emitter { - id: cloudRight - width: 160 - height: 160 - anchors.left: parent.right - emitRate: 0.5 - lifeSpan: 12000 - velocity: PointDirection{ x: -64; xVariation: 2; yVariation: 2 } - size: 160 - } - } - - - Text { - visible: gameCanvas != undefined - text: "You saved " + gameCanvas.score + " fishes!" - anchors.top: img.bottom - anchors.topMargin: 12 - anchors.horizontalCenter: parent.horizontalCenter - font.bold: true - color: "#000000" - opacity: 0.5 - } - - Image { - source: "gfx/button-play.png" - anchors.bottom: parent.bottom - anchors.bottomMargin: 0 - MouseArea { - anchors.fill: parent - onClicked: gameCanvas.gameOver = false//This will actually trigger the state change in main.qml - } - } -} diff --git a/experimental/qt5-intro-android/maroon/content/InfoBar.qml b/experimental/qt5-intro-android/maroon/content/InfoBar.qml deleted file mode 100644 index 36303fc..0000000 --- a/experimental/qt5-intro-android/maroon/content/InfoBar.qml +++ /dev/null @@ -1,84 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -Item { - height: childrenRect.height - - // Display the number of lives - Row { - anchors.left: parent.left - anchors.leftMargin: 10 - spacing: 5 - Repeater { - id: rep - model: Math.min(10, canvas.lives) - delegate: Image { source: "gfx/lifes.png" } - } - } - - // Display the number of fishes saved - Row { - anchors.right: points.left - anchors.rightMargin: 20 - spacing: 5 - Image { source: "gfx/scores.png" } - Text { - text: canvas.score - font.bold: true - } - } - - // Display the number of coins - Row { - id: points - anchors.right: parent.right - anchors.rightMargin: 10 - spacing: 5 - Image { source: "gfx/points.png" } - Text { - id: pointsLabel - text: canvas.coins - font.bold: true - } - } -} - diff --git a/experimental/qt5-intro-android/maroon/content/NewGameScreen.qml b/experimental/qt5-intro-android/maroon/content/NewGameScreen.qml deleted file mode 100644 index 495e3aa..0000000 --- a/experimental/qt5-intro-android/maroon/content/NewGameScreen.qml +++ /dev/null @@ -1,111 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -// This is the first screen. -// It shows the logo and emit a startButtonClicked signal -// when the user press the "PLAY" button. - -Item { - id: newGameScreen - width: 320 - height: 480 - - signal startButtonClicked - - Image { - source: "gfx/logo.png" - anchors.top: parent.top - anchors.topMargin: 60 - } - - Image { - source: "gfx/logo-fish.png" - anchors.top: parent.top - - SequentialAnimation on x { - loops: Animation.Infinite - NumberAnimation { from: x + 148; to: x + 25; duration: 2000; easing.type: Easing.InOutQuad } - NumberAnimation { from: x + 25; to: x + 148; duration: 1600; easing.type: Easing.InOutQuad } - } - SequentialAnimation on anchors.topMargin { - loops: Animation.Infinite - NumberAnimation { from: 100; to: 60; duration: 1600; easing.type: Easing.InOutQuad } - NumberAnimation { from: 60; to: 100; duration: 2000; easing.type: Easing.InOutQuad } - } - } - - Image { - source: "gfx/logo-bubble.png" - anchors.top: parent.top - - SequentialAnimation on x { - loops: Animation.Infinite - NumberAnimation { from: x + 140; to: x + 40; duration: 2000; easing.type: Easing.InOutQuad } - NumberAnimation { from: x + 40; to: x + 140; duration: 1600; easing.type: Easing.InOutQuad } - } - SequentialAnimation on anchors.topMargin { - loops: Animation.Infinite - NumberAnimation { from: 100; to: 60; duration: 1600; easing.type: Easing.InOutQuad } - NumberAnimation { from: 60; to: 100; duration: 2000; easing.type: Easing.InOutQuad } - } - SequentialAnimation on width { - loops: Animation.Infinite - NumberAnimation { from: 140; to: 160; duration: 1000; easing.type: Easing.InOutQuad } - NumberAnimation { from: 160; to: 140; duration: 800; easing.type: Easing.InOutQuad } - } - SequentialAnimation on height { - loops: Animation.Infinite - NumberAnimation { from: 150; to: 140; duration: 800; easing.type: Easing.InOutQuad } - NumberAnimation { from: 140; to: 150; duration: 1000; easing.type: Easing.InOutQuad } - } - } - - Image { - source: "gfx/button-play.png" - anchors.bottom: parent.bottom - anchors.bottomMargin: 60 - MouseArea { - anchors.fill: parent - onClicked: newGameScreen.startButtonClicked() - } - } -} diff --git a/experimental/qt5-intro-android/maroon/content/SoundEffect.qml b/experimental/qt5-intro-android/maroon/content/SoundEffect.qml deleted file mode 100644 index d286a39..0000000 --- a/experimental/qt5-intro-android/maroon/content/SoundEffect.qml +++ /dev/null @@ -1,53 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -//Proxies a SoundEffect if QtMultimedia is installed -Item { - id: container - property QtObject effect: Qt.createQmlObject("import QtMultimedia 5.0; SoundEffect{ source: '" + container.source + "' }", container); - property url source: "" - onSourceChanged: if (effect != null) effect.source = source; - function play() { - if (effect != null) - effect.play(); - } - -} diff --git a/experimental/qt5-intro-android/maroon/content/audio/bomb-action.wav b/experimental/qt5-intro-android/maroon/content/audio/bomb-action.wav deleted file mode 100644 index b334dc1..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/audio/bomb-action.wav and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/audio/catch-action.wav b/experimental/qt5-intro-android/maroon/content/audio/catch-action.wav deleted file mode 100644 index 3e22124..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/audio/catch-action.wav and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/audio/catch.wav b/experimental/qt5-intro-android/maroon/content/audio/catch.wav deleted file mode 100644 index d3eade8..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/audio/catch.wav and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/audio/currency.wav b/experimental/qt5-intro-android/maroon/content/audio/currency.wav deleted file mode 100644 index 0d9ef2c..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/audio/currency.wav and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/audio/factory-action.wav b/experimental/qt5-intro-android/maroon/content/audio/factory-action.wav deleted file mode 100644 index a2ace6c..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/audio/factory-action.wav and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/audio/melee-action.wav b/experimental/qt5-intro-android/maroon/content/audio/melee-action.wav deleted file mode 100644 index d325af4..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/audio/melee-action.wav and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/audio/projectile-action.wav b/experimental/qt5-intro-android/maroon/content/audio/projectile-action.wav deleted file mode 100644 index 4e2284f..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/audio/projectile-action.wav and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/audio/shooter-action.wav b/experimental/qt5-intro-android/maroon/content/audio/shooter-action.wav deleted file mode 100644 index 3e12b94..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/audio/shooter-action.wav and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/background.png b/experimental/qt5-intro-android/maroon/content/gfx/background.png deleted file mode 100644 index d548b93..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/background.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/bomb-action.png b/experimental/qt5-intro-android/maroon/content/gfx/bomb-action.png deleted file mode 100644 index 42da5d7..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/bomb-action.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/bomb-idle.png b/experimental/qt5-intro-android/maroon/content/gfx/bomb-idle.png deleted file mode 100644 index 3bd62e2..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/bomb-idle.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/bomb.png b/experimental/qt5-intro-android/maroon/content/gfx/bomb.png deleted file mode 100644 index 380da7d..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/bomb.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/button-help.png b/experimental/qt5-intro-android/maroon/content/gfx/button-help.png deleted file mode 100644 index aecebc1..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/button-help.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/button-play.png b/experimental/qt5-intro-android/maroon/content/gfx/button-play.png deleted file mode 100644 index 6cdad6c..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/button-play.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/catch-action.png b/experimental/qt5-intro-android/maroon/content/gfx/catch-action.png deleted file mode 100644 index 78ca9fe..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/catch-action.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/catch.png b/experimental/qt5-intro-android/maroon/content/gfx/catch.png deleted file mode 100644 index b7620fe..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/catch.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/cloud.png b/experimental/qt5-intro-android/maroon/content/gfx/cloud.png deleted file mode 100644 index d7c35f8..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/cloud.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/currency.png b/experimental/qt5-intro-android/maroon/content/gfx/currency.png deleted file mode 100644 index 1571341..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/currency.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/dialog-bomb.png b/experimental/qt5-intro-android/maroon/content/gfx/dialog-bomb.png deleted file mode 100644 index 708d916..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/dialog-bomb.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/dialog-factory.png b/experimental/qt5-intro-android/maroon/content/gfx/dialog-factory.png deleted file mode 100644 index d2e2a48..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/dialog-factory.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/dialog-melee.png b/experimental/qt5-intro-android/maroon/content/gfx/dialog-melee.png deleted file mode 100644 index 069d18d..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/dialog-melee.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/dialog-pointer.png b/experimental/qt5-intro-android/maroon/content/gfx/dialog-pointer.png deleted file mode 100644 index 9b51a09..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/dialog-pointer.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/dialog-shooter.png b/experimental/qt5-intro-android/maroon/content/gfx/dialog-shooter.png deleted file mode 100644 index af980ca..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/dialog-shooter.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/dialog.png b/experimental/qt5-intro-android/maroon/content/gfx/dialog.png deleted file mode 100644 index d528ba7..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/dialog.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/factory-action.png b/experimental/qt5-intro-android/maroon/content/gfx/factory-action.png deleted file mode 100644 index 8981678..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/factory-action.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/factory-idle.png b/experimental/qt5-intro-android/maroon/content/gfx/factory-idle.png deleted file mode 100644 index a145582..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/factory-idle.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/factory.png b/experimental/qt5-intro-android/maroon/content/gfx/factory.png deleted file mode 100644 index bfb9f3f..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/factory.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/grid.png b/experimental/qt5-intro-android/maroon/content/gfx/grid.png deleted file mode 100644 index b595552..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/grid.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/help.png b/experimental/qt5-intro-android/maroon/content/gfx/help.png deleted file mode 100644 index 4654e4c..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/help.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/lifes.png b/experimental/qt5-intro-android/maroon/content/gfx/lifes.png deleted file mode 100644 index 135310b..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/lifes.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/logo-bubble.png b/experimental/qt5-intro-android/maroon/content/gfx/logo-bubble.png deleted file mode 100644 index 136151c..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/logo-bubble.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/logo-fish.png b/experimental/qt5-intro-android/maroon/content/gfx/logo-fish.png deleted file mode 100644 index c41833a..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/logo-fish.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/logo.png b/experimental/qt5-intro-android/maroon/content/gfx/logo.png deleted file mode 100644 index 787ac99..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/logo.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/melee-action.png b/experimental/qt5-intro-android/maroon/content/gfx/melee-action.png deleted file mode 100644 index c53873b..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/melee-action.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/melee-idle.png b/experimental/qt5-intro-android/maroon/content/gfx/melee-idle.png deleted file mode 100644 index 621d9df..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/melee-idle.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/melee.png b/experimental/qt5-intro-android/maroon/content/gfx/melee.png deleted file mode 100644 index ab24015..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/melee.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/mob-idle.png b/experimental/qt5-intro-android/maroon/content/gfx/mob-idle.png deleted file mode 100644 index dedacc7..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/mob-idle.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/mob.png b/experimental/qt5-intro-android/maroon/content/gfx/mob.png deleted file mode 100644 index 7569c35..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/mob.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/points.png b/experimental/qt5-intro-android/maroon/content/gfx/points.png deleted file mode 100644 index 1d2386d..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/points.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/projectile-action.png b/experimental/qt5-intro-android/maroon/content/gfx/projectile-action.png deleted file mode 100644 index aa2e650..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/projectile-action.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/projectile.png b/experimental/qt5-intro-android/maroon/content/gfx/projectile.png deleted file mode 100644 index c25a0c3..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/projectile.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/scores.png b/experimental/qt5-intro-android/maroon/content/gfx/scores.png deleted file mode 100644 index af757fe..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/scores.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/shooter-action.png b/experimental/qt5-intro-android/maroon/content/gfx/shooter-action.png deleted file mode 100644 index 08e7e30..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/shooter-action.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/shooter-idle.png b/experimental/qt5-intro-android/maroon/content/gfx/shooter-idle.png deleted file mode 100644 index 663098d..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/shooter-idle.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/shooter.png b/experimental/qt5-intro-android/maroon/content/gfx/shooter.png deleted file mode 100644 index d44401e..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/shooter.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/sunlight.png b/experimental/qt5-intro-android/maroon/content/gfx/sunlight.png deleted file mode 100644 index d1c7042..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/sunlight.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/text-1.png b/experimental/qt5-intro-android/maroon/content/gfx/text-1.png deleted file mode 100644 index 3ea399c..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/text-1.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/text-2.png b/experimental/qt5-intro-android/maroon/content/gfx/text-2.png deleted file mode 100644 index 934a481..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/text-2.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/text-3.png b/experimental/qt5-intro-android/maroon/content/gfx/text-3.png deleted file mode 100644 index 47523f5..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/text-3.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/text-blank.png b/experimental/qt5-intro-android/maroon/content/gfx/text-blank.png deleted file mode 100644 index 4a687b2..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/text-blank.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/text-gameover.png b/experimental/qt5-intro-android/maroon/content/gfx/text-gameover.png deleted file mode 100644 index 4f53ef0..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/text-gameover.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/text-go.png b/experimental/qt5-intro-android/maroon/content/gfx/text-go.png deleted file mode 100644 index bfc26f7..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/text-go.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/gfx/wave.png b/experimental/qt5-intro-android/maroon/content/gfx/wave.png deleted file mode 100644 index f97426c..0000000 Binary files a/experimental/qt5-intro-android/maroon/content/gfx/wave.png and /dev/null differ diff --git a/experimental/qt5-intro-android/maroon/content/logic.js b/experimental/qt5-intro-android/maroon/content/logic.js deleted file mode 100644 index dd76b7e..0000000 --- a/experimental/qt5-intro-android/maroon/content/logic.js +++ /dev/null @@ -1,264 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -.pragma library // Shared game state -.import QtQuick 2.0 as QQ - -// Game Stuff -var gameState // Local reference -function getGameState() { return gameState; } - -var towerData = [ // Name and cost, stats are in the delegate per instance - { "name": "Melee", "cost": 20 }, - { "name": "Ranged", "cost": 50 }, - { "name": "Bomb", "cost": 75 }, - { "name": "Factory", "cost": 25 } -] - -var waveBaseData = [300, 290, 280, 270, 220, 180, 160, 80, 80, 80, 30, 30, 30, 30]; -var waveData = []; - -var towerComponents = new Array(towerData.length); -var mobComponent = Qt.createComponent("mobs/MobBase.qml"); - -function endGame() -{ - gameState.gameRunning = false; - gameState.gameOver = true; - for (var i = 0; i < gameState.cols; i++) { - for (var j = 0; j < gameState.rows; j++) { - if (gameState.towers[towerIdx(i, j)]) { - gameState.towers[towerIdx(i, j)].destroy(); - gameState.towers[towerIdx(i, j)] = null; - } - } - for (var j in gameState.mobs[i]) - gameState.mobs[i][j].destroy(); - gameState.mobs[i].splice(0,gameState.mobs[i].length); //Leaves queue reusable - } -} - -function startGame(gameCanvas) -{ - waveData = new Array(); - for (var i in waveBaseData) - waveData[i] = waveBaseData[i]; - gameState.freshState(); - for (var i = 0; i < gameCanvas.cols; i++) { - for (var j = 0; j < gameCanvas.rows; j++) - gameState.towers[towerIdx(i, j)] = null; - gameState.mobs[i] = new Array(); - } - gameState.towers[towerIdx(0, 0)] = newTower(3, 0, 0);//Start with a starfish in the corner - gameState.gameRunning = true; - gameState.gameOver = false; -} - -function newGameState(gameCanvas) -{ - for (var i = 0; i < towerComponents.length; i++) { - towerComponents[i] = Qt.createComponent("towers/" + towerData[i].name + ".qml"); - if (towerComponents[i].status == QQ.Component.Error) { - gameCanvas.errored = true; - gameCanvas.errorString += "Loading Tower " + towerData[i].name + "\n" + (towerComponents[i].errorString()); - console.log(towerComponents[i].errorString()); - } - } - gameState = gameCanvas; - gameState.freshState(); - gameState.towers = new Array(gameCanvas.rows * gameCanvas.cols); - gameState.mobs = new Array(gameCanvas.cols); - return gameState; -} - -function row(y) -{ - return Math.floor(y / gameState.squareSize); -} - -function col(x) -{ - return Math.floor(x / gameState.squareSize); -} - -function towerIdx(x, y) -{ - return y + (x * gameState.rows); -} - -function newMob(col) -{ - var ret = mobComponent.createObject(gameState.canvas, - { "col" : col, - "speed" : (Math.min(2.0, 0.10 * (gameState.waveNumber + 1))), - "y" : gameState.canvas.height }); - gameState.mobs[col].push(ret); - return ret; -} - -function newTower(type, row, col) -{ - var ret = towerComponents[type].createObject(gameState.canvas); - ret.row = row; - ret.col = col; - ret.fireCounter = ret.rof; - ret.spawn(); - return ret; -} - -function buildTower(type, x, y) -{ - if (gameState.towers[towerIdx(x,y)] != null) { - if (type <= 0) { - gameState.towers[towerIdx(x,y)].sell(); - gameState.towers[towerIdx(x,y)] = null; - } - } else { - if (gameState.coins < towerData[type - 1].cost) - return; - gameState.towers[towerIdx(x, y)] = newTower(type - 1, y, x); - gameState.coins -= towerData[type - 1].cost; - } -} - -function killMob(col, mob) -{ - if (!mob) - return; - var idx = gameState.mobs[col].indexOf(mob); - if (idx == -1 || !mob.hp) - return; - mob.hp = 0; - mob.die(); - gameState.mobs[col].splice(idx,1); -} - -function killTower(row, col) -{ - var tower = gameState.towers[towerIdx(col, row)]; - if (!tower) - return; - tower.hp = 0; - tower.die(); - gameState.towers[towerIdx(col, row)] = null; -} - -function tick() -{ - if (!gameState.gameRunning) - return; - - // Spawn - gameState.waveProgress += 1; - var i = gameState.waveProgress; - var j = 0; - while (i > 0 && j < waveData.length) - i -= waveData[j++]; - if ( i == 0 ) // Spawn a mob - newMob(Math.floor(Math.random() * gameState.cols)); - if ( j == waveData.length ) { // Next Wave - gameState.waveNumber += 1; - gameState.waveProgress = 0; - var waveModifier = 10; // Constant governing how much faster the next wave is to spawn (not fish speed) - for (var k in waveData ) // Slightly faster - if (waveData[k] > waveModifier) - waveData[k] -= waveModifier; - } - - // Towers Attack - for (var j in gameState.towers) { - var tower = gameState.towers[j]; - if (tower == null) - continue; - if (tower.fireCounter > 0) { - tower.fireCounter -= 1; - continue; - } - var column = tower.col; - for (var k in gameState.mobs[column]) { - var conflict = gameState.mobs[column][k]; - if (conflict.y <= gameState.canvas.height && conflict.y + conflict.height > tower.y - && conflict.y - ((tower.row + 1) * gameState.squareSize) < gameState.squareSize * tower.range) { // In Range - tower.fire(); - tower.fireCounter = tower.rof; - conflict.hit(tower.damage); - } - } - - // Income - if (tower.income) { - gameState.coins += tower.income; - tower.fire(); - tower.fireCounter = tower.rof; - } - } - - // Mobs move - for (var i = 0; i < gameState.cols; i++) { - for (var j = 0; j < gameState.mobs[i].length; j++) { - var mob = gameState.mobs[i][j]; - var newPos = gameState.mobs[i][j].y - gameState.mobs[i][j].speed; - if (newPos < 0) { - gameState.lives -= 1; - killMob(i, mob); - if (gameState.lives <= 0) - endGame(); - continue; - } - var conflict = gameState.towers[towerIdx(i, row(newPos))]; - if (conflict != null) { - if (mob.y < conflict.y + gameState.squareSize) - gameState.mobs[i][j].y += gameState.mobs[i][j].speed * 10; // Moved inside tower, now hurry back out - if (mob.fireCounter > 0) { - mob.fireCounter--; - } else { - gameState.mobs[i][j].fire(); - conflict.hp -= mob.damage; - if (conflict.hp <= 0) - killTower(conflict.row, conflict.col); - mob.fireCounter = mob.rof; - } - } else { - gameState.mobs[i][j].y = newPos; - } - } - } - -} diff --git a/experimental/qt5-intro-android/maroon/content/mobs/MobBase.qml b/experimental/qt5-intro-android/maroon/content/mobs/MobBase.qml deleted file mode 100644 index d4ece66..0000000 --- a/experimental/qt5-intro-android/maroon/content/mobs/MobBase.qml +++ /dev/null @@ -1,262 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import "../logic.js" as Logic -import ".." - -Item { - id: container - property string name: "Fish" - property int col: 0 - property real hp: 3 - property real damage: 1 - property real speed: 0.25 - property int rof: 30 //In ticks - property int fireCounter: 0 - property bool dying: false - width: parent ? parent.squareSize : 0 - height: parent ? parent.squareSize : 0 - x: col * width - z: 1001 - function fire() { } - - function die() { - if (dying) - return; - dying = true; - bubble.jumpTo("burst"); - if (fishSprite.currentSprite == "front") - fishSprite.jumpTo(Math.random() > 0.5 ? "left" : "right" ); - fishSwim.start(); - Logic.gameState.score += 1; - killedSound.play(); - bubble.scale = 0.9 - destroy(350); - } - - function inked() { - if (hp > 0) - ink.jumpTo("dirty"); - } - - function hit(dmg) { - hp -= dmg; - - if (hp <= 0) - Logic.killMob(col, container); - } - - Component.onCompleted: spawnSound.play() - - SoundEffect { - id: spawnSound - source: "../audio/catch.wav" - } - SoundEffect { - id: killedSound - source: "../audio/catch-action.wav" - } - - SpriteSequence { - id: fishSprite - width: 64 - height: 64 - interpolate: false - goalSprite: "" - - Sprite { - name: "left" - source: "../gfx/mob-idle.png" - frameWidth: 64 - frameHeight: 64 - frameCount: 1 - frameDuration: 800 - frameDurationVariation: 400 - to: { "front" : 1 } - } - - Sprite { - name: "front" - source: "../gfx/mob-idle.png" - frameCount: 1 - frameX: 64 - frameWidth: 64 - frameHeight: 64 - frameDuration: 800 - frameDurationVariation: 400 - to: { "left" : 1, "right" : 1 } - } - - Sprite { - name: "right" - source: "../gfx/mob-idle.png" - frameCount: 1 - frameX: 128 - frameWidth: 64 - frameHeight: 64 - frameDuration: 800 - frameDurationVariation: 400 - to: { "front" : 1 } - } - - - Sprite { //WORKAROUND: This prevents the triggering of a rendering error which is currently under investigation. - name: "dummy" - source: "../gfx/melee-idle.png" - frameCount: 8 - frameWidth: 64 - frameHeight: 64 - frameX: 0 - frameDuration: 200 - } - - NumberAnimation on x { - id: fishSwim - running: false - property bool goingLeft: fishSprite.currentSprite == "right" - to: goingLeft ? -360 : 360 - duration: 300 - } - } - - SpriteSequence { - id: bubble - width: 64 - height: 64 - scale: 0.4 + (0.2 * hp) - interpolate: false - goalSprite: "" - - Behavior on scale { - NumberAnimation { duration: 150; easing.type: Easing.OutBack } - } - - Sprite { - name: "big" - source: "../gfx/catch.png" - frameCount: 1 - to: { "burst" : 0 } - } - - Sprite { - name: "burst" - source: "../gfx/catch-action.png" - frameCount: 3 - frameX: 64 - frameDuration: 200 - } - - Sprite { //WORKAROUND: This prevents the triggering of a rendering error which is currently under investigation. - name: "dummy" - source: "../gfx/melee-idle.png" - frameCount: 8 - frameWidth: 64 - frameHeight: 64 - frameX: 0 - frameDuration: 200 - } - SequentialAnimation on width { - loops: Animation.Infinite - NumberAnimation { from: width * 1; to: width * 1.1; duration: 800; easing.type: Easing.InOutQuad } - NumberAnimation { from: width * 1.1; to: width * 1; duration: 1000; easing.type: Easing.InOutQuad } - } - SequentialAnimation on height { - loops: Animation.Infinite - NumberAnimation { from: height * 1; to: height * 1.15; duration: 1200; easing.type: Easing.InOutQuad } - NumberAnimation { from: height * 1.15; to: height * 1; duration: 1000; easing.type: Easing.InOutQuad } - } - } - - SpriteSequence { - id: ink - width: 64 - height: 64 - scale: bubble.scale - goalSprite: "" - - Sprite { - name: "clean" - source: "../gfx/projectile-action.png" - frameCount: 1 - frameX: 0 - frameWidth: 64 - frameHeight: 64 - } - Sprite { - name: "dirty" - source: "../gfx/projectile-action.png" - frameCount: 3 - frameX: 64 - frameWidth: 64 - frameHeight: 64 - frameDuration: 150 - to: {"clean":1} - } - - Sprite { //WORKAROUND: This prevents the triggering of a rendering error which is currently under investigation. - name: "dummy" - source: "../gfx/melee-idle.png" - frameCount: 8 - frameWidth: 64 - frameHeight: 64 - frameX: 0 - frameDuration: 200 - } - SequentialAnimation on width { - loops: Animation.Infinite - NumberAnimation { from: width * 1; to: width * 1.1; duration: 800; easing.type: Easing.InOutQuad } - NumberAnimation { from: width * 1.1; to: width * 1; duration: 1000; easing.type: Easing.InOutQuad } - } - SequentialAnimation on height { - loops: Animation.Infinite - NumberAnimation { from: height * 1; to: height * 1.15; duration: 1200; easing.type: Easing.InOutQuad } - NumberAnimation { from: height * 1.15; to: height * 1; duration: 1000; easing.type: Easing.InOutQuad } - } - - } - - SequentialAnimation on x { - loops: Animation.Infinite - NumberAnimation { from: x; to: x - 5; duration: 900; easing.type: Easing.InOutQuad } - NumberAnimation { from: x - 5; to: x; duration: 900; easing.type: Easing.InOutQuad } - } -} - diff --git a/experimental/qt5-intro-android/maroon/content/towers/Bomb.qml b/experimental/qt5-intro-android/maroon/content/towers/Bomb.qml deleted file mode 100644 index 00437f4..0000000 --- a/experimental/qt5-intro-android/maroon/content/towers/Bomb.qml +++ /dev/null @@ -1,133 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import "../logic.js" as Logic -import ".." - -TowerBase { - id: container - hp: 10 - range: 0.4 - rof: 10 - property real detonationRange: 2.5 - - function fire() { - sound.play() - sprite.jumpTo("shoot") - animDelay.start() - } - - function finishFire() { - var sCol = Math.max(0, col - 1) - var eCol = Math.min(Logic.gameState.cols - 1, col + 1) - var killList = new Array() - for (var i = sCol; i <= eCol; i++) { - for (var j = 0; j < Logic.gameState.mobs[i].length; j++) - if (Math.abs(Logic.gameState.mobs[i][j].y - container.y) < Logic.gameState.squareSize * detonationRange) - killList.push(Logic.gameState.mobs[i][j]) - while (killList.length > 0) - Logic.killMob(i, killList.pop()) - } - Logic.killTower(row, col); - } - - Timer { - id: animDelay - running: false - interval: shootState.frameCount * shootState.frameDuration - onTriggered: finishFire() - } - - function die() - { - destroy() // No blink, because we usually meant to die - } - - SoundEffect { - id: sound - source: "../audio/bomb-action.wav" - } - - SpriteSequence { - id: sprite - width: 64 - height: 64 - interpolate: false - goalSprite: "" - - Sprite { - name: "idle" - source: "../gfx/bomb-idle.png" - frameCount: 4 - frameDuration: 800 - } - - Sprite { - id: shootState - name: "shoot" - source: "../gfx/bomb-action.png" - frameCount: 6 - frameDuration: 155 - to: { "dying" : 1 } // So that if it takes a frame to clean up, it is on the last frame of the explosion - } - - Sprite { - name: "dying" - source: "../gfx/bomb-action.png" - frameCount: 1 - frameX: 64 * 5 - frameWidth: 64 - frameHeight: 64 - frameDuration: 155 - } - - SequentialAnimation on x { - loops: Animation.Infinite - NumberAnimation { from: x; to: x + 4; duration: 900; easing.type: Easing.InOutQuad } - NumberAnimation { from: x + 4; to: x; duration: 900; easing.type: Easing.InOutQuad } - } - SequentialAnimation on y { - loops: Animation.Infinite - NumberAnimation { from: y; to: y - 4; duration: 900; easing.type: Easing.InOutQuad } - NumberAnimation { from: y - 4; to: y; duration: 900; easing.type: Easing.InOutQuad } - } - } -} diff --git a/experimental/qt5-intro-android/maroon/content/towers/Factory.qml b/experimental/qt5-intro-android/maroon/content/towers/Factory.qml deleted file mode 100644 index b34a184..0000000 --- a/experimental/qt5-intro-android/maroon/content/towers/Factory.qml +++ /dev/null @@ -1,114 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import "../logic.js" as Logic -import ".." - -TowerBase { - id: container - rof: 160 - income: 5 - SpriteSequence { - id: sprite - width: 64 - height: 64 - interpolate: false - goalSprite: "" - - Sprite { - name: "idle" - source: "../gfx/factory-idle.png" - frameCount: 4 - frameDuration: 200 - } - - Sprite { - name: "action" - source: "../gfx/factory-action.png" - frameCount: 4 - frameDuration: 90 - to: { "idle" : 1 } - } - - SequentialAnimation on x { - loops: Animation.Infinite - NumberAnimation { from: x; to: x + 4; duration: 900; easing.type: Easing.InOutQuad } - NumberAnimation { from: x + 4; to: x; duration: 900; easing.type: Easing.InOutQuad } - } - SequentialAnimation on y { - loops: Animation.Infinite - NumberAnimation { from: y; to: y - 4; duration: 900; easing.type: Easing.InOutQuad } - NumberAnimation { from: y - 4; to: y; duration: 900; easing.type: Easing.InOutQuad } - } - } - - SoundEffect { - id: actionSound - source: "../audio/factory-action.wav" - } - - function fire() { - actionSound.play() - sprite.jumpTo("action") - coinLaunch.start() - } - - function spawn() { - coin.target = Logic.gameState.mapToItem(container, 240, -32) - } - - Image { - id: coin - property var target: { "x" : 0, "y" : 0 } - source: "../gfx/currency.png" - visible: false - } - - SequentialAnimation { - id: coinLaunch - PropertyAction { target: coin; property: "visible"; value: true } - ParallelAnimation { - NumberAnimation { target: coin; property: "x"; from: 16; to: coin.target.x } - NumberAnimation { target: coin; property: "y"; from: 16; to: coin.target.y } - } - PropertyAction { target: coin; property: "visible"; value: false } - } -} diff --git a/experimental/qt5-intro-android/maroon/content/towers/Melee.qml b/experimental/qt5-intro-android/maroon/content/towers/Melee.qml deleted file mode 100644 index 1b49a45..0000000 --- a/experimental/qt5-intro-android/maroon/content/towers/Melee.qml +++ /dev/null @@ -1,83 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import ".." - -TowerBase { - hp: 4 - range: 0.1 - damage: 1 - rof: 40 - income: 0 - - SpriteSequence { - id: sprite - width: 64 - height: 64 - interpolate: false - goalSprite: "" - - Sprite { - name: "idle" - source: "../gfx/melee-idle.png" - frameCount: 8 - frameDuration: 250 - } - - Sprite { - name: "shoot" - source: "../gfx/melee-action.png" - frameCount: 2 - frameDuration: 200 - to: { "idle" : 1 } - } - } - - function fire() { - shootSound.play() - sprite.jumpTo("shoot") - } - - SoundEffect { - id: shootSound - source: "../audio/melee-action.wav" - } -} diff --git a/experimental/qt5-intro-android/maroon/content/towers/Ranged.qml b/experimental/qt5-intro-android/maroon/content/towers/Ranged.qml deleted file mode 100644 index 33f3354..0000000 --- a/experimental/qt5-intro-android/maroon/content/towers/Ranged.qml +++ /dev/null @@ -1,128 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import "../logic.js" as Logic -import ".." - -TowerBase { - id: container - hp: 2 - range: 6 - damage: 0 // By projectile - rof: 40 - income: 0 - property var targetMob - property real realDamage: 1 - function fire() { - proj.x = 32 - proj.width / 2 - proj.y = 0 - targetMob = Logic.gameState.mobs[col][0] - projAnim.to = targetMob.y - container.y -10 - projAnim.start() - shootSound.play() - sprite.jumpTo("shoot") - } - - Image { - id: proj - y: 1000 - SequentialAnimation on y { - id: projAnim - running: false - property real to: 1000 - SmoothedAnimation { - to: projAnim.to - velocity: 400 - } - ScriptAction { - script: { - if (targetMob && targetMob.hit) { - targetMob.hit(realDamage) - targetMob.inked() - projSound.play() - } - } - } - PropertyAction { - value: 1000; - } - } - source: "../gfx/projectile.png" - } - - SoundEffect { - id: shootSound - source: "../audio/shooter-action.wav" - } - SoundEffect { - id: projSound - source: "../audio/projectile-action.wav" - } - - SpriteSequence { - id: sprite - width: 64 - height: 64 - interpolate: false - goalSprite: "" - - Sprite { - name: "idle" - source: "../gfx/shooter-idle.png" - frameCount: 4 - frameDuration: 250 - } - - Sprite { - name: "shoot" - source: "../gfx/shooter-action.png" - frameCount: 5 - frameDuration: 90 - to: { "idle" : 1 } - } - - SequentialAnimation on x { - loops: Animation.Infinite - NumberAnimation { from: x; to: x - 4; duration: 900; easing.type: Easing.InOutQuad } - NumberAnimation { from: x - 4; to: x; duration: 900; easing.type: Easing.InOutQuad } - } - } -} diff --git a/experimental/qt5-intro-android/maroon/content/towers/TowerBase.qml b/experimental/qt5-intro-android/maroon/content/towers/TowerBase.qml deleted file mode 100644 index 5c71cb0..0000000 --- a/experimental/qt5-intro-android/maroon/content/towers/TowerBase.qml +++ /dev/null @@ -1,72 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -Item { - property real hp: 1 - property real range: 0 - property real damage: 0 - property int rof: 100 - property int fireCounter: 0 - property int income: 0 - property int row: 0 - property int col: 0 - - width: parent ? parent.squareSize : 0 - height: parent ? parent.squareSize : 0 - //This is how it is placed on the gameboard, do not modify/animate the X/Y/Z of a TowerBase please - x: col * width - y: row * height - z: 1000 - - function fire() { } - function spawn() { } //After all game properties are set - function die() { stdDeath.start(); destroy(1000); } - function sell() { destroy(); } - - SequentialAnimation on opacity { - id: stdDeath - running: false - loops: 2 - NumberAnimation { from: 1; to: 0; } - NumberAnimation { from: 0; to: 1; } - } -} diff --git a/experimental/qt5-intro-android/particles/customemitter.qml b/experimental/qt5-intro-android/particles/customemitter.qml deleted file mode 100644 index 270935d..0000000 --- a/experimental/qt5-intro-android/particles/customemitter.qml +++ /dev/null @@ -1,91 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import QtQuick.Particles 2.0 - -ParticleSystem { - id: sys - width: 320 - height: 480 - running: true - - property real petalLength: 180 - property real petalRotation: 0 - NumberAnimation on petalRotation { - from: 0; - to: 360; - loops: -1; - running: true - duration: 24000 - } - - function convert(a) {return a*(Math.PI/180);} - Emitter { - lifeSpan: 4000 - emitRate: 120 - size: 12 - anchors.centerIn: parent - //! [0] - onEmitParticles: { - for (var i=0; i 0) { - root.currentSlide = 0; - root.slides[root.currentSlide].visible = true; - } - } - - function switchSlides(from, to, forward) { - from.visible = false - to.visible = true - return true - } - - function goToNextSlide() { - root._userNum = 0 - if (_faded) - return - if (root.currentSlide + 1 < root.slides.length) { - var from = slides[currentSlide] - var to = slides[currentSlide + 1] - to.textAnimating = true - if (switchSlides(from, to, true)) { - currentSlide = currentSlide + 1; - root.focus = true; - } - } - timer.stop() - if (slides[currentSlide].shouldTimeout) - timer.start() - } - - function goToPreviousSlide() { - root._userNum = 0 - if (root._faded) - return - if (root.currentSlide - 1 >= 0) { - var from = slides[currentSlide] - var to = slides[currentSlide - 1] - to.textAnimating = false - if (switchSlides(from, to, false)) { - currentSlide = currentSlide - 1; - root.focus = true; - } - } - timer.stop() - } - - function goToUserSlide() { - --_userNum; - if (root._faded || _userNum >= root.slides.length) - return - if (_userNum < 0) - goToNextSlide() - else if (root.currentSlide != _userNum) { - var from = slides[currentSlide] - var to = slides[_userNum] - if (switchSlides(from, to, _userNum > currentSlide)) { - currentSlide = _userNum; - root.focus = true; - } - } - timer.stop() - } - - Timer { - id: timer - interval: slides[currentSlide].timeout > 0 ? slides[currentSlide].timeout : 7000 - running: false - onTriggered: goToNextSlide() - } - - focus: true - - Keys.onSpacePressed: goToNextSlide() - Keys.onRightPressed: goToNextSlide() - Keys.onDownPressed: goToNextSlide() - Keys.onLeftPressed: goToPreviousSlide() - Keys.onUpPressed: goToPreviousSlide() - Keys.onEscapePressed: Qt.quit() - Keys.onPressed: { - if (event.key >= Qt.Key_0 && event.key <= Qt.Key_9) - _userNum = 10 * _userNum + (event.key - Qt.Key_0) - else { - if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) - goToUserSlide(); - else if (event.key === Qt.Key_VolumeUp) - root.masterVolume = Math.min(1.0, root.masterVolume + 0.1) - else if (event.key === Qt.Key_VolumeDown) - root.masterVolume = Math.max(0.0, root.masterVolume - 0.1) - else if (event.key === Qt.Key_VolumeMute) - root.masterVolume = 0.0 - else if (event.key === Qt.Key_Backspace) - goToPreviousSlide(); - else if (event.key === Qt.Key_C) - root._faded = !root._faded; - _userNum = 0; - } - } - Keys.onReleased: { - if (event.key === Qt.Key_Back) { - if (root.currentSlide > 0) { - goToPreviousSlide() - event.accepted = true - } - } - } - - Rectangle { - z: 1000 - color: "black" - anchors.fill: parent - opacity: root._faded ? 1 : 0 - Behavior on opacity { NumberAnimation { duration: 250 } } - } - - MouseArea { - id: mouseArea - anchors.fill: parent - acceptedButtons: Qt.LeftButton | Qt.RightButton - onClicked: { - if (mouse.button == Qt.RightButton) - goToPreviousSlide() - else - goToNextSlide() - } - onPressAndHold: goToPreviousSlide(); //A back mechanism for touch only devices - } - - Window { - id: notesWindow; - width: 400 - height: 300 - - title: "QML Presentation: Notes" - visible: root.showNotes - - Text { - anchors.fill: parent - anchors.margins: parent.height * 0.1; - - font.pixelSize: 16 - wrapMode: Text.WordWrap - - property string notes: root.slides[root.currentSlide].notes; - text: notes == "" ? "Slide has no notes..." : notes; - font.italic: notes == ""; - } - } - - Text { - id: tapToAdvance - color: textColor - anchors.bottom: parent.bottom - anchors.bottomMargin: parent.height * 0.01 - anchors.horizontalCenter: parent.horizontalCenter - text: "[ Tap to advance ]" - font.family: fontFamily - font.pixelSize: slides[currentSlide].baseFontSize - opacity: slides[currentSlide].showTapToAdvance ? 1.0 : 0.0 - visible: opacity > 0.0 - - Behavior on opacity { - NumberAnimation { duration: 400 } - } - } -} diff --git a/experimental/qt5-intro-android/presentation/Slide.qml b/experimental/qt5-intro-android/presentation/Slide.qml deleted file mode 100644 index 40b7b93..0000000 --- a/experimental/qt5-intro-android/presentation/Slide.qml +++ /dev/null @@ -1,195 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the QML Presentation System. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this -** file. Please review the following information to ensure the GNU Lesser -** General Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU General -** Public License version 3.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of this -** file. Please review the following information to ensure the GNU General -** Public License version 3.0 requirements will be met: -** http://www.gnu.org/copyleft/gpl.html. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Digia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - -import QtQuick 2.0 - -Item { - /* - Slides can only be instantiated as a direct child of a Presentation {} as they rely on - several properties there. - */ - - id: slide - - property bool isSlide: true; - property bool shouldTimeout: true - property real timeout: 0 - property bool showTapToAdvance: !shouldTimeout - - property string title; - property variant content: [] - property string centeredText - property string writeInText; - property string notes; - - property real fontSize: Math.min(parent.height, parent.width) * 0.05 - property real fontScale: 1 - - property real baseFontSize: fontSize * fontScale - property real titleFontSize: fontSize * 1.2 * fontScale - property real bulletSpacing: 1 - - property real contentWidth: width - - property bool textAnimating: true - - // Define the slide to be the "content area" - x: parent.width * 0.05 - y: parent.height * 0.2 - width: parent.width * 0.9 - height: parent.height * 0.7 - - property real masterWidth: parent.width - property real masterHeight: parent.height - - property color titleColor: parent.titleColor; - property color textColor: parent.textColor; - property string fontFamily: parent.fontFamily; - - property variant contentFormat: Text.PlainText - - visible: false - - Text { - id: titleText - font.pixelSize: titleFontSize - text: title; - anchors.horizontalCenter: parent.horizontalCenter - anchors.bottom: parent.top - anchors.bottomMargin: parent.fontSize * 1.5 - font.bold: true; - font.family: slide.fontFamily - color: slide.titleColor - horizontalAlignment: Text.Center - z: 1 - } - - Text { - id: centeredId - width: parent.width - anchors.centerIn: parent - anchors.verticalCenterOffset: - parent.y / 3 - text: centeredText - horizontalAlignment: Text.Center - font.pixelSize: baseFontSize - font.family: slide.fontFamily - color: slide.textColor - wrapMode: Text.Wrap - } - - Text { - id: writeInTextId - property int length; - font.family: slide.fontFamily - font.pixelSize: baseFontSize - color: slide.textColor - - anchors.fill: parent; - wrapMode: Text.Wrap - - text: slide.writeInText.substring(0, length); - - NumberAnimation on length { - from: 0; - to: slide.writeInText.length; - duration: slide.textAnimating ? slide.writeInText.length * 10 : 1; - running: slide.visible && parent.visible && slide.writeInText.length > 0 - } - - visible: slide.writeInText != undefined; - } - - - Column { - id: contentId - anchors.fill: parent - - Repeater { - model: content.length - - Row { - id: row - - function decideIndentLevel(s) { return s.charAt(0) == " " ? 1 + decideIndentLevel(s.substring(1)) : 0 } - property int indentLevel: decideIndentLevel(content[index]) - property int nextIndentLevel: index < content.length - 1 ? decideIndentLevel(content[index+1]) : 0 - property real indentFactor: (10 - row.indentLevel * 2) / 10; - - height: text.height + (nextIndentLevel == 0 ? 1 : 0.3) * slide.baseFontSize * slide.bulletSpacing - x: slide.baseFontSize * indentLevel - - Rectangle { - id: dot - y: baseFontSize * row.indentFactor / 2 - width: baseFontSize / 4 - height: baseFontSize / 4 - color: slide.textColor - radius: width / 2 - smooth: true - opacity: text.text.length == 0 ? 0 : 1 - } - - Rectangle { - id: space - width: dot.width * 2 - height: 1 - color: "#00ffffff" - } - - Text { - id: text - width: slide.contentWidth - parent.x - dot.width - space.width - font.pixelSize: baseFontSize * row.indentFactor - text: content[index] - textFormat: contentFormat - wrapMode: Text.WordWrap - color: slide.textColor - horizontalAlignment: Text.AlignLeft - font.family: slide.fontFamily - - onLinkActivated: Qt.openUrlExternally(link) - } - } - } - } - -} diff --git a/experimental/qt5-intro-android/presentation/SlideCounter.qml b/experimental/qt5-intro-android/presentation/SlideCounter.qml deleted file mode 100644 index 06e7542..0000000 --- a/experimental/qt5-intro-android/presentation/SlideCounter.qml +++ /dev/null @@ -1,61 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the QML Presentation System. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this -** file. Please review the following information to ensure the GNU Lesser -** General Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU General -** Public License version 3.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of this -** file. Please review the following information to ensure the GNU General -** Public License version 3.0 requirements will be met: -** http://www.gnu.org/copyleft/gpl.html. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Digia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - -import QtQuick 2.0 - -Text { - id: counter; - - property real fontSize: parent.height * 0.05 - property real fontScale: 0.5; - property color textColor: parent.textColor != undefined ? parent.textColor : "black" - property string fontFamily: parent.fontFamily != undefined ? parent.fontFamily : "Helvetica" - - text: "# " + (parent.currentSlide + 1) + " / " + parent.slides.length; - color: counter.textColor; - font.family: counter.fontFamily; - font.pixelSize: fontSize * fontScale; - - anchors.right: parent.right; - anchors.bottom: parent.bottom; - anchors.margins: font.pixelSize; -} diff --git a/experimental/qt5-intro-android/preview_l.jpg b/experimental/qt5-intro-android/preview_l.jpg deleted file mode 100644 index 8decd76..0000000 Binary files a/experimental/qt5-intro-android/preview_l.jpg and /dev/null differ diff --git a/experimental/qt5-intro-android/samegame/Samegame.qml b/experimental/qt5-intro-android/samegame/Samegame.qml deleted file mode 100644 index 2b0b82a..0000000 --- a/experimental/qt5-intro-android/samegame/Samegame.qml +++ /dev/null @@ -1,371 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import QtQuick.Particles 2.0 -import "content/samegame.js" as Logic -import "settings.js" as Settings -import "content" - -Rectangle { - id: root - width: 320; height: 480 - property int acc: 0 - - - function loadPuzzle() { - if (gameCanvas.mode != "") - Logic.cleanUp(); - Logic.startNewGame(gameCanvas,"puzzle","levels/level"+acc+".qml") - } - function nextPuzzle() { - acc = (acc + 1) % 10; - loadPuzzle(); - } - Timer { - id: gameOverTimer - interval: 1500 - running : gameCanvas.gameOver && gameCanvas.mode == "puzzle" //mode will be reset by cleanUp(); - repeat : false - onTriggered: { - Logic.cleanUp(); - nextPuzzle(); - } - } - - Image { - source: "content/gfx/background.png" - anchors.fill: parent - } - - GameArea { - id: gameCanvas - z: 1 - y: Settings.headerHeight - - width: parent.width - height: parent.height - Settings.headerHeight - Settings.footerHeight - - backgroundVisible: root.state == "in-game" - onModeChanged: if (gameCanvas.mode != "puzzle") puzzleWon = false; //UI has stricter constraints on this variable than the game does - Age { - groups: ["redspots", "greenspots", "bluespots", "yellowspots"] - enabled: root.state == "" - system: gameCanvas.ps - } - - onPuzzleLost: acc--;//So that nextPuzzle() reloads the current one - - } - - Item { - id: menu - z: 2 - width: parent.width; - anchors.top: parent.top - anchors.bottom: bottomBar.top - - LogoAnimation { - x: 64 - y: Settings.headerHeight - particleSystem: gameCanvas.ps - running: root.state == "" - } - Row { - x: 112 - y: 20 - Image { source: "content/gfx/logo-a.png" } - Image { source: "content/gfx/logo-m.png" } - Image { source: "content/gfx/logo-e.png" } - } - - Column { - y: 100 + 40 - spacing: Settings.menuButtonSpacing - - Button { - width: root.width - rotatedButton: true - imgSrc: "content/gfx/but-game-1.png" - onClicked: { - if (root.state == "in-game") - return //Prevent double clicking - root.state = "in-game" - gameCanvas.blockFile = "Block.qml" - gameCanvas.background = "gfx/background.png" - arcadeTimer.start(); - } - //Emitted particles don't fade out, because ImageParticle is on the GameArea - system: gameCanvas.ps - group: "green" - Timer { - id: arcadeTimer - interval: Settings.menuDelay - running : false - repeat : false - onTriggered: Logic.startNewGame(gameCanvas) - } - } - - Button { - width: root.width - rotatedButton: true - imgSrc: "content/gfx/but-game-2.png" - onClicked: { - if (root.state == "in-game") - return - root.state = "in-game" - gameCanvas.blockFile = "Block.qml" - gameCanvas.background = "gfx/background.png" - twopTimer.start(); - } - system: gameCanvas.ps - group: "green" - Timer { - id: twopTimer - interval: Settings.menuDelay - running : false - repeat : false - onTriggered: Logic.startNewGame(gameCanvas, "multiplayer") - } - } - - Button { - width: root.width - rotatedButton: true - imgSrc: "content/gfx/but-game-3.png" - onClicked: { - if (root.state == "in-game") - return - root.state = "in-game" - gameCanvas.blockFile = "SimpleBlock.qml" - gameCanvas.background = "gfx/background.png" - endlessTimer.start(); - } - system: gameCanvas.ps - group: "blue" - Timer { - id: endlessTimer - interval: Settings.menuDelay - running : false - repeat : false - onTriggered: Logic.startNewGame(gameCanvas, "endless") - } - } - - Button { - width: root.width - rotatedButton: true - imgSrc: "content/gfx/but-game-4.png" - group: "yellow" - onClicked: { - if (root.state == "in-game") - return - root.state = "in-game" - gameCanvas.blockFile = "PuzzleBlock.qml" - gameCanvas.background = "gfx/background.png" - puzzleTimer.start(); - } - Timer { - id: puzzleTimer - interval: Settings.menuDelay - running : false - repeat : false - onTriggered: loadPuzzle(); - } - system: gameCanvas.ps - } - } - } - - Image { - id: scoreBar - source: "content/gfx/bar.png" - width: parent.width - z: 6 - y: -Settings.headerHeight - height: Settings.headerHeight - Behavior on opacity { NumberAnimation {} } - SamegameText { - id: arcadeScore - anchors { right: parent.right; topMargin: 3; rightMargin: 11; top: parent.top} - text: 'P1: ' + gameCanvas.score - font.pixelSize: Settings.fontPixelSize - textFormat: Text.StyledText - color: "white" - opacity: gameCanvas.mode == "arcade" ? 1 : 0 - Behavior on opacity { NumberAnimation {} } - } - SamegameText { - id: arcadeHighScore - anchors { left: parent.left; topMargin: 3; leftMargin: 11; top: parent.top} - text: 'Highscore: ' + gameCanvas.highScore - opacity: gameCanvas.mode == "arcade" ? 1 : 0 - } - SamegameText { - id: p1Score - anchors { right: parent.right; topMargin: 3; rightMargin: 11; top: parent.top} - text: 'P1: ' + gameCanvas.score - opacity: gameCanvas.mode == "multiplayer" ? 1 : 0 - } - SamegameText { - id: p2Score - anchors { left: parent.left; topMargin: 3; leftMargin: 11; top: parent.top} - text: 'P2: ' + gameCanvas.score2 - opacity: gameCanvas.mode == "multiplayer" ? 1 : 0 - rotation: 180 - } - SamegameText { - id: puzzleMoves - anchors { left: parent.left; topMargin: 3; leftMargin: 11; top: parent.top} - text: 'Moves: ' + gameCanvas.moves - opacity: gameCanvas.mode == "puzzle" ? 1 : 0 - } - SamegameText { - Image { - source: "content/gfx/icon-time.png" - x: -20 - } - id: puzzleTime - anchors { topMargin: 3; top: parent.top; horizontalCenter: parent.horizontalCenter; horizontalCenterOffset: 20} - text: "00:00" - opacity: gameCanvas.mode == "puzzle" ? 1 : 0 - Timer { - interval: 1000 - repeat: true - running: gameCanvas.mode == "puzzle" && !gameCanvas.gameOver - onTriggered: { - var elapsed = Math.floor((new Date() - Logic.gameDuration)/ 1000.0); - var mins = Math.floor(elapsed/60.0); - var secs = (elapsed % 60); - puzzleTime.text = (mins < 10 ? "0" : "") + mins + ":" + (secs < 10 ? "0" : "") + secs; - } - } - } - SamegameText { - id: puzzleScore - anchors { right: parent.right; topMargin: 3; rightMargin: 11; top: parent.top} - text: 'Score: ' + gameCanvas.score - opacity: gameCanvas.mode == "puzzle" ? 1 : 0 - } - } - - Image { - id: bottomBar - width: parent.width - height: Settings.footerHeight - source: "content/gfx/bar.png" - y: parent.height - Settings.footerHeight; - z: 2 - Button { - id: quitButton - height: Settings.toolButtonHeight - imgSrc: "content/gfx/but-quit.png" - onClicked: {Qt.quit(); } - anchors { left: parent.left; verticalCenter: parent.verticalCenter; leftMargin: 11 } - } - Button { - id: menuButton - height: Settings.toolButtonHeight - imgSrc: "content/gfx/but-menu.png" - visible: (root.state == "in-game"); - onClicked: {root.state = ""; Logic.cleanUp(); gameCanvas.mode = ""} - anchors { left: quitButton.right; verticalCenter: parent.verticalCenter; leftMargin: 0 } - } - Button { - id: againButton - height: Settings.toolButtonHeight - imgSrc: "content/gfx/but-game-new.png" - visible: (root.state == "in-game"); - opacity: gameCanvas.gameOver && (gameCanvas.mode == "arcade" || gameCanvas.mode == "multiplayer") - Behavior on opacity{ NumberAnimation {} } - onClicked: {if (gameCanvas.gameOver) { Logic.startNewGame(gameCanvas, gameCanvas.mode);}} - anchors { right: parent.right; verticalCenter: parent.verticalCenter; rightMargin: 11 } - } - Button { - id: nextButton - height: Settings.toolButtonHeight - imgSrc: "content/gfx/but-puzzle-next.png" - visible: (root.state == "in-game") && gameCanvas.mode == "puzzle" && gameCanvas.puzzleWon - opacity: gameCanvas.puzzleWon ? 1 : 0 - Behavior on opacity{ NumberAnimation {} } - onClicked: {if (gameCanvas.puzzleWon) nextPuzzle();} - anchors { right: parent.right; verticalCenter: parent.verticalCenter; rightMargin: 11 } - } - } - - Connections { - target: root - onStateChanged: stateChangeAnim.running = true - } - SequentialAnimation { - id: stateChangeAnim - ParallelAnimation { - NumberAnimation { target: bottomBar; property: "y"; to: root.height; duration: Settings.menuDelay/2; easing.type: Easing.OutQuad } - NumberAnimation { target: scoreBar; property: "y"; to: -Settings.headerHeight; duration: Settings.menuDelay/2; easing.type: Easing.OutQuad } - } - ParallelAnimation { - NumberAnimation { target: bottomBar; property: "y"; to: root.height - Settings.footerHeight; duration: Settings.menuDelay/2; easing.type: Easing.OutBounce} - NumberAnimation { target: scoreBar; property: "y"; to: root.state == "" ? -Settings.headerHeight : 0; duration: Settings.menuDelay/2; easing.type: Easing.OutBounce} - } - } - - states: [ - State { - name: "in-game" - PropertyChanges { - target: menu - opacity: 0 - visible: false - } - } - ] - - transitions: [ - Transition { - NumberAnimation {properties: "x,y,opacity"} - } - ] - - //"Debug mode" - focus: true - Keys.onAsteriskPressed: Logic.nuke(); - Keys.onSpacePressed: gameCanvas.puzzleWon = true; -} diff --git a/experimental/qt5-intro-android/samegame/content/Block.qml b/experimental/qt5-intro-android/samegame/content/Block.qml deleted file mode 100644 index 85f2e27..0000000 --- a/experimental/qt5-intro-android/samegame/content/Block.qml +++ /dev/null @@ -1,114 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import QtQuick.Particles 2.0 - -Item { - id: block - property bool dying: false - property bool spawned: false - property int type: 0 - property ParticleSystem particleSystem - - Behavior on x { - enabled: spawned; - SpringAnimation{ spring: 2; damping: 0.2 } - } - Behavior on y { - SpringAnimation{ spring: 2; damping: 0.2 } - } - - Image { - id: img - source: { - if (type == 0){ - "gfx/red.png"; - } else if (type == 1) { - "gfx/blue.png"; - } else if (type == 2) { - "gfx/green.png"; - } else { - "gfx/yellow.png"; - } - } - opacity: 0 - Behavior on opacity { NumberAnimation { duration: 200 } } - anchors.fill: parent - } - - //Foreground particles - BlockEmitter { - id: particles - system: particleSystem - group: { - if (type == 0){ - "red"; - } else if (type == 1) { - "blue"; - } else if (type == 2) { - "green"; - } else { - "yellow"; - } - } - anchors.fill: parent - } - - //Paint particles on the background - PaintEmitter { - id: particles2 - system: particleSystem - } - - states: [ - State { - name: "AliveState"; when: spawned == true && dying == false - PropertyChanges { target: img; opacity: 1 } - }, - - State { - name: "DeathState"; when: dying == true - StateChangeScript { script: {particleSystem.paused = false; particles.pulse(100); particles2.pulse(100);} } - PropertyChanges { target: img; opacity: 0 } - StateChangeScript { script: block.destroy(1000); } - } - ] -} diff --git a/experimental/qt5-intro-android/samegame/content/BlockEmitter.qml b/experimental/qt5-intro-android/samegame/content/BlockEmitter.qml deleted file mode 100644 index 7dad509..0000000 --- a/experimental/qt5-intro-android/samegame/content/BlockEmitter.qml +++ /dev/null @@ -1,57 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import QtQuick.Particles 2.0 - -import "../settings.js" as Settings - -Emitter { - property Item block: parent - velocity: TargetDirection{targetX: block.width/2; targetY: block.height/2; magnitude: -40; magnitudeVariation: 40} - acceleration: TargetDirection{targetX: block.width/2; targetY: block.height/2; magnitude: -100;} - shape: EllipseShape{fill:true} - enabled: false; - lifeSpan: 700; lifeSpanVariation: 100 - emitRate: 1000 - maximumEmitted: 100 //only fires 0.1s bursts (still 2x old number) - size: Settings.blockSize * 0.85 - endSize: Settings.blockSize * 0.85 /2 -} diff --git a/experimental/qt5-intro-android/samegame/content/Button.qml b/experimental/qt5-intro-android/samegame/content/Button.qml deleted file mode 100644 index aab21ec..0000000 --- a/experimental/qt5-intro-android/samegame/content/Button.qml +++ /dev/null @@ -1,70 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import QtQuick.Particles 2.0 - -Item { - property alias imgSrc: image.source - property alias system: emitter.system - property alias group: emitter.group - signal clicked - property bool rotatedButton: false - - width: image.width - height: image.sourceSize.height - Image { - id: image - height: parent.height - width: height/sourceSize.height * sourceSize.width - - anchors.horizontalCenter: parent.horizontalCenter - rotation: rotatedButton ? ((Math.random() * 3 + 2) * (Math.random() <= 0.5 ? -1 : 1)) : 0 - MenuEmitter { - id: emitter - anchors.fill: parent - //shape: MaskShape {source: image.source} - } - } - MouseArea { - anchors.fill: parent - onClicked: {parent.clicked(); emitter.burst(400);} - } -} diff --git a/experimental/qt5-intro-android/samegame/content/GameArea.qml b/experimental/qt5-intro-android/samegame/content/GameArea.qml deleted file mode 100644 index f3ca98d..0000000 --- a/experimental/qt5-intro-android/samegame/content/GameArea.qml +++ /dev/null @@ -1,226 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import QtQuick.Particles 2.0 -import "samegame.js" as Logic - -Item { - id: gameCanvas - property bool gameOver: true - property int score: 0 - property int highScore: 0 - property int moves: 0 - property string mode: "" - property ParticleSystem ps: particleSystem - //For easy theming - property alias backgroundVisible: bg.visible - property string background: "gfx/background.png" - property string blockFile: "Block.qml" - onBlockFileChanged: Logic.changeBlock(blockFile); - property alias particlePack: auxLoader.source - //For multiplayer - property int score2: 0 - property int curTurn: 1 - property bool autoTurnChange: false - signal swapPlayers - property bool swapping: false - //onSwapPlayers: if (autoTurnChange) Logic.turnChange();//Now implemented below - //For puzzle - property url level - property bool puzzleWon: false - signal puzzleLost //Since root is tracking the puzzle progress - function showPuzzleEnd (won) { - if (won) { - smokeParticle.color = Qt.rgba(0,1,0,0); - puzzleWin.play(); - } else { - smokeParticle.color = Qt.rgba(1,0,0,0); - puzzleFail.play(); - puzzleLost(); - } - } - function showPuzzleGoal (str) { - puzzleTextBubble.opacity = 1; - puzzleTextLabel.text = str; - } - Image { - id: bg - z: -1 - anchors.fill: parent - source: background; - fillMode: Image.PreserveAspectCrop - } - - MouseArea { - anchors.fill: parent; onClicked: { - if (puzzleTextBubble.opacity == 1) { - puzzleTextBubble.opacity = 0; - Logic.finishLoadingMap(); - } else if (!swapping) { - Logic.handleClick(mouse.x,mouse.y); - } - } - } - - Image { - id: highScoreTextBubble - opacity: mode == "arcade" && gameOver && gameCanvas.score == gameCanvas.highScore ? 1 : 0 - Behavior on opacity { NumberAnimation {} } - anchors.centerIn: parent - z: 10 - source: "gfx/bubble-highscore.png" - Image { - anchors.centerIn: parent - source: "gfx/text-highscore-new.png" - rotation: -10 - } - } - - Image { - id: puzzleTextBubble - anchors.centerIn: parent - opacity: 0 - Behavior on opacity { NumberAnimation {} } - z: 10 - source: "gfx/bubble-puzzle.png" - Connections { - target: gameCanvas - onModeChanged: if (mode != "puzzle" && puzzleTextBubble.opacity > 0) puzzleTextBubble.opacity = 0; - } - Text { - id: puzzleTextLabel - width: parent.width - 24 - anchors.centerIn: parent - horizontalAlignment: Text.AlignHCenter - color: "white" - font.pixelSize: 24 - font.bold: true - wrapMode: Text.WordWrap - } - } - onModeChanged: { - p1WonImg.opacity = 0; - p2WonImg.opacity = 0; - } - SmokeText { id: puzzleWin; source: "gfx/icon-ok.png"; system: particleSystem } - SmokeText { id: puzzleFail; source: "gfx/icon-fail.png"; system: particleSystem } - - onSwapPlayers: { - smokeParticle.color = "yellow" - Logic.turnChange(); - if (curTurn == 1) { - p1Text.play(); - } else { - p2Text.play(); - } - clickDelay.running = true; - } - SequentialAnimation { - id: clickDelay - ScriptAction { script: gameCanvas.swapping = true; } - PauseAnimation { duration: 750 } - ScriptAction { script: gameCanvas.swapping = false; } - } - - SmokeText { - id: p1Text; source: "gfx/text-p1-go.png"; - system: particleSystem; playerNum: 1 - opacity: p1WonImg.opacity + p2WonImg.opacity > 0 ? 0 : 1 - } - - SmokeText { - id: p2Text; source: "gfx/text-p2-go.png"; - system: particleSystem; playerNum: 2 - opacity: p1WonImg.opacity + p2WonImg.opacity > 0 ? 0 : 1 - } - - onGameOverChanged: { - if (gameCanvas.mode == "multiplayer") { - if (gameCanvas.score >= gameCanvas.score2) { - p1WonImg.opacity = 1; - } else { - p2WonImg.opacity = 1; - } - } - } - Image { - id: p1WonImg - source: "gfx/text-p1-won.png" - anchors.centerIn: parent - opacity: 0 - Behavior on opacity { NumberAnimation {} } - z: 10 - } - Image { - id: p2WonImg - source: "gfx/text-p2-won.png" - anchors.centerIn: parent - opacity: 0 - Behavior on opacity { NumberAnimation {} } - z: 10 - } - - ParticleSystem{ - id: particleSystem; - anchors.fill: parent - z: 5 - ImageParticle { - id: smokeParticle - groups: ["smoke"] - source: "gfx/particle-smoke.png" - alpha: 0.1 - alphaVariation: 0.1 - color: "yellow" - } - Loader { - id: auxLoader - anchors.fill: parent - source: "PrimaryPack.qml" - onItemChanged: { - if (item && "particleSystem" in item) - item.particleSystem = particleSystem - if (item && "gameArea" in item) - item.gameArea = gameCanvas - } - } - } -} - diff --git a/experimental/qt5-intro-android/samegame/content/LogoAnimation.qml b/experimental/qt5-intro-android/samegame/content/LogoAnimation.qml deleted file mode 100644 index c879893..0000000 --- a/experimental/qt5-intro-android/samegame/content/LogoAnimation.qml +++ /dev/null @@ -1,102 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import QtQuick.Particles 2.0 - -Item { - id: container //Positioned where the 48x48 S/G should be - property alias running: mainAnim.running - property ParticleSystem particleSystem - property int dur: 500 - signal boomTime - Image { - id: s1 - source: "gfx/logo-s.png" - y: 0 - } - Image { - id: g1 - source: "gfx/logo-g.png" - y: -128 - } - Column { - Repeater { - model: 2 - Item { - width: 48 - height: 48 - BlockEmitter { - id: emitter - anchors.fill: parent - group: "red" - system: particleSystem - Connections { - target: container - onBoomTime: emitter.pulse(100); - } - } - } - } - } - SequentialAnimation { - id: mainAnim - running: true - loops: -1 - PropertyAction { target: g1; property: "y"; value: -128} - PropertyAction { target: g1; property: "opacity"; value: 1} - PropertyAction { target: s1; property: "y"; value: 0} - PropertyAction { target: s1; property: "opacity"; value: 1} - NumberAnimation { target: g1; property: "y"; from: -96; to: -48; duration: dur} - ParallelAnimation { - NumberAnimation { target: g1; property: "y"; from: -48; to: 0; duration: dur} - NumberAnimation { target: s1; property: "y"; from: 0; to: 48; duration: dur } - } - PauseAnimation { duration: dur } - ScriptAction { script: container.boomTime(); } - ParallelAnimation { - NumberAnimation { target: g1; property: "opacity"; to: 0; duration: dur } - NumberAnimation { target: s1; property: "opacity"; to: 0; duration: dur } - } - PropertyAction { target: s1; property: "y"; value: -128} - PropertyAction { target: s1; property: "opacity"; value: 1} - NumberAnimation { target: s1; property: "y"; from: -96; to: 0; duration: dur * 2} - } -} diff --git a/experimental/qt5-intro-android/samegame/content/MenuEmitter.qml b/experimental/qt5-intro-android/samegame/content/MenuEmitter.qml deleted file mode 100644 index 16c7660..0000000 --- a/experimental/qt5-intro-android/samegame/content/MenuEmitter.qml +++ /dev/null @@ -1,53 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import QtQuick.Particles 2.0 - -Emitter { - anchors.fill: parent - velocity: AngleDirection{angleVariation: 360; magnitude: 140; magnitudeVariation: 40} - enabled: false; - lifeSpan: 500; - emitRate: 1 - size: 28 - endSize: 14 - group: "yellow" -} diff --git a/experimental/qt5-intro-android/samegame/content/PaintEmitter.qml b/experimental/qt5-intro-android/samegame/content/PaintEmitter.qml deleted file mode 100644 index 4a67c4a..0000000 --- a/experimental/qt5-intro-android/samegame/content/PaintEmitter.qml +++ /dev/null @@ -1,98 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import QtQuick.Particles 2.0 -import "../settings.js" as Settings - -Emitter { - property Item block: parent - anchors.fill: parent - shape: EllipseShape { fill: true } - group: { - if (block.type == 0){ - "redspots"; - } else if (block.type == 1) { - "bluespots"; - } else if (block.type == 2) { - "greenspots"; - } else { - "yellowspots"; - } - } - size: Settings.blockSize * 2 - endSize: Settings.blockSize/2 - lifeSpan: 30000 - enabled: false - emitRate: 60 - maximumEmitted: 60 - velocity: PointDirection{ y: 4; yVariation: 4 } - /* Possibly better, but dependent on gerrit change,28212 - property real mainIntensity: 0.8 - property real subIntensity: 0.1 - property real colorVariation: 0.005 - onEmitParticles: {//One group, many colors, for better stacking - for (var i=0; i
Clear in three moves..." - startingGrid: [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , - 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , - 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , - 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , - 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , - 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , - 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , - 0 , 0 , 0 , 0 , 0 , 1 , 1 , 2 , 1 , 1 , - 0 , 0 , 0 , 1 , 1 , 3 , 3 , 3 , 3 , 3 , - 0 , 1 , 1 , 3 , 3 , 3 , 1 , 3 , 1 , 1 , - 1 , 2 , 3 , 3 , 1 , 1 , 3 , 3 , 3 , 3 , - 1 , 3 , 3 , 2 , 3 , 3 , 3 , 3 , 1 , 1 , - 1 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ] -} diff --git a/experimental/qt5-intro-android/samegame/content/levels/level1.qml b/experimental/qt5-intro-android/samegame/content/levels/level1.qml deleted file mode 100644 index 4bb15cb..0000000 --- a/experimental/qt5-intro-android/samegame/content/levels/level1.qml +++ /dev/null @@ -1,59 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -TemplateBase{ - timeTarget: 10 - goalText: "2 of 10

Clear in 10 seconds..." - startingGrid: [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , - 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , - 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , - 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , - 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , - 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , - 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , - 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , - 1 , 3 , 3 , 3 , 1 , 1 , 1 , 1 , 2 , 2 , - 1 , 2 , 3 , 3 , 3 , 1 , 1 , 1 , 1 , 2 , - 2 , 2 , 1 , 3 , 3 , 3 , 1 , 1 , 1 , 2 , - 2 , 1 , 1 , 1 , 3 , 3 , 3 , 1 , 2 , 2 , - 1 , 1 , 1 , 1 , 1 , 3 , 3 , 3 , 2 , 1 ] -} diff --git a/experimental/qt5-intro-android/samegame/content/levels/level2.qml b/experimental/qt5-intro-android/samegame/content/levels/level2.qml deleted file mode 100644 index a319479..0000000 --- a/experimental/qt5-intro-android/samegame/content/levels/level2.qml +++ /dev/null @@ -1,61 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -TemplateBase{ - scoreTarget: 1200 - timeTarget: 60 - goalText: "3 of 10

Score over 1200 points in one minute..." - mustClear: false - startingGrid: [ 3 , 1 , 2 , 1 , 1 , 2 , 1 , 1 , 3 , 3 , - 1 , 3 , 3 , 2 , 3 , 3 , 1 , 1 , 3 , 1 , - 3 , 1 , 3 , 3 , 2 , 3 , 3 , 3 , 1 , 2 , - 3 , 2 , 2 , 1 , 3 , 3 , 2 , 1 , 1 , 2 , - 3 , 1 , 2 , 2 , 2 , 2 , 2 , 1 , 3 , 1 , - 2 , 3 , 1 , 2 , 2 , 3 , 3 , 1 , 3 , 2 , - 3 , 2 , 1 , 1 , 3 , 3 , 3 , 2 , 2 , 1 , - 1 , 2 , 2 , 3 , 2 , 3 , 3 , 3 , 1 , 1 , - 1 , 3 , 3 , 3 , 1 , 2 , 2 , 3 , 3 , 1 , - 3 , 3 , 2 , 1 , 2 , 2 , 1 , 1 , 1 , 3 , - 2 , 1 , 3 , 2 , 3 , 2 , 3 , 2 , 2 , 1 , - 1 , 3 , 1 , 2 , 1 , 2 , 3 , 1 , 2 , 2 , - 1 , 2 , 2 , 2 , 1 , 1 , 2 , 3 , 1 , 2 ] -} diff --git a/experimental/qt5-intro-android/samegame/content/levels/level3.qml b/experimental/qt5-intro-android/samegame/content/levels/level3.qml deleted file mode 100644 index 43e82d7..0000000 --- a/experimental/qt5-intro-android/samegame/content/levels/level3.qml +++ /dev/null @@ -1,60 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -TemplateBase{ - scoreTarget: 3000 - timeTarget: 60 - goalText: "4 of 10
Clear the board with over 3000 points in under a minute..." - startingGrid: [ 3 , 3 , 1 , 1 , 1 , 2 , 2 , 4 , 3 , 3 , - 4 , 3 , 1 , 4 , 2 , 2 , 2 , 4 , 3 , 4 , - 4 , 3 , 3 , 4 , 1 , 1 , 3 , 3 , 4 , 4 , - 3 , 3 , 3 , 3 , 3 , 1 , 3 , 2 , 2 , 4 , - 4 , 4 , 3 , 4 , 3 , 1 , 4 , 4 , 4 , 4 , - 4 , 4 , 3 , 4 , 1 , 1 , 4 , 4 , 3 , 3 , - 4 , 2 , 2 , 2 , 2 , 2 , 4 , 4 , 4 , 1 , - 4 , 4 , 2 , 4 , 2 , 2 , 1 , 1 , 1 , 1 , - 4 , 4 , 2 , 4 , 2 , 2 , 1 , 4 , 4 , 1 , - 4 , 1 , 1 , 4 , 3 , 3 , 4 , 2 , 4 , 1 , - 4 , 1 , 1 , 2 , 3 , 3 , 4 , 2 , 2 , 1 , - 1 , 1 , 2 , 2 , 2 , 3 , 3 , 3 , 2 , 1 , - 4 , 1 , 1 , 2 , 2 , 3 , 4 , 3 , 4 , 4 ] -} diff --git a/experimental/qt5-intro-android/samegame/content/levels/level4.qml b/experimental/qt5-intro-android/samegame/content/levels/level4.qml deleted file mode 100644 index 46ad42f..0000000 --- a/experimental/qt5-intro-android/samegame/content/levels/level4.qml +++ /dev/null @@ -1,58 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -TemplateBase{ - goalText: "5 of 10

Clear the level..." - startingGrid: [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , - 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , - 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , - 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , - 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , - 1 , 3 , 2 , 1 , 1 , 1 , 1 , 3 , 2 , 3 , - 1 , 2 , 3 , 1 , 3 , 2 , 2 , 1 , 1 , 2 , - 3 , 2 , 2 , 2 , 1 , 1 , 1 , 1 , 3 , 3 , - 2 , 1 , 1 , 3 , 2 , 1 , 1 , 2 , 1 , 3 , - 1 , 3 , 3 , 1 , 2 , 1 , 2 , 1 , 3 , 3 , - 1 , 3 , 2 , 2 , 2 , 1 , 1 , 3 , 2 , 3 , - 1 , 1 , 3 , 2 , 3 , 3 , 2 , 1 , 1 , 1 , - 1 , 2 , 2 , 3 , 2 , 2 , 1 , 3 , 1 , 3 ] -} diff --git a/experimental/qt5-intro-android/samegame/content/levels/level5.qml b/experimental/qt5-intro-android/samegame/content/levels/level5.qml deleted file mode 100644 index 3716264..0000000 --- a/experimental/qt5-intro-android/samegame/content/levels/level5.qml +++ /dev/null @@ -1,59 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -TemplateBase{ - moveTarget: 4 - goalText: "6 of 10

Clear in four or less moves..." - startingGrid: [ 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , - 4 , 2 , 2 , 2 , 4 , 3 , 3 , 3 , 4 , 4 , - 4 , 2 , 4 , 4 , 4 , 3 , 2 , 3 , 4 , 4 , - 4 , 2 , 2 , 2 , 4 , 3 , 3 , 3 , 4 , 4 , - 4 , 4 , 4 , 2 , 4 , 3 , 4 , 3 , 4 , 4 , - 4 , 2 , 2 , 2 , 4 , 3 , 4 , 3 , 4 , 4 , - 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , - 4 , 3 , 4 , 3 , 4 , 2 , 2 , 2 , 4 , 3 , - 4 , 3 , 3 , 3 , 4 , 2 , 4 , 4 , 4 , 3 , - 4 , 3 , 3 , 3 , 4 , 2 , 2 , 2 , 4 , 3 , - 4 , 3 , 4 , 3 , 4 , 2 , 4 , 4 , 4 , 4 , - 4 , 3 , 4 , 3 , 4 , 2 , 2 , 2 , 4 , 3 , - 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 ] -} diff --git a/experimental/qt5-intro-android/samegame/content/levels/level6.qml b/experimental/qt5-intro-android/samegame/content/levels/level6.qml deleted file mode 100644 index 4547b75..0000000 --- a/experimental/qt5-intro-android/samegame/content/levels/level6.qml +++ /dev/null @@ -1,60 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -TemplateBase{ - moveTarget: 20 - timeTarget: 40 - goalText: "7 of 10

Clear with 20 moves in 40 seconds (or better)." - startingGrid: [ 1 , 3 , 1 , 1 , 1 , 1 , 2 , 1 , 2 , 2 , - 2 , 1 , 2 , 3 , 3 , 1 , 3 , 1 , 1 , 3 , - 3 , 1 , 1 , 1 , 2 , 2 , 3 , 2 , 3 , 1 , - 1 , 3 , 1 , 1 , 3 , 1 , 1 , 1 , 2 , 3 , - 2 , 1 , 1 , 1 , 3 , 2 , 3 , 3 , 2 , 3 , - 3 , 3 , 3 , 3 , 2 , 2 , 3 , 1 , 3 , 2 , - 2 , 2 , 3 , 2 , 2 , 3 , 2 , 2 , 2 , 2 , - 1 , 2 , 1 , 2 , 1 , 3 , 2 , 3 , 2 , 3 , - 1 , 1 , 2 , 3 , 3 , 3 , 3 , 1 , 1 , 2 , - 3 , 3 , 2 , 2 , 2 , 2 , 3 , 1 , 3 , 1 , - 1 , 2 , 3 , 3 , 3 , 1 , 3 , 2 , 1 , 2 , - 1 , 2 , 1 , 1 , 2 , 3 , 1 , 2 , 1 , 3 , - 3 , 1 , 2 , 2 , 1 , 3 , 3 , 1 , 3 , 2 ] -} diff --git a/experimental/qt5-intro-android/samegame/content/levels/level7.qml b/experimental/qt5-intro-android/samegame/content/levels/level7.qml deleted file mode 100644 index 5d71d7c..0000000 --- a/experimental/qt5-intro-android/samegame/content/levels/level7.qml +++ /dev/null @@ -1,58 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -TemplateBase{ - goalText: "8 of 10

Clear the grid." - startingGrid: [ 2 , 4 , 3 , 2 , 3 , 2 , 3 , 3 , 4 , 3 , - 2 , 2 , 3 , 3 , 1 , 4 , 3 , 3 , 3 , 2 , - 1 , 4 , 2 , 3 , 4 , 3 , 3 , 1 , 1 , 1 , - 2 , 1 , 2 , 4 , 4 , 2 , 2 , 3 , 2 , 1 , - 3 , 4 , 4 , 1 , 3 , 2 , 4 , 2 , 1 , 1 , - 2 , 2 , 3 , 1 , 2 , 4 , 1 , 2 , 1 , 2 , - 1 , 2 , 3 , 2 , 4 , 4 , 3 , 1 , 1 , 2 , - 4 , 4 , 2 , 1 , 2 , 4 , 2 , 2 , 4 , 3 , - 4 , 2 , 4 , 1 , 3 , 4 , 1 , 4 , 2 , 4 , - 4 , 3 , 4 , 1 , 4 , 3 , 1 , 3 , 1 , 1 , - 3 , 3 , 2 , 3 , 2 , 4 , 1 , 2 , 4 , 4 , - 3 , 4 , 2 , 2 , 4 , 3 , 4 , 1 , 3 , 2 , - 4 , 3 , 3 , 4 , 2 , 4 , 1 , 2 , 3 , 2 ] -} diff --git a/experimental/qt5-intro-android/samegame/content/levels/level8.qml b/experimental/qt5-intro-android/samegame/content/levels/level8.qml deleted file mode 100644 index 9dbb8c2..0000000 --- a/experimental/qt5-intro-android/samegame/content/levels/level8.qml +++ /dev/null @@ -1,59 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -TemplateBase{ - scoreTarget: 1000 - goalText: "9 of 10

Score over 1000 points" - startingGrid: [ 1 , 4 , 4 , 3 , 2 , 1 , 4 , 2 , 4 , 2 , - 2 , 3 , 4 , 4 , 1 , 1 , 1 , 4 , 4 , 4 , - 1 , 3 , 1 , 2 , 2 , 1 , 2 , 1 , 4 , 2 , - 4 , 3 , 4 , 2 , 1 , 4 , 1 , 2 , 2 , 3 , - 3 , 4 , 2 , 4 , 4 , 3 , 2 , 2 , 2 , 1 , - 4 , 4 , 3 , 2 , 4 , 4 , 2 , 1 , 1 , 1 , - 1 , 2 , 1 , 3 , 4 , 1 , 1 , 3 , 2 , 3 , - 3 , 4 , 2 , 2 , 1 , 3 , 2 , 2 , 4 , 2 , - 2 , 4 , 1 , 2 , 2 , 4 , 3 , 3 , 3 , 1 , - 1 , 2 , 2 , 4 , 1 , 2 , 2 , 3 , 3 , 3 , - 4 , 4 , 1 , 4 , 3 , 1 , 3 , 3 , 3 , 4 , - 1 , 2 , 4 , 1 , 2 , 1 , 1 , 4 , 2 , 1 , - 1 , 2 , 3 , 4 , 2 , 4 , 4 , 2 , 1 , 3 ] -} diff --git a/experimental/qt5-intro-android/samegame/content/levels/level9.qml b/experimental/qt5-intro-android/samegame/content/levels/level9.qml deleted file mode 100644 index 4e8bf19..0000000 --- a/experimental/qt5-intro-android/samegame/content/levels/level9.qml +++ /dev/null @@ -1,62 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -TemplateBase{ - scoreTarget: 2000 - timeTarget: 60 - moveTarget: 20 - mustClear: false - goalText: "10 of 10

Score 2000 in one minute with less than 20 moves!" - startingGrid: [ 3 , 2 , 3 , 1 , 3 , 3 , 4 , 1 , 3 , 3 , - 2 , 3 , 2 , 1 , 1 , 2 , 2 , 2 , 4 , 1 , - 2 , 4 , 4 , 4 , 3 , 1 , 4 , 4 , 4 , 1 , - 3 , 1 , 3 , 4 , 4 , 2 , 2 , 2 , 2 , 3 , - 2 , 1 , 4 , 4 , 3 , 3 , 1 , 1 , 3 , 2 , - 3 , 2 , 1 , 4 , 3 , 4 , 1 , 3 , 4 , 2 , - 3 , 3 , 1 , 4 , 4 , 4 , 2 , 1 , 2 , 3 , - 2 , 3 , 4 , 3 , 4 , 1 , 1 , 3 , 2 , 4 , - 4 , 4 , 1 , 2 , 4 , 3 , 2 , 2 , 2 , 4 , - 1 , 4 , 2 , 2 , 1 , 1 , 2 , 1 , 1 , 4 , - 1 , 4 , 3 , 3 , 3 , 1 , 3 , 4 , 4 , 2 , - 3 , 4 , 1 , 1 , 2 , 2 , 2 , 3 , 2 , 1 , - 3 , 3 , 4 , 3 , 1 , 1 , 1 , 4 , 4 , 3 ] -} diff --git a/experimental/qt5-intro-android/samegame/content/samegame.js b/experimental/qt5-intro-android/samegame/content/samegame.js deleted file mode 100755 index 7b226cb..0000000 --- a/experimental/qt5-intro-android/samegame/content/samegame.js +++ /dev/null @@ -1,581 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/* This script file handles the game logic */ -.pragma library -.import QtQuick.LocalStorage 2.0 as Sql -.import "../settings.js" as Settings - -var maxColumn = 10; -var maxRow = 13; -var types = 3; -var maxIndex = maxColumn*maxRow; -var board = new Array(maxIndex); -var blockSrc = "Block.qml"; -var gameDuration; -var component = Qt.createComponent(blockSrc); -var gameCanvas; -var betweenTurns = false; - -var puzzleLevel = null; -var puzzlePath = ""; - -var gameMode = "arcade"; //Set in new game, then tweaks behaviour of other functions -var gameOver = false; - -function changeBlock(src) -{ - blockSrc = src; - component = Qt.createComponent(blockSrc); -} - -// Index function used instead of a 2D array -function index(column, row) -{ - return column + row * maxColumn; -} - -function timeStr(msecs) -{ - var secs = Math.floor(msecs/1000); - var m = Math.floor(secs/60); - var ret = "" + m + "m " + (secs%60) + "s"; - return ret; -} - -function cleanUp() -{ - if (gameCanvas == undefined) - return; - // Delete blocks from previous game - for (var i = 0; i < maxIndex; i++) { - if (board[i] != null) - board[i].destroy(); - board[i] = null; - } - if (puzzleLevel != null){ - puzzleLevel.destroy(); - puzzleLevel = null; - } - gameCanvas.mode = "" -} - -function startNewGame(gc, mode, map) -{ - gameCanvas = gc; - if (mode == undefined) - gameMode = "arcade"; - else - gameMode = mode; - gameOver = false; - - cleanUp(); - - gc.gameOver = false; - gc.mode = gameMode; - // Calculate board size - maxColumn = Math.floor(gameCanvas.width/Settings.blockSize); - maxRow = Math.floor(gameCanvas.height/Settings.blockSize); - maxIndex = maxRow * maxColumn; - if (gameMode == "arcade") //Needs to be after board sizing - getHighScore(); - - - // Initialize Board - board = new Array(maxIndex); - gameCanvas.score = 0; - gameCanvas.score2 = 0; - gameCanvas.moves = 0; - gameCanvas.curTurn = 1; - if (gameMode == "puzzle") - loadMap(map); - else//Note that we load them in reverse order for correct visual stacking - for (var column = maxColumn - 1; column >= 0; column--) - for (var row = maxRow - 1; row >= 0; row--) - createBlock(column, row); - if (gameMode == "puzzle") - getLevelHistory();//Needs to be after map load - gameDuration = new Date(); -} - -var fillFound; // Set after a floodFill call to the number of blocks found -var floodBoard; // Set to 1 if the floodFill reaches off that node - -// NOTE: Be careful with vars named x,y, as the calling object's x,y are still in scope -function handleClick(x,y) -{ - if (betweenTurns || gameOver || gameCanvas == undefined) - return; - var column = Math.floor(x/Settings.blockSize); - var row = Math.floor(y/Settings.blockSize); - if (column >= maxColumn || column < 0 || row >= maxRow || row < 0) - return; - if (board[index(column, row)] == null) - return; - // If it's a valid block, remove it and all connected (does nothing if it's not connected) - floodFill(column,row, -1); - if (fillFound <= 0) - return; - if (gameMode == "multiplayer" && gameCanvas.curTurn == 2) - gameCanvas.score2 += (fillFound - 1) * (fillFound - 1); - else - gameCanvas.score += (fillFound - 1) * (fillFound - 1); - if (gameMode == "multiplayer" && gameCanvas.curTurn == 2) - shuffleUp(); - else - shuffleDown(); - gameCanvas.moves += 1; - if (gameMode == "endless") - refill(); - else if (gameMode != "multiplayer") - victoryCheck(); - if (gameMode == "multiplayer" && !gc.gameOver){ - betweenTurns = true; - gameCanvas.swapPlayers();//signal, animate and call turnChange() when ready - } -} - -function floodFill(column,row,type) -{ - if (board[index(column, row)] == null) - return; - var first = false; - if (type == -1) { - first = true; - type = board[index(column,row)].type; - - // Flood fill initialization - fillFound = 0; - floodBoard = new Array(maxIndex); - } - if (column >= maxColumn || column < 0 || row >= maxRow || row < 0) - return; - if (floodBoard[index(column, row)] == 1 || (!first && type != board[index(column, row)].type)) - return; - floodBoard[index(column, row)] = 1; - floodFill(column + 1, row, type); - floodFill(column - 1, row, type); - floodFill(column, row + 1, type); - floodFill(column, row - 1, type); - if (first == true && fillFound == 0) - return; // Can't remove single blocks - board[index(column, row)].dying = true; - board[index(column, row)] = null; - fillFound += 1; -} - -function shuffleDown() -{ - // Fall down - for (var column = 0; column < maxColumn; column++) { - var fallDist = 0; - for (var row = maxRow - 1; row >= 0; row--) { - if (board[index(column,row)] == null) { - fallDist += 1; - } else { - if (fallDist > 0) { - var obj = board[index(column, row)]; - obj.y = (row + fallDist) * Settings.blockSize; - board[index(column, row + fallDist)] = obj; - board[index(column, row)] = null; - } - } - } - } - // Fall to the left - fallDist = 0; - for (column = 0; column < maxColumn; column++) { - if (board[index(column, maxRow - 1)] == null) { - fallDist += 1; - } else { - if (fallDist > 0) { - for (row = 0; row < maxRow; row++) { - obj = board[index(column, row)]; - if (obj == null) - continue; - obj.x = (column - fallDist) * Settings.blockSize; - board[index(column - fallDist,row)] = obj; - board[index(column, row)] = null; - } - } - } - } -} - - -function shuffleUp() -{ - // Fall up - for (var column = 0; column < maxColumn; column++) { - var fallDist = 0; - for (var row = 0; row < maxRow; row++) { - if (board[index(column,row)] == null) { - fallDist += 1; - } else { - if (fallDist > 0) { - var obj = board[index(column, row)]; - obj.y = (row - fallDist) * Settings.blockSize; - board[index(column, row - fallDist)] = obj; - board[index(column, row)] = null; - } - } - } - } - // Fall to the left (or should it be right, so as to be left for P2?) - fallDist = 0; - for (column = 0; column < maxColumn; column++) { - if (board[index(column, 0)] == null) { - fallDist += 1; - } else { - if (fallDist > 0) { - for (row = 0; row < maxRow; row++) { - obj = board[index(column, row)]; - if (obj == null) - continue; - obj.x = (column - fallDist) * Settings.blockSize; - board[index(column - fallDist,row)] = obj; - board[index(column, row)] = null; - } - } - } - } -} - -function turnChange()//called by ui outside -{ - betweenTurns = false; - if (gameCanvas.curTurn == 1){ - shuffleUp(); - gameCanvas.curTurn = 2; - victoryCheck(); - }else{ - shuffleDown(); - gameCanvas.curTurn = 1; - victoryCheck(); - } -} - -function refill() -{ - for (var column = 0; column < maxColumn; column++) { - for (var row = 0; row < maxRow; row++) { - if (board[index(column, row)] == null) - createBlock(column, row); - } - } -} - -function victoryCheck() -{ - // Awards bonuses for no blocks left - var deservesBonus = true; - if (board[index(0,maxRow - 1)] != null || board[index(0,0)] != null) - deservesBonus = false; - // Checks for game over - if (deservesBonus){ - if (gameCanvas.curTurn = 1) - gameCanvas.score += 1000; - else - gameCanvas.score2 += 1000; - } - gameOver = deservesBonus; - if (gameCanvas.curTurn == 1){ - if (!(floodMoveCheck(0, maxRow - 1, -1))) - gameOver = true; - }else{ - if (!(floodMoveCheck(0, 0, -1, true))) - gameOver = true; - } - if (gameMode == "puzzle"){ - puzzleVictoryCheck(deservesBonus);//Takes it from here - return; - } - if (gameOver) { - var winnerScore = Math.max(gameCanvas.score, gameCanvas.score2); - if (gameMode == "multiplayer"){ - gameCanvas.score = winnerScore; - saveHighScore(gameCanvas.score2); - } - saveHighScore(gameCanvas.score); - gameDuration = new Date() - gameDuration; - gameCanvas.gameOver = true; - } -} - -// Only floods up and right, to see if it can find adjacent same-typed blocks -function floodMoveCheck(column, row, type, goDownInstead) -{ - if (column >= maxColumn || column < 0 || row >= maxRow || row < 0) - return false; - if (board[index(column, row)] == null) - return false; - var myType = board[index(column, row)].type; - if (type == myType) - return true; - if (goDownInstead) - return floodMoveCheck(column + 1, row, myType, goDownInstead) || - floodMoveCheck(column, row + 1, myType, goDownInstead); - else - return floodMoveCheck(column + 1, row, myType) || - floodMoveCheck(column, row - 1, myType); -} - -function createBlock(column,row,type) -{ - // Note that we don't wait for the component to become ready. This will - // only work if the block QML is a local file. Otherwise the component will - // not be ready immediately. There is a statusChanged signal on the - // component you could use if you want to wait to load remote files. - if (component.status == 1){ - if (type == undefined) - type = Math.floor(Math.random() * types); - if (type < 0 || type > 4) { - console.log("Invalid type requested");//TODO: Is this triggered by custom levels much? - return; - } - var dynamicObject = component.createObject(gameCanvas, - {"type": type, - "x": column*Settings.blockSize, - "y": -1*Settings.blockSize, - "width": Settings.blockSize, - "height": Settings.blockSize, - "particleSystem": gameCanvas.ps}); - if (dynamicObject == null){ - console.log("error creating block"); - console.log(component.errorString()); - return false; - } - dynamicObject.y = row*Settings.blockSize; - dynamicObject.spawned = true; - - board[index(column,row)] = dynamicObject; - }else{ - console.log("error loading block component"); - console.log(component.errorString()); - return false; - } - return true; -} - -function showPuzzleError(str) -{ - //TODO: Nice user visible UI? - console.log(str); -} - -function loadMap(map) -{ - puzzlePath = map; - var levelComp = Qt.createComponent(puzzlePath); - if (levelComp.status != 1){ - console.log("Error loading level"); - showPuzzleError(levelComp.errorString()); - return; - } - puzzleLevel = levelComp.createObject(); - if (puzzleLevel == null || !puzzleLevel.startingGrid instanceof Array) { - showPuzzleError("Bugger!"); - return; - } - gameCanvas.showPuzzleGoal(puzzleLevel.goalText); - //showPuzzleGoal should call finishLoadingMap as the next thing it does, before handling more events -} - -function finishLoadingMap() -{ - for (var i in puzzleLevel.startingGrid) - if (! (puzzleLevel.startingGrid[i] >= 0 && puzzleLevel.startingGrid[i] <= 9) ) - puzzleLevel.startingGrid[i] = 0; - //TODO: Don't allow loading larger levels, leads to cheating - while (puzzleLevel.startingGrid.length > maxIndex) puzzleLevel.startingGrid.shift(); - while (puzzleLevel.startingGrid.length < maxIndex) puzzleLevel.startingGrid.unshift(0); - for (var i in puzzleLevel.startingGrid) - if (puzzleLevel.startingGrid[i] > 0) - createBlock(i % maxColumn, Math.floor(i / maxColumn), puzzleLevel.startingGrid[i] - 1); - - //### Experimental feature - allow levels to contain arbitrary QML scenes as well! - //while (puzzleLevel.children.length) - // puzzleLevel.children[0].parent = gameCanvas; - gameDuration = new Date(); //Don't start until we finish loading -} - -function puzzleVictoryCheck(clearedAll)//gameOver has also been set if no more moves -{ - var won = true; - var soFar = new Date() - gameDuration; - if (puzzleLevel.scoreTarget != -1 && gameCanvas.score < puzzleLevel.scoreTarget){ - won = false; - } if (puzzleLevel.scoreTarget != -1 && gameCanvas.score >= puzzleLevel.scoreTarget && !puzzleLevel.mustClear){ - gameOver = true; - } if (puzzleLevel.timeTarget != -1 && soFar/1000.0 > puzzleLevel.timeTarget){ - gameOver = true; - } if (puzzleLevel.moveTarget != -1 && gameCanvas.moves >= puzzleLevel.moveTarget){ - gameOver = true; - } if (puzzleLevel.mustClear && gameOver && !clearedAll) { - won = false; - } - - if (gameOver) { - gameCanvas.gameOver = true; - gameCanvas.showPuzzleEnd(won); - - if (won) { - // Store progress - saveLevelHistory(); - } - } -} - -function getHighScore() -{ - var db = Sql.LocalStorage.openDatabaseSync( - "SameGame", - "2.0", - "SameGame Local Data", - 100 - ); - db.transaction( - function(tx) { - tx.executeSql('CREATE TABLE IF NOT EXISTS Scores(game TEXT, score NUMBER, gridSize TEXT, time NUMBER)'); - // Only show results for the current grid size - var rs = tx.executeSql('SELECT * FROM Scores WHERE gridSize = "' - + maxColumn + "x" + maxRow + '" AND game = "' + gameMode + '" ORDER BY score desc'); - if (rs.rows.length > 0) - gameCanvas.highScore = rs.rows.item(0).score; - else - gameCanvas.highScore = 0; - } - ); -} - -function saveHighScore(score) -{ - // Offline storage - var db = Sql.LocalStorage.openDatabaseSync( - "SameGame", - "2.0", - "SameGame Local Data", - 100 - ); - var dataStr = "INSERT INTO Scores VALUES(?, ?, ?, ?)"; - var data = [ - gameMode, - score, - maxColumn + "x" + maxRow, - Math.floor(gameDuration / 1000) - ]; - if (score >= gameCanvas.highScore)//Update UI field - gameCanvas.highScore = score; - - db.transaction( - function(tx) { - tx.executeSql('CREATE TABLE IF NOT EXISTS Scores(game TEXT, score NUMBER, gridSize TEXT, time NUMBER)'); - tx.executeSql(dataStr, data); - } - ); -} - -function getLevelHistory() -{ - var db = Sql.LocalStorage.openDatabaseSync( - "SameGame", - "2.0", - "SameGame Local Data", - 100 - ); - db.transaction( - function(tx) { - tx.executeSql('CREATE TABLE IF NOT EXISTS Puzzle(level TEXT, score NUMBER, moves NUMBER, time NUMBER)'); - var rs = tx.executeSql('SELECT * FROM Puzzle WHERE level = "' + puzzlePath + '" ORDER BY score desc'); - if (rs.rows.length > 0) { - gameCanvas.puzzleWon = true; - gameCanvas.highScore = rs.rows.item(0).score; - } else { - gameCanvas.puzzleWon = false; - gameCanvas.highScore = 0; - } - } - ); -} - -function saveLevelHistory() -{ - var db = Sql.LocalStorage.openDatabaseSync( - "SameGame", - "2.0", - "SameGame Local Data", - 100 - ); - var dataStr = "INSERT INTO Puzzle VALUES(?, ?, ?, ?)"; - var data = [ - puzzlePath, - gameCanvas.score, - gameCanvas.moves, - Math.floor(gameDuration / 1000) - ]; - gameCanvas.puzzleWon = true; - - db.transaction( - function(tx) { - tx.executeSql('CREATE TABLE IF NOT EXISTS Puzzle(level TEXT, score NUMBER, moves NUMBER, time NUMBER)'); - tx.executeSql(dataStr, data); - } - ); -} - -function nuke() //For "Debug mode" -{ - for (var row = 1; row <= 5; row++) { - for (var col = 0; col < 5; col++) { - if (board[index(col, maxRow - row)] != null) { - board[index(col, maxRow - row)].dying = true; - board[index(col, maxRow - row)] = null; - } - } - } - if (gameMode == "multiplayer" && gameCanvas.curTurn == 2) - shuffleUp(); - else - shuffleDown(); - if (gameMode == "endless") - refill(); - else - victoryCheck(); -} diff --git a/experimental/qt5-intro-android/samegame/settings.js b/experimental/qt5-intro-android/samegame/settings.js deleted file mode 100644 index e09dee9..0000000 --- a/experimental/qt5-intro-android/samegame/settings.js +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Research In Motion -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -.pragma library - -//This should be switched over once a proper QML settings API exists - -var menuDelay = 500 - -var headerHeight = 20 // 70 on BB10 -var footerHeight = 44 // 100 on BB10 - -var fontPixelSize = 14 // 55 on BB10 - -var blockSize = 32 // 64 on BB10 - -var toolButtonHeight = 32 // 64 on BB10 - -var menuButtonSpacing = 0 // 15 on BB10 -- cgit v1.2.3