[dali_1.0.1] Merge branch 'tizen' 80/24980/1
authorAdeel Kazmi <adeel.kazmi@samsung.com>
Thu, 24 Jul 2014 14:02:41 +0000 (15:02 +0100)
committerAdeel Kazmi <adeel.kazmi@samsung.com>
Thu, 24 Jul 2014 14:02:47 +0000 (15:02 +0100)
Change-Id: Ie2f5b19ff89393b738fe30db605451bf886b4e94

919 files changed:
.gitignore
LICENSE
README [new file with mode: 0644]
automated-tests/.gitignore
automated-tests/.gitignore-with-autogenerated-files [new file with mode: 0644]
automated-tests/.gitignore-without-autogenerated-files [new file with mode: 0644]
automated-tests/TET/.gitignore [deleted file]
automated-tests/TET/_export_desktop.sh [deleted file]
automated-tests/TET/_export_env.sh [deleted file]
automated-tests/TET/_export_sbs.sh [deleted file]
automated-tests/TET/_export_target_env.sh [deleted file]
automated-tests/TET/build.sh [deleted file]
automated-tests/TET/build_out.sh [deleted file]
automated-tests/TET/coverage.mk [deleted file]
automated-tests/TET/coverage.sh [deleted file]
automated-tests/TET/dali-internal-test-suite/master-makefile.mk [deleted file]
automated-tests/TET/dali-internal-test-suite/tc-gen.sh [deleted symlink]
automated-tests/TET/dali-internal-test-suite/text-input/.gitignore [deleted file]
automated-tests/TET/dali-internal-test-suite/text-input/Makefile [deleted symlink]
automated-tests/TET/dali-internal-test-suite/text-input/file.list [deleted file]
automated-tests/TET/dali-internal-test-suite/text-input/tslist [deleted file]
automated-tests/TET/dali-internal-test-suite/text-input/utc-Dali-TextInput.cpp [deleted file]
automated-tests/TET/dali-internal-test-suite/text-view/.gitignore [deleted file]
automated-tests/TET/dali-internal-test-suite/text-view/Makefile [deleted symlink]
automated-tests/TET/dali-internal-test-suite/text-view/file.list [deleted file]
automated-tests/TET/dali-internal-test-suite/text-view/tslist [deleted file]
automated-tests/TET/dali-internal-test-suite/text-view/utc-Dali-TextView-HelperAndDebug.cpp [deleted file]
automated-tests/TET/dali-internal-test-suite/text-view/utc-Dali-TextView-Processor-Types.cpp [deleted file]
automated-tests/TET/dali-internal-test-suite/text-view/utc-Dali-TextView-Processor.cpp [deleted file]
automated-tests/TET/dali-internal-test-suite/text-view/utc-Dali-TextView-Relayout-Utilities.cpp [deleted file]
automated-tests/TET/dali-internal-test-suite/text-view/utc-Dali-TextView.cpp [deleted file]
automated-tests/TET/dali-internal-test-suite/utc-MODULE-CLASS.cpp.in [deleted file]
automated-tests/TET/dali-test-suite/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/alignment/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/alignment/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/alignment/file.list [deleted file]
automated-tests/TET/dali-test-suite/alignment/tslist [deleted file]
automated-tests/TET/dali-test-suite/alignment/utc-Dali-Alignment.cpp [deleted file]
automated-tests/TET/dali-test-suite/bubble-emitter/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/bubble-emitter/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/bubble-emitter/file.list [deleted file]
automated-tests/TET/dali-test-suite/bubble-emitter/tslist [deleted file]
automated-tests/TET/dali-test-suite/bubble-emitter/utc-Dali-BubbleEmitter.cpp [deleted file]
automated-tests/TET/dali-test-suite/builder/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/builder/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/builder/file.list [deleted file]
automated-tests/TET/dali-test-suite/builder/tslist [deleted file]
automated-tests/TET/dali-test-suite/builder/utc-Dali-Builder.cpp [deleted file]
automated-tests/TET/dali-test-suite/builder/utc-Dali-JsonParser.cpp [deleted file]
automated-tests/TET/dali-test-suite/buttons/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/buttons/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/buttons/file.list [deleted file]
automated-tests/TET/dali-test-suite/buttons/tslist [deleted file]
automated-tests/TET/dali-test-suite/buttons/utc-Dali-Button.cpp [deleted file]
automated-tests/TET/dali-test-suite/buttons/utc-Dali-CheckBoxButton.cpp [deleted file]
automated-tests/TET/dali-test-suite/buttons/utc-Dali-PushButton.cpp [deleted file]
automated-tests/TET/dali-test-suite/cluster/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/cluster/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/cluster/file.list [deleted file]
automated-tests/TET/dali-test-suite/cluster/tslist [deleted file]
automated-tests/TET/dali-test-suite/cluster/utc-Dali-Cluster.cpp [deleted file]
automated-tests/TET/dali-test-suite/control/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/control/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/control/dummy-control.h [deleted file]
automated-tests/TET/dali-test-suite/control/file.list [deleted file]
automated-tests/TET/dali-test-suite/control/tslist [deleted file]
automated-tests/TET/dali-test-suite/control/utc-Dali-Control.cpp [deleted file]
automated-tests/TET/dali-test-suite/control/utc-Dali-ControlImpl.cpp [deleted file]
automated-tests/TET/dali-test-suite/default-controls/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/default-controls/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/default-controls/file.list [deleted file]
automated-tests/TET/dali-test-suite/default-controls/tslist [deleted file]
automated-tests/TET/dali-test-suite/default-controls/utc-Dali-DefaultControls.cpp [deleted file]
automated-tests/TET/dali-test-suite/focus-manager/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/focus-manager/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/focus-manager/file.list [deleted file]
automated-tests/TET/dali-test-suite/focus-manager/tslist [deleted file]
automated-tests/TET/dali-test-suite/focus-manager/utc-Dali-FocusManager.cpp [deleted file]
automated-tests/TET/dali-test-suite/focus-manager/utc-Dali-KeyInputFocusManager.cpp [deleted file]
automated-tests/TET/dali-test-suite/focus-manager/utc-Dali-KeyboardFocusManager.cpp [deleted file]
automated-tests/TET/dali-test-suite/item-view/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/item-view/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/item-view/file.list [deleted file]
automated-tests/TET/dali-test-suite/item-view/tslist [deleted file]
automated-tests/TET/dali-test-suite/item-view/utc-Dali-AlbumLayout.cpp [deleted file]
automated-tests/TET/dali-test-suite/item-view/utc-Dali-DepthLayout.cpp [deleted file]
automated-tests/TET/dali-test-suite/item-view/utc-Dali-GridLayout.cpp [deleted file]
automated-tests/TET/dali-test-suite/item-view/utc-Dali-ItemLayout.cpp [deleted file]
automated-tests/TET/dali-test-suite/item-view/utc-Dali-ItemView.cpp [deleted file]
automated-tests/TET/dali-test-suite/item-view/utc-Dali-NavigationLayout.cpp [deleted file]
automated-tests/TET/dali-test-suite/item-view/utc-Dali-RollLayout.cpp [deleted file]
automated-tests/TET/dali-test-suite/item-view/utc-Dali-SpiralLayout.cpp [deleted file]
automated-tests/TET/dali-test-suite/master-makefile.mk [deleted file]
automated-tests/TET/dali-test-suite/navigation-frame/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/navigation-frame/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/navigation-frame/file.list [deleted file]
automated-tests/TET/dali-test-suite/navigation-frame/tslist [deleted file]
automated-tests/TET/dali-test-suite/navigation-frame/utc-Dali-NavigationControl.cpp [deleted file]
automated-tests/TET/dali-test-suite/navigation-frame/utc-Dali-Page.cpp [deleted file]
automated-tests/TET/dali-test-suite/page-turn-view/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/page-turn-view/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/page-turn-view/file.list [deleted file]
automated-tests/TET/dali-test-suite/page-turn-view/tslist [deleted file]
automated-tests/TET/dali-test-suite/page-turn-view/utc-Dali-PageTurnView.cpp [deleted file]
automated-tests/TET/dali-test-suite/popup/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/popup/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/popup/file.list [deleted file]
automated-tests/TET/dali-test-suite/popup/tslist [deleted file]
automated-tests/TET/dali-test-suite/popup/utc-Dali-Popup.cpp [deleted file]
automated-tests/TET/dali-test-suite/scroll-view/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/scroll-view/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/scroll-view/file.list [deleted file]
automated-tests/TET/dali-test-suite/scroll-view/tslist [deleted file]
automated-tests/TET/dali-test-suite/scroll-view/utc-Dali-ScrollView.cpp [deleted file]
automated-tests/TET/dali-test-suite/scroll-view/utc-Dali-ScrollViewEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/selectors/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/selectors/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/selectors/file.list [deleted file]
automated-tests/TET/dali-test-suite/selectors/tslist [deleted file]
automated-tests/TET/dali-test-suite/selectors/utc-Dali-RotatingSelector.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/shader-effects/file.list [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/tslist [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-BendyEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-BlindEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-BloomView.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-CarouselEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-DisplacementEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-DissolveEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-DistanceFieldEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-GaussianBlurView.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-IrisEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-MaskEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-NinePatchMaskEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-OverlayEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-PageTurnEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-Ripple2DEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-RippleEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-ShadowView.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-ShearEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-SoftButtonEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-SpotEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-SquareDissolveEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-SwirlEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-WaterEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/slider/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/slider/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/slider/file.list [deleted file]
automated-tests/TET/dali-test-suite/slider/tslist [deleted file]
automated-tests/TET/dali-test-suite/slider/utc-Dali-Slider.cpp [deleted file]
automated-tests/TET/dali-test-suite/super-blur-view/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/super-blur-view/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/super-blur-view/file.list [deleted file]
automated-tests/TET/dali-test-suite/super-blur-view/tslist [deleted file]
automated-tests/TET/dali-test-suite/super-blur-view/utc-Dali-SuperBlurView.cpp [deleted file]
automated-tests/TET/dali-test-suite/table-view/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/table-view/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/table-view/file.list [deleted file]
automated-tests/TET/dali-test-suite/table-view/tslist [deleted file]
automated-tests/TET/dali-test-suite/table-view/utc-Dali-TableView.cpp [deleted file]
automated-tests/TET/dali-test-suite/tc-gen.sh [deleted file]
automated-tests/TET/dali-test-suite/text-input/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/text-input/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/text-input/file.list [deleted file]
automated-tests/TET/dali-test-suite/text-input/tslist [deleted file]
automated-tests/TET/dali-test-suite/text-input/utc-Dali-TextInput.cpp [deleted file]
automated-tests/TET/dali-test-suite/text-view/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/text-view/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/text-view/file.list [deleted file]
automated-tests/TET/dali-test-suite/text-view/tslist [deleted file]
automated-tests/TET/dali-test-suite/text-view/utc-Dali-MarkupProcessor.cpp [deleted file]
automated-tests/TET/dali-test-suite/text-view/utc-Dali-TextView.cpp [deleted file]
automated-tests/TET/dali-test-suite/toolbar/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/toolbar/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/toolbar/file.list [deleted file]
automated-tests/TET/dali-test-suite/toolbar/tslist [deleted file]
automated-tests/TET/dali-test-suite/toolbar/utc-Dali-ToolBar.cpp [deleted file]
automated-tests/TET/dali-test-suite/transition-effects/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/transition-effects/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/transition-effects/file.list [deleted file]
automated-tests/TET/dali-test-suite/transition-effects/tslist [deleted file]
automated-tests/TET/dali-test-suite/transition-effects/utc-Dali-CubeTransitionEffect.cpp [deleted file]
automated-tests/TET/dali-test-suite/ui-builder/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/ui-builder/file.list [deleted file]
automated-tests/TET/dali-test-suite/utc-MODULE-CLASS.cpp.in [deleted file]
automated-tests/TET/dali-test-suite/view/.gitignore [deleted file]
automated-tests/TET/dali-test-suite/view/Makefile [deleted symlink]
automated-tests/TET/dali-test-suite/view/file.list [deleted file]
automated-tests/TET/dali-test-suite/view/tslist [deleted file]
automated-tests/TET/dali-test-suite/view/utc-Dali-View.cpp [deleted file]
automated-tests/TET/dali-toolkit-test-utils/dali-toolkit-test-suite-utils.h [deleted file]
automated-tests/TET/dali-toolkit-test-utils/toolkit-accessibility-manager.cpp [deleted file]
automated-tests/TET/dali-toolkit-test-utils/toolkit-accessibility-manager.h [deleted file]
automated-tests/TET/dali-toolkit-test-utils/toolkit-adaptor.cpp [deleted file]
automated-tests/TET/dali-toolkit-test-utils/toolkit-adaptor.h [deleted file]
automated-tests/TET/dali-toolkit-test-utils/toolkit-application.cpp [deleted file]
automated-tests/TET/dali-toolkit-test-utils/toolkit-application.h [deleted file]
automated-tests/TET/dali-toolkit-test-utils/toolkit-clipboard-event-notifier.cpp [deleted file]
automated-tests/TET/dali-toolkit-test-utils/toolkit-clipboard-event-notifier.h [deleted file]
automated-tests/TET/dali-toolkit-test-utils/toolkit-orientation.cpp [deleted file]
automated-tests/TET/dali-toolkit-test-utils/toolkit-orientation.h [deleted file]
automated-tests/TET/dali-toolkit-test-utils/toolkit-physical-keyboard.cpp [deleted file]
automated-tests/TET/dali-toolkit-test-utils/toolkit-physical-keyboard.h [deleted file]
automated-tests/TET/dali-toolkit-test-utils/toolkit-style-monitor.cpp [deleted file]
automated-tests/TET/dali-toolkit-test-utils/toolkit-style-monitor.h [deleted file]
automated-tests/TET/dali-toolkit-test-utils/toolkit-test-application.h [deleted file]
automated-tests/TET/dali-toolkit-test-utils/toolkit-timer.cpp [deleted file]
automated-tests/TET/dali-toolkit-test-utils/toolkit-timer.h [deleted file]
automated-tests/TET/debug.sh [deleted file]
automated-tests/TET/debug_target.sh [deleted file]
automated-tests/TET/execute.sh [deleted file]
automated-tests/TET/execute_target.sh [deleted file]
automated-tests/TET/rules.mk.in [deleted file]
automated-tests/TET/tbp.pl [deleted file]
automated-tests/TET/tet_scen [deleted file]
automated-tests/TET/tetbuild.cfg [deleted file]
automated-tests/TET/tetclean.cfg [deleted file]
automated-tests/TET/tetexec.cfg [deleted file]
automated-tests/build.sh
automated-tests/coverage.sh
automated-tests/execute.sh
automated-tests/scripts/retriever.sh
automated-tests/scripts/tcbuild.sh
automated-tests/scripts/tctestsgen.sh
automated-tests/src/dali-toolkit-internal/tct-dali-toolkit-internal-core.h [deleted file]
automated-tests/src/dali-toolkit-internal/utc-Dali-PushButton.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-TextView-HelperAndDebug.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-TextView-Processor-Types.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-TextView-Processor.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-TextView-Relayout-Utilities.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-TextView.cpp
automated-tests/src/dali-toolkit-unmanaged/CMakeLists.txt
automated-tests/src/dali-toolkit-unmanaged/tct-dali-toolkit-unmanaged-core.h [deleted file]
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-AlbumLayout.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-BendyEffect.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-BlindEffect.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-BloomView.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-Builder.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-Button.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-CarouselEffect.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-CheckBoxButton.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-Cluster.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-ControlImpl.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-CubeTransitionEffect.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-DefaultControls.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-DepthLayout.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-DisplacementEffect.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-DistanceFieldEffect.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-GaussianBlurView.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-ItemView.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-JsonParser.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-KeyInputFocusManager.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-KeyboardFocusManager.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-NavigationControl.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-NavigationLayout.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-OverlayEffect.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-Page.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-PageTurnEffect.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-PageTurnView.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-RollLayout.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-RotatingSelector.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-ScrollView.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-ScrollViewEffect.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-ShadowView.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-ShearEffect.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-Slider.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-SoftButtonEffect.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-SpiralLayout.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-SpotEffect.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-SquareDissolveEffect.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-StyleManager.cpp [new file with mode: 0644]
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-TableView.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-TextInput.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-ToolBar.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-View.cpp
automated-tests/src/dali-toolkit-unmanaged/utc-Dali-WaterEffect.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dali-test-suite-utils.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dali-test-suite-utils.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dali-toolkit-test-suite-utils.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-application.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-application.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gesture-manager.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gesture-manager.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gl-abstraction.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gl-abstraction.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gl-sync-abstraction.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gl-sync-abstraction.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-native-image.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-native-image.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-platform-abstraction.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-platform-abstraction.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-render-controller.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-render-controller.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-trace-call-stack.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-trace-call-stack.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-accessibility-manager.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-accessibility-manager.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-adaptor.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-adaptor.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-application.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-application.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-clipboard-event-notifier.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-clipboard-event-notifier.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-clipboard.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-clipboard.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-imf-manager.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-imf-manager.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-orientation.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-orientation.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-physical-keyboard.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-physical-keyboard.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-style-monitor.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-style-monitor.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-test-application.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-timer.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-timer.h
automated-tests/src/dali-toolkit/tct-dali-toolkit-core.h [deleted file]
automated-tests/src/dali-toolkit/utc-Dali-Alignment.cpp
automated-tests/src/dali-toolkit/utc-Dali-BubbleEmitter.cpp
automated-tests/src/dali-toolkit/utc-Dali-Button.cpp
automated-tests/src/dali-toolkit/utc-Dali-Control.cpp
automated-tests/src/dali-toolkit/utc-Dali-ControlImpl.cpp
automated-tests/src/dali-toolkit/utc-Dali-DefaultControls.cpp
automated-tests/src/dali-toolkit/utc-Dali-DissolveEffect.cpp
automated-tests/src/dali-toolkit/utc-Dali-FocusManager.cpp
automated-tests/src/dali-toolkit/utc-Dali-GridLayout.cpp
automated-tests/src/dali-toolkit/utc-Dali-IrisEffect.cpp
automated-tests/src/dali-toolkit/utc-Dali-ItemLayout.cpp
automated-tests/src/dali-toolkit/utc-Dali-ItemView.cpp
automated-tests/src/dali-toolkit/utc-Dali-KeyboardFocusManager.cpp
automated-tests/src/dali-toolkit/utc-Dali-MarkupProcessor.cpp
automated-tests/src/dali-toolkit/utc-Dali-MaskEffect.cpp
automated-tests/src/dali-toolkit/utc-Dali-NinePatchMaskEffect.cpp
automated-tests/src/dali-toolkit/utc-Dali-Popup.cpp
automated-tests/src/dali-toolkit/utc-Dali-PushButton.cpp
automated-tests/src/dali-toolkit/utc-Dali-Ripple2DEffect.cpp
automated-tests/src/dali-toolkit/utc-Dali-RippleEffect.cpp
automated-tests/src/dali-toolkit/utc-Dali-ScrollViewEffect.cpp
automated-tests/src/dali-toolkit/utc-Dali-SuperBlurView.cpp
automated-tests/src/dali-toolkit/utc-Dali-SwirlEffect.cpp
automated-tests/src/dali-toolkit/utc-Dali-TextInput.cpp
automated-tests/src/dali-toolkit/utc-Dali-TextView.cpp
automated-tests/templates/tct-package/README [new file with mode: 0644]
automated-tests/templates/tct-package/inst.sh [new file with mode: 0755]
base/dali-toolkit/images/00_popup_bg.png [changed mode: 0755->0644]
base/dali-toolkit/images/00_popup_button_bg.png [changed mode: 0755->0644]
base/dali-toolkit/images/copypanelLine.png [deleted file]
base/dali-toolkit/images/insertpoint-icon.png [changed mode: 0755->0644]
base/dali-toolkit/images/popup_bg.png [changed mode: 0755->0644]
base/dali-toolkit/images/popup_bubble_bg.#.png [new file with mode: 0644]
base/dali-toolkit/images/popup_bubble_bg_ef.#.png [moved from base/dali-toolkit/images/cutCopyPastePopup_bg.png with 61% similarity]
base/dali-toolkit/images/popup_bubble_bg_line.#.png [new file with mode: 0644]
base/dali-toolkit/images/popup_bubble_tail_bottom.png [new file with mode: 0644]
base/dali-toolkit/images/popup_bubble_tail_bottom_ef.png [new file with mode: 0644]
base/dali-toolkit/images/popup_bubble_tail_bottom_line.png [new file with mode: 0644]
base/dali-toolkit/images/popup_bubble_tail_top.png [new file with mode: 0755]
base/dali-toolkit/images/popup_bubble_tail_top_ef.png [moved from base/dali-toolkit/images/cursor.png with 87% similarity, mode: 0755]
base/dali-toolkit/images/popup_bubble_tail_top_line.png [new file with mode: 0755]
base/dali-toolkit/images/text-input-selection-handle-left-press.png [changed mode: 0755->0644]
base/dali-toolkit/images/text-input-selection-handle-left.png [changed mode: 0755->0644]
base/dali-toolkit/images/text-input-selection-handle-right-press.png [changed mode: 0755->0644]
base/dali-toolkit/images/text-input-selection-handle-right.png [changed mode: 0755->0644]
base/dali-toolkit/internal/builder/builder-actor.cpp [new file with mode: 0644]
base/dali-toolkit/internal/builder/builder-animations.cpp [moved from optional/dali-toolkit/internal/builder/builder-animations.cpp with 94% similarity]
base/dali-toolkit/internal/builder/builder-declarations.h [moved from optional/dali-toolkit/internal/builder/builder-declarations.h with 65% similarity]
base/dali-toolkit/internal/builder/builder-filesystem.h [moved from optional/dali-toolkit/internal/builder/builder-filesystem.h with 59% similarity]
base/dali-toolkit/internal/builder/builder-get-is.inl.h [moved from optional/dali-toolkit/internal/builder/builder-get-is.inl.h with 93% similarity]
base/dali-toolkit/internal/builder/builder-impl.cpp [moved from optional/dali-toolkit/internal/builder/builder-impl.cpp with 96% similarity]
base/dali-toolkit/internal/builder/builder-impl.h [moved from optional/dali-toolkit/internal/builder/builder-impl.h with 90% similarity]
base/dali-toolkit/internal/builder/builder-set-property.cpp [moved from optional/dali-toolkit/internal/builder/builder-set-property.cpp with 94% similarity]
base/dali-toolkit/internal/builder/builder-signals.cpp [moved from optional/dali-toolkit/internal/builder/builder-signals.cpp with 95% similarity]
base/dali-toolkit/internal/builder/json-parser-impl.cpp [moved from optional/dali-toolkit/internal/builder/json-parser-impl.cpp with 85% similarity]
base/dali-toolkit/internal/builder/json-parser-impl.h [moved from optional/dali-toolkit/internal/builder/json-parser-impl.h with 84% similarity]
base/dali-toolkit/internal/builder/json-parser-state.cpp [moved from optional/dali-toolkit/internal/builder/json-parser-state.cpp with 96% similarity]
base/dali-toolkit/internal/builder/json-parser-state.h [moved from optional/dali-toolkit/internal/builder/json-parser-state.h with 92% similarity]
base/dali-toolkit/internal/builder/optional-value.h [moved from optional/dali-toolkit/internal/builder/optional-value.h with 78% similarity]
base/dali-toolkit/internal/builder/replacement.cpp [moved from optional/dali-toolkit/internal/builder/replacement.cpp with 92% similarity]
base/dali-toolkit/internal/builder/replacement.h [moved from optional/dali-toolkit/internal/builder/replacement.h with 87% similarity]
base/dali-toolkit/internal/builder/tree-node-manipulator.cpp [moved from optional/dali-toolkit/internal/builder/tree-node-manipulator.cpp with 94% similarity]
base/dali-toolkit/internal/builder/tree-node-manipulator.h [moved from optional/dali-toolkit/internal/builder/tree-node-manipulator.h with 90% similarity]
base/dali-toolkit/internal/controls/alignment/alignment-impl.cpp
base/dali-toolkit/internal/controls/alignment/alignment-impl.h
base/dali-toolkit/internal/controls/buttons/button-impl.cpp
base/dali-toolkit/internal/controls/buttons/button-impl.h
base/dali-toolkit/internal/controls/buttons/button-painter-impl.h
base/dali-toolkit/internal/controls/buttons/check-box-button-default-painter-impl.cpp
base/dali-toolkit/internal/controls/buttons/check-box-button-default-painter-impl.h
base/dali-toolkit/internal/controls/buttons/check-box-button-impl.cpp
base/dali-toolkit/internal/controls/buttons/check-box-button-impl.h
base/dali-toolkit/internal/controls/buttons/check-box-button-painter-impl.h
base/dali-toolkit/internal/controls/buttons/push-button-default-painter-impl.cpp
base/dali-toolkit/internal/controls/buttons/push-button-default-painter-impl.h
base/dali-toolkit/internal/controls/buttons/push-button-impl.cpp
base/dali-toolkit/internal/controls/buttons/push-button-impl.h
base/dali-toolkit/internal/controls/buttons/push-button-painter-impl.h
base/dali-toolkit/internal/controls/popup/popup-impl.cpp
base/dali-toolkit/internal/controls/popup/popup-impl.h
base/dali-toolkit/internal/controls/popup/popup-style-impl.cpp
base/dali-toolkit/internal/controls/popup/popup-style-impl.h
base/dali-toolkit/internal/controls/relayout-controller-impl.cpp
base/dali-toolkit/internal/controls/relayout-controller-impl.h
base/dali-toolkit/internal/controls/relayout-controller.cpp
base/dali-toolkit/internal/controls/relayout-controller.h
base/dali-toolkit/internal/controls/relayout-helper.cpp
base/dali-toolkit/internal/controls/relayout-helper.h
base/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp
base/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.h
base/dali-toolkit/internal/controls/scroll-component/scroll-bar-internal-impl.cpp
base/dali-toolkit/internal/controls/scroll-component/scroll-bar-internal-impl.h
base/dali-toolkit/internal/controls/scroll-component/scroll-bar-internal.cpp
base/dali-toolkit/internal/controls/scroll-component/scroll-bar-internal.h
base/dali-toolkit/internal/controls/scrollable/bouncing-effect-actor.cpp [new file with mode: 0644]
base/dali-toolkit/internal/controls/scrollable/bouncing-effect-actor.h [new file with mode: 0644]
base/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp
base/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.h
base/dali-toolkit/internal/controls/scrollable/scroll-connector-impl.cpp
base/dali-toolkit/internal/controls/scrollable/scroll-connector-impl.h
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-base-impl.cpp
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-base-impl.h
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-overshoot-indicator-impl.cpp
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-overshoot-indicator-impl.h
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-carousel-effect-impl.cpp
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-carousel-effect-impl.h
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-cube-effect-impl.cpp
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-cube-effect-impl.h
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-custom-effect-impl.cpp
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-custom-effect-impl.h
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-depth-effect-impl.cpp
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-depth-effect-impl.h
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-effect-impl.cpp
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-effect-impl.h
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-helper-functions.cpp
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-helper-functions.h
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.cpp
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.h
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-page-carousel-effect-impl.cpp
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-page-carousel-effect-impl.h
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-page-cube-effect-impl.cpp
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-page-cube-effect-impl.h
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-page-spiral-effect-impl.cpp
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-page-spiral-effect-impl.h
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-slide-effect-impl.cpp
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-slide-effect-impl.h
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-twist-effect-impl.cpp
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-twist-effect-impl.h
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-wobble-effect-impl.cpp
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-wobble-effect-impl.h
base/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp
base/dali-toolkit/internal/controls/scrollable/scrollable-impl.h
base/dali-toolkit/internal/controls/style-change-processor.cpp [deleted file]
base/dali-toolkit/internal/controls/style-change-processor.h [deleted file]
base/dali-toolkit/internal/controls/table-view/array-2d.h
base/dali-toolkit/internal/controls/table-view/table-view-impl.cpp
base/dali-toolkit/internal/controls/table-view/table-view-impl.h
base/dali-toolkit/internal/controls/text-input/text-input-decorator-impl.cpp
base/dali-toolkit/internal/controls/text-input/text-input-decorator-impl.h
base/dali-toolkit/internal/controls/text-input/text-input-handles-impl.cpp
base/dali-toolkit/internal/controls/text-input/text-input-handles-impl.h
base/dali-toolkit/internal/controls/text-input/text-input-impl.cpp
base/dali-toolkit/internal/controls/text-input/text-input-impl.h
base/dali-toolkit/internal/controls/text-input/text-input-popup-impl.cpp
base/dali-toolkit/internal/controls/text-input/text-input-popup-impl.h
base/dali-toolkit/internal/controls/text-input/text-input-popup-new-impl.h
base/dali-toolkit/internal/controls/text-input/text-input-text-highlight-impl.cpp [new file with mode: 0644]
base/dali-toolkit/internal/controls/text-input/text-input-text-highlight-impl.h
base/dali-toolkit/internal/controls/text-input/text-input-text-style-impl.h
base/dali-toolkit/internal/controls/text-input/textview-character-positions-impl.h
base/dali-toolkit/internal/controls/text-view/relayout-utilities.cpp
base/dali-toolkit/internal/controls/text-view/relayout-utilities.h
base/dali-toolkit/internal/controls/text-view/split-by-char-policies.cpp
base/dali-toolkit/internal/controls/text-view/split-by-char-policies.h
base/dali-toolkit/internal/controls/text-view/split-by-new-line-char-policies.cpp
base/dali-toolkit/internal/controls/text-view/split-by-new-line-char-policies.h
base/dali-toolkit/internal/controls/text-view/split-by-word-policies.cpp
base/dali-toolkit/internal/controls/text-view/split-by-word-policies.h
base/dali-toolkit/internal/controls/text-view/text-actor-cache.cpp
base/dali-toolkit/internal/controls/text-view/text-actor-cache.h
base/dali-toolkit/internal/controls/text-view/text-processor.cpp
base/dali-toolkit/internal/controls/text-view/text-processor.h
base/dali-toolkit/internal/controls/text-view/text-view-character-processor.cpp
base/dali-toolkit/internal/controls/text-view/text-view-impl.cpp
base/dali-toolkit/internal/controls/text-view/text-view-impl.h
base/dali-toolkit/internal/controls/text-view/text-view-line-processor.cpp
base/dali-toolkit/internal/controls/text-view/text-view-line-processor.h
base/dali-toolkit/internal/controls/text-view/text-view-processor-dbg.cpp
base/dali-toolkit/internal/controls/text-view/text-view-processor-dbg.h
base/dali-toolkit/internal/controls/text-view/text-view-processor-helper-functions.cpp
base/dali-toolkit/internal/controls/text-view/text-view-processor-helper-functions.h
base/dali-toolkit/internal/controls/text-view/text-view-processor-types.h
base/dali-toolkit/internal/controls/text-view/text-view-processor.cpp
base/dali-toolkit/internal/controls/text-view/text-view-processor.h
base/dali-toolkit/internal/controls/text-view/text-view-word-group-processor.cpp
base/dali-toolkit/internal/controls/text-view/text-view-word-group-processor.h
base/dali-toolkit/internal/controls/text-view/text-view-word-processor.cpp
base/dali-toolkit/internal/controls/text-view/text-view-word-processor.h
base/dali-toolkit/internal/factory/localized-control-factory-impl.cpp
base/dali-toolkit/internal/factory/localized-control-factory-impl.h
base/dali-toolkit/internal/file.list
base/dali-toolkit/internal/focus-manager/focus-manager-impl.cpp
base/dali-toolkit/internal/focus-manager/focus-manager-impl.h
base/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp
base/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.h
base/dali-toolkit/internal/focus-manager/keyinput-focus-manager-impl.cpp
base/dali-toolkit/internal/focus-manager/keyinput-focus-manager-impl.h
base/dali-toolkit/internal/styling/style-manager-impl.cpp [new file with mode: 0644]
base/dali-toolkit/internal/styling/style-manager-impl.h [new file with mode: 0644]
base/dali-toolkit/internal/styling/util.h [new file with mode: 0644]
base/dali-toolkit/public-api/builder/builder.cpp [moved from optional/dali-toolkit/public-api/builder/builder.cpp with 82% similarity]
base/dali-toolkit/public-api/builder/builder.h [moved from optional/dali-toolkit/public-api/builder/builder.h with 90% similarity]
base/dali-toolkit/public-api/builder/json-parser.cpp [moved from optional/dali-toolkit/public-api/builder/json-parser.cpp with 75% similarity]
base/dali-toolkit/public-api/builder/json-parser.h [moved from optional/dali-toolkit/public-api/builder/json-parser.h with 78% similarity]
base/dali-toolkit/public-api/builder/tree-node.cpp [moved from optional/dali-toolkit/public-api/builder/tree-node.cpp with 82% similarity]
base/dali-toolkit/public-api/builder/tree-node.h [moved from optional/dali-toolkit/public-api/builder/tree-node.h with 88% similarity]
base/dali-toolkit/public-api/controls/alignment/alignment.cpp
base/dali-toolkit/public-api/controls/buttons/button.cpp
base/dali-toolkit/public-api/controls/buttons/check-box-button.cpp
base/dali-toolkit/public-api/controls/buttons/check-box-button.h
base/dali-toolkit/public-api/controls/buttons/push-button.cpp
base/dali-toolkit/public-api/controls/control-impl.cpp
base/dali-toolkit/public-api/controls/control.cpp
base/dali-toolkit/public-api/controls/default-controls/check-button-factory.cpp
base/dali-toolkit/public-api/controls/default-controls/check-button-factory.h
base/dali-toolkit/public-api/controls/default-controls/push-button-factory.cpp
base/dali-toolkit/public-api/controls/default-controls/solid-color-actor.cpp
base/dali-toolkit/public-api/controls/popup/popup.cpp
base/dali-toolkit/public-api/controls/scroll-bar/scroll-bar.cpp
base/dali-toolkit/public-api/controls/scrollable/item-view/album-layout.cpp
base/dali-toolkit/public-api/controls/scrollable/item-view/album-layout.h
base/dali-toolkit/public-api/controls/scrollable/item-view/depth-layout.cpp
base/dali-toolkit/public-api/controls/scrollable/item-view/depth-layout.h
base/dali-toolkit/public-api/controls/scrollable/item-view/grid-layout.cpp
base/dali-toolkit/public-api/controls/scrollable/item-view/item-factory.cpp
base/dali-toolkit/public-api/controls/scrollable/item-view/item-layout.cpp
base/dali-toolkit/public-api/controls/scrollable/item-view/item-view.cpp
base/dali-toolkit/public-api/controls/scrollable/item-view/navigation-layout.cpp
base/dali-toolkit/public-api/controls/scrollable/item-view/navigation-layout.h
base/dali-toolkit/public-api/controls/scrollable/item-view/roll-layout.cpp
base/dali-toolkit/public-api/controls/scrollable/item-view/roll-layout.h
base/dali-toolkit/public-api/controls/scrollable/item-view/spiral-layout.cpp
base/dali-toolkit/public-api/controls/scrollable/item-view/spiral-layout.h
base/dali-toolkit/public-api/controls/scrollable/scroll-component-impl.cpp
base/dali-toolkit/public-api/controls/scrollable/scroll-component-impl.h
base/dali-toolkit/public-api/controls/scrollable/scroll-component.cpp
base/dali-toolkit/public-api/controls/scrollable/scroll-connector.cpp
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-carousel-effect.cpp
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-carousel-effect.h
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-constraints.cpp
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-constraints.h
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-cube-effect.cpp
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-custom-effect.cpp
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-depth-effect.cpp
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-depth-effect.h
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-effect.cpp
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-page-carousel-effect.cpp
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-page-carousel-effect.h
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-page-cube-effect.cpp
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-page-cube-effect.h
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-page-spiral-effect.cpp
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-slide-effect.cpp
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-twist-effect.cpp
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-wobble-effect.cpp
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-wobble-effect.h
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.cpp
base/dali-toolkit/public-api/controls/scrollable/scrollable.cpp
base/dali-toolkit/public-api/controls/table-view/table-view.cpp
base/dali-toolkit/public-api/controls/table-view/table-view.h
base/dali-toolkit/public-api/controls/text-input/text-input.cpp
base/dali-toolkit/public-api/controls/text-view/text-view.cpp
base/dali-toolkit/public-api/enums.cpp
base/dali-toolkit/public-api/factory/localized-control-factory.cpp
base/dali-toolkit/public-api/file.list
base/dali-toolkit/public-api/focus-manager/focus-manager.cpp
base/dali-toolkit/public-api/focus-manager/keyboard-focus-manager.cpp
base/dali-toolkit/public-api/focus-manager/keyinput-focus-manager.cpp
base/dali-toolkit/public-api/focus-manager/keyinput-focus-manager.h
base/dali-toolkit/public-api/markup-processor/markup-processor.cpp
base/dali-toolkit/public-api/shader-effects/bouncing-effect.cpp
base/dali-toolkit/public-api/shader-effects/bouncing-effect.h
base/dali-toolkit/public-api/shader-effects/image-region-effect.cpp
base/dali-toolkit/public-api/styling/style-manager.cpp [new file with mode: 0644]
base/dali-toolkit/public-api/styling/style-manager.h [new file with mode: 0644]
base/dali-toolkit/styles/file.list [new file with mode: 0644]
base/dali-toolkit/styles/tizen-dark-theme.json [new file with mode: 0644]
base/dali-toolkit/styles/tizen-default-theme.json [new symlink]
build/slp/Makefile.am
build/slp/configure.ac
build/slp/dali-toolkit-base/Makefile.am [deleted file]
build/slp/dali-toolkit/Makefile.am
build/slp/docs/.gitignore [new file with mode: 0644]
build/slp/docs/Makefile.am [new file with mode: 0644]
build/slp/docs/dali.doxy.in [new file with mode: 0644]
capi/dali-toolkit/public-api/controls/alignment/alignment.h
capi/dali-toolkit/public-api/controls/bubble-effect/bubble-emitter.h
capi/dali-toolkit/public-api/controls/buttons/button.h
capi/dali-toolkit/public-api/controls/buttons/push-button.h
capi/dali-toolkit/public-api/controls/cluster/cluster-style.h
capi/dali-toolkit/public-api/controls/control-impl.h
capi/dali-toolkit/public-api/controls/control.h
capi/dali-toolkit/public-api/controls/default-controls/push-button-factory.h
capi/dali-toolkit/public-api/controls/default-controls/solid-color-actor.h
capi/dali-toolkit/public-api/controls/image-view/masked-image-view.h
capi/dali-toolkit/public-api/controls/popup/popup.h
capi/dali-toolkit/public-api/controls/scroll-bar/scroll-bar.h
capi/dali-toolkit/public-api/controls/scrollable/item-view/grid-layout.h
capi/dali-toolkit/public-api/controls/scrollable/item-view/item-factory.h
capi/dali-toolkit/public-api/controls/scrollable/item-view/item-layout.h
capi/dali-toolkit/public-api/controls/scrollable/item-view/item-view-declarations.h
capi/dali-toolkit/public-api/controls/scrollable/item-view/item-view.h
capi/dali-toolkit/public-api/controls/scrollable/scroll-component.h
capi/dali-toolkit/public-api/controls/scrollable/scroll-connector.h
capi/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-cube-effect.h
capi/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-custom-effect.h
capi/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-effect.h
capi/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-page-spiral-effect.h
capi/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-slide-effect.h
capi/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-twist-effect.h
capi/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.h
capi/dali-toolkit/public-api/controls/scrollable/scrollable.h
capi/dali-toolkit/public-api/controls/super-blur-view/super-blur-view.h
capi/dali-toolkit/public-api/controls/text-input/text-input.h
capi/dali-toolkit/public-api/controls/text-view/text-view.h
capi/dali-toolkit/public-api/dali-toolkit-capi-internal.h
capi/dali-toolkit/public-api/enums.h
capi/dali-toolkit/public-api/factory/localized-control-factory.h
capi/dali-toolkit/public-api/file.list
capi/dali-toolkit/public-api/focus-manager/focus-manager.h
capi/dali-toolkit/public-api/focus-manager/keyboard-focus-manager.h
capi/dali-toolkit/public-api/markup-processor/markup-processor.h
capi/dali-toolkit/public-api/shader-effects/dissolve-effect.h
capi/dali-toolkit/public-api/shader-effects/image-region-effect.h
capi/dali-toolkit/public-api/shader-effects/iris-effect.h
capi/dali-toolkit/public-api/shader-effects/mask-effect.h
capi/dali-toolkit/public-api/shader-effects/nine-patch-mask-effect.h
capi/dali-toolkit/public-api/shader-effects/page-turn-book-spine-effect.h
capi/dali-toolkit/public-api/shader-effects/page-turn-effect.h
capi/dali-toolkit/public-api/shader-effects/ripple-effect.h
capi/dali-toolkit/public-api/shader-effects/ripple2d-effect.h
capi/dali-toolkit/public-api/shader-effects/swirl-effect.h
capi/dali_toolkit_doc.h
dali-toolkit.manifest
dali-toolkit.manifest-smack [new file with mode: 0644]
docs/DaliLayout.xml [new file with mode: 0644]
docs/README [new file with mode: 0644]
docs/api_footer.html [new file with mode: 0644]
docs/content/images/actor-position.png [new file with mode: 0644]
docs/content/images/actors/Image-Actor.png [new file with mode: 0644]
docs/content/images/actors/Text-Actor.png [new file with mode: 0644]
docs/content/images/actors/scale-none.png [new file with mode: 0644]
docs/content/images/actors/scale-to-fill-keep-aspect.png [new file with mode: 0644]
docs/content/images/actors/scale-to-fill.png [new file with mode: 0644]
docs/content/images/actors/scale-to-fit-keep-aspect.png [new file with mode: 0644]
docs/content/images/actors/shrink-to-fit-2.png [new file with mode: 0644]
docs/content/images/actors/shrink-to-fit-keep-aspect.png [new file with mode: 0644]
docs/content/images/actors/shrink-to-fit.png [new file with mode: 0644]
docs/content/images/anchor-point.png [new file with mode: 0644]
docs/content/images/animation/anim1.png [new file with mode: 0644]
docs/content/images/animation/anim2.png [new file with mode: 0644]
docs/content/images/animation/anim3.png [new file with mode: 0644]
docs/content/images/animation/multi-threaded-animation-2.png [new file with mode: 0644]
docs/content/images/animation/multi-threaded-animation.png [new file with mode: 0644]
docs/content/images/animation/set-position-vs-animation.png [new file with mode: 0644]
docs/content/images/background/BackgroundControlColor.png [new file with mode: 0644]
docs/content/images/background/BackgroundImage.png [new file with mode: 0644]
docs/content/images/background/BackgroundImageColor.png [new file with mode: 0644]
docs/content/images/background/BackgroundTextView.png [new file with mode: 0644]
docs/content/images/coordinate-system-and-stage.png [new file with mode: 0644]
docs/content/images/dynamics/dynamics-joint.png [new file with mode: 0644]
docs/content/images/dynamics/dynamics-joint2.png [new file with mode: 0644]
docs/content/images/dynamics/dynamics-rigid.png [new file with mode: 0644]
docs/content/images/dynamics/dynamics-shapes.png [new file with mode: 0644]
docs/content/images/dynamics/dynamics-soft.png [new file with mode: 0644]
docs/content/images/list-view/coverflow.png [new file with mode: 0644]
docs/content/images/list-view/grid.png [new file with mode: 0644]
docs/content/images/list-view/list.png [new file with mode: 0644]
docs/content/images/list-view/tunnel.png [new file with mode: 0644]
docs/content/images/parent-origin.png [new file with mode: 0644]
docs/content/images/screenshot.png [new file with mode: 0644]
docs/content/images/shaders/BendyEffect1.png [new file with mode: 0644]
docs/content/images/shaders/BendyEffect2.png [new file with mode: 0644]
docs/content/images/shaders/RippleEffect1.png [new file with mode: 0644]
docs/content/images/shaders/shader-effect-ripple.png [new file with mode: 0644]
docs/content/images/size-negotiation/Algorithm1.png [new file with mode: 0644]
docs/content/images/size-negotiation/Algorithm10.png [new file with mode: 0644]
docs/content/images/size-negotiation/Algorithm2.png [new file with mode: 0644]
docs/content/images/size-negotiation/Algorithm3.png [new file with mode: 0644]
docs/content/images/size-negotiation/Algorithm4.png [new file with mode: 0644]
docs/content/images/size-negotiation/Algorithm8.png [new file with mode: 0644]
docs/content/images/size-negotiation/Algorithm9.png [new file with mode: 0644]
docs/content/images/size-negotiation/FixedWidthFlexibleHeight.png [new file with mode: 0644]
docs/content/images/size-negotiation/FixedWidthFlexibleHeight2.png [new file with mode: 0644]
docs/content/images/size-negotiation/FixedWidthHeight.png [new file with mode: 0644]
docs/content/images/size-negotiation/FixedWidthHeight2.png [new file with mode: 0644]
docs/content/images/size-negotiation/FlexibleWidthFixedHeight.png [new file with mode: 0644]
docs/content/images/size-negotiation/FlexibleWidthFixedHeight2.png [new file with mode: 0644]
docs/content/images/size-negotiation/FlexibleWidthHeight.png [new file with mode: 0644]
docs/content/images/text-view/AlessBlessC.png [new file with mode: 0644]
docs/content/images/text-view/Black-Shadow.png [new file with mode: 0644]
docs/content/images/text-view/Blue-Glow.png [new file with mode: 0644]
docs/content/images/text-view/Bold.png [new file with mode: 0644]
docs/content/images/text-view/FontAppendix01.png [new file with mode: 0644]
docs/content/images/text-view/FontAppendix02.png [new file with mode: 0644]
docs/content/images/text-view/FontAppendix03.png [new file with mode: 0644]
docs/content/images/text-view/FontAppendix04.png [new file with mode: 0644]
docs/content/images/text-view/FontAppendix05.png [new file with mode: 0644]
docs/content/images/text-view/FreeSerifFont.png [new file with mode: 0644]
docs/content/images/text-view/Italic.png [new file with mode: 0644]
docs/content/images/text-view/Red-Outline.png [new file with mode: 0644]
docs/content/images/text-view/Smooth-Text.png [new file with mode: 0644]
docs/content/images/text-view/Underline.png [new file with mode: 0644]
docs/content/images/text-view/text-view-example-01.png [new file with mode: 0644]
docs/content/images/text-view/text-view-example-02.png [new file with mode: 0644]
docs/content/images/text-view/text-view-example-03.png [new file with mode: 0644]
docs/content/images/text-view/text-view-example-04.png [new file with mode: 0644]
docs/content/images/text-view/text-view-example-05.png [new file with mode: 0644]
docs/content/images/text-view/text-view-example-06.png [new file with mode: 0644]
docs/content/images/text-view/text-view-example-07.png [new file with mode: 0644]
docs/content/images/text-view/text-view-example-08.png [new file with mode: 0644]
docs/content/images/text-view/text-view.png [new file with mode: 0644]
docs/content/main-page.h [new file with mode: 0644]
docs/content/programming-guide/animation-example.h [new file with mode: 0644]
docs/content/programming-guide/animation-multi-threading-notes.h [new file with mode: 0644]
docs/content/programming-guide/animation-rotation.h [new file with mode: 0644]
docs/content/programming-guide/animation-shader.h [new file with mode: 0644]
docs/content/programming-guide/background.h [new file with mode: 0644]
docs/content/programming-guide/boost-function.h [new file with mode: 0644]
docs/content/programming-guide/boost-library.h [new file with mode: 0644]
docs/content/programming-guide/constraints-intro.h [new file with mode: 0644]
docs/content/programming-guide/custom-actor.h [new file with mode: 0644]
docs/content/programming-guide/dali-application.h [new file with mode: 0644]
docs/content/programming-guide/dynamics-bodies.h [new file with mode: 0644]
docs/content/programming-guide/dynamics-collisions.h [new file with mode: 0644]
docs/content/programming-guide/dynamics-initialization.h [new file with mode: 0644]
docs/content/programming-guide/dynamics-intro.h [new file with mode: 0644]
docs/content/programming-guide/dynamics-joints.h [new file with mode: 0644]
docs/content/programming-guide/event-system.h [new file with mode: 0644]
docs/content/programming-guide/fundamentals.h [new file with mode: 0644]
docs/content/programming-guide/handle-body-idiom.h [new file with mode: 0644]
docs/content/programming-guide/hello-world.h [new file with mode: 0644]
docs/content/programming-guide/image-text-mesh-actor.h [new file with mode: 0644]
docs/content/programming-guide/item-view.h [new file with mode: 0644]
docs/content/programming-guide/markup-processor.h [new file with mode: 0644]
docs/content/programming-guide/performance-profiling.h [new file with mode: 0644]
docs/content/programming-guide/properties.h [new file with mode: 0644]
docs/content/programming-guide/resource-tracking.h [new file with mode: 0644]
docs/content/programming-guide/script-hello.h [new file with mode: 0644]
docs/content/programming-guide/script-howto.h [new file with mode: 0644]
docs/content/programming-guide/script-overview.h [new file with mode: 0644]
docs/content/programming-guide/scroll-view.h [new file with mode: 0644]
docs/content/programming-guide/shader-intro.h [new file with mode: 0644]
docs/content/programming-guide/size-negotiation.h [new file with mode: 0644]
docs/content/programming-guide/text-input.h [new file with mode: 0644]
docs/content/programming-guide/text-view.h [new file with mode: 0644]
docs/content/programming-guide/type-registration.h [new file with mode: 0644]
optional/dali-toolkit/dali-toolkit.h
optional/dali-toolkit/internal/builder/builder-actor.cpp [deleted file]
optional/dali-toolkit/internal/controls/bloom-view/bloom-view-impl.cpp
optional/dali-toolkit/internal/controls/bloom-view/bloom-view-impl.h
optional/dali-toolkit/internal/controls/bubble-effect/bubble-emitter-impl.cpp
optional/dali-toolkit/internal/controls/bubble-effect/bubble-emitter-impl.h
optional/dali-toolkit/internal/controls/cluster/cluster-impl.cpp
optional/dali-toolkit/internal/controls/cluster/cluster-impl.h
optional/dali-toolkit/internal/controls/cluster/cluster-style-impl.cpp
optional/dali-toolkit/internal/controls/cluster/cluster-style-impl.h
optional/dali-toolkit/internal/controls/effects-view/effects-view-impl.cpp
optional/dali-toolkit/internal/controls/effects-view/effects-view-impl.h
optional/dali-toolkit/internal/controls/gaussian-blur-view/gaussian-blur-view-impl.cpp
optional/dali-toolkit/internal/controls/gaussian-blur-view/gaussian-blur-view-impl.h
optional/dali-toolkit/internal/controls/image-view/image-view-impl.cpp
optional/dali-toolkit/internal/controls/image-view/image-view-impl.h
optional/dali-toolkit/internal/controls/image-view/masked-image-view-impl.cpp
optional/dali-toolkit/internal/controls/image-view/masked-image-view-impl.h
optional/dali-toolkit/internal/controls/magnifier/magnifier-impl.cpp
optional/dali-toolkit/internal/controls/magnifier/magnifier-impl.h
optional/dali-toolkit/internal/controls/navigation-frame/navigation-bar.cpp
optional/dali-toolkit/internal/controls/navigation-frame/navigation-bar.h
optional/dali-toolkit/internal/controls/navigation-frame/navigation-control-impl.cpp
optional/dali-toolkit/internal/controls/navigation-frame/navigation-control-impl.h
optional/dali-toolkit/internal/controls/navigation-frame/navigation-title-bar.cpp
optional/dali-toolkit/internal/controls/navigation-frame/navigation-title-bar.h
optional/dali-toolkit/internal/controls/navigation-frame/navigation-tool-bar.cpp
optional/dali-toolkit/internal/controls/navigation-frame/navigation-tool-bar.h
optional/dali-toolkit/internal/controls/navigation-frame/page-impl.cpp
optional/dali-toolkit/internal/controls/navigation-frame/page-impl.h
optional/dali-toolkit/internal/controls/page-turn-view/page-turn-landscape-view-impl.cpp
optional/dali-toolkit/internal/controls/page-turn-view/page-turn-landscape-view-impl.h
optional/dali-toolkit/internal/controls/page-turn-view/page-turn-portrait-view-impl.cpp
optional/dali-toolkit/internal/controls/page-turn-view/page-turn-portrait-view-impl.h
optional/dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.cpp
optional/dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.h
optional/dali-toolkit/internal/controls/selectors/rotating-selector-impl.cpp
optional/dali-toolkit/internal/controls/selectors/rotating-selector-impl.h
optional/dali-toolkit/internal/controls/shadow-view/shadow-view-impl.cpp
optional/dali-toolkit/internal/controls/shadow-view/shadow-view-impl.h
optional/dali-toolkit/internal/controls/slider/slider-impl.cpp
optional/dali-toolkit/internal/controls/slider/slider-impl.h
optional/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp
optional/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.h
optional/dali-toolkit/internal/controls/tool-bar/tool-bar-impl.cpp
optional/dali-toolkit/internal/controls/tool-bar/tool-bar-impl.h
optional/dali-toolkit/internal/controls/view/view-impl.cpp
optional/dali-toolkit/internal/controls/view/view-impl.h
optional/dali-toolkit/internal/file.list
optional/dali-toolkit/internal/filters/blur-two-pass-filter.cpp
optional/dali-toolkit/internal/filters/blur-two-pass-filter.h
optional/dali-toolkit/internal/filters/emboss-filter.cpp
optional/dali-toolkit/internal/filters/emboss-filter.h
optional/dali-toolkit/internal/filters/image-filter.cpp
optional/dali-toolkit/internal/filters/image-filter.h
optional/dali-toolkit/internal/filters/spread-filter.cpp
optional/dali-toolkit/internal/filters/spread-filter.h
optional/dali-toolkit/internal/shader-effects/page-turn-effect-impl.cpp
optional/dali-toolkit/internal/shader-effects/page-turn-effect-impl.h
optional/dali-toolkit/internal/shader-effects/water-effect-impl.cpp
optional/dali-toolkit/internal/shader-effects/water-effect-impl.h
optional/dali-toolkit/internal/transition-effects/cube-transition-cross-effect-impl.cpp
optional/dali-toolkit/internal/transition-effects/cube-transition-cross-effect-impl.h
optional/dali-toolkit/internal/transition-effects/cube-transition-effect-impl.cpp
optional/dali-toolkit/internal/transition-effects/cube-transition-effect-impl.h
optional/dali-toolkit/internal/transition-effects/cube-transition-fold-effect-impl.cpp
optional/dali-toolkit/internal/transition-effects/cube-transition-fold-effect-impl.h
optional/dali-toolkit/internal/transition-effects/cube-transition-wave-effect-impl.cpp
optional/dali-toolkit/internal/transition-effects/cube-transition-wave-effect-impl.h
optional/dali-toolkit/public-api/controls/bloom-view/bloom-view.cpp
optional/dali-toolkit/public-api/controls/bloom-view/bloom-view.h
optional/dali-toolkit/public-api/controls/bubble-effect/bubble-emitter.cpp
optional/dali-toolkit/public-api/controls/cluster/cluster-style.cpp
optional/dali-toolkit/public-api/controls/cluster/cluster.cpp
optional/dali-toolkit/public-api/controls/cluster/cluster.h
optional/dali-toolkit/public-api/controls/effects-view/effects-view.cpp
optional/dali-toolkit/public-api/controls/effects-view/effects-view.h
optional/dali-toolkit/public-api/controls/gaussian-blur-view/gaussian-blur-view.cpp
optional/dali-toolkit/public-api/controls/gaussian-blur-view/gaussian-blur-view.h
optional/dali-toolkit/public-api/controls/image-view/image-view.cpp
optional/dali-toolkit/public-api/controls/image-view/image-view.h
optional/dali-toolkit/public-api/controls/image-view/masked-image-view.cpp
optional/dali-toolkit/public-api/controls/magnifier/magnifier.cpp
optional/dali-toolkit/public-api/controls/magnifier/magnifier.h
optional/dali-toolkit/public-api/controls/navigation-frame/navigation-bar-style.h
optional/dali-toolkit/public-api/controls/navigation-frame/navigation-control.cpp
optional/dali-toolkit/public-api/controls/navigation-frame/navigation-control.h
optional/dali-toolkit/public-api/controls/navigation-frame/page.cpp
optional/dali-toolkit/public-api/controls/navigation-frame/page.h
optional/dali-toolkit/public-api/controls/page-turn-view/page-factory.cpp
optional/dali-toolkit/public-api/controls/page-turn-view/page-factory.h
optional/dali-toolkit/public-api/controls/page-turn-view/page-turn-landscape-view.cpp
optional/dali-toolkit/public-api/controls/page-turn-view/page-turn-landscape-view.h
optional/dali-toolkit/public-api/controls/page-turn-view/page-turn-portrait-view.cpp
optional/dali-toolkit/public-api/controls/page-turn-view/page-turn-portrait-view.h
optional/dali-toolkit/public-api/controls/page-turn-view/page-turn-view.cpp
optional/dali-toolkit/public-api/controls/page-turn-view/page-turn-view.h
optional/dali-toolkit/public-api/controls/selectors/rotating-selector.cpp
optional/dali-toolkit/public-api/controls/selectors/rotating-selector.h
optional/dali-toolkit/public-api/controls/shadow-view/shadow-view.cpp
optional/dali-toolkit/public-api/controls/shadow-view/shadow-view.h
optional/dali-toolkit/public-api/controls/slider/slider.cpp
optional/dali-toolkit/public-api/controls/slider/slider.h
optional/dali-toolkit/public-api/controls/super-blur-view/super-blur-view.cpp
optional/dali-toolkit/public-api/controls/tool-bar/tool-bar.cpp
optional/dali-toolkit/public-api/controls/tool-bar/tool-bar.h
optional/dali-toolkit/public-api/controls/view/view.cpp
optional/dali-toolkit/public-api/controls/view/view.h
optional/dali-toolkit/public-api/file.list
optional/dali-toolkit/public-api/shader-effects/alpha-discard-effect.cpp
optional/dali-toolkit/public-api/shader-effects/alpha-discard-effect.h
optional/dali-toolkit/public-api/shader-effects/bendy-effect.cpp
optional/dali-toolkit/public-api/shader-effects/bendy-effect.h
optional/dali-toolkit/public-api/shader-effects/blind-effect.cpp
optional/dali-toolkit/public-api/shader-effects/blind-effect.h
optional/dali-toolkit/public-api/shader-effects/bubble-effect/bubble-effect.cpp
optional/dali-toolkit/public-api/shader-effects/bubble-effect/bubble-effect.h
optional/dali-toolkit/public-api/shader-effects/bubble-effect/color-adjuster.cpp
optional/dali-toolkit/public-api/shader-effects/bubble-effect/color-adjuster.h
optional/dali-toolkit/public-api/shader-effects/carousel-effect.cpp
optional/dali-toolkit/public-api/shader-effects/carousel-effect.h
optional/dali-toolkit/public-api/shader-effects/displacement-effect.cpp
optional/dali-toolkit/public-api/shader-effects/displacement-effect.h
optional/dali-toolkit/public-api/shader-effects/dissolve-effect.cpp
optional/dali-toolkit/public-api/shader-effects/dissolve-local-effect.cpp
optional/dali-toolkit/public-api/shader-effects/dissolve-local-effect.h
optional/dali-toolkit/public-api/shader-effects/distance-field-effect.cpp
optional/dali-toolkit/public-api/shader-effects/distance-field-effect.h
optional/dali-toolkit/public-api/shader-effects/iris-effect.cpp
optional/dali-toolkit/public-api/shader-effects/mask-effect.cpp
optional/dali-toolkit/public-api/shader-effects/mirror-effect.cpp
optional/dali-toolkit/public-api/shader-effects/mirror-effect.h
optional/dali-toolkit/public-api/shader-effects/motion-blur-effect.cpp
optional/dali-toolkit/public-api/shader-effects/motion-blur-effect.h
optional/dali-toolkit/public-api/shader-effects/motion-stretch-effect.cpp
optional/dali-toolkit/public-api/shader-effects/motion-stretch-effect.h
optional/dali-toolkit/public-api/shader-effects/nine-patch-mask-effect.cpp
optional/dali-toolkit/public-api/shader-effects/overlay-effect.cpp
optional/dali-toolkit/public-api/shader-effects/overlay-effect.h
optional/dali-toolkit/public-api/shader-effects/page-turn-book-spine-effect.cpp
optional/dali-toolkit/public-api/shader-effects/page-turn-effect.cpp
optional/dali-toolkit/public-api/shader-effects/ripple-effect.cpp
optional/dali-toolkit/public-api/shader-effects/ripple2d-effect.cpp
optional/dali-toolkit/public-api/shader-effects/shear-effect.cpp
optional/dali-toolkit/public-api/shader-effects/shear-effect.h
optional/dali-toolkit/public-api/shader-effects/soft-button-effect.cpp
optional/dali-toolkit/public-api/shader-effects/soft-button-effect.h
optional/dali-toolkit/public-api/shader-effects/spot-effect.cpp
optional/dali-toolkit/public-api/shader-effects/spot-effect.h
optional/dali-toolkit/public-api/shader-effects/square-dissolve-effect.cpp
optional/dali-toolkit/public-api/shader-effects/square-dissolve-effect.h
optional/dali-toolkit/public-api/shader-effects/swirl-effect.cpp
optional/dali-toolkit/public-api/shader-effects/water-effect.cpp
optional/dali-toolkit/public-api/shader-effects/water-effect.h
optional/dali-toolkit/public-api/transition-effects/cube-transition-cross-effect.cpp
optional/dali-toolkit/public-api/transition-effects/cube-transition-cross-effect.h
optional/dali-toolkit/public-api/transition-effects/cube-transition-effect.cpp
optional/dali-toolkit/public-api/transition-effects/cube-transition-effect.h
optional/dali-toolkit/public-api/transition-effects/cube-transition-fold-effect.cpp
optional/dali-toolkit/public-api/transition-effects/cube-transition-fold-effect.h
optional/dali-toolkit/public-api/transition-effects/cube-transition-wave-effect.cpp
optional/dali-toolkit/public-api/transition-effects/cube-transition-wave-effect.h
packaging/dali-toolkit.spec

index 8865c0b..cb5662f 100644 (file)
@@ -4,6 +4,7 @@
 .directory
 Makefile.in
 Makefile
+dali.doxy
 *~
 *.o
 *.o.d
diff --git a/LICENSE b/LICENSE
index 87ed7f1..dc0510e 100644 (file)
--- a/LICENSE
+++ b/LICENSE
-Flora License
+Apache License
 
-Version 1.1, April, 2013
+Version 2.0, January 2004
 
-http://floralicense.org/license/
+http://www.apache.org/licenses/
 
 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 
 1. Definitions.
 
-"License" shall mean the terms and conditions for use, reproduction,
-and distribution as defined by Sections 1 through 9 of this document.
-
-"Licensor" shall mean the copyright owner or entity authorized by
-the copyright owner that is granting the License.
-
-"Legal Entity" shall mean the union of the acting entity and
-all other entities that control, are controlled by, or are
-under common control with that entity. For the purposes of
-this definition, "control" means (i) the power, direct or indirect,
-to cause the direction or management of such entity,
-whether by contract or otherwise, or (ii) ownership of fifty percent (50%)
-or more of the outstanding shares, or (iii) beneficial ownership of
-such entity.
-
-"You" (or "Your") shall mean an individual or Legal Entity
-exercising permissions granted by this License.
-
-"Source" form shall mean the preferred form for making modifications,
-including but not limited to software source code, documentation source,
-and configuration files.
-
-"Object" form shall mean any form resulting from mechanical
-transformation or translation of a Source form, including but
-not limited to compiled object code, generated documentation,
-and conversions to other media types.
-
-"Work" shall mean the work of authorship, whether in Source or Object form,
-made available under the License, as indicated by a copyright notice
-that is included in or attached to the work (an example is provided
-in the Appendix below).
-
-"Derivative Works" shall mean any work, whether in Source or Object form,
-that is based on (or derived from) the Work and for which the editorial
-revisions, annotations, elaborations, or other modifications represent,
-as a whole, an original work of authorship. For the purposes of this License,
-Derivative Works shall not include works that remain separable from,
-or merely link (or bind by name) to the interfaces of, the Work and
-Derivative Works thereof.
-
-"Contribution" shall mean any work of authorship, including the original
-version of the Work and any modifications or additions to that Work or
-Derivative Works thereof, that is intentionally submitted to Licensor
-for inclusion in the Work by the copyright owner or by an individual or
-Legal Entity authorized to submit on behalf of the copyright owner.
-For the purposes of this definition, "submitted" means any form of
-electronic, verbal, or written communication sent to the Licensor or
-its representatives, including but not limited to communication on
-electronic mailing lists, source code control systems, and issue
-tracking systems that are managed by, or on behalf of, the Licensor
-for the purpose of discussing and improving the Work, but excluding
-communication that is conspicuously marked or otherwise designated
-in writing by the copyright owner as "Not a Contribution."
-
-"Contributor" shall mean Licensor and any individual or Legal Entity
-on behalf of whom a Contribution has been received by Licensor and
-subsequently incorporated within the Work.
-
-"Tizen Certified Platform" shall mean a software platform that complies
-with the standards set forth in the Tizen Compliance Specification
-and passes the Tizen Compliance Tests as defined from time to time
-by the Tizen Technical Steering Group and certified by the Tizen
-Association or its designated agent.
-
-2. Grant of Copyright License.  Subject to the terms and conditions of
-this License, each Contributor hereby grants to You a perpetual,
-worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-copyright license to reproduce, prepare Derivative Works of,
-publicly display, publicly perform, sublicense, and distribute the
-Work and such Derivative Works in Source or Object form.
-
-3. Grant of Patent License.  Subject to the terms and conditions of
-this License, each Contributor hereby grants to You a perpetual,
-worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-(except as stated in this section) patent license to make, have made,
-use, offer to sell, sell, import, and otherwise transfer the Work
-solely as incorporated into a Tizen Certified Platform, where such
-license applies only to those patent claims licensable by such
-Contributor that are necessarily infringed by their Contribution(s)
-alone or by combination of their Contribution(s) with the Work solely
-as incorporated into a Tizen Certified Platform to which such
-Contribution(s) was submitted. If You institute patent litigation
-against any entity (including a cross-claim or counterclaim
-in a lawsuit) alleging that the Work or a Contribution incorporated
-within the Work constitutes direct or contributory patent infringement,
-then any patent licenses granted to You under this License for that
-Work shall terminate as of the date such litigation is filed.
-
-4. Redistribution.  You may reproduce and distribute copies of the
-Work or Derivative Works thereof pursuant to the copyright license
-above, in any medium, with or without modifications, and in Source or
-Object form, provided that You meet the following conditions:
-
-  1. You must give any other recipients of the Work or Derivative Works
-     a copy of this License; and
-  2. You must cause any modified files to carry prominent notices stating
-     that You changed the files; and
-  3. You must retain, in the Source form of any Derivative Works that
-     You distribute, all copyright, patent, trademark, and attribution
-     notices from the Source form of the Work, excluding those notices
-     that do not pertain to any part of the Derivative Works; and
-  4. If the Work includes a "NOTICE" text file as part of its distribution,
-     then any Derivative Works that You distribute must include a readable
-     copy of the attribution notices contained within such NOTICE file,
-     excluding those notices that do not pertain to any part of
-     the Derivative Works, in at least one of the following places:
-     within a NOTICE text file distributed as part of the Derivative Works;
-     within the Source form or documentation, if provided along with the
-     Derivative Works; or, within a display generated by the Derivative Works,
-     if and wherever such third-party notices normally appear.
-     The contents of the NOTICE file are for informational purposes only
-     and do not modify the License. You may add Your own attribution notices
-     within Derivative Works that You distribute, alongside or as an addendum
-     to the NOTICE text from the Work, provided that such additional attribution
-     notices cannot be construed as modifying the License. You may add Your own
-     copyright statement to Your modifications and may provide additional or
-     different license terms and conditions for use, reproduction, or
-     distribution of Your modifications, or for any such Derivative Works
-     as a whole, provided Your use, reproduction, and distribution of
-     the Work otherwise complies with the conditions stated in this License
-     and your own copyright statement or terms and conditions do not conflict
-     the conditions stated in the License including section 3.
-
-5. Submission of Contributions. Unless You explicitly state otherwise,
-any Contribution intentionally submitted for inclusion in the Work
-by You to the Licensor shall be under the terms and conditions of
-this License, without any additional terms or conditions.
-Notwithstanding the above, nothing herein shall supersede or modify
-the terms of any separate license agreement you may have executed
-with Licensor regarding such Contributions.
-
-6. Trademarks.  This License does not grant permission to use the trade
-names, trademarks, service marks, or product names of the Licensor,
-except as required for reasonable and customary use in describing the
-origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or
-agreed to in writing, Licensor provides the Work (and each
-Contributor provides its Contributions) on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-implied, including, without limitation, any warranties or conditions
-of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-PARTICULAR PURPOSE. You are solely responsible for determining the
-appropriateness of using or redistributing the Work and assume any
-risks associated with Your exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory,
-whether in tort (including negligence), contract, or otherwise,
-unless required by applicable law (such as deliberate and grossly
-negligent acts) or agreed to in writing, shall any Contributor be
-liable to You for damages, including any direct, indirect, special,
-incidental, or consequential damages of any character arising as a
-result of this License or out of the use or inability to use the
-Work (including but not limited to damages for loss of goodwill,
-work stoppage, computer failure or malfunction, or any and all
-other commercial damages or losses), even if such Contributor
-has been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing
-the Work or Derivative Works thereof, You may choose to offer,
-and charge a fee for, acceptance of support, warranty, indemnity,
-or other liability obligations and/or rights consistent with this
-License. However, in accepting such obligations, You may act only
-on Your own behalf and on Your sole responsibility, not on behalf
-of any other Contributor, and only if You agree to indemnify,
-defend, and hold each Contributor harmless for any liability
-incurred by, or claims asserted against, such Contributor by reason
-of your accepting any such warranty or additional liability.
+"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
 
-END OF TERMS AND CONDITIONS
+"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
+
+"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
 
-APPENDIX: How to apply the Flora License to your work
+3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
+
+You must give any other recipients of the Work or Derivative Works a copy of this License; and
+You must cause any modified files to carry prominent notices stating that You changed the files; and
+You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
+If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
+
+You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
+5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
 
-To apply the Flora License to your work, attach the following
-boilerplate notice, with the fields enclosed by brackets "[]"
-replaced with your own identifying information. (Don't include
-the brackets!) The text should be enclosed in the appropriate
-comment syntax for the file format. We also recommend that a
-file or class name and description of purpose be included on the
-same "printed page" as the copyright notice for easier
-identification within third-party archives.
+APPENDIX: How to apply the Apache License to your work
+To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
 
-   Copyright [yyyy] [name of copyright owner]
+Copyright [yyyy] [name of copyright owner]
 
-   Licensed under the Flora License, Version 1.1 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
 
-       http://floralicense.org/license/
+    http://www.apache.org/licenses/LICENSE-2.0
 
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
\ No newline at end of file
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..25bf1b4
--- /dev/null
+++ b/README
@@ -0,0 +1,12 @@
+GBS Builds
+==========
+
+NON-SMACK Targets
+-----------------
+
+gbs build -A [TARGET_ARCH]
+
+SMACK enabled Targets
+---------------------
+
+gbs build -A [TARGET_ARCH] --define "%enable_dali_smack_rules 1"
index 2f8d203..bbee9ff 100644 (file)
@@ -1,3 +1,4 @@
 /*.xml
 /build
 /build.log
+tct*core.h
diff --git a/automated-tests/.gitignore-with-autogenerated-files b/automated-tests/.gitignore-with-autogenerated-files
new file mode 100644 (file)
index 0000000..f039d8a
--- /dev/null
@@ -0,0 +1,4 @@
+*.xml
+build
+build.log
+tct*core.h
diff --git a/automated-tests/.gitignore-without-autogenerated-files b/automated-tests/.gitignore-without-autogenerated-files
new file mode 100644 (file)
index 0000000..8f3f9e2
--- /dev/null
@@ -0,0 +1,3 @@
+*.xml
+build
+build.log
diff --git a/automated-tests/TET/.gitignore b/automated-tests/TET/.gitignore
deleted file mode 100644 (file)
index 807a3b2..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-!Makefile
-tet_captured
-results-desktop
-results-target
-results
-rules.mk
-dali.info
diff --git a/automated-tests/TET/_export_desktop.sh b/automated-tests/TET/_export_desktop.sh
deleted file mode 100644 (file)
index eeea3ed..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-export ARCH=desktop
-
-
-if [ -z "$DESKTOP_PREFIX" ] ; then
-    if [ -z "$PREFIX" ] ; then
-        echo "####################################################"
-        echo "# DESKTOP_PREFIX is not set. Recommend running     #"
-        echo "# dali_env -s to create setenv script              #"
-        echo "####################################################"
-    else
-        echo "####################################################"
-        echo "# DESKTOP_PREFIX is not set. Using PREFIX instead. #"
-        echo "#                                                  #"
-        echo "# Warning, PREFIX is deprecated, please use        #"
-        echo "# dali_env to set up your environment.             #"
-        echo "####################################################"
-        export DESKTOP_PREFIX=$PREFIX
-    fi
-fi
-
-export TET_INSTALL_PATH=$HOME/Packages/tetware-desktop  # Your tetware root path
-export PATH=$TET_INSTALL_PATH/bin:$PATH
-export LD_LIBRARY_PATH=$TET_INSTALL_PATH/lib/tet3:$LD_LIBRARY_PATH
-export TET_ROOT=$TET_INSTALL_PATH
-export DALI_IMAGE_DIR=$DESKTOP_PREFIX/share/app.dalimenu/images/
-export DALI_MODEL_DIR=$DESKTOP_PREFIX/share/app.dalimenu/models/
-export DALI_STYLE_DIR=$DESKTOP_PREFIX/share/themes/dali/
-
-set $(pwd)
-export TET_SUITE_ROOT=$1
-
-set $(date +%s)
-FILE_NAME_EXTENSION=$1
diff --git a/automated-tests/TET/_export_env.sh b/automated-tests/TET/_export_env.sh
deleted file mode 100755 (executable)
index 4e2dc90..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-export ARCH=target
-
-export TET_INSTALL_PATH=/scratchbox/TETware  # tetware root path
-export TET_TARGET_PATH=$TET_INSTALL_PATH/tetware-target # tetware target path
-export PATH=$TET_TARGET_PATH/bin:$PATH
-export LD_LIBRARY_PATH=$TET_TARGET_PATH/lib/tet3:$LD_LIBRARY_PATH
-export DALI_IMAGE_DIR=/opt/share/app.dalimenu/images/
-export DALI_MODEL_DIR=/opt/share/app.dalimenu/models/
-export DALI_STYLE_DIR=/opt/share/themes/dali/
-
-export TET_ROOT=$TET_TARGET_PATH
-
-set $(pwd)
-export TET_SUITE_ROOT=$1
-
-set $(date +%s)
-FILE_NAME_EXTENSION=$1
diff --git a/automated-tests/TET/_export_sbs.sh b/automated-tests/TET/_export_sbs.sh
deleted file mode 100644 (file)
index bc5a4af..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-export ARCH=target
-
-export TET_INSTALL_PATH=$HOME/git/TETware  # tetware root path
-export TET_TARGET_PATH=$TET_INSTALL_PATH
-export PATH=$TET_TARGET_PATH/bin:$PATH
-export LD_LIBRARY_PATH=$TET_TARGET_PATH/lib/tet3:$LD_LIBRARY_PATH
-export DALI_IMAGE_DIR=/opt/share/app.dalimenu/images/
-export DALI_MODEL_DIR=/opt/share/app.dalimenu/models/
-export DALI_STYLE_DIR=/opt/share/themes/dali/
-
-export TET_ROOT=$TET_TARGET_PATH
-
-set $(pwd)
-export TET_SUITE_ROOT=$1
-
-set $(date +%s)
-FILE_NAME_EXTENSION=$1
diff --git a/automated-tests/TET/_export_target_env.sh b/automated-tests/TET/_export_target_env.sh
deleted file mode 100755 (executable)
index 4c1b135..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-export ARCH=target
-
-export TET_INSTALL_PATH=/mnt/nfs/git/TETware  # path to mount
-export TET_TARGET_PATH=$TET_INSTALL_PATH
-export PATH=$TET_TARGET_PATH/bin:$PATH
-export LD_LIBRARY_PATH=$TET_TARGET_PATH/lib/tet3:$LD_LIBRARY_PATH
-export DALI_IMAGE_DIR=/opt/share/app.dalimenu/images/
-export DALI_MODEL_DIR=/opt/share/app.dalimenu/models/
-export DALI_STYLE_DIR=/opt/share/themes/dali/
-
-export TET_ROOT=$TET_TARGET_PATH
-
-set $(pwd)
-export TET_SUITE_ROOT=$1
-
-set $(date +%s)
-FILE_NAME_EXTENSION=$1
diff --git a/automated-tests/TET/build.sh b/automated-tests/TET/build.sh
deleted file mode 100755 (executable)
index d857de3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/bin/bash
-
-TEMP=`getopt -o 2vds: --long 2,verbose,desktop,scenario: \
-     -n 'build_out.sh' -- "$@"`
-
-if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
-
-# Note the quotes around `$TEMP': they are essential!
-eval set -- "$TEMP"
-
-scenario=all
-opt_verbose=0
-opt_env=scratchbox
-
-while true ; do
-    case "$1" in
-       -d|--desktop)   opt_env=desktop ; shift ;;
-       -s|--scenario)  scenario="$2"   ; shift 2 ;;
-       -v|--verbose)   opt_verbose=1   ; shift ;;
-       -2|--2)         opt_env=sbs     ; shift ;;
-       --) shift ; break ;;
-       *) echo "Internal error!" ; exit 1 ;;
-    esac
-done
-
-
-case "$opt_env" in
-    desktop)
-       . _export_desktop.sh
-       cat <<EOF > coverage.mk
-LDFLAGS += --coverage
-EOF
-       ;;
-    scratchbox)
-       . _export_env.sh
-       cat <<EOF > coverage.mk
-LDFLAGS +=
-EOF
-       ;;
-    sbs)
-       . _export_sbs.sh
-       cat <<EOF > coverage.mk
-LDFLAGS +=
-EOF
-       ;;
-esac
-
-
-echo PATH=$PATH
-echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH
-echo TET_ROOT=$TET_ROOT
-echo TET_SUITE_ROOT=$TET_SUITE_ROOT
-echo ARCH=$ARCH
-
-RESULT_DIR=results-$ARCH
-HTML_RESULT=$RESULT_DIR/build-tar-result-$FILE_NAME_EXTENSION.html
-JOURNAL_RESULT=$RESULT_DIR/build-tar-result-$FILE_NAME_EXTENSION.journal
-
-# Faster cleanup.
-find . -name Makefile -execdir make -f {} clean \;
-
-mkdir -p $RESULT_DIR
-if [ $opt_verbose -eq 1 ] ; then
-    tcc -b -j -  ./  $scenario | tee $JOURNAL_RESULT
-else
-    tcc -b -j $JOURNAL_RESULT -p ./  $scenario
-fi
-./tbp.pl $JOURNAL_RESULT
-
-
diff --git a/automated-tests/TET/build_out.sh b/automated-tests/TET/build_out.sh
deleted file mode 100755 (executable)
index efb93a1..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-
-./build.sh -v $*
diff --git a/automated-tests/TET/coverage.mk b/automated-tests/TET/coverage.mk
deleted file mode 100644 (file)
index 5012fd4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-LDFLAGS += --coverage
diff --git a/automated-tests/TET/coverage.sh b/automated-tests/TET/coverage.sh
deleted file mode 100755 (executable)
index 98798db..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash
-
-( cd ../build/slp ; make cov_data )
-
-for i in `find . -name Makefile` ; do
-    (
-        cd $(dirname $i)
-        echo `pwd`
-        covs=( `ls *.gcda 2>/dev/null` )
-        if [[ $? -eq 0 ]]
-        then
-            make coverage
-        fi
-    )
-done
-
-(
-    cd .. ;
-    genhtml -o build/slp/doc/coverage `find . -name dali.info`
-)
-
-
diff --git a/automated-tests/TET/dali-internal-test-suite/master-makefile.mk b/automated-tests/TET/dali-internal-test-suite/master-makefile.mk
deleted file mode 100644 (file)
index a8e9921..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# Copyright (c) 2014 Samsung Electronics Co., Ltd.
-#
-# Licensed under the Flora License, Version 1.0 (the License);
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://floralicense.org/license/
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an AS IS BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-CC = g++
-
-TARGETS =
-include file.list
-
-PKGS = dali-core dali dali-toolkit dali-test-suite-utils
-include ../../rules.mk
-include ../../coverage.mk
-
-TOOLKIT_TEST_UTILS_DIR=../../dali-toolkit-test-utils/
-
-CXXFLAGS += -I$(TOOLKIT_TEST_UTILS_DIR)
-
-TOOLKIT_TEST_UTILS_SRC_FILES = \
-  $(TOOLKIT_TEST_UTILS_DIR)/toolkit-application.cpp \
-  $(TOOLKIT_TEST_UTILS_DIR)/toolkit-adaptor.cpp \
-  $(TOOLKIT_TEST_UTILS_DIR)/toolkit-clipboard-event-notifier.cpp \
-  $(TOOLKIT_TEST_UTILS_DIR)/toolkit-accessibility-manager.cpp \
-  $(TOOLKIT_TEST_UTILS_DIR)/toolkit-physical-keyboard.cpp \
-  $(TOOLKIT_TEST_UTILS_DIR)/toolkit-style-monitor.cpp \
-  $(TOOLKIT_TEST_UTILS_DIR)/toolkit-timer.cpp \
-  $(TOOLKIT_TEST_UTILS_DIR)/toolkit-orientation.cpp
-
-all: $(TARGETS)
-
-%: %.cpp $(TOOLKIT_TEST_UTILS_SRC_FILES)
-       $(CC) -o $@ $^ $(CXXFLAGS) $(LDFLAGS)
-
-clean:
-       @rm -f $(notdir $(TARGETS))
-       @rm -f tet_captured
-       @rm -f *~
-       @rm -f *.gcda *.gcno
-
-coverage:
-       @lcov --directory . -c -o dali.info
-       @lcov --remove dali.info "*boost*" "/usr/include/*" "*/automated-tests/*" -o dali.info
diff --git a/automated-tests/TET/dali-internal-test-suite/tc-gen.sh b/automated-tests/TET/dali-internal-test-suite/tc-gen.sh
deleted file mode 120000 (symlink)
index b8e6201..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../dali-test-suite/tc-gen.sh
\ No newline at end of file
diff --git a/automated-tests/TET/dali-internal-test-suite/text-input/.gitignore b/automated-tests/TET/dali-internal-test-suite/text-input/.gitignore
deleted file mode 100644 (file)
index 0f77dca..0000000
+++ /dev/null
@@ -1 +0,0 @@
-utc-Dali-TextInput
diff --git a/automated-tests/TET/dali-internal-test-suite/text-input/Makefile b/automated-tests/TET/dali-internal-test-suite/text-input/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-internal-test-suite/text-input/file.list b/automated-tests/TET/dali-internal-test-suite/text-input/file.list
deleted file mode 100644 (file)
index 1e6d688..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGETS += \
-        utc-Dali-TextInput \
diff --git a/automated-tests/TET/dali-internal-test-suite/text-input/tslist b/automated-tests/TET/dali-internal-test-suite/text-input/tslist
deleted file mode 100644 (file)
index 7bbabc6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/dali-internal-test-suite/text-input/utc-Dali-TextInput
diff --git a/automated-tests/TET/dali-internal-test-suite/text-input/utc-Dali-TextInput.cpp b/automated-tests/TET/dali-internal-test-suite/text-input/utc-Dali-TextInput.cpp
deleted file mode 100644 (file)
index eccafcf..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-#include <dali/integration-api/events/key-event-integ.h>
-
-// Internal includes
-#include <dali-toolkit/internal/controls/text-input/text-input-impl.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliInternalTextInputTextSelection, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputSetGetExceedEnabled, POSITIVE_TC_IDX );
-// TEST_FUNCTION( UtcDaliTextInputMethod02, NEGATIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-
-/**
- *  Test: Selected is replaced by new input text.
- **/
-static void UtcDaliInternalTextInputTextSelection()
-{
-  const char* testChar  = "v";
-
-  ToolkitTestApplication application;
-
-  tet_infoline("Testing Text Selection with replace.");
-
-  Toolkit::TextInput textInput = Toolkit::TextInput::New();
-
-  DALI_TEST_CHECK(textInput);
-
-  Stage::GetCurrent().Add(textInput);
-
-  textInput.SetInitialText("Test String");
-
-  std::string initialText = textInput.GetText();
-
-  tet_printf("Set Initial text: %s\n", initialText.c_str() );
-
-  textInput.SetKeyInputFocus();
-
-  GetImpl(textInput).SelectText(0,11);
-
-  tet_printf("Select all of Initial text\n");
-
-  Integration::KeyEvent event(testChar, testChar, 0, 0, 0, Integration::KeyEvent::Down );
-
-  application.ProcessEvent( event );
-
-  tet_printf("Simulate pressing of a key: %s\n", testChar );
-
-  std::string newText = textInput.GetText();
-
-  tet_printf("Check current text (%s) is the new text \n", newText.c_str() );
-
-  DALI_TEST_EQUALS("v",textInput.GetText(), TEST_LOCATION);
-}
-
-static void UtcDaliTextInputSetGetExceedEnabled()
-{
-  tet_infoline("UtcDaliTextInputSetGetExceedEnabled: ");
-
-  ToolkitTestApplication application;
-
-  Toolkit::TextInput textInput = Toolkit::TextInput::New();
-  textInput.SetMultilinePolicy( Toolkit::TextView::SplitByWord );
-  textInput.SetWidthExceedPolicy( Toolkit::TextView::Split );
-  textInput.SetHeightExceedPolicy( Toolkit::TextView::Original );
-
-  DALI_TEST_CHECK( textInput.GetExceedEnabled() );
-
-  Toolkit::Internal::TextInput& textInputImpl = static_cast<Toolkit::Internal::TextInput&>( textInput.GetImplementation() );
-
-  textInput.SetSize( 50.f, 50.f );
-  textInput.SetExceedEnabled( false );
-
-  DALI_TEST_CHECK( !textInput.GetExceedEnabled() );
-
-
-  textInputImpl.InsertAt( Text("He"), 0 );
-
-  DALI_TEST_EQUALS("He",textInput.GetText(), TEST_LOCATION);
-
-  textInputImpl.InsertAt( Text("llo"), 2 );
-
-  DALI_TEST_EQUALS("Hello",textInput.GetText(), TEST_LOCATION);
-
-  textInputImpl.InsertAt( Text(" world! hello world hello world hello world"), 5 ); // Doesn't fit so is not added.
-
-  DALI_TEST_EQUALS("Hello",textInput.GetText(), TEST_LOCATION);
-}
diff --git a/automated-tests/TET/dali-internal-test-suite/text-view/.gitignore b/automated-tests/TET/dali-internal-test-suite/text-view/.gitignore
deleted file mode 100644 (file)
index 881389b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-utc-Dali-TextView
-utc-Dali-TextView-HelperAndDebug
-utc-Dali-TextView-Processor
-utc-Dali-TextView-Processor-Types
-utc-Dali-TextView-Relayout-Utilities
diff --git a/automated-tests/TET/dali-internal-test-suite/text-view/Makefile b/automated-tests/TET/dali-internal-test-suite/text-view/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-internal-test-suite/text-view/file.list b/automated-tests/TET/dali-internal-test-suite/text-view/file.list
deleted file mode 100644 (file)
index 7e75352..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-TARGETS += \
-        utc-Dali-TextView \
-        utc-Dali-TextView-HelperAndDebug \
-        utc-Dali-TextView-Processor \
-        utc-Dali-TextView-Processor-Types \
-        utc-Dali-TextView-Relayout-Utilities \
\ No newline at end of file
diff --git a/automated-tests/TET/dali-internal-test-suite/text-view/tslist b/automated-tests/TET/dali-internal-test-suite/text-view/tslist
deleted file mode 100644 (file)
index 5ee4f51..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-/dali-internal-test-suite/text-view/utc-Dali-TextView
-/dali-internal-test-suite/text-view/utc-Dali-TextView-Processor
-/dali-internal-test-suite/text-view/utc-Dali-TextView-Processor-Types
-/dali-internal-test-suite/text-view/utc-Dali-TextView-Relayout-Utilities
-/dali-internal-test-suite/text-view/utc-Dali-TextView-HelperAndDebug
diff --git a/automated-tests/TET/dali-internal-test-suite/text-view/utc-Dali-TextView-HelperAndDebug.cpp b/automated-tests/TET/dali-internal-test-suite/text-view/utc-Dali-TextView-HelperAndDebug.cpp
deleted file mode 100644 (file)
index 118d2f4..0000000
+++ /dev/null
@@ -1,304 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-// Internal headers are allowed here
-#include <dali-toolkit/internal/controls/text-view/split-by-new-line-char-policies.h>
-#include <dali-toolkit/internal/controls/text-view/text-view-impl.h>
-#include <dali-toolkit/internal/controls/text-view/text-view-processor.h>
-#include <dali-toolkit/internal/controls/text-view/text-view-processor-helper-functions.h>
-#include <dali-toolkit/internal/controls/text-view/text-view-processor-dbg.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-using namespace Dali::Toolkit::Internal;
-
-namespace
-{
-// Data structures used to create an 'experiment' in TET cases
-
-const Toolkit::Internal::TextView::LayoutParameters DEFAULT_LAYOUT_PARAMETERS;
-const Toolkit::Internal::TextView::VisualParameters DEFAULT_VISUAL_PARAMETERS;
-
-struct GetIndicesFromGlobalCharacterIndexTest
-{
-  std::string description;
-  std::string input;
-  std::size_t position;
-  std::size_t lineIndex;
-  std::size_t groupIndex;
-  std::size_t wordIndex;
-  std::size_t characterIndex;
-};
-
-/**
- * Gets the line, group, word, and character indices for a given text and a given position and checks the results with the given indices.
- *
- * If the test fails it prints a short description and the line where this function was called.
- *
- * @param description Short description of the experiment.
- * @param input The input text.
- * @param position Global position of the character. i.e in a text with with 1000 characters, position could be any value from 0 to 1000.
- * @param resultLineIndex Index to the line where the character is located.
- * @param resultGroupIndex Index to the group within the line where the character is located.
- * @param resultWordIndex Index to the word within the group where the character is located.
- * @param resultCharacterIndex Index to the character within the word where the character is located.
- * @param location Where this function has been called.
- *
- * @return \e true if the experiment is successful. Otherwise returns \e false.
- */
-bool TestGetIndicesFromGlobalCharacterIndex( const std::string& description,
-                                             const std::string& input,
-                                             const std::size_t position,
-                                             const std::size_t resultLineIndex,
-                                             const std::size_t resultGroupIndex,
-                                             const std::size_t resultWordIndex,
-                                             const std::size_t resultCharacterIndex,
-                                             const char* location )
-{
-  tet_printf( "%s", description.c_str() );
-
-  // Create natural size, layout and text-actor info for the input word.
-  Toolkit::Internal::TextView::RelayoutData relayoutData;
-  TextViewProcessor::TextLayoutInfo& inputLayout( relayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray inputStyledText;
-  MarkupProcessor::GetStyledTextArray( input, inputStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( inputStyledText,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     relayoutData );
-
-  TextViewProcessor::TextInfoIndices indices;
-  TextViewProcessor::GetIndicesFromGlobalCharacterIndex( position,
-                                                         inputLayout,
-                                                         indices );
-
-  if( indices.mLineIndex != resultLineIndex )
-  {
-    tet_printf( "Fail. different line index. %s", location );
-    return false;
-  }
-  if( indices.mGroupIndex != resultGroupIndex )
-  {
-    tet_printf( "Fail. different group index. %s", location );
-    return false;
-  }
-  if( indices.mWordIndex != resultWordIndex )
-  {
-    tet_printf( "Fail. different word index. %s", location );
-    return false;
-  }
-  if( indices.mCharacterIndex != resultCharacterIndex )
-  {
-    tet_printf( "Fail. different character index. %s", location );
-    return false;
-  }
-
-  return true;
-}
-
-//////////////////////////////////////////////////////////////////
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliTextViewGetIndicesFromGlobalCharacterIndex, POSITIVE_TC_IDX ); // Tests correctness when indices to lines, groups, words and characters are worked out from a given global position.
-TEST_FUNCTION( UtcDaliTextViewDebugCouts, POSITIVE_TC_IDX );                         // Tests debug functions just to not to penalize the coverage.
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliTextViewGetIndicesFromGlobalCharacterIndex()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewGetIndicesFromGlobalCharacterIndex : ");
-  struct GetIndicesFromGlobalCharacterIndexTest getIndicesFromGlobalCharacterIndexTests[] =
-  {
-    {
-      std::string( "Test position 0" ),
-      std::string( "text te<font size='30'>xt text te</font>xt text\n"
-                   "text t<font size='30'>ext טקסט טקסט te</font>xt\n"
-                   "text text text text text\n"
-                   "\n" ),
-      0,
-      0,
-      0,
-      0,
-      0
-    },
-    {
-      std::string( "Test position 76. (just after the last \\n)" ),
-      std::string( "t<font size='30'>ext text te</font>xt text text\n"
-                   "text text טקסט טקסט text\n"
-                   "text text te<font size='30'>xt text</font> text\n"
-                   "\n" ),
-      76,
-      4,
-      0,
-      0,
-      0
-    },
-    {
-      std::string( "Test position 73. (the last \\n)" ),
-      std::string( "text te<font size='30'>xt text text </font>text\n"
-                   "text text טק<font size='30'>סט טקס</font>ט text\n"
-                   "text text text text text\n"
-                   "\n" ),
-      75,
-      3,
-      0,
-      0,
-      0
-    },
-    {
-      std::string( "Test position 35. (first hebrew character)" ),
-      std::string( "text text text text text\n"
-                   "text text טקסט טקסט text\n"
-                   "text text text text text\n"
-                   "\n" ),
-      35,
-      1,
-      1,
-      0,
-      0
-    },
-    {
-      std::string( "Test position 3. (end of the first word)" ),
-      std::string( "text te<font size='30'>xt text text text\n</font>"
-                   "text text טק<font size='30'>סט טקסט </font>text\n"
-                   "text te<font size='30'>xt text text</font> text\n"
-                   "\n" ),
-      3,
-      0,
-      0,
-      0,
-      3
-    },
-    /* TODO Check for mixed RTL and LTR text.
-    {
-      std::string( "Test position 33. (end of the second word of the second line)" ),
-      std::string( "text te<font size='30'>xt text text text\n</font>"
-                   "text text טק<font size='30'>סט טקסט </font>text\n"
-                   "text te<font size='30'>xt text text</font> text\n"
-                   "\n" ),
-      33,
-      1,
-      0,
-      2,
-      3
-    },
-    {
-      std::string( "Test position 43. (last hebrew character)" ),
-      std::string( "text te<font size='30'>xt text text text\n</font>"
-                   "text text טק<font size='30'>סט טקסט </font>text\n"
-                   "text te<font size='30'>xt text text</font> text\n"
-                   "\n" ),
-      43,
-      1,
-      1,
-      3,
-      3
-    },
-    */
-  };
-  const std::size_t numberOfTests( 5 );
-
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const GetIndicesFromGlobalCharacterIndexTest& test = getIndicesFromGlobalCharacterIndexTests[index];
-
-    if( !TestGetIndicesFromGlobalCharacterIndex( test.description, test.input, test.position, test.lineIndex, test.groupIndex, test.wordIndex, test.characterIndex, TEST_LOCATION ) )
-    {
-      tet_result( TET_FAIL );
-    }
-  }
-
-  tet_result( TET_PASS );
-}
-
-static void UtcDaliTextViewDebugCouts()
-{
-  /////////////////////////////////////////////////////
-  // Text debug functions to not to penalize coverage
-  /////////////////////////////////////////////////////
-
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewDebugCouts : ");
-
-  Toolkit::Internal::TextView::RelayoutData relayoutData;
-
-  MarkupProcessor::StyledTextArray inputStyledText;
-  MarkupProcessor::GetStyledTextArray( std::string( "Hello world\nhello world" ), inputStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( inputStyledText,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     relayoutData );
-
-  Actor dummy = Actor::New();
-  Toolkit::Internal::SplitByNewLineChar::Relayout( dummy,
-                                                   Toolkit::Internal::TextView::RELAYOUT_ALL,
-                                                   DEFAULT_LAYOUT_PARAMETERS,
-                                                   DEFAULT_VISUAL_PARAMETERS,
-                                                   relayoutData );
-
-  TextViewProcessor::dbgPrint( relayoutData.mTextLayoutInfo );
-
-  TextStyle textStyle;
-  TextViewProcessor::dbgPrint( textStyle );
-
-  TextViewProcessor::TextInfoIndices indices;
-  TextViewProcessor::dbgPrint( indices );
-
-  TextViewProcessor::dbgPrint( inputStyledText );
-
-  tet_result( TET_PASS );
-}
diff --git a/automated-tests/TET/dali-internal-test-suite/text-view/utc-Dali-TextView-Processor-Types.cpp b/automated-tests/TET/dali-internal-test-suite/text-view/utc-Dali-TextView-Processor-Types.cpp
deleted file mode 100644 (file)
index c44f441..0000000
+++ /dev/null
@@ -1,311 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-// Internal headers are allowed here
-#include <dali-toolkit/internal/controls/text-view/text-view-processor-types.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-using namespace Dali::Toolkit::Internal;
-
-namespace
-{
-// Data structures used to create an 'experiment' in TET cases
-
-//////////////////////////////////////////////////////////////////
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliTextViewDefaultConstructorDestructor, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewCopyConstructorOperator, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewEqualityOperator, POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliTextViewDefaultConstructorDestructor()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewDefaultConstructorDestructor : ");
-
-  TextViewProcessor::TextInfoIndices indices;
-  DALI_TEST_EQUALS( indices.mLineIndex, 0u, TEST_LOCATION );
-  DALI_TEST_EQUALS( indices.mGroupIndex, 0u, TEST_LOCATION );
-  DALI_TEST_EQUALS( indices.mWordIndex, 0u, TEST_LOCATION );
-  DALI_TEST_EQUALS( indices.mCharacterIndex, 0u, TEST_LOCATION );
-
-  TextViewProcessor::CharacterLayoutInfo characterLayoutInfo;
-  DALI_TEST_EQUALS( characterLayoutInfo.mHeight, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo.mAdvance, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo.mBearing, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo.mPosition, Vector3::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo.mOffset, Vector2::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo.mSize, Vector2::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo.mAscender, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo.mUnderlineThickness, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo.mUnderlinePosition, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_CHECK( !characterLayoutInfo.mGlyphActor );
-  DALI_TEST_CHECK( characterLayoutInfo.mStyledText.mText.IsEmpty() );
-  DALI_TEST_EQUALS( characterLayoutInfo.mColorAlpha, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo.mGradientColor, Vector4::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo.mStartPoint, Vector2::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo.mEndPoint, Vector2::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_CHECK( characterLayoutInfo.mIsVisible );
-  DALI_TEST_CHECK( characterLayoutInfo.mSetText );
-  DALI_TEST_CHECK( characterLayoutInfo.mSetStyle );
-
-  TextViewProcessor::WordLayoutInfo wordLayoutInfo;
-  DALI_TEST_EQUALS( wordLayoutInfo.mSize, Vector2::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( wordLayoutInfo.mAscender, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( wordLayoutInfo.mType, TextViewProcessor::NoSeparator, TEST_LOCATION );
-  DALI_TEST_EQUALS( wordLayoutInfo.mCharactersLayoutInfo.size(), 0u, TEST_LOCATION );
-
-  TextViewProcessor::WordGroupLayoutInfo wordGroupLayoutInfo;
-  DALI_TEST_EQUALS( wordGroupLayoutInfo.mSize, Vector2::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( wordGroupLayoutInfo.mAscender, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( wordGroupLayoutInfo.mDirection, TextViewProcessor::LTR, TEST_LOCATION );
-  DALI_TEST_EQUALS( wordGroupLayoutInfo.mWordsLayoutInfo.size(), 0u, TEST_LOCATION );
-  DALI_TEST_EQUALS( wordGroupLayoutInfo.mNumberOfCharacters, 0u, TEST_LOCATION );
-
-  TextViewProcessor::LineLayoutInfo lineLayoutInfo;
-  DALI_TEST_EQUALS( lineLayoutInfo.mSize, Vector2::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( lineLayoutInfo.mAscender, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( lineLayoutInfo.mLineHeightOffset, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( lineLayoutInfo.mWordGroupsLayoutInfo.size(), 0u, TEST_LOCATION );
-  DALI_TEST_EQUALS( lineLayoutInfo.mNumberOfCharacters, 0u, TEST_LOCATION );
-
-  TextViewProcessor::TextLayoutInfo textLayoutInfo;
-  DALI_TEST_EQUALS( textLayoutInfo.mWholeTextSize, Vector2::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo.mMaxWordWidth, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo.mLinesLayoutInfo.size(), 0u, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo.mNumberOfCharacters, 0u, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo.mMaxItalicsOffset, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo.mEllipsizeLayoutInfo.mSize, Vector2::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo.mEllipsizeLayoutInfo.mAscender, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo.mEllipsizeLayoutInfo.mType, TextViewProcessor::NoSeparator, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo.mEllipsizeLayoutInfo.mCharactersLayoutInfo.size(), 0u, TEST_LOCATION );
-}
-
-static void UtcDaliTextViewCopyConstructorOperator()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewCopyConstructorOperator : ");
-
-  TextViewProcessor::CharacterLayoutInfo characterLayoutInfo;
-  characterLayoutInfo.mHeight = 1.f;
-  characterLayoutInfo.mAdvance = 1.f;
-  characterLayoutInfo.mBearing = 1.f;
-  characterLayoutInfo.mPosition = Vector3( 1.f, 1.f, 1.f );
-  characterLayoutInfo.mOffset = Vector2( 1.f, 1.f );
-  characterLayoutInfo.mSize = Vector2( 1.f, 1.f );
-  characterLayoutInfo.mAscender = 1.f;
-  characterLayoutInfo.mUnderlineThickness = 1.f;
-  characterLayoutInfo.mUnderlinePosition = 1.f;
-
-  characterLayoutInfo.mGlyphActor = TextActor::New( "Hello" );
-  characterLayoutInfo.mStyledText.mText = Text( "Hello" );
-
-  characterLayoutInfo.mColorAlpha = 0.f;
-  characterLayoutInfo.mGradientColor = Vector4( 1.f, 1.f, 1.f, 1.f );
-  characterLayoutInfo.mStartPoint = Vector2( 1.f, 1.f );
-  characterLayoutInfo.mEndPoint = Vector2( 1.f, 1.f );
-  characterLayoutInfo.mIsVisible = false;
-  characterLayoutInfo.mSetText = false;
-  characterLayoutInfo.mSetStyle = false;
-
-  TextViewProcessor::CharacterLayoutInfo characterLayoutInfo1;
-  characterLayoutInfo1 = characterLayoutInfo;
-
-  DALI_TEST_EQUALS( characterLayoutInfo1.mHeight, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo1.mAdvance, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo1.mBearing, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo1.mPosition, Vector3( 1.f, 1.f, 1.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo1.mOffset, Vector2( 1.f, 1.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo1.mSize, Vector2( 1.f, 1.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo1.mAscender, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo1.mUnderlineThickness, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo1.mUnderlinePosition, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_CHECK( characterLayoutInfo1.mGlyphActor );
-  DALI_TEST_EQUALS( characterLayoutInfo1.mStyledText.mText.GetLength(), 5u, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo1.mColorAlpha, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo1.mGradientColor, Vector4( 1.f, 1.f, 1.f, 1.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo1.mStartPoint, Vector2( 1.f, 1.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo1.mEndPoint, Vector2( 1.f, 1.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_CHECK( !characterLayoutInfo1.mIsVisible );
-  DALI_TEST_CHECK( !characterLayoutInfo1.mSetText );
-  DALI_TEST_CHECK( !characterLayoutInfo1.mSetStyle );
-
-  TextViewProcessor::CharacterLayoutInfo characterLayoutInfo2( characterLayoutInfo );
-  DALI_TEST_EQUALS( characterLayoutInfo2.mHeight, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo2.mAdvance, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo2.mBearing, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo2.mPosition, Vector3( 1.f, 1.f, 1.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo2.mOffset, Vector2( 1.f, 1.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo2.mSize, Vector2( 1.f, 1.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo2.mAscender, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo2.mUnderlineThickness, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo2.mUnderlinePosition, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_CHECK( characterLayoutInfo2.mGlyphActor );
-  DALI_TEST_EQUALS( characterLayoutInfo2.mStyledText.mText.GetLength(), 5u, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo2.mColorAlpha, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo2.mGradientColor, Vector4( 1.f, 1.f, 1.f, 1.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo2.mStartPoint, Vector2( 1.f, 1.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo2.mEndPoint, Vector2( 1.f, 1.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_CHECK( !characterLayoutInfo2.mIsVisible );
-  DALI_TEST_CHECK( !characterLayoutInfo2.mSetText );
-  DALI_TEST_CHECK( !characterLayoutInfo2.mSetStyle );
-
-  // Increases coverage.
-  characterLayoutInfo2.mGlyphActor.Reset();
-  characterLayoutInfo1 = characterLayoutInfo2;
-  DALI_TEST_CHECK( !characterLayoutInfo1.mGlyphActor );
-
-  TextViewProcessor::WordLayoutInfo wordLayoutInfo;
-  wordLayoutInfo.mSize = Vector2( 1.f, 1.f );
-  wordLayoutInfo.mAscender = 1.f;
-  wordLayoutInfo.mType = TextViewProcessor::LineSeparator;
-
-  TextViewProcessor::WordLayoutInfo wordLayoutInfo1;
-  wordLayoutInfo1 = wordLayoutInfo;
-
-  DALI_TEST_EQUALS( wordLayoutInfo1.mSize, Vector2( 1.f, 1.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( wordLayoutInfo1.mAscender, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( wordLayoutInfo1.mType, TextViewProcessor::LineSeparator, TEST_LOCATION );
-
-  TextViewProcessor::WordLayoutInfo wordLayoutInfo2( wordLayoutInfo );
-
-  DALI_TEST_EQUALS( wordLayoutInfo2.mSize, Vector2( 1.f, 1.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( wordLayoutInfo2.mAscender, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( wordLayoutInfo2.mType, TextViewProcessor::LineSeparator, TEST_LOCATION );
-
-
-  TextViewProcessor::WordGroupLayoutInfo wordGroupLayoutInfo;
-  wordGroupLayoutInfo.mSize = Vector2( 1.f, 1.f );
-  wordGroupLayoutInfo.mAscender = 1.f;
-  wordGroupLayoutInfo.mDirection = TextViewProcessor::RTL;
-  wordGroupLayoutInfo.mNumberOfCharacters = 1u;
-
-  TextViewProcessor::WordGroupLayoutInfo wordGroupLayoutInfo1;
-  wordGroupLayoutInfo1 = wordGroupLayoutInfo;
-
-  DALI_TEST_EQUALS( wordGroupLayoutInfo.mSize, Vector2( 1.f, 1.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( wordGroupLayoutInfo.mAscender, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( wordGroupLayoutInfo.mDirection, TextViewProcessor::RTL, TEST_LOCATION );
-  DALI_TEST_EQUALS( wordGroupLayoutInfo.mNumberOfCharacters, 1u, TEST_LOCATION );
-
-  TextViewProcessor::WordGroupLayoutInfo wordGroupLayoutInfo2( wordGroupLayoutInfo );
-
-  DALI_TEST_EQUALS( wordGroupLayoutInfo.mSize, Vector2( 1.f, 1.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( wordGroupLayoutInfo.mAscender, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( wordGroupLayoutInfo.mDirection, TextViewProcessor::RTL, TEST_LOCATION );
-  DALI_TEST_EQUALS( wordGroupLayoutInfo.mNumberOfCharacters, 1u, TEST_LOCATION );
-
-
-  TextViewProcessor::LineLayoutInfo lineLayoutInfo;
-  lineLayoutInfo.mSize = Vector2( 1.f, 1.f );
-  lineLayoutInfo.mAscender = 1.f;
-  lineLayoutInfo.mLineHeightOffset = 1.f;
-  lineLayoutInfo.mNumberOfCharacters = 1u;
-
-  TextViewProcessor::LineLayoutInfo lineLayoutInfo1;
-  lineLayoutInfo1 = lineLayoutInfo;
-
-  DALI_TEST_EQUALS( lineLayoutInfo1.mSize, Vector2( 1.f, 1.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( lineLayoutInfo1.mAscender, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( lineLayoutInfo1.mLineHeightOffset, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( lineLayoutInfo1.mNumberOfCharacters, 1u, TEST_LOCATION );
-
-  TextViewProcessor::LineLayoutInfo lineLayoutInfo2( lineLayoutInfo );
-
-  DALI_TEST_EQUALS( lineLayoutInfo2.mSize, Vector2( 1.f, 1.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( lineLayoutInfo2.mAscender, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( lineLayoutInfo2.mLineHeightOffset, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( lineLayoutInfo2.mNumberOfCharacters, 1u, TEST_LOCATION );
-
-  TextViewProcessor::TextLayoutInfo textLayoutInfo;
-  textLayoutInfo.mWholeTextSize = Vector2( 1.f, 1.f );
-  textLayoutInfo.mMaxWordWidth = 1.f;
-  textLayoutInfo.mNumberOfCharacters = 1u;
-  textLayoutInfo.mMaxItalicsOffset = 1.f;
-
-  TextViewProcessor::TextLayoutInfo textLayoutInfo1;
-  textLayoutInfo1 = textLayoutInfo;
-
-  DALI_TEST_EQUALS( textLayoutInfo1.mWholeTextSize, Vector2( 1.f, 1.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo1.mMaxWordWidth, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo1.mNumberOfCharacters, 1u, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo1.mMaxItalicsOffset, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-
-  TextViewProcessor::TextLayoutInfo textLayoutInfo2( textLayoutInfo );
-
-  DALI_TEST_EQUALS( textLayoutInfo2.mWholeTextSize, Vector2( 1.f, 1.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo2.mMaxWordWidth, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo2.mNumberOfCharacters, 1u, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo2.mMaxItalicsOffset, 1.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-}
-
-static void UtcDaliTextViewEqualityOperator()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewEqualityOperator : ");
-
-  TextViewProcessor::TextInfoIndices indices;
-  TextViewProcessor::TextInfoIndices indices1( 1u, 1u, 1u, 1u );
-
-  DALI_TEST_CHECK( !( indices == indices1 ) );
-
-  indices = indices1;
-
-  DALI_TEST_CHECK( indices == indices1 );
-}
diff --git a/automated-tests/TET/dali-internal-test-suite/text-view/utc-Dali-TextView-Processor.cpp b/automated-tests/TET/dali-internal-test-suite/text-view/utc-Dali-TextView-Processor.cpp
deleted file mode 100644 (file)
index 90fed94..0000000
+++ /dev/null
@@ -1,428 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-// Internal headers are allowed here
-#include <dali-toolkit/internal/controls/text-view/text-processor.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-using namespace Dali::Toolkit::Internal;
-
-namespace
-{
-// Data structures used to create an 'experiment' in TET cases
-
-//////////////////////////////////////////////////////////////////
-
-struct BeginsRightToLeftCharacterTest
-{
-  std::string description;
-  std::string input;
-  bool result;
-};
-
-bool TestBeginsRightToLeftCharacter( const std::string& description, const std::string& input, const bool result, const char* location )
-{
-  // Creates a styled text with the markup or plain string.
-  MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( input, styledText, true );
-
-  const bool ret = ( result == TextProcessor::BeginsRightToLeftCharacter( styledText ) );
-
-  if( !ret )
-  {
-    tet_printf( "Fail. %s", location );
-    tet_printf( "Input : %s", input.c_str() );
-  }
-
-  return ret;
-}
-
-//////////////////////////////////////////////////////////////////
-
-struct ContainsRightToLeftCharacterTest
-{
-  std::string description;
-  std::string input;
-  bool result;
-};
-
-bool TestContainsRightToLeftCharacter( const std::string& description, const std::string& input, const bool result, const char* location )
-{
-  // Creates a styled text with the markup or plain string.
-  MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( input, styledText, true );
-
-  const bool ret = ( result == TextProcessor::ContainsRightToLeftCharacter( styledText ) );
-
-  if( !ret )
-  {
-    tet_printf( "Fail. %s", location );
-    tet_printf( "Input : %s", input.c_str() );
-  }
-
-  return ret;
-}
-
-//////////////////////////////////////////////////////////////////
-
-struct FindNearestWordTest
-{
-  std::string description;
-  std::string input;
-  std::size_t offset;
-  std::size_t start;
-  std::size_t end;
-};
-
-bool TestFindNearestWord( const std::string& description, const std::string& input, const std::size_t offset, const std::size_t startResult, const std::size_t endResult, const char* location )
-{
-  // Creates a styled text with the markup or plain string.
-  MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( input, styledText, true );
-
-  std::size_t start;
-  std::size_t end;
-  TextProcessor::FindNearestWord( styledText, offset, start, end );
-
-  const bool ret = ( start == startResult ) && ( end == endResult );
-
-  if( !ret )
-  {
-    tet_printf( "Fail. %s", location );
-    tet_printf( "Input : %s, offset %d, start %d, end %d", input.c_str(), offset, start, end );
-  }
-
-  return ret;
-}
-
-//////////////////////////////////////////////////////////////////
-
-struct SplitInLinesTest
-{
-  std::string inputText;
-
-  std::size_t resultNumberOfLines;
-};
-
-bool TestSplitInLines( const SplitInLinesTest& test, const char* location )
-{
-  // Creates a styled text with the markup or plain string.
-  MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( test.inputText, styledText, true );
-
-  std::vector<MarkupProcessor::StyledTextArray> lines;
-
-  TextProcessor::SplitInLines( styledText,
-                               lines );
-
-  if( lines.size() != test.resultNumberOfLines )
-  {
-    tet_printf( "Fail. %s", location );
-    tet_printf( "Different number of lines, result %d, expected result %d", lines.size(), test.resultNumberOfLines );
-
-    return false;
-  }
-
-  return true;
-}
-
-//////////////////////////////////////////////////////////////////
-
-struct SplitInWordsTest
-{
-  std::string inputText;
-
-  std::size_t resultNumberOfWords;
-};
-
-bool TestSplitInWords( const SplitInWordsTest& test, const char* location )
-{
-  // Creates a styled text with the markup or plain string.
-  MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( test.inputText, styledText, true );
-
-  std::vector<MarkupProcessor::StyledTextArray> words;
-
-  TextProcessor::SplitInWords( styledText,
-                               words );
-
-  if( words.size() != test.resultNumberOfWords )
-  {
-    tet_printf( "Fail. %s", location );
-    tet_printf( "Different number of words, result %d, expected result %d", words.size(), test.resultNumberOfWords );
-
-    return false;
-  }
-
-  return true;
-}
-
-//////////////////////////////////////////////////////////////////
-
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliTextViewSplitInLines, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewSplitInWords, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewBeginsRightToLeftCharacter, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewContainsRightToLeftCharacter, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewFindNearestWord, POSITIVE_TC_IDX );
-// TEST_FUNCTION( , POSITIVE_TC_IDX );
-// TEST_FUNCTION( , NEGATIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliTextViewSplitInLines()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewSplitInLines : ");
-
-  struct SplitInLinesTest splitInLinesTest[] =
-  {
-    {
-      std::string( "Hello world\nhello world." ),
-      2
-    },
-    {
-      std::string( "Hello world\nhello world.\n\n" ),
-      4
-    }
-  };
-  const std::size_t numberOfTests( 2 );
-
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const SplitInLinesTest& test = splitInLinesTest[index];
-
-    if( !TestSplitInLines( test, TEST_LOCATION ) )
-    {
-      tet_result( TET_FAIL );
-    }
-  }
-
-  tet_result( TET_PASS );
-}
-
-static void UtcDaliTextViewSplitInWords()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewSplitInWords : ");
-
-  struct SplitInWordsTest splitInWordsTest[] =
-  {
-    {
-      std::string( "Hello world, hello word!" ),
-      7
-    },
-  };
-  const std::size_t numberOfTests( 1 );
-
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const SplitInWordsTest& test = splitInWordsTest[index];
-
-    if( !TestSplitInWords( test, TEST_LOCATION ) )
-    {
-      tet_result( TET_FAIL );
-    }
-  }
-
-  tet_result( TET_PASS );
-}
-
-static void UtcDaliTextViewBeginsRightToLeftCharacter()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewBeginsRightToLeftCharacter : ");
-
-  struct BeginsRightToLeftCharacterTest beginsRightToLeftCharacterTest[] =
-  {
-    {
-      std::string( "Test if it begins with a right to left character. Should return false." ),
-      std::string( "Hello world مرحبا العالم." ),
-      false
-    },
-    {
-      std::string( "Test if it begins with a right to left character. Should return true." ),
-      std::string( "مرحبا العالم Hola mundo." ),
-      true
-    }
-  };
-  const std::size_t numberOfTests( 2 );
-
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const BeginsRightToLeftCharacterTest& test = beginsRightToLeftCharacterTest[index];
-
-    if( !TestBeginsRightToLeftCharacter( test.description, test.input, test.result, TEST_LOCATION ) )
-    {
-      tet_result( TET_FAIL );
-    }
-  }
-
-  tet_result( TET_PASS );
-}
-
-static void UtcDaliTextViewContainsRightToLeftCharacter()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewContainsRightToLeftCharacter : ");
-
-  struct ContainsRightToLeftCharacterTest containsRightToLeftCharacterTest[] =
-  {
-    {
-      std::string( "Test if it contains a right to left character. Should return true." ),
-      std::string( "Hello world مرحبا العالم." ),
-      true
-    },
-    {
-      std::string( "Test if it contains a right to left character. Should return true." ),
-      std::string( "مرحبا العالم Hola mundo." ),
-      true
-    },
-    {
-      std::string( "Test if it contains a right to left character. Should return false." ),
-      std::string( "Hello world." ),
-      false
-    },
-    {
-      std::string( "Test if it contains a right to left character. Should return true." ),
-      std::string( "مرحبا العالم." ),
-      true
-    }
-  };
-  const std::size_t numberOfTests( 4 );
-
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const ContainsRightToLeftCharacterTest& test = containsRightToLeftCharacterTest[index];
-
-    if( !TestContainsRightToLeftCharacter( test.description, test.input, test.result, TEST_LOCATION ) )
-    {
-      tet_result( TET_FAIL );
-    }
-  }
-
-  tet_result( TET_PASS );
-}
-
-static void UtcDaliTextViewFindNearestWord()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewFindNearestWord : ");
-
-  struct FindNearestWordTest findNearestWordTest[] =
-  {
-    {
-      std::string( "" ),
-      std::string( "Hello world, hola mundo" ),
-      0u,
-      0u,
-      5u
-    },
-    {
-      std::string( "" ),
-      std::string( "Hello world, hola mundo" ),
-      7u,
-      6u,
-      12u
-    },
-    {
-      std::string( "" ),
-      std::string( "Hello world, hola mundo" ),
-      11u,
-      6u,
-      12u
-    },
-    {
-      std::string( "" ),
-      std::string( "Hello world, hola mundo" ),
-      23u,
-      18u,
-      23u
-    },
-    {
-      std::string( "" ),
-      std::string( "Hello world, hola mundo" ),
-      5u,
-      0u,
-      5u
-    },
-    {
-      std::string( "" ),
-      std::string( "Hello world, hola mundo  مرحبا العالم" ),
-      24u,
-      25u,
-      30u
-    }
-  };
-
-  const std::size_t numberOfTests( 6 );
-
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const FindNearestWordTest& test = findNearestWordTest[index];
-
-    if( !TestFindNearestWord( test.description, test.input, test.offset, test.start, test.end, TEST_LOCATION ) )
-    {
-      tet_result( TET_FAIL );
-    }
-  }
-
-  tet_result( TET_PASS );
-}
diff --git a/automated-tests/TET/dali-internal-test-suite/text-view/utc-Dali-TextView-Relayout-Utilities.cpp b/automated-tests/TET/dali-internal-test-suite/text-view/utc-Dali-TextView-Relayout-Utilities.cpp
deleted file mode 100644 (file)
index 5a5aa26..0000000
+++ /dev/null
@@ -1,856 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-// Internal headers are allowed here
-#include <dali-toolkit/internal/controls/text-view/relayout-utilities.h>
-#include <dali-toolkit/internal/controls/text-view/text-view-processor.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-using namespace Dali::Toolkit::Internal;
-
-namespace
-{
-
-const Toolkit::Internal::TextView::LayoutParameters DEFAULT_LAYOUT_PARAMETERS;
-
-// Data structures used to create an 'experiment' in TET cases
-
-
-bool TestEqual( float x, float y )
-{
-  return ( fabsf( x - y ) < Math::MACHINE_EPSILON_1000 );
-}
-
-//////////////////////////////////////////////////////////////////
-
-struct CalculateSubLineLayoutTest
-{
-  std::string description;
-  std::string inputLine;
-  float parentWidth;
-  std::size_t groupIndex;
-  std::size_t wordIndex;
-  std::size_t characterIndex;
-  TextViewRelayout::HorizontalWrapType splitPolicy;
-  float shrinkFactor;
-
-  float resultLineLength;
-  float resultMaxCharHeight;
-  float resultMaxAscender;
-};
-
-bool TestCalculateSubLineLayout( const CalculateSubLineLayoutTest& test,  const char* location )
-{
-  tet_printf( "%s", test.description.c_str() );
-
-  // Create styled text.
-  MarkupProcessor::StyledTextArray inputStyledText;
-  MarkupProcessor::GetStyledTextArray( test.inputLine, inputStyledText, true );
-
-  // Create styled text layout info.
-  Toolkit::Internal::TextView::RelayoutData relayoutData;
-  TextViewProcessor::CreateTextInfo( inputStyledText,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     relayoutData );
-
-  // Prepare input parameters and the result structure and call the function to be tested.
-
-  // Creaqte indices.
-  TextViewProcessor::TextInfoIndices indices( 0, test.groupIndex, test.wordIndex, test.characterIndex );
-
-  // Get the input line.
-  TextViewProcessor::LineLayoutInfo inputLineLayout;
-
-  if( !relayoutData.mTextLayoutInfo.mLinesLayoutInfo.empty() )
-  {
-    inputLineLayout = *relayoutData.mTextLayoutInfo.mLinesLayoutInfo.begin();
-  }
-
-  // Result struct.
-  TextViewRelayout::SubLineLayoutInfo resultLayoutInfo;
-
-  CalculateSubLineLayout( test.parentWidth,
-                          indices,
-                          inputLineLayout,
-                          test.splitPolicy,
-                          test.shrinkFactor,
-                          resultLayoutInfo  );
-
-  // Check results.
-  if( !TestEqual( test.resultLineLength, resultLayoutInfo.mLineLength ) )
-  {
-    tet_printf( "Fail. different line length %f == %f. %s", test.resultLineLength, resultLayoutInfo.mLineLength, location );
-    return false;
-  }
-
-  if( !TestEqual( test.resultMaxCharHeight, resultLayoutInfo.mMaxCharHeight ) )
-  {
-    tet_printf( "Fail. different max character height %f == %f. %s", test.resultMaxCharHeight, resultLayoutInfo.mMaxCharHeight, location );
-    return false;
-  }
-
-  if( !TestEqual( test.resultMaxAscender, resultLayoutInfo.mMaxAscender ) )
-  {
-    tet_printf( "Fail. different max ascender %f == %f. %s", test.resultMaxAscender, resultLayoutInfo.mMaxAscender, location );
-    return false;
-  }
-
-  return true;
-}
-
-//////////////////////////////////////////////////////////////////
-
-struct AlignmentOffsetTest
-{
-  Toolkit::Alignment::Type alignment;
-  float parentSize;
-  float wholeTextSize;
-
-  float resultOffset;
-};
-
-bool TestAlignmentOffset( const AlignmentOffsetTest& test, const char* location )
-{
-  float offset = 0.f;
-
-  switch( test.alignment )
-  {
-    case Toolkit::Alignment::HorizontalLeft:
-    case Toolkit::Alignment::HorizontalCenter:
-    case Toolkit::Alignment::HorizontalRight:
-    {
-      offset = TextViewRelayout::CalculateXoffset( test.alignment, test.parentSize, test.wholeTextSize );
-      break;
-    }
-    case Toolkit::Alignment::VerticalTop:
-    case Toolkit::Alignment::VerticalCenter:
-    case Toolkit::Alignment::VerticalBottom:
-    {
-      offset = TextViewRelayout::CalculateYoffset( test.alignment, test.parentSize, test.wholeTextSize );
-      break;
-    }
-  }
-
-  // Check results.
-  if( !TestEqual( test.resultOffset, offset ) )
-  {
-    tet_printf( "Fail. different offset %f == %f. %s", test.resultOffset, offset, location );
-    return false;
-  }
-
-  return true;
-}
-
-//////////////////////////////////////////////////////////////////
-
-struct JustificationOffsetTest
-{
-  Toolkit::TextView::LineJustification justification;
-  float wholeTextWidth;
-  float lineLength;
-
-  float resultOffset;
-};
-
-bool TestJustificationOffset( const JustificationOffsetTest& test, const char* location )
-{
-  float offset = TextViewRelayout::CalculateJustificationOffset( test.justification, test.wholeTextWidth, test.lineLength );
-
-  // Check results.
-  if( !TestEqual( test.resultOffset, offset ) )
-  {
-    tet_printf( "Fail. different offset %f == %f. %s", test.resultOffset, offset, location );
-    return false;
-  }
-
-  return true;
-}
-
-//////////////////////////////////////////////////////////////////
-
-struct CalculateVisibilityTest
-{
-  Vector3 position;
-  Size size;
-  Size parentSize;
-  TextViewRelayout::VisibilityTestType type;
-
-  bool resultVisible;
-};
-
-bool TestCalculateVisibility( const CalculateVisibilityTest& test, const char* location )
-{
-  if( test.resultVisible != TextViewRelayout::IsVisible( test.position, test.size, test.parentSize, test.type ) )
-  {
-    tet_printf( "Fail. different visibility. Type %d, %s", test.type, location );
-    return false;
-  }
-
-  return true;
-}
-
-//////////////////////////////////////////////////////////////////
-
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliTextViewDefaultConstructorDestructor, POSITIVE_TC_IDX );  // Calls structs's default constructor and destructors and checks their default values.
-TEST_FUNCTION( UtcDaliTextViewCalculateSubLineLayout, POSITIVE_TC_IDX );        // Checks the function which calculates the layout info of the portion of the line which fits on the text-view width.
-TEST_FUNCTION( UtcDaliTextViewCalculateAlignmentOffsets, POSITIVE_TC_IDX );     // Checks the horizontal and vertical alignaments (for the whole text).
-TEST_FUNCTION( UtcDaliTextViewCalculateJustificationOffsets, POSITIVE_TC_IDX ); // Checks the justification alignment (line per line).
-TEST_FUNCTION( UtcDaliTextViewCalculateVisibility, POSITIVE_TC_IDX );           // Checks the text-actor visibility within the text-view with a rectangle intersection test.
-
-TEST_FUNCTION( UtcDaliTextViewMiscelaneousAsserts, NEGATIVE_TC_IDX );           // Tests some strange asserts.
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliTextViewDefaultConstructorDestructor()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewDefaultConstructorDestructor : ");
-
-  // Test RelayoutParameters defaults.
-  TextViewRelayout::RelayoutParameters relayoutParameters;
-
-  DALI_TEST_EQUALS( relayoutParameters.mPositionOffset, Vector3::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( relayoutParameters.mLineSize, Vector2::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( relayoutParameters.mWordSize, Vector2::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( relayoutParameters.mCharacterSize, Vector2::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( relayoutParameters.mIndices.mLineIndex, 0u, TEST_LOCATION );
-  DALI_TEST_EQUALS( relayoutParameters.mIndices.mGroupIndex, 0u, TEST_LOCATION );
-  DALI_TEST_EQUALS( relayoutParameters.mIndices.mWordIndex, 0u, TEST_LOCATION );
-  DALI_TEST_EQUALS( relayoutParameters.mIndices.mCharacterIndex, 0u, TEST_LOCATION );
-  DALI_TEST_EQUALS( relayoutParameters.mCharacterGlobalIndex, 0u, TEST_LOCATION );
-  DALI_TEST_CHECK( !relayoutParameters.mIsFirstCharacter );
-  DALI_TEST_CHECK( !relayoutParameters.mIsFirstCharacterOfWord );
-  DALI_TEST_CHECK( !relayoutParameters.mIsNewLine );
-  DALI_TEST_CHECK( !relayoutParameters.mIsNewLineCharacter );
-  DALI_TEST_CHECK( !relayoutParameters.mIsWhiteSpace );
-  DALI_TEST_CHECK( !relayoutParameters.mIsVisible );
-
-  // Test FadeParameter defaults
-  TextViewRelayout::FadeParameters fadeParameters;
-
-  DALI_TEST_EQUALS( fadeParameters.mRightFadeBoundary, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeParameters.mRightFadeThreshold, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeParameters.mRightFadeBoundaryOffset, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeParameters.mRightFadeThresholdOffset, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeParameters.mRightAlphaCoeficients, Vector2::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeParameters.mLeftFadeBoundary, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeParameters.mLeftFadeThreshold, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeParameters.mLeftFadeBoundaryOffset, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeParameters.mLeftFadeThresholdOffset, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeParameters.mLeftAlphaCoeficients, Vector2::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeParameters.mTopFadeBoundary, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeParameters.mTopFadeThreshold, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeParameters.mTopFadeBoundaryOffset, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeParameters.mTopFadeThresholdOffset, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeParameters.mTopAlphaCoeficients, Vector2::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeParameters.mBottomFadeBoundary, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeParameters.mBottomFadeThreshold, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeParameters.mBottomFadeBoundaryOffset, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeParameters.mBottomFadeThresholdOffset, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeParameters.mBottomAlphaCoeficients, Vector2::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_CHECK( !fadeParameters.mIsPartiallyVisible );
-
-  // Test EllipsizeParameters defaults
-  TextViewRelayout::EllipsizeParameters ellipsizeParameters;
-
-  DALI_TEST_EQUALS( ellipsizeParameters.mPosition, Vector3::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( ellipsizeParameters.mLineDescender, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( ellipsizeParameters.mLineWidth, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( ellipsizeParameters.mEllipsizeBoundary, Vector2::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( ellipsizeParameters.mFirstIndex, 0u, TEST_LOCATION );
-  DALI_TEST_EQUALS( ellipsizeParameters.mLastIndex, 0u, TEST_LOCATION );
-  DALI_TEST_CHECK( !ellipsizeParameters.mEllipsizeLine );
-  DALI_TEST_CHECK( !ellipsizeParameters.mIsLineWidthFullyVisible );
-  DALI_TEST_CHECK( !ellipsizeParameters.mIsLineHeightFullyVisible );
-  DALI_TEST_CHECK( !ellipsizeParameters.mIsNextLineFullyVisibleHeight );
-  DALI_TEST_CHECK( !ellipsizeParameters.mCreateEllipsizedTextActors );
-  DALI_TEST_CHECK( !ellipsizeParameters.mLineFits );
-  DALI_TEST_CHECK( !ellipsizeParameters.mWordFits );
-
-  // Test UnderlineInfo defaults
-  TextViewRelayout::UnderlineInfo underlineInfo;
-
-  DALI_TEST_EQUALS( underlineInfo.mMaxHeight, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( underlineInfo.mMaxThickness, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( underlineInfo.mPosition, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-
-  // Test TextUnderlineStatus defaults
-  TextViewRelayout::TextUnderlineStatus textUnderlineStatus;
-
-  DALI_TEST_CHECK( textUnderlineStatus.mUnderlineInfo.empty() );
-  DALI_TEST_EQUALS( textUnderlineStatus.mCharacterGlobalIndex, 0u, TEST_LOCATION );
-  DALI_TEST_EQUALS( textUnderlineStatus.mLineGlobalIndex, 0u, TEST_LOCATION );
-  DALI_TEST_CHECK( !textUnderlineStatus.mCurrentUnderlineStatus );
-
-  // Test SubLineLayoutInfo defaults
-  TextViewRelayout::SubLineLayoutInfo subLineLayoutInfo;
-
-  DALI_TEST_EQUALS( subLineLayoutInfo.mLineLength, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( subLineLayoutInfo.mMaxCharHeight, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( subLineLayoutInfo.mMaxAscender, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-}
-
-static void UtcDaliTextViewCalculateSubLineLayout()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewCalculateSubLineLayout : ");
-
-  struct CalculateSubLineLayoutTest calculateSubLineLayoutTest[] =
-  {
-    //WrapByCharacter
-    {
-      "The line is wraped by character. All characters have the same size.",
-      "Hello world", // input line
-      100.f,         // parent width
-      0,
-      0,              // indices
-      0,
-      TextViewRelayout::WrapByCharacter, // split policy
-      1.f,
-      // results
-      91.041672f, // line length. (only fits 8 characters 8x11.38)
-      11.380209f, // max character height
-      10.242188f  // max ascender
-    },
-    {
-      "The line is wraped by character. There are characters with different sizes.",
-      "Hello <font size='14'>world</font>", // input line
-      100.f,         // parent width
-      0,
-      0,              // indices
-      0,
-      TextViewRelayout::WrapByCharacter, // split policy
-      1.f,
-      // results
-      94.835075f, // line length. (only fits 8 characters 6x11.38 + 2x13.27)
-      13.276911f, // max character height
-      11.949220f  // max ascender
-    },
-    {
-      "The line is wraped by character. There are characters with different sizes. It calculates the layout for the second line.",
-      "Hello <font size='14'>wo</font>rld hell<font size='14'>o world</font>", // input line
-      100.f,         // parent width
-      0,
-      2,              // indices. The third character of the third word starts in a new line.
-      2,
-      TextViewRelayout::WrapByCharacter, // split policy
-      1.f,
-      // results
-      91.041672f, // line length. (only fits 8 characters 8x11.38)
-      11.380209f, // max character height
-      10.242188f  // max ascender
-    },
-    {
-      "The line is wraped by character. There are characters with different sizes. It calculates the layout for the third line.",
-      "Hello <font size='14'>wo</font>rld hell<font size='14'>o world</font>", // input line
-      100.f,         // parent width
-      0,
-      4,              // indices. The fifth character of the fifth word starts in a new line.
-      4,
-      TextViewRelayout::WrapByCharacter, // split policy
-      1.f,
-      // results
-      92.938377f, // line length. (only fits 8 characters 8x11.38)
-      13.276911f, // max character height
-      11.949220f  // max ascender
-    },
-
-    //WrapByWord
-    {
-      "The line is wraped by word. All characters have the same size.",
-      "Hello world", // input line
-      100.f,         // parent width
-      0,
-      0,              // indices. It shouldn't use the index character so 9999999 shouldn't make it crash.
-      9999999,
-      TextViewRelayout::WrapByWord, // split policy
-      1.f,
-      // results
-      56.901047f, // line length. (only fits 5 characters 5x11.38, white space is not counted)
-      11.380209f, // max character height
-      10.242188f  // max ascender
-    },
-    {
-      "The line is wraped by word. There are characters with different sizes.",
-      "Hell<font size='14'>o</font> world", // input line
-      100.f,         // parent width
-      0,
-      0,              // indices.
-      0,
-      TextViewRelayout::WrapByWord, // split policy
-      1.f,
-      // results
-      58.797747f, // line length. (only fits 5 characters 4x11.38 + 13.276911, white space is not counted)
-      13.276911f, // max character height
-      11.949220f  // max ascender
-    },
-    {
-      "The line is wraped by word. There are characters with different sizes. It calculates the layout for the second line.",
-      "Hello <font size='14'>wo</font>rld <font size='16'>hello world</font>", // input line
-      100.f,         // parent width
-      0,
-      2,              // indices. The third word starts in a new line.
-      0,
-      TextViewRelayout::WrapByWord, // split policy
-      1.f,
-      // results
-      60.694449f, // line length. (only fits 5 characters 2x13.276911 + 3x11.38)
-      13.276911f, // max character height
-      11.949220f  // max ascender
-    },
-    {
-      "The line is wraped by word. The word doen't fit.",
-      "Hello world", // input line
-      40.f,          // parent width
-      0,
-      0,              // indices. The third word starts in a new line.
-      0,
-      TextViewRelayout::WrapByWord, // split policy
-      1.f,
-      // results
-      0.f,        // line length. (The word doesn't fit)
-      11.380209f, // max character height
-      10.242188f  // max ascender
-    },
-
-    //WrapByWordAndSplit
-    {
-      "The line is wraped by word and by character. All characters have the same size. There is not a long word.",
-      "Hello world hello world", // input line
-      100.f,         // parent width
-      0,
-      0,              // indices.
-      0,
-      TextViewRelayout::WrapByWordAndSplit, // split policy
-      1.f,
-      // results
-      56.901047f, // line length. (only fits 5 characters 5x11.38, white space is not counted)
-      11.380209f, // max character height
-      10.242188f  // max ascender
-    },
-    {
-      "The line is wraped by word and by character. All characters have the same size. There is a long word.",
-      "Helloooooooo world", // input line
-      100.f,         // parent width
-      0,
-      0,              // indices.
-      0,
-      TextViewRelayout::WrapByWordAndSplit, // split policy
-      1.f,
-      // results
-      91.041672f, // line length. (only fits 8 characters 8x11.38)
-      11.380209f, // max character height
-      10.242188f  // max ascender
-    },
-    {
-      "The line is wraped by word and by character. There are characters with different sizes. There is a long word. It calculates the layout for the second line.",
-      "Helloooooooo <font size='14'>world</font>", // input line
-      100.f,         // parent width
-      0,
-      0,              // indices.
-      8,
-      TextViewRelayout::WrapByWordAndSplit, // split policy
-      1.f,
-      // results
-      45.520836f, // line length. (only fits 8 characters 8x11.38)
-      11.380209f, // max character height
-      10.242188f  // max ascender
-    },
-    {
-      "The line is wraped by word and by character. There are characters with different sizes. There is a shrink factor.",
-      "Helloooooooo<font size='14'> world</font>", // input line
-      100.f,         // parent width
-      0,
-      0,              // indices.
-      8,
-      TextViewRelayout::WrapByWordAndSplit, // split policy
-      0.7f,
-      // results
-      95.593755f, // line length. (only fits 12 characters 8x11.38)
-      7.9661463f, // max character height
-      7.169531f  // max ascender
-    },
-
-    //WrapByLineAndSplit
-    {
-      "The line is wraped by end of line and by character. All characters have the same size.",
-      "Hello world", // input line
-      100.f,         // parent width
-      0,
-      0,              // indices
-      0,
-      TextViewRelayout::WrapByLineAndSplit, // split policy
-      1.f,
-      // results
-      91.041672f, // line length. (only fits 8 characters 8x11.38)
-      11.380209f, // max character height
-      10.242188f  // max ascender
-    },
-    {
-      "The line fits in the width.",
-      "Hello", // input line
-      100.f,         // parent width
-      0,
-      0,             // indices
-      0,
-      TextViewRelayout::WrapByLineAndSplit, // split policy
-      1.f,
-      // results
-      56.901047f, // line length. (only fits 5 characters 5x11.38)
-      11.380209f, // max character height
-      10.242188f  // max ascender
-    },
-    {
-      "The line is wraped by end of line and by character. All characters have the same size. It calculates the layout for the second line.",
-      "Hello world, hello world", // input line
-      100.f,         // parent width
-      0,
-      2,             // indices
-      2,
-      TextViewRelayout::WrapByLineAndSplit, // split policy
-      1.f,
-      // results
-      91.041672f, // line length. (only fits 8 characters 8x11.38)
-      11.380209f, // max character height
-      10.242188f  // max ascender
-    },
-  };
-  const std::size_t numberOfTests( 15 );
-
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const CalculateSubLineLayoutTest& test = calculateSubLineLayoutTest[index];
-
-    if( !TestCalculateSubLineLayout( test, TEST_LOCATION ) )
-    {
-      tet_result( TET_FAIL );
-    }
-  }
-
-  tet_result( TET_PASS );
-}
-
-static void UtcDaliTextViewCalculateAlignmentOffsets()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewCalculateAlignmentOffsets : ");
-
-  struct AlignmentOffsetTest alignmentOffsetTest[] =
-  {
-    {
-      Toolkit::Alignment::HorizontalLeft,
-      100.f,
-      75.f,
-      0.f
-    },
-    {
-      Toolkit::Alignment::HorizontalCenter,
-      100.f,
-      75.f,
-      12.5f
-    },
-    {
-      Toolkit::Alignment::HorizontalRight,
-      100.f,
-      75.f,
-      25.f
-    },
-    {
-      Toolkit::Alignment::VerticalTop,
-      100.f,
-      75.f,
-      0.f
-    },
-    {
-      Toolkit::Alignment::VerticalCenter,
-      100.f,
-      75.f,
-      12.5f
-    },
-    {
-      Toolkit::Alignment::VerticalBottom,
-      100.f,
-      75.f,
-      25.f
-    }
-  };
-  const std::size_t numberOfTests( 6 );
-
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const AlignmentOffsetTest& test = alignmentOffsetTest[index];
-
-    if( !TestAlignmentOffset( test, TEST_LOCATION ) )
-    {
-      tet_result( TET_FAIL );
-    }
-  }
-
-  tet_result( TET_PASS );
-}
-
-static void UtcDaliTextViewCalculateJustificationOffsets()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewCalculateJustificationOffsets : ");
-
-  struct JustificationOffsetTest justificationOffsetTest[] =
-  {
-    {
-      Toolkit::TextView::Left,
-      100.f,
-      75.f,
-      0.f
-    },
-    {
-      Toolkit::TextView::Justified,
-      100.f,
-      75.f,
-      0.f
-    },
-    {
-      Toolkit::TextView::Center,
-      100.f,
-      150.f,
-      -25.f
-    },
-    {
-      Toolkit::TextView::Right,
-      100.f,
-      75.f,
-      25.f
-    },
-  };
-  const std::size_t numberOfTests( 4 );
-
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const JustificationOffsetTest& test = justificationOffsetTest[index];
-
-    if( !TestJustificationOffset( test, TEST_LOCATION ) )
-    {
-      tet_result( TET_FAIL );
-    }
-  }
-
-  tet_result( TET_PASS );
-}
-
-
-static void UtcDaliTextViewCalculateVisibility()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewCalculateVisibility : ");
-
-  struct CalculateVisibilityTest calculateVisibilityTest[] =
-  {
-    {
-      Vector3( 0.f, 10.f, 0.f ),
-      Size( 10.f, 10.f ),
-      Size( 100.f, 100.f ),
-      TextViewRelayout::FULLY_VISIBLE,
-      true
-    },
-    {
-      Vector3( 10.f, 10.f, 0.f ),
-      Size( 10.f, 10.f ),
-      Size( 100.f, 100.f ),
-      TextViewRelayout::FULLY_VISIBLE,
-      true
-    },
-    {
-      Vector3( 0.f, 10.f, 0.f ),
-      Size( 150.f, 10.f ),
-      Size( 100.f, 100.f ),
-      TextViewRelayout::FULLY_VISIBLE,
-      false
-    },
-    {
-      Vector3( 0.f, 10.f, 0.f ),
-      Size( 10.f, 10.f ),
-      Size( 100.f, 100.f ),
-      TextViewRelayout::FULLY_VISIBLE_WIDTH,
-      true
-    },
-    {
-      Vector3( 95.f, 10.f, 0.f ),
-      Size( 10.f, 10.f ),
-      Size( 100.f, 100.f ),
-      TextViewRelayout::FULLY_VISIBLE_WIDTH,
-      false
-    },
-    {
-      Vector3( 0.f, 10.f, 0.f ),
-      Size( 10.f, 10.f ),
-      Size( 100.f, 100.f ),
-      TextViewRelayout::FULLY_VISIBLE_HEIGHT,
-      true
-    },
-    {
-      Vector3( 0.f, 0.f, 0.f ),
-      Size( 10.f, 10.f ),
-      Size( 100.f, 100.f ),
-      TextViewRelayout::FULLY_VISIBLE_HEIGHT,
-      false
-    },
-    {
-      Vector3( -10.f, 10.f, 0.f ),
-      Size( 150.f, 150.f ),
-      Size( 100.f, 100.f ),
-      TextViewRelayout::PARTIALLY_VISIBLE,
-      true
-    },
-    {
-      Vector3( -100.f, -100.f, 0.f ),
-      Size( 10.f, 10.f ),
-      Size( 100.f, 100.f ),
-      TextViewRelayout::PARTIALLY_VISIBLE,
-      false
-    },
-    {
-      Vector3( -10.f, 10.f, 0.f ),
-      Size( 50.f, 10.f ),
-      Size( 100.f, 100.f ),
-      TextViewRelayout::PARTIALLY_VISIBLE_WIDTH,
-      true
-    },
-    {
-      Vector3( 110.f, 10.f, 0.f ),
-      Size( 10.f, 10.f ),
-      Size( 100.f, 100.f ),
-      TextViewRelayout::PARTIALLY_VISIBLE_WIDTH,
-      false
-    },
-    {
-      Vector3( 0.f, 20.f, 0.f ),
-      Size( 10.f, 50.f ),
-      Size( 100.f, 100.f ),
-      TextViewRelayout::PARTIALLY_VISIBLE_HEIGHT,
-      true
-    },
-    {
-      Vector3( 0.f, -10.f, 0.f ),
-      Size( 10.f, 10.f ),
-      Size( 100.f, 100.f ),
-      TextViewRelayout::PARTIALLY_VISIBLE_HEIGHT,
-      false
-    },
-  };
-  const std::size_t numberOfTests( 13 );
-
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const CalculateVisibilityTest& test = calculateVisibilityTest[index];
-
-    if( !TestCalculateVisibility( test, TEST_LOCATION ) )
-    {
-      tet_result( TET_FAIL );
-    }
-  }
-
-  tet_result( TET_PASS );
-}
-
-static void UtcDaliTextViewMiscelaneousAsserts()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewMiscelaneousAsserts : ");
-
-  float offset = 0.f;
-
-  bool assert1 = false;
-  bool assert2 = false;
-  try
-  {
-    offset = Toolkit::Internal::TextViewRelayout::CalculateXoffset( Toolkit::Alignment::VerticalTop, 100.f, 50.f );
-  }
-  catch( Dali::DaliException& e )
-  {
-    tet_printf( "Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str() );
-    DALI_TEST_EQUALS( e.mCondition, "!\"TextViewRelayout::CalculateXoffset: Wrong horizontal text alignment. Did you set a vertical one?\"", TEST_LOCATION );
-    assert1 = true;
-  }
-  catch( ... )
-  {
-    tet_result( TET_FAIL );
-  }
-  DALI_TEST_EQUALS( offset, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-
-  try
-  {
-    offset = Toolkit::Internal::TextViewRelayout::CalculateYoffset( Toolkit::Alignment::HorizontalRight, 100.f, 50.f );
-  }
-  catch( Dali::DaliException& e )
-  {
-    tet_printf( "Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str() );
-    DALI_TEST_EQUALS( e.mCondition, "!\"TextViewRelayout::CalculateXoffset: Wrong vertical text alignment. Did you set an horizontal one?\"", TEST_LOCATION );
-    assert2 = true;
-  }
-  catch( ... )
-  {
-    tet_result( TET_FAIL );
-  }
-  DALI_TEST_EQUALS( offset, 0.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-
-  DALI_TEST_CHECK( assert1 && assert2 );
-
-}
diff --git a/automated-tests/TET/dali-internal-test-suite/text-view/utc-Dali-TextView.cpp b/automated-tests/TET/dali-internal-test-suite/text-view/utc-Dali-TextView.cpp
deleted file mode 100644 (file)
index 83d39a8..0000000
+++ /dev/null
@@ -1,2931 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-// Internal headers are allowed here
-#include <dali-toolkit/internal/controls/text-view/text-view-processor.h>
-#include <dali-toolkit/internal/controls/text-view/text-view-line-processor.h>
-#include <dali-toolkit/internal/controls/text-view/text-view-word-group-processor.h>
-#include <dali-toolkit/internal/controls/text-view/text-view-word-processor.h>
-#include <dali-toolkit/internal/controls/text-view/relayout-utilities.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-using namespace Dali::Toolkit::Internal;
-
-namespace
-{
-
-const Toolkit::Internal::TextView::LayoutParameters DEFAULT_LAYOUT_PARAMETERS;
-const Toolkit::Internal::TextView::VisualParameters DEFAULT_VISUAL_PARAMETERS;
-
-// Data structures used to create an 'experiment' in TET cases
-
-struct SplitWordTest
-{
-  std::string description;
-  std::string input;
-  std::size_t position;
-  std::string firstResult;
-  std::string lastResult;
-};
-
-struct SplitWordGroupTest
-{
-  std::string description;
-  std::string input;
-  std::size_t wordPosition;
-  std::size_t position;
-  std::string firstResult;
-  std::string lastResult;
-};
-
-struct SplitLineTest
-{
-  std::string description;
-  std::string input;
-  std::size_t groupPosition;
-  std::size_t wordPosition;
-  std::size_t position;
-  float       lineHeightOffset;
-  std::string firstResult;
-  std::string lastResult;
-};
-
-struct MergeWordsTest
-{
-  std::string description;
-  std::string inputFirst;
-  std::string inputLast;
-  std::string result;
-};
-
-struct MergeWordGroupsTest
-{
-  std::string description;
-  std::string inputFirst;
-  std::string inputLast;
-  std::string result;
-};
-
-struct MergeLinesTest
-{
-  std::string description;
-  std::string inputFirst;
-  std::string inputLast;
-  float       lineHeightOffset;
-  std::string result;
-};
-
-struct RemoveCharactersFromWordTest
-{
-  std::string description;
-  std::string input;
-  std::size_t position;
-  std::size_t numberOfCharacters;
-  std::string result;
-};
-
-struct RemoveWordsFromGroupTest
-{
-  std::string description;
-  std::string input;
-  std::size_t wordIndex;
-  std::size_t numberOfWords;
-  std::string result;
-};
-
-struct RemoveGroupsFromLineTest
-{
-  std::string description;
-  std::string input;
-  std::size_t groupIndex;
-  std::size_t numberOfGroups;
-  float       lineHeightOffset;
-  std::string result;
-};
-
-enum UpdateTextInfoOperation
-{
-  Insert,
-  Remove,
-  Replace
-};
-
-struct UpdateTextInfoTest
-{
-  std::string             description;
-  UpdateTextInfoOperation operation;
-  std::string             input;
-  std::size_t             position;
-  std::size_t             numberOfCharacters;
-  std::string             inputText;
-  float                   lineHeightOffset;
-  std::string             result;
-};
-
-// Useful Print functions when something goes wrong.
-
-void Print( const TextViewProcessor::CharacterLayoutInfo& character )
-{
-  std::cout << "             height : " << character.mHeight << std::endl;
-  std::cout << "            advance : " << character.mAdvance << std::endl;
-  std::cout << "            bearing : " << character.mBearing << std::endl;
-  std::cout << "          mPosition : " << character.mPosition << std::endl;
-  std::cout << "              mSize : " << character.mSize << std::endl;
-  std::cout << "          mAscender : " << character.mAscender << std::endl;
-
-  TextActor textActor = TextActor::DownCast( character.mGlyphActor );
-  if( textActor )
-  {
-    std::cout << "[" << textActor.GetText() << "]";
-  }
-  else
-  {
-    std::cout << "{" << character.mStyledText.mText.GetText() << "}";
-  }
-}
-
-void Print( const TextViewProcessor::WordLayoutInfo& word )
-{
-  std::cout << "[";
-  std::cout << "              mSize : " << word.mSize << std::endl;
-  std::cout << "          mAscender : " << word.mAscender << std::endl;
-  std::cout << "              mType : " << word.mType << std::endl;
-  std::cout << "mNumberOfCharacters : " << word.mCharactersLayoutInfo.size() << std::endl;
-  std::cout << "[";
-  for( TextViewProcessor::CharacterLayoutInfoContainer::const_iterator it = word.mCharactersLayoutInfo.begin(), endIt = word.mCharactersLayoutInfo.end(); it != endIt; ++it )
-  {
-    Print( *it );
-  }
-  std::cout << "]"; std::cout << std::endl;
-  std::cout << "]"; std::cout << std::endl;
-}
-
-void Print( const TextViewProcessor::WordGroupLayoutInfo& wordGroup )
-{
-  std::cout << "(";
-  std::cout << "              mSize : " << wordGroup.mSize << std::endl;
-  std::cout << "          mAscender : " << wordGroup.mAscender << std::endl;
-  std::cout << "         mDirection : " << wordGroup.mDirection << std::endl;
-  std::cout << "mNumberOfCharacters : " << wordGroup.mNumberOfCharacters << std::endl;
-  for( TextViewProcessor::WordLayoutInfoContainer::const_iterator it = wordGroup.mWordsLayoutInfo.begin(), endIt = wordGroup.mWordsLayoutInfo.end(); it != endIt; ++it )
-  {
-    Print( *it );
-  }
-  std::cout << ")"; std::cout << std::endl;
-}
-
-void Print( const TextViewProcessor::LineLayoutInfo& line )
-{
-  std::cout << "<";
-  std::cout << "              mSize : " << line.mSize << std::endl;
-  std::cout << "          mAscender : " << line.mAscender << std::endl;
-  std::cout << "mNumberOfCharacters : " << line.mNumberOfCharacters << std::endl;
-  for( TextViewProcessor::WordGroupLayoutInfoContainer::const_iterator it = line.mWordGroupsLayoutInfo.begin(), endIt = line.mWordGroupsLayoutInfo.end(); it != endIt; ++it )
-  {
-    Print( *it );
-  }
-  std::cout << ">" << std::endl;
-}
-
-void Print( const TextViewProcessor::TextLayoutInfo& text )
-{
-  std::cout << "||";
-  for( TextViewProcessor::LineLayoutInfoContainer::const_iterator it = text.mLinesLayoutInfo.begin(), endIt = text.mLinesLayoutInfo.end(); it != endIt; ++it )
-  {
-    Print( *it );
-  }
-  std::cout << "||" << std::endl;
-}
-
-void Print( const TextStyle& style )
-{
-  std::cout << " font name : " << style.GetFontName() << std::endl;
-  std::cout << " : " << style.GetFontStyle() << std::endl;
-  std::cout << " : " << style.GetFontPointSize() << std::endl;
-  std::cout << " : " << style.GetWeight() << std::endl;
-  std::cout << " : " << style.GetTextColor() << std::endl;
-  std::cout << " : " << style.GetItalics() << std::endl;
-  std::cout << " : " << style.GetUnderline() << std::endl;
-  std::cout << " : " << style.GetShadow() << std::endl;
-  std::cout << " : " << style.GetShadowColor() << std::endl;
-  std::cout << " : " << style.GetShadowOffset() << std::endl;
-  std::cout << " : " << style.GetGlow() << std::endl;
-  std::cout << " : " << style.GetGlowColor() << std::endl;
-  std::cout << " : " << style.GetGlowIntensity() << std::endl;
-  std::cout << " : " << style.GetSmoothEdge() << std::endl;
-  std::cout << " : " << style.GetOutline() << std::endl;
-  std::cout << " : " << style.GetOutlineThickness() << std::endl;
-}
-
-// Test functions used to check if two data structures are equal.
-
-bool TestEqual( float x, float y )
-{
-  return ( fabsf( x - y ) < Math::MACHINE_EPSILON_1000 );
-}
-
-bool TestEqual( const TextViewProcessor::CharacterLayoutInfo& character1,
-                const TextViewProcessor::CharacterLayoutInfo& character2 )
-{
-  if( !TestEqual( character1.mHeight, character2.mHeight ) )
-  {
-    return false;
-  }
-  if( !TestEqual( character1.mAdvance, character2.mAdvance ) )
-  {
-    return false;
-  }
-  if( !TestEqual( character1.mBearing, character2.mBearing ) )
-  {
-    return false;
-  }
-
-  if( !TestEqual( character1.mPosition.x, character2.mPosition.x ) )
-  {
-    return false;
-  }
-  if( !TestEqual( character1.mPosition.y, character2.mPosition.y ) )
-  {
-    return false;
-  }
-
-  if( !TestEqual( character1.mSize.x, character2.mSize.x ) )
-  {
-    return false;
-  }
-  if( !TestEqual( character1.mSize.y, character2.mSize.y ) )
-  {
-    return false;
-  }
-
-  if( !TestEqual( character1.mAscender, character2.mAscender ) )
-  {
-    return false;
-  }
-
-  if( character1.mGlyphActor && !character2.mGlyphActor )
-  {
-    return false;
-  }
-
-  if( !character1.mGlyphActor && character2.mGlyphActor )
-  {
-    return false;
-  }
-
-  std::string text1;
-  std::string text2;
-  TextStyle style1;
-  TextStyle style2;
-
-  TextActor textActor1 = TextActor::DownCast( character1.mGlyphActor );
-  TextActor textActor2 = TextActor::DownCast( character2.mGlyphActor );
-  if( textActor1 )
-  {
-    text1 = textActor1.GetText();
-    style1 = textActor1.GetTextStyle();
-
-    text2 = textActor2.GetText();
-    style2 = textActor2.GetTextStyle();
-  }
-
-  if( text1 != text2 )
-  {
-    return false;
-  }
-
-  if( style1 != style2 )
-  {
-    return false;
-  }
-
-  text1 = character1.mStyledText.mText.GetText();
-  style1 = character1.mStyledText.mStyle;
-
-  text2 = character2.mStyledText.mText.GetText();
-  style2 = character2.mStyledText.mStyle;
-
-  if( text1 != text2 )
-  {
-    return false;
-  }
-
-  if( style1 != style2 )
-  {
-    return false;
-  }
-
-  return true;
-}
-
-bool TestEqual( const TextViewProcessor::WordLayoutInfo& word1,
-                const TextViewProcessor::WordLayoutInfo& word2 )
-{
-  if( !TestEqual( word1.mSize.x, word2.mSize.x ) )
-  {
-    return false;
-  }
-  if( !TestEqual( word1.mSize.y, word2.mSize.y ) )
-  {
-    return false;
-  }
-
-  if( !TestEqual( word1.mAscender, word2.mAscender ) )
-  {
-    return false;
-  }
-
-  if( word1.mType != word2.mType )
-  {
-    return false;
-  }
-
-  if( word1.mCharactersLayoutInfo.size() != word2.mCharactersLayoutInfo.size() )
-  {
-    return false;
-  }
-
-  for( TextViewProcessor::CharacterLayoutInfoContainer::const_iterator it1 = word1.mCharactersLayoutInfo.begin(), endIt1 = word1.mCharactersLayoutInfo.end(),
-         it2 = word2.mCharactersLayoutInfo.begin(), endIt2 = word2.mCharactersLayoutInfo.end();
-       ( it1 != endIt1 ) && ( it2 != endIt2 );
-       ++it1, ++it2 )
-  {
-    if( !TestEqual( *it1, *it2 ) )
-    {
-      return false;
-    }
-  }
-
-  return true;
-}
-
-bool TestEqual( const TextViewProcessor::WordGroupLayoutInfo& group1,
-                const TextViewProcessor::WordGroupLayoutInfo& group2 )
-{
-
-  if( group1.mNumberOfCharacters != group2.mNumberOfCharacters )
-  {
-    return false;
-  }
-
-  if( group1.mWordsLayoutInfo.size() != group2.mWordsLayoutInfo.size() )
-  {
-    return false;
-  }
-
-  if( !TestEqual( group1.mSize.x, group2.mSize.x ) )
-  {
-    return false;
-  }
-  if( !TestEqual( group1.mSize.y, group2.mSize.y ) )
-  {
-    return false;
-  }
-
-  if( !TestEqual( group1.mAscender, group2.mAscender ) )
-  {
-    return false;
-  }
-
-  if( group1.mDirection != group2.mDirection )
-  {
-    return false;
-  }
-
-  for( TextViewProcessor::WordLayoutInfoContainer::const_iterator it1 = group1.mWordsLayoutInfo.begin(), endIt1 = group1.mWordsLayoutInfo.end(),
-         it2 = group2.mWordsLayoutInfo.begin(), endIt2 = group2.mWordsLayoutInfo.end();
-       ( it1 != endIt1 ) && ( it2 != endIt2 );
-       ++it1, ++it2 )
-  {
-    if( !TestEqual( *it1, *it2 ) )
-    {
-      return false;
-    }
-  }
-
-  return true;
-}
-
-bool TestEqual( const TextViewProcessor::LineLayoutInfo& line1,
-                const TextViewProcessor::LineLayoutInfo& line2 )
-{
-  if( !TestEqual( line1.mSize.x, line2.mSize.x ) )
-  {
-    return false;
-  }
-  if( !TestEqual( line1.mSize.y, line2.mSize.y ) )
-  {
-    return false;
-  }
-
-  if( !TestEqual( line1.mAscender, line2.mAscender ) )
-  {
-    return false;
-  }
-
-  if( line1.mNumberOfCharacters != line2.mNumberOfCharacters )
-  {
-    return false;
-  }
-
-  if( line1.mWordGroupsLayoutInfo.size() != line2.mWordGroupsLayoutInfo.size() )
-  {
-    return false;
-  }
-
-  for( TextViewProcessor::WordGroupLayoutInfoContainer::const_iterator it1 = line1.mWordGroupsLayoutInfo.begin(), endIt1 = line1.mWordGroupsLayoutInfo.end(),
-         it2 = line2.mWordGroupsLayoutInfo.begin(), endIt2 = line2.mWordGroupsLayoutInfo.end();
-       ( it1 != endIt1 ) && ( it2 != endIt2 );
-       ++it1, ++it2 )
-  {
-    if( !TestEqual( *it1, *it2 ) )
-    {
-      return false;
-    }
-  }
-
-  return true;
-}
-
-bool TestEqual( const TextViewProcessor::TextLayoutInfo& text1,
-                const TextViewProcessor::TextLayoutInfo& text2 )
-{
-  if( !TestEqual( text1.mWholeTextSize.x, text2.mWholeTextSize.x ) )
-  {
-    return false;
-  }
-  if( !TestEqual( text1.mWholeTextSize.y, text2.mWholeTextSize.y ) )
-  {
-    return false;
-  }
-
-  if( !TestEqual( text1.mMaxWordWidth, text2.mMaxWordWidth ) )
-  {
-    return false;
-  }
-
-  if( text1.mNumberOfCharacters != text2.mNumberOfCharacters )
-  {
-    return false;
-  }
-
-  if( text1.mLinesLayoutInfo.size() != text2.mLinesLayoutInfo.size() )
-  {
-    return false;
-  }
-
-  for( TextViewProcessor::LineLayoutInfoContainer::const_iterator it1 = text1.mLinesLayoutInfo.begin(), endIt1 = text1.mLinesLayoutInfo.end(),
-         it2 = text2.mLinesLayoutInfo.begin(), endIt2 = text2.mLinesLayoutInfo.end();
-       ( it1 != endIt1 ) && ( it2 != endIt2 );
-       ++it1, ++it2 )
-  {
-    if( !TestEqual( *it1, *it2 ) )
-    {
-      return false;
-    }
-  }
-
-  return true;
-}
-
-/**
- * Splits the \e input word in two by the given \e position and checks the results with \e firstResult and \e lastResult.
- *
- * If the test fails it prints a short description and the line where this function was called.
- *
- * @param description Short description of the experiment. i.e. "Split the word from the beginning. (position 0)".
- * @param input The input word.
- * @param position Where to split the word.
- * @param firstResult First part of the split word.
- * @param lastResult Last part of the split word.
- * @param location Where this function has been called.
- *
- * @return \e true if the experiment is successful. Otherwise returns \e false.
- */
-bool TestSplitWord( const std::string& description, const std::string& input, const size_t position, const std::string& firstResult, const std::string& lastResult, const char* location )
-{
-  tet_printf( "%s", description.c_str() );
-
-  // Create layout info for the input word.
-  Toolkit::Internal::TextView::RelayoutData relayoutData;
-  TextViewProcessor::TextLayoutInfo& inputLayout( relayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray inputStyledText;
-  MarkupProcessor::GetStyledTextArray( input, inputStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( inputStyledText,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     relayoutData );
-
-  // Get the input word
-  TextViewProcessor::WordLayoutInfo inputWordLayout;
-
-  if( !inputLayout.mLinesLayoutInfo.empty() )
-  {
-    const TextViewProcessor::LineLayoutInfo& line( *inputLayout.mLinesLayoutInfo.begin() );
-    if( !line.mWordGroupsLayoutInfo.empty() )
-    {
-      const TextViewProcessor::WordGroupLayoutInfo& group( *line.mWordGroupsLayoutInfo.begin() );
-      if( !group.mWordsLayoutInfo.empty() )
-      {
-        inputWordLayout = *( *( *inputLayout.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin() ).mWordsLayoutInfo.begin();
-      }
-    }
-  }
-
-  // Create layout info for the first part of the result (after split the word)
-
-  Toolkit::Internal::TextView::RelayoutData firstRelayoutData;
-  TextViewProcessor::TextLayoutInfo& firstResultLayout( firstRelayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray firstResultStyledText;
-  MarkupProcessor::GetStyledTextArray( firstResult, firstResultStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( firstResultStyledText,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     firstRelayoutData );
-
-  // Get the first result word
-  TextViewProcessor::WordLayoutInfo firstResultWordLayout;
-
-  if( !firstResultLayout.mLinesLayoutInfo.empty() )
-  {
-    const TextViewProcessor::LineLayoutInfo& line( *firstResultLayout.mLinesLayoutInfo.begin() );
-    if( !line.mWordGroupsLayoutInfo.empty() )
-    {
-      const TextViewProcessor::WordGroupLayoutInfo& group( *line.mWordGroupsLayoutInfo.begin() );
-      if( !group.mWordsLayoutInfo.empty() )
-      {
-        firstResultWordLayout = *( *( *firstResultLayout.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin() ).mWordsLayoutInfo.begin();
-      }
-    }
-  }
-
-  // Create layout info for the last part of the result (after split the word)
-
-  Toolkit::Internal::TextView::RelayoutData lastRelayoutData;
-  TextViewProcessor::TextLayoutInfo& lastResultLayout( lastRelayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray lastResultStyledText;
-  MarkupProcessor::GetStyledTextArray( lastResult, lastResultStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( lastResultStyledText,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     lastRelayoutData );
-
-  // Get the last result word
-  TextViewProcessor::WordLayoutInfo lastResultWordLayout;
-
-  if( !lastResultLayout.mLinesLayoutInfo.empty() )
-  {
-    const TextViewProcessor::LineLayoutInfo& line( *lastResultLayout.mLinesLayoutInfo.begin() );
-    if( !line.mWordGroupsLayoutInfo.empty() )
-    {
-      const TextViewProcessor::WordGroupLayoutInfo& group( *line.mWordGroupsLayoutInfo.begin() );
-      if( !group.mWordsLayoutInfo.empty() )
-      {
-        lastResultWordLayout = *( *( *lastResultLayout.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin() ).mWordsLayoutInfo.begin();
-      }
-    }
-  }
-
-  // Split the word.
-
-  TextViewProcessor::WordLayoutInfo lastWordLayoutInfo;
-
-  SplitWord( position,
-             inputWordLayout,
-             lastWordLayoutInfo );
-
-  // Test results
-  if( !TestEqual( inputWordLayout, firstResultWordLayout ) )
-  {
-    tet_printf( "Fail. different layout info. %s", location );
-    return false;
-  }
-
-  if( !TestEqual( lastWordLayoutInfo, lastResultWordLayout ) )
-  {
-    tet_printf( "Fail. different layout info. %s", location );
-    return false;
-  }
-
-  return true;
-}
-
-/**
- * Splits the \e input group of words in two by the given \e wordPosition and \e position and checks the results with \e firstResult and \e lastResult.
- *
- * If the test fails it prints a short description and the line where this function was called.
- *
- * @param description Short description of the experiment. i.e. "Split the group of words from the beginning. (wordPosition 0 and position 0)".
- * @param input The input word.
- * @param wordPosition Index to the word within the group where to split the group.
- * @param position Where to split the word.
- * @param firstResult First part of the split group of words.
- * @param lastResult Last part of the split group of words.
- * @param location Where this function has been called.
- *
- * @return \e true if the experiment is successful. Otherwise returns \e false.
- */
-bool TestSplitWordGroup( const std::string& description,
-                         const std::string& input,
-                         const size_t wordPosition,
-                         const size_t position,
-                         const std::string& firstResult,
-                         const std::string& lastResult,
-                         const char* location )
-{
-  tet_printf( "%s", description.c_str() );
-
-  // Create layout info for the input group of words.
-  Toolkit::Internal::TextView::RelayoutData relayoutData;
-  TextViewProcessor::TextLayoutInfo& inputLayout( relayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray inputStyledText;
-  MarkupProcessor::GetStyledTextArray( input, inputStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( inputStyledText,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     relayoutData );
-
-  // Get the input group of words
-  TextViewProcessor::WordGroupLayoutInfo inputWordGroupLayout;
-
-  if( !inputLayout.mLinesLayoutInfo.empty() )
-  {
-    const TextViewProcessor::LineLayoutInfo& line( *inputLayout.mLinesLayoutInfo.begin() );
-    if( !line.mWordGroupsLayoutInfo.empty() )
-    {
-      inputWordGroupLayout = *( *inputLayout.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin();
-    }
-  }
-
-  // Create layout info for the first part of the result (after split the group of words)
-
-  Toolkit::Internal::TextView::RelayoutData firstRelayoutData;
-  TextViewProcessor::TextLayoutInfo& firstResultLayout( firstRelayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray firstResultStyledText;
-  MarkupProcessor::GetStyledTextArray( firstResult, firstResultStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( firstResultStyledText,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     firstRelayoutData );
-
-  // Get the first result group of words
-  TextViewProcessor::WordGroupLayoutInfo firstResultWordGroupLayout;
-
-  if( !firstResultLayout.mLinesLayoutInfo.empty() )
-  {
-    const TextViewProcessor::LineLayoutInfo& line( *firstResultLayout.mLinesLayoutInfo.begin() );
-    if( !line.mWordGroupsLayoutInfo.empty() )
-    {
-      firstResultWordGroupLayout = *( *firstResultLayout.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin();
-    }
-  }
-
-  // Create layout info for the last part of the result (after split the group of words)
-
-  Toolkit::Internal::TextView::RelayoutData lastRelayoutData;
-  TextViewProcessor::TextLayoutInfo& lastResultLayout( lastRelayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray lastResultStyledText;
-  MarkupProcessor::GetStyledTextArray( lastResult, lastResultStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( lastResultStyledText,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     lastRelayoutData );
-
-  // Get the last result group of words
-  TextViewProcessor::WordGroupLayoutInfo lastResultWordGroupLayout;
-
-  if( !lastResultLayout.mLinesLayoutInfo.empty() )
-  {
-    const TextViewProcessor::LineLayoutInfo& line( *lastResultLayout.mLinesLayoutInfo.begin() );
-    if( !line.mWordGroupsLayoutInfo.empty() )
-    {
-      lastResultWordGroupLayout = *( *lastResultLayout.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin();
-    }
-  }
-
-  // Split the group of words.
-
-  TextViewProcessor::WordGroupLayoutInfo lastWordGroupLayoutInfo;
-
-  TextViewProcessor::TextInfoIndices indices( 0, 0, wordPosition, position );
-  SplitWordGroup( indices,
-                  inputWordGroupLayout,
-                  lastWordGroupLayoutInfo );
-
-  // Test results
-  if( !TestEqual( inputWordGroupLayout, firstResultWordGroupLayout ) )
-  {
-    tet_printf( "Fail. different layout info. %s", location );
-    return false;
-  }
-
-  if( !TestEqual( lastWordGroupLayoutInfo, lastResultWordGroupLayout ) )
-  {
-    tet_printf( "Fail. different layout info. %s", location );
-    return false;
-  }
-
-  return true;
-}
-
-/**
- * Splits the \e input line in two by the given \e groupPosition, \e wordPosition and \e position and checks the results with \e firstResult and \e lastResult.
- *
- * If the test fails it prints a short description and the line where this function was called.
- *
- * @param description Short description of the experiment. i.e. "Split the line from the beginning. (groupPosition 0, wordPosition 0 and position 0)".
- * @param input The input word.
- * @param groupPosition Index to the group of words within the line where to split the line.
- * @param wordPosition Index to the word within the group where to split the group.
- * @param position Where to split the word.
- * @param lineHeightOffset Offset between lines.
- * @param firstResult First part of the split line.
- * @param lastResult Last part of the split line.
- * @param location Where this function has been called.
- *
- * @return \e true if the experiment is successful. Otherwise returns \e false.
- */
-bool TestSplitLine( const std::string& description,
-                    const std::string& input,
-                    const size_t groupPosition,
-                    const size_t wordPosition,
-                    const size_t position,
-                    const float lineHeightOffset,
-                    const std::string& firstResult,
-                    const std::string& lastResult,
-                    const char* location )
-{
-  tet_printf( "%s", description.c_str() );
-
-  // Create layout info for the input line.
-  Toolkit::Internal::TextView::RelayoutData relayoutData;
-  TextViewProcessor::TextLayoutInfo& inputLayout( relayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray inputStyledText;
-  MarkupProcessor::GetStyledTextArray( input, inputStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( inputStyledText,
-                                     Toolkit::Internal::TextView::LayoutParameters( Toolkit::TextView::SplitByNewLineChar,
-                                                                                    Toolkit::TextView::Original,
-                                                                                    Toolkit::TextView::Original,
-                                                                                    static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
-                                                                                    Toolkit::TextView::Center,
-                                                                                    PointSize( lineHeightOffset ),
-                                                                                    std::string( "..." ),
-                                                                                    true ),
-                                     relayoutData );
-
-  // Get the input line
-  TextViewProcessor::LineLayoutInfo inputLineLayout;
-
-  if( !inputLayout.mLinesLayoutInfo.empty() )
-  {
-    inputLineLayout = *inputLayout.mLinesLayoutInfo.begin();
-  }
-
-  // Create layout info for the first part of the result (after split the line)
-
-  Toolkit::Internal::TextView::RelayoutData firstRelayoutData;
-  TextViewProcessor::TextLayoutInfo& firstResultLayout( firstRelayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray firstResultStyledText;
-  MarkupProcessor::GetStyledTextArray( firstResult, firstResultStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( firstResultStyledText,
-                                     Toolkit::Internal::TextView::LayoutParameters( Toolkit::TextView::SplitByNewLineChar,
-                                                                                    Toolkit::TextView::Original,
-                                                                                    Toolkit::TextView::Original,
-                                                                                    static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
-                                                                                    Toolkit::TextView::Center,
-                                                                                    PointSize( lineHeightOffset ),
-                                                                                    std::string( "..." ),
-                                                                                    true ),
-                                     firstRelayoutData );
-
-  // Get the first result line
-  TextViewProcessor::LineLayoutInfo firstResultLineLayout;
-
-  if( !firstResultLayout.mLinesLayoutInfo.empty() )
-  {
-    firstResultLineLayout = *firstResultLayout.mLinesLayoutInfo.begin();
-  }
-
-  // Create layout info for the last part of the result (after split the line)
-
-  Toolkit::Internal::TextView::RelayoutData lastRelayoutData;
-  TextViewProcessor::TextLayoutInfo& lastResultLayout( lastRelayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray lastResultStyledText;
-  MarkupProcessor::GetStyledTextArray( lastResult, lastResultStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( lastResultStyledText,
-                                     Toolkit::Internal::TextView::LayoutParameters( Toolkit::TextView::SplitByNewLineChar,
-                                                                                    Toolkit::TextView::Original,
-                                                                                    Toolkit::TextView::Original,
-                                                                                    static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
-                                                                                    Toolkit::TextView::Center,
-                                                                                    PointSize( lineHeightOffset ),
-                                                                                    std::string( "..."),
-                                                                                    true ),
-                                     lastRelayoutData );
-
-  // Get the last result line
-  TextViewProcessor::LineLayoutInfo lastResultLineLayout;
-
-  if( !lastResultLayout.mLinesLayoutInfo.empty() )
-  {
-    lastResultLineLayout = *lastResultLayout.mLinesLayoutInfo.begin();
-  }
-
-  // Split the line.
-
-  TextViewProcessor::LineLayoutInfo lastLineLayoutInfo;
-
-  TextViewProcessor::TextInfoIndices indices( 0, groupPosition, wordPosition, position );
-  SplitLine( indices,
-             PointSize( lineHeightOffset ),
-             inputLineLayout,
-             lastLineLayoutInfo );
-
-  // Test results
-  if( !TestEqual( inputLineLayout, firstResultLineLayout ) )
-  {
-    tet_printf( "Fail. different layout info. %s", location );
-    return false;
-  }
-
-  if( !TestEqual( lastLineLayoutInfo, lastResultLineLayout ) )
-  {
-    tet_printf( "Fail. different layout info. %s", location );
-    return false;
-  }
-
-  return true;
-}
-
-/**
- * Merges the \e inputFirst word and the \e inputLast word, and checks the results with \e result.
- *
- * If the test fails it prints a short description and the line where this function was called.
- *
- * @param description Short description of the experiment. i.e. "Merge two words with same style".
- * @param inputFirst The first part of the word.
- * @param inputLast The last part of the word.
- * @param result The merged word.
- * @param location Where this function has been called.
- *
- * @return \e true if the experiment is successful. Otherwise returns \e false.
- */
-bool TestMergeWords( const std::string& description, const std::string& inputFirst, const std::string& inputLast, const std::string& result, const char* location )
-{
-  tet_printf( "%s", description.c_str() );
-
-  // Create layout info for the inputFirst word.
-  Toolkit::Internal::TextView::RelayoutData firstRelayoutData;
-  TextViewProcessor::TextLayoutInfo& inputFirstLayout( firstRelayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray inputFirstStyledText;
-  MarkupProcessor::GetStyledTextArray( inputFirst, inputFirstStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( inputFirstStyledText,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     firstRelayoutData );
-
-  // Get the input word
-  TextViewProcessor::WordLayoutInfo inputFirstWordLayout;
-
-  if( !inputFirstLayout.mLinesLayoutInfo.empty() )
-  {
-    const TextViewProcessor::LineLayoutInfo& line( *inputFirstLayout.mLinesLayoutInfo.begin() );
-    if( !line.mWordGroupsLayoutInfo.empty() )
-    {
-      const TextViewProcessor::WordGroupLayoutInfo& group( *line.mWordGroupsLayoutInfo.begin() );
-      if( !group.mWordsLayoutInfo.empty() )
-      {
-        inputFirstWordLayout = *( *( *inputFirstLayout.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin() ).mWordsLayoutInfo.begin();
-      }
-    }
-  }
-
-  // Create layout info for the inputLast word.
-  Toolkit::Internal::TextView::RelayoutData lastRelayoutData;
-  TextViewProcessor::TextLayoutInfo& inputLastLayout( lastRelayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray inputLastStyledText;
-  MarkupProcessor::GetStyledTextArray( inputLast, inputLastStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( inputLastStyledText,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     lastRelayoutData );
-
-  // Get the input word
-  TextViewProcessor::WordLayoutInfo inputLastWordLayout;
-
-  if( !inputLastLayout.mLinesLayoutInfo.empty() )
-  {
-    const TextViewProcessor::LineLayoutInfo& line( *inputLastLayout.mLinesLayoutInfo.begin() );
-    if( !line.mWordGroupsLayoutInfo.empty() )
-    {
-      const TextViewProcessor::WordGroupLayoutInfo& group( *line.mWordGroupsLayoutInfo.begin() );
-      if( !group.mWordsLayoutInfo.empty() )
-      {
-        inputLastWordLayout = *( *( *inputLastLayout.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin() ).mWordsLayoutInfo.begin();
-      }
-    }
-  }
-
-  // Create layout info for the result word.
-  Toolkit::Internal::TextView::RelayoutData resultRelayoutData;
-  TextViewProcessor::TextLayoutInfo& resultLayout( resultRelayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray resultStyledText;
-  MarkupProcessor::GetStyledTextArray( result, resultStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( resultStyledText,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     resultRelayoutData );
-
-  // Get the result word
-  TextViewProcessor::WordLayoutInfo resultWordLayout;
-
-  if( !resultLayout.mLinesLayoutInfo.empty() )
-  {
-    const TextViewProcessor::LineLayoutInfo& line( *resultLayout.mLinesLayoutInfo.begin() );
-    if( !line.mWordGroupsLayoutInfo.empty() )
-    {
-      const TextViewProcessor::WordGroupLayoutInfo& group( *line.mWordGroupsLayoutInfo.begin() );
-      if( !group.mWordsLayoutInfo.empty() )
-      {
-        resultWordLayout = *( *( *resultLayout.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin() ).mWordsLayoutInfo.begin();
-      }
-    }
-  }
-
-  MergeWord( inputFirstWordLayout,
-             inputLastWordLayout );
-
-  if( !TestEqual( inputFirstWordLayout, resultWordLayout ) )
-  {
-    tet_printf( "Fail. different layout info. %s", location );
-    return false;
-  }
-
-  return true;
-}
-
-/**
- * Merges the \e inputFirst group of words and the \e inputLast group of words, and checks the results with \e result.
- *
- * If the test fails it prints a short description and the line where this function was called.
- *
- * @param description Short description of the experiment.
- * @param inputFirst The first part of the group of words.
- * @param inputLast The last part of the group of words.
- * @param result The merged group of word.
- * @param location Where this function has been called.
- *
- * @return \e true if the experiment is successful. Otherwise returns \e false.
- */
-bool TestMergeGroupsOfWords( const std::string& description, const std::string& inputFirst, const std::string& inputLast, const std::string& result, const char* location )
-{
-  tet_printf( "%s", description.c_str() );
-
-  // Create layout info for the inputFirst group of word.
-  Toolkit::Internal::TextView::RelayoutData firstRelayoutData;
-  TextViewProcessor::TextLayoutInfo& inputFirstLayout( firstRelayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray inputFirstStyledText;
-  MarkupProcessor::GetStyledTextArray( inputFirst, inputFirstStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( inputFirstStyledText,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     firstRelayoutData );
-
-  // Get the input group of words.
-  TextViewProcessor::WordGroupLayoutInfo inputFirstWordGroupLayout;
-
-  if( !inputFirstLayout.mLinesLayoutInfo.empty() )
-  {
-    const TextViewProcessor::LineLayoutInfo& line( *inputFirstLayout.mLinesLayoutInfo.begin() );
-    if( !line.mWordGroupsLayoutInfo.empty() )
-    {
-      inputFirstWordGroupLayout = *( *inputFirstLayout.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin();
-    }
-  }
-
-  // Create layout info for the inputLast group of words.
-  Toolkit::Internal::TextView::RelayoutData lastRelayoutData;
-  TextViewProcessor::TextLayoutInfo& inputLastLayout( lastRelayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray inputLastStyledText;
-  MarkupProcessor::GetStyledTextArray( inputLast, inputLastStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( inputLastStyledText,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     lastRelayoutData );
-
-  // Get the input group of words
-  TextViewProcessor::WordGroupLayoutInfo inputLastWordGroupLayout;
-
-  if( !inputLastLayout.mLinesLayoutInfo.empty() )
-  {
-    const TextViewProcessor::LineLayoutInfo& line( *inputLastLayout.mLinesLayoutInfo.begin() );
-    if( !line.mWordGroupsLayoutInfo.empty() )
-    {
-      inputLastWordGroupLayout = *( *inputLastLayout.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin();
-    }
-  }
-
-  // Create layout info for the result group of words.
-  Toolkit::Internal::TextView::RelayoutData resultRelayoutData;
-  TextViewProcessor::TextLayoutInfo& resultLayout( resultRelayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray resultStyledText;
-  MarkupProcessor::GetStyledTextArray( result, resultStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( resultStyledText,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     resultRelayoutData );
-
-  // Get the result word
-  TextViewProcessor::WordGroupLayoutInfo resultWordGroupLayout;
-
-  if( !resultLayout.mLinesLayoutInfo.empty() )
-  {
-    const TextViewProcessor::LineLayoutInfo& line( *resultLayout.mLinesLayoutInfo.begin() );
-    if( !line.mWordGroupsLayoutInfo.empty() )
-    {
-      resultWordGroupLayout = *( *resultLayout.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin();
-    }
-  }
-
-  MergeWordGroup( inputFirstWordGroupLayout,
-                  inputLastWordGroupLayout );
-
-  if( !TestEqual( inputFirstWordGroupLayout, resultWordGroupLayout ) )
-  {
-    tet_printf( "Fail. different layout info. %s", location );
-    return false;
-  }
-
-  return true;
-}
-
-/**
- * Merges the \e inputFirst line and the \e inputLast line, and checks the results with \e result.
- *
- * If the test fails it prints a short description and the line where this function was called.
- *
- * @param description Short description of the experiment.
- * @param inputFirst The first part of the line.
- * @param inputLast The last part of the line.
- * @param lineHeightOffset Offset between lines.
- * @param result The merged line.
- * @param location Where this function has been called.
- *
- * @return \e true if the experiment is successful. Otherwise returns \e false.
- */
-bool TestMergeLines( const std::string& description, const std::string& inputFirst, const std::string& inputLast, const float lineHeightOffset, const std::string& result, const char* location )
-{
-  tet_printf( "%s", description.c_str() );
-
-  // Create layout info for the inputFirst line.
-  Toolkit::Internal::TextView::RelayoutData firstRelayoutData;
-  TextViewProcessor::TextLayoutInfo& inputFirstLayout( firstRelayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray inputFirstStyledText;
-  MarkupProcessor::GetStyledTextArray( inputFirst, inputFirstStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( inputFirstStyledText,
-                                     Toolkit::Internal::TextView::LayoutParameters( Toolkit::TextView::SplitByNewLineChar,
-                                                                                    Toolkit::TextView::Original,
-                                                                                    Toolkit::TextView::Original,
-                                                                                    static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
-                                                                                    Toolkit::TextView::Center,
-                                                                                    PointSize( lineHeightOffset ),
-                                                                                    std::string( "..." ),
-                                                                                    true ),
-                                     firstRelayoutData );
-
-  // Get the input word
-  TextViewProcessor::LineLayoutInfo inputFirstLineLayout;
-
-  if( !inputFirstLayout.mLinesLayoutInfo.empty() )
-  {
-    inputFirstLineLayout = *inputFirstLayout.mLinesLayoutInfo.begin();
-  }
-
-  // Create layout info for the inputLast line.
-  Toolkit::Internal::TextView::RelayoutData lastRelayoutData;
-  TextViewProcessor::TextLayoutInfo& inputLastLayout( lastRelayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray inputLastStyledText;
-  MarkupProcessor::GetStyledTextArray( inputLast, inputLastStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( inputLastStyledText,
-                                     Toolkit::Internal::TextView::LayoutParameters( Toolkit::TextView::SplitByNewLineChar,
-                                                                                    Toolkit::TextView::Original,
-                                                                                    Toolkit::TextView::Original,
-                                                                                    static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
-                                                                                    Toolkit::TextView::Center,
-                                                                                    PointSize( lineHeightOffset ),
-                                                                                    std::string( "..." ),
-                                                                                    true ),
-                                     lastRelayoutData );
-
-  // Get the input word
-  TextViewProcessor::LineLayoutInfo inputLastLineLayout;
-
-  if( !inputLastLayout.mLinesLayoutInfo.empty() )
-  {
-    inputLastLineLayout = *inputLastLayout.mLinesLayoutInfo.begin();
-  }
-
-  // Create layout info for the result word.
-  Toolkit::Internal::TextView::RelayoutData resultRelayoutData;
-  TextViewProcessor::TextLayoutInfo& resultLayout( resultRelayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray resultStyledText;
-  MarkupProcessor::GetStyledTextArray( result, resultStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( resultStyledText,
-                                     Toolkit::Internal::TextView::LayoutParameters( Toolkit::TextView::SplitByNewLineChar,
-                                                                                    Toolkit::TextView::Original,
-                                                                                    Toolkit::TextView::Original,
-                                                                                    static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
-                                                                                    Toolkit::TextView::Center,
-                                                                                    PointSize( lineHeightOffset ),
-                                                                                    std::string( "..." ),
-                                                                                    true ),
-                                     resultRelayoutData );
-
-  // Get the result word
-  TextViewProcessor::LineLayoutInfo resultLineLayout;
-
-  if( !resultLayout.mLinesLayoutInfo.empty() )
-  {
-    resultLineLayout = *resultLayout.mLinesLayoutInfo.begin();
-  }
-
-  MergeLine( inputFirstLineLayout,
-             inputLastLineLayout );
-
-  if( !TestEqual( inputFirstLineLayout, resultLineLayout ) )
-  {
-    tet_printf( "Fail. different layout info. %s", location );
-    return false;
-  }
-
-  return true;
-}
-
-/**
- * Removes from the \e input word the \e numberOfCharacters characters starting from the given \e position and checks the results with \e result.
- *
- * If the test fails it prints a short description and the line where this function was called.
- *
- * @param description Short description of the experiment. i.e. "Remove a whole group of characters. Merge".
- * @param input The input word.
- * @param position Where to start to remove characters
- * @param numberOfCharacters The number of characters to remove.
- * @param result The word without the removed characters.
- * @param location Where this function has been called.
- *
- * @return \e true if the experiment is successful. Otherwise returns \e false.
- */
-bool TestRemoveCharactersFromWord( const std::string& description, const std::string& input, const std::size_t position, const std::size_t numberOfCharacters, const std::string& result, const char* location )
-{
-  tet_printf( "%s", description.c_str() );
-
-  // Create layout info for the input word.
-  Toolkit::Internal::TextView::RelayoutData relayoutData;
-  TextViewProcessor::TextLayoutInfo& inputLayout( relayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray inputStyledText;
-  MarkupProcessor::GetStyledTextArray( input, inputStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( inputStyledText,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     relayoutData );
-
-  // Get the input word
-  TextViewProcessor::WordLayoutInfo inputWordLayout;
-
-  if( !inputLayout.mLinesLayoutInfo.empty() )
-  {
-    const TextViewProcessor::LineLayoutInfo& line( *inputLayout.mLinesLayoutInfo.begin() );
-    if( !line.mWordGroupsLayoutInfo.empty() )
-    {
-      const TextViewProcessor::WordGroupLayoutInfo& group( *line.mWordGroupsLayoutInfo.begin() );
-      if( !group.mWordsLayoutInfo.empty() )
-      {
-        inputWordLayout = *( *( *inputLayout.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin() ).mWordsLayoutInfo.begin();
-      }
-    }
-  }
-
-  // Create layout info for the result word.
-  Toolkit::Internal::TextView::RelayoutData resultRelayoutData;
-  TextViewProcessor::TextLayoutInfo& resultLayout( resultRelayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray resultStyledText;
-  MarkupProcessor::GetStyledTextArray( result, resultStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( resultStyledText,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     resultRelayoutData );
-
-  // Get the result word
-  TextViewProcessor::WordLayoutInfo resultWordLayout;
-
-  if( !resultLayout.mLinesLayoutInfo.empty() )
-  {
-    const TextViewProcessor::LineLayoutInfo& line( *resultLayout.mLinesLayoutInfo.begin() );
-    if( !line.mWordGroupsLayoutInfo.empty() )
-    {
-      const TextViewProcessor::WordGroupLayoutInfo& group( *line.mWordGroupsLayoutInfo.begin() );
-      if( !group.mWordsLayoutInfo.empty() )
-      {
-        resultWordLayout = *( *( *resultLayout.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin() ).mWordsLayoutInfo.begin();
-      }
-    }
-  }
-
-  RemoveCharactersFromWord( position,
-                            numberOfCharacters,
-                            inputWordLayout );
-
-  if( !TestEqual( inputWordLayout, resultWordLayout ) )
-  {
-    tet_printf( "Fail. different layout info. %s", location );
-    return false;
-  }
-
-  return true;
-}
-
-/**
- * Removes from the \e input group of words the \e numberOfWords words starting from the given \e wordIndex and checks the results with \e result.
- *
- * If the test fails it prints a short description and the line where this function was called.
- *
- * @param description Short description of the experiment.
- * @param input The input group of words.
- * @param wordIndex Where to start to remove words.
- * @param numberOfWords The number of words to remove.
- * @param result The group of words without the removed words.
- * @param location Where this function has been called.
- *
- * @return \e true if the experiment is successful. Otherwise returns \e false.
- */
-bool TestRemoveWordsFromGroup( const std::string& description, const std::string& input, const std::size_t wordIndex, const std::size_t numberOfWords, const std::string& result, const char* location )
-{
-  tet_printf( "%s", description.c_str() );
-
-  // Create layout info for the input group of words.
-  Toolkit::Internal::TextView::RelayoutData relayoutData;
-  TextViewProcessor::TextLayoutInfo& inputLayout( relayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray inputStyledText;
-  MarkupProcessor::GetStyledTextArray( input, inputStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( inputStyledText,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     relayoutData );
-
-  // Get the input group of words
-  TextViewProcessor::WordGroupLayoutInfo inputWordGroupLayout;
-
-  if( !inputLayout.mLinesLayoutInfo.empty() )
-  {
-    const TextViewProcessor::LineLayoutInfo& line( *inputLayout.mLinesLayoutInfo.begin() );
-    if( !line.mWordGroupsLayoutInfo.empty() )
-    {
-      inputWordGroupLayout = *( *inputLayout.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin();
-    }
-  }
-
-  // Create layout info for the result group of words.
-  Toolkit::Internal::TextView::RelayoutData resultRelayoutData;
-  TextViewProcessor::TextLayoutInfo& resultLayout( resultRelayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray resultStyledText;
-  MarkupProcessor::GetStyledTextArray( result, resultStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( resultStyledText,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     resultRelayoutData );
-
-  // Get the result group of words.
-  TextViewProcessor::WordGroupLayoutInfo resultWordGroupLayout;
-
-  if( !resultLayout.mLinesLayoutInfo.empty() )
-  {
-    const TextViewProcessor::LineLayoutInfo& line( *resultLayout.mLinesLayoutInfo.begin() );
-    if( !line.mWordGroupsLayoutInfo.empty() )
-    {
-      resultWordGroupLayout = *( *resultLayout.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin();
-    }
-  }
-
-  RemoveWordsFromWordGroup( wordIndex,
-                            numberOfWords,
-                            inputWordGroupLayout );
-
-  if( !TestEqual( inputWordGroupLayout, resultWordGroupLayout ) )
-  {
-    tet_printf( "Fail. different layout info. %s", location );
-    return false;
-  }
-
-  return true;
-}
-
-
-/**
- * Removes from the \e input line the \e numberOfGroups groups of words starting from the given \e groupIndex and checks the results with \e result.
- *
- * If the test fails it prints a short description and the line where this function was called.
- *
- * @param description Short description of the experiment.
- * @param input The input line.
- * @param groupIndex Where to start to remove groups of words
- * @param numberOfGroups The number of groups of words to remove.
- * @param lineHeightOffset Offset between lines.
- * @param result The line without the removed groups of words.
- * @param location Where this function has been called.
- *
- * @return \e true if the experiment is successful. Otherwise returns \e false.
- */
-bool TestRemoveGroupsFromLine( const std::string& description, const std::string& input, const std::size_t groupIndex, const std::size_t numberOfGroups, const float lineHeightOffset, const std::string& result, const char* location )
-{
-  tet_printf( "%s", description.c_str() );
-
-  // Create layout info for the input line.
-  Toolkit::Internal::TextView::RelayoutData relayoutData;
-  TextViewProcessor::TextLayoutInfo& inputLayout( relayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray inputStyledText;
-  MarkupProcessor::GetStyledTextArray( input, inputStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( inputStyledText,
-                                     Toolkit::Internal::TextView::LayoutParameters( Toolkit::TextView::SplitByNewLineChar,
-                                                                                    Toolkit::TextView::Original,
-                                                                                    Toolkit::TextView::Original,
-                                                                                    static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
-                                                                                    Toolkit::TextView::Center,
-                                                                                    PointSize( lineHeightOffset ),
-                                                                                    std::string( "..." ),
-                                                                                    true ),
-                                     relayoutData );
-
-  // Get the input line
-  TextViewProcessor::LineLayoutInfo inputLineLayout;
-
-  if( !inputLayout.mLinesLayoutInfo.empty() )
-  {
-    inputLineLayout = *inputLayout.mLinesLayoutInfo.begin();
-  }
-
-  // Create layout info for the result line.
-  Toolkit::Internal::TextView::RelayoutData resultRelayoutData;
-  TextViewProcessor::TextLayoutInfo& resultLayout( resultRelayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray resultStyledText;
-  MarkupProcessor::GetStyledTextArray( result, resultStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( resultStyledText,
-                                     Toolkit::Internal::TextView::LayoutParameters( Toolkit::TextView::SplitByNewLineChar,
-                                                                                    Toolkit::TextView::Original,
-                                                                                    Toolkit::TextView::Original,
-                                                                                    static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
-                                                                                    Toolkit::TextView::Center,
-                                                                                    PointSize( lineHeightOffset ),
-                                                                                    std::string( "..." ),
-                                                                                    true ),
-                                     resultRelayoutData );
-
-  // Get the result line
-  TextViewProcessor::LineLayoutInfo resultLineLayout;
-
-  if( !resultLayout.mLinesLayoutInfo.empty() )
-  {
-    resultLineLayout = *resultLayout.mLinesLayoutInfo.begin();
-  }
-
-  RemoveWordGroupsFromLine( groupIndex,
-                            numberOfGroups,
-                            PointSize( lineHeightOffset ),
-                            inputLineLayout );
-
-  if( !TestEqual( inputLineLayout, resultLineLayout ) )
-  {
-    tet_printf( "Fail. different layout info. %s", location );
-    return false;
-  }
-
-  return true;
-}
-
-/**
- * Tests inserts, removes and updates operation in the given \e input text and checks with the given \e result.
- *
- * If the test fails it prints a short description and the line where this function was called.
- *
- * @param description Short description of the experiment.
- * @param operation Type of update operation (insert, remove, replace)
- * @param input The input text.
- * @param position Where to insert, remove or replace text.
- * @param numberOfCharacters Number of characters to remove or replace.
- * @param inputText Inserted or updated text.
- * @param lineHeightOffset Offset between lines.
- * @param result Expected result.
- * @param location Where this function has been called.
- *
- * @return \e true if the experiment is successful. Otherwise returns \e false.
- */
-bool TestUpdateTextInfo( const std::string& description,
-                         const UpdateTextInfoOperation operation,
-                         const std::string& input,
-                         const std::size_t position,
-                         const std::size_t numberOfCharacters,
-                         const std::string& inputText,
-                         const float lineHeightOffset,
-                         const std::string& result,
-                         const char* location )
-{
-  tet_printf( "%s", description.c_str() );
-
-  // Create layout info for the input.
-  Toolkit::Internal::TextView::RelayoutData relayoutData;
-  TextViewProcessor::TextLayoutInfo& inputLayout( relayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray inputStyledText;
-  MarkupProcessor::GetStyledTextArray( input, inputStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( inputStyledText,
-                                     Toolkit::Internal::TextView::LayoutParameters( Toolkit::TextView::SplitByNewLineChar,
-                                                                                    Toolkit::TextView::Original,
-                                                                                    Toolkit::TextView::Original,
-                                                                                    static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
-                                                                                    Toolkit::TextView::Center,
-                                                                                    PointSize( lineHeightOffset ),
-                                                                                    std::string( "..." ),
-                                                                                    true ),
-                                     relayoutData );
-
-  // Create layout info for the result.
-  Toolkit::Internal::TextView::RelayoutData resultRelayoutData;
-  TextViewProcessor::TextLayoutInfo& resultLayout( resultRelayoutData.mTextLayoutInfo );
-
-  MarkupProcessor::StyledTextArray resultStyledText;
-  MarkupProcessor::GetStyledTextArray( result, resultStyledText, true );
-
-  TextViewProcessor::CreateTextInfo( resultStyledText,
-                                     Toolkit::Internal::TextView::LayoutParameters( Toolkit::TextView::SplitByNewLineChar,
-                                                                                    Toolkit::TextView::Original,
-                                                                                    Toolkit::TextView::Original,
-                                                                                    static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
-                                                                                    Toolkit::TextView::Center,
-                                                                                    PointSize( lineHeightOffset ),
-                                                                                    std::string( "..." ),
-                                                                                    true ),
-                                     resultRelayoutData );
-
-  // Choose operation and call appropiate UpdateTextInfo() method.
-  const Toolkit::Internal::TextView::LayoutParameters layoutParameters( Toolkit::TextView::SplitByNewLineChar,
-                                                                        Toolkit::TextView::Original,
-                                                                        Toolkit::TextView::Original,
-                                                                        static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
-                                                                        Toolkit::TextView::Center,
-                                                                        PointSize( lineHeightOffset ),
-                                                                        std::string( "..." ),
-                                                                        true );
-
-  switch( operation )
-  {
-    case Insert:
-    {
-      MarkupProcessor::StyledTextArray inputStyledText;
-      MarkupProcessor::GetStyledTextArray( inputText, inputStyledText, true );
-
-      TextViewProcessor::UpdateTextInfo( position,
-                                         inputStyledText,
-                                         layoutParameters,
-                                         relayoutData );
-      break;
-    }
-    case Remove:
-    {
-      TextViewProcessor::UpdateTextInfo( position,
-                                         numberOfCharacters,
-                                         layoutParameters,
-                                         relayoutData,
-                                         TextViewProcessor::CLEAR_TEXT );
-      break;
-    }
-    case Replace:
-    {
-      MarkupProcessor::StyledTextArray inputStyledText;
-      MarkupProcessor::GetStyledTextArray( inputText, inputStyledText, true );
-
-      TextViewProcessor::UpdateTextInfo( position,
-                                         numberOfCharacters,
-                                         inputStyledText,
-                                         layoutParameters,
-                                         relayoutData );
-      break;
-    }
-    default:
-    {
-      tet_printf( "TestUpdateTextInfo: unknown update operation. %s", location );
-      return false;
-    }
-  }
-
-  if( !TestEqual( inputLayout, resultLayout ) )
-  {
-    tet_printf( "Fail. different layout info. %s", location );
-
-    std::cout << "          result : "; Print( inputLayout );
-    std::cout << " expected result : "; Print( resultLayout );
-    return false;
-  }
-
-  return true;
-}
-
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliTextViewCreateTextInfo, POSITIVE_TC_IDX );                     // Tests data structures are built well.
-TEST_FUNCTION( UtcDaliTextViewUpdateTextInfo, POSITIVE_TC_IDX );                     // Tests update operations within a whole text (insert, remove, replace).
-TEST_FUNCTION( UtcDaliTextViewSplitWord, POSITIVE_TC_IDX );                          // Tests the split word operation.
-TEST_FUNCTION( UtcDaliTextViewSplitWordGroup, POSITIVE_TC_IDX );                     // Tests the split group of words operation.
-TEST_FUNCTION( UtcDaliTextViewSplitLine, POSITIVE_TC_IDX );                          // Tests the split line operation.
-TEST_FUNCTION( UtcDaliTextViewMergeWord01, POSITIVE_TC_IDX );                        // Tests the merge word operation.
-TEST_FUNCTION( UtcDaliTextViewMergeWord02, NEGATIVE_TC_IDX );                        // Tests invalid inputs in the merge word operation.
-TEST_FUNCTION( UtcDaliTextViewMergeGroup01, POSITIVE_TC_IDX );                       // Tests the merge group of words operation.
-TEST_FUNCTION( UtcDaliTextViewMergeGroup02, NEGATIVE_TC_IDX );                       // Tests invalid inputs in the merge group of words operation.
-TEST_FUNCTION( UtcDaliTextViewMergeLine01, POSITIVE_TC_IDX );                        // Tests the merge line operation.
-TEST_FUNCTION( UtcDaliTextViewMergeLine02, NEGATIVE_TC_IDX );                        // Tests invalid inputs in the merge line operation.
-TEST_FUNCTION( UtcDaliTextViewRemoveCharactersFromWord, POSITIVE_TC_IDX );           // Tests the remove characters from a word operation.
-TEST_FUNCTION( UtcDaliTextViewRemoveWordsFromGroup, POSITIVE_TC_IDX );               // Tests the remove words from a group of words operation.
-TEST_FUNCTION( UtcDaliTextViewRemoveGroupsFromLine, POSITIVE_TC_IDX );               // Tests the remove groups of words from a line operation.
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliTextViewCreateTextInfo()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewCreateTextInfo : ");
-
-  // Metrics for characters
-
-  // Font size = 10
-  //     size : [9.48351, 9.48351]
-  //  advance : 9.48351
-  //  bearing : 8.53516
-  // ascender : 8.53516
-
-  // Font size = 12
-  //     size : [11.3802, 11.3802]
-  //  advance : 11.3802
-  //  bearing : 10.2422
-  // ascender : 10.2422
-
-  // Font size = 14
-  //     size : [13.2769, 13.2769]
-  //  advance : 13.2769
-  //  bearing : 11.9492
-  // ascender : 11.9492
-
-  const float WIDTH_10( 9.48351f );
-  const float HEIGHT_10( 9.48351f );
-  const float ADVANCE_10( 9.48351f );
-  const float BEARING_10( 8.53516f );
-  const float ASCENDER_10( 8.53516f );
-
-  const float WIDTH_12( 11.3802f );
-  const float HEIGHT_12( 11.3802f );
-  const float ADVANCE_12( 11.3802f );
-  const float BEARING_12( 10.2422f );
-  const float ASCENDER_12( 10.2422f );
-
-
-  // Generate a text.
-  Toolkit::Internal::TextView::RelayoutData relayoutData;
-  TextViewProcessor::TextLayoutInfo& textLayoutInfo( relayoutData.mTextLayoutInfo );
-
-  std::string text( "Hel<font size='10'>lo wo</font>rld!\n"
-                    "\n" );
-
-  MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( text, styledText, true );
-
-  TextViewProcessor::CreateTextInfo( styledText,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     relayoutData );
-
-
-  // Build the text info with metric values.
-
-  // Characters
-
-  TextViewProcessor::CharacterLayoutInfo layoutInfo10; // ( [lo wo])
-  layoutInfo10.mHeight = HEIGHT_10;
-  layoutInfo10.mAdvance = ADVANCE_10;
-  layoutInfo10.mBearing = BEARING_10;
-  layoutInfo10.mSize = Size( WIDTH_10, HEIGHT_10 );
-  layoutInfo10.mAscender = ASCENDER_10;
-  TextViewProcessor::CharacterLayoutInfo layoutInfo12; // ( [Hel], [rld!] and [CR])
-  layoutInfo12.mHeight = HEIGHT_12;
-  layoutInfo12.mAdvance = ADVANCE_12;
-  layoutInfo12.mBearing = BEARING_12;
-  layoutInfo12.mSize = Size( WIDTH_12, HEIGHT_12 );
-  layoutInfo12.mAscender = ASCENDER_12;
-
-  TextStyle style10;
-  style10.SetFontPointSize( PointSize( 10.f ) );
-  TextStyle style12;
-  style12.SetFontPointSize( PointSize( 0.f ) ); // point size is set to zero because is a default point size.
-
-  layoutInfo12.mStyledText.mStyle = style12;
-  layoutInfo10.mStyledText.mStyle = style10;
-
-  // Words
-
-  TextViewProcessor::WordLayoutInfo wordLayout1, wordLayout2, wordLayout3, wordLayout4;
-
-  // Hello
-  wordLayout1.mSize = Size( 3.f * WIDTH_12 + 2.f * WIDTH_10, HEIGHT_12 );
-  wordLayout1.mAscender = ASCENDER_12;
-  wordLayout1.mType = TextViewProcessor::NoSeparator;
-
-  layoutInfo12.mStyledText.mText = Text( "H" );
-  wordLayout1.mCharactersLayoutInfo.push_back( layoutInfo12 ); // H
-  layoutInfo12.mStyledText.mText = Text( "e" );
-  wordLayout1.mCharactersLayoutInfo.push_back( layoutInfo12 ); // e
-  layoutInfo12.mStyledText.mText = Text( "l" );
-  wordLayout1.mCharactersLayoutInfo.push_back( layoutInfo12 ); // l
-  layoutInfo10.mStyledText.mText = Text( "l" );
-  wordLayout1.mCharactersLayoutInfo.push_back( layoutInfo10 ); // l
-  layoutInfo10.mStyledText.mText = Text( "o" );
-  wordLayout1.mCharactersLayoutInfo.push_back( layoutInfo10 ); // o
-
-  // (white space)
-  wordLayout2.mSize = Size( WIDTH_10, HEIGHT_10 );
-  wordLayout2.mAscender = ASCENDER_10;
-  wordLayout2.mType = TextViewProcessor::WordSeparator;
-  layoutInfo10.mStyledText.mText = Text( " " );
-  wordLayout2.mCharactersLayoutInfo.push_back( layoutInfo10 ); // (white space)
-
-  // world!
-  wordLayout3.mSize = Size( 2.f * WIDTH_10 + 4.f * WIDTH_12, HEIGHT_12 );
-  wordLayout3.mAscender = ASCENDER_12;
-  wordLayout3.mType = TextViewProcessor::NoSeparator;
-  layoutInfo10.mStyledText.mText = Text( "w" );
-  wordLayout3.mCharactersLayoutInfo.push_back( layoutInfo10 ); // w
-  layoutInfo10.mStyledText.mText = Text( "o" );
-  wordLayout3.mCharactersLayoutInfo.push_back( layoutInfo10 ); // o
-  layoutInfo12.mStyledText.mText = Text( "r" );
-  wordLayout3.mCharactersLayoutInfo.push_back( layoutInfo12 ); // r
-  layoutInfo12.mStyledText.mText = Text( "l" );
-  wordLayout3.mCharactersLayoutInfo.push_back( layoutInfo12 ); // l
-  layoutInfo12.mStyledText.mText = Text( "d" );
-  wordLayout3.mCharactersLayoutInfo.push_back( layoutInfo12 ); // d
-  layoutInfo12.mStyledText.mText = Text( "!" );
-  wordLayout3.mCharactersLayoutInfo.push_back( layoutInfo12 ); // !
-
-  // (new line character)
-  wordLayout4.mSize = Size( 0.f, HEIGHT_12 );
-  wordLayout4.mAscender = ASCENDER_12;
-  wordLayout4.mType = TextViewProcessor::LineSeparator;
-  layoutInfo12.mStyledText.mText = Text( "\n" );
-  layoutInfo12.mSize.width = 0.f;
-  wordLayout4.mCharactersLayoutInfo.push_back( layoutInfo12 ); // (new line char)
-
-  // Groups
-
-  TextViewProcessor::WordGroupLayoutInfo groupLayout1, groupLayout2;
-
-  groupLayout1.mSize = Size( 5.f * WIDTH_10 + 7.f * WIDTH_12, HEIGHT_12 );
-  groupLayout1.mAscender = ASCENDER_12;
-  groupLayout1.mDirection = TextViewProcessor::LTR;
-  groupLayout1.mNumberOfCharacters = 13;
-  groupLayout1.mWordsLayoutInfo.push_back( wordLayout1 );
-  groupLayout1.mWordsLayoutInfo.push_back( wordLayout2 );
-  groupLayout1.mWordsLayoutInfo.push_back( wordLayout3 );
-  groupLayout1.mWordsLayoutInfo.push_back( wordLayout4 );
-
-  groupLayout2.mSize = Size( 0.f, HEIGHT_12 );
-  groupLayout2.mAscender = ASCENDER_12;
-  groupLayout2.mDirection = TextViewProcessor::LTR;
-  groupLayout2.mNumberOfCharacters = 1;
-  groupLayout2.mWordsLayoutInfo.push_back( wordLayout4 );
-
-  // Lines
-
-  TextViewProcessor::LineLayoutInfo lineLayout1, lineLayout2, lineLayout3;
-
-  lineLayout1.mSize = Size( 5.f * WIDTH_10 + 7.f * WIDTH_12, HEIGHT_12 );
-  lineLayout1.mAscender = ASCENDER_12;
-  lineLayout1.mNumberOfCharacters = 13;
-  lineLayout1.mWordGroupsLayoutInfo.push_back( groupLayout1 );
-
-  lineLayout2.mSize = Size( 0.f, HEIGHT_12 );
-  lineLayout2.mAscender = ASCENDER_12;
-  lineLayout2.mNumberOfCharacters = 1;
-  lineLayout2.mWordGroupsLayoutInfo.push_back( groupLayout2 );
-
-  lineLayout3.mSize = Size( 0.f, HEIGHT_12 );
-
-  // Text (layout)
-  TextViewProcessor::TextLayoutInfo textLayout;
-
-  textLayout.mWholeTextSize = Size( 5.f * WIDTH_10 + 7.f * WIDTH_12, 3.f * HEIGHT_12 );
-  textLayout.mMaxWordWidth = 2.f * WIDTH_10 + 4.f * WIDTH_12;
-  textLayout.mNumberOfCharacters = 14;
-  textLayout.mLinesLayoutInfo.push_back( lineLayout1 );
-  textLayout.mLinesLayoutInfo.push_back( lineLayout2 );
-  textLayout.mLinesLayoutInfo.push_back( lineLayout3 );
-
-  if(!TestEqual( textLayout, textLayoutInfo ))
-  {
-    std::cout << "Layout fails" << std::endl;
-    Print(textLayout); std::cout << std::endl;
-    Print(textLayoutInfo); std::cout << std::endl;
-  }
-
-  DALI_TEST_CHECK( TestEqual( textLayout, textLayoutInfo ) );
-}
-
-static void UtcDaliTextViewSplitWord()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewSplitWord : ");
-
-  struct SplitWordTest splitWordTests[] =
-  {
-    {
-      std::string( "Split word, position 0." ),
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo</font>" ),
-      0,
-      std::string( "" ),
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo</font>" ),
-    },
-    {
-      std::string( "Split word, position 8." ),
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo</font>" ),
-      8,
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo</font>" ),
-      std::string( "" ),
-    },
-    {
-      std::string( "Split word, position 2." ),
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo</font>" ),
-      2,
-      std::string( "<font size='10'>He</font>" ),
-      std::string( "<font size='12'>ll</font><font size='10'>oooo</font>" ),
-    },
-    {
-      std::string( "Split word, position 3." ),
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo</font>" ),
-      3,
-      std::string( "<font size='10'>He</font><font size='12'>l</font>" ),
-      std::string( "<font size='12'>l</font><font size='10'>oooo</font>" ),
-    },
-    {
-      std::string( "Split word, position 4." ),
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo</font>" ),
-      4,
-      std::string( "<font size='10'>He</font><font size='12'>ll</font>" ),
-      std::string( "<font size='10'>oooo</font>" ),
-    },
-  };
-  const std::size_t numberOfTests( 5 );
-
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const SplitWordTest& test = splitWordTests[index];
-
-    if( !TestSplitWord( test.description, test.input, test.position, test.firstResult, test.lastResult, TEST_LOCATION ) )
-    {
-      tet_result( TET_FAIL );
-    }
-  }
-
-  tet_result( TET_PASS );
-}
-
-static void UtcDaliTextViewUpdateTextInfo()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewUpdateTextInfo : ");
-
-  struct UpdateTextInfoTest updateTextInfoTest[] =
-  {
-    // Remove operations
-
-    {
-      std::string( "Remove from new line character to first character next line." ),
-      Remove,
-      std::string("Hello world\nhello world."),
-      11,
-      2,
-      std::string(""),
-      0.f,
-      std::string("Hello worldello world."),
-    },
-    {
-      std::string( "Replace style from new line character to first character next line." ),
-      Replace,
-      std::string("Hello world\nhello world."),
-      11,
-      2,
-      std::string("<b>\nh</b>"),
-      0.f,
-      std::string("Hello world<b>\nh</b>ello world."),
-    },
-    {
-      std::string( "Remove from the beginning to the middle of last word." ),
-      Remove,
-      std::string("Hello world, hello world."),
-      0,
-      22,
-      std::string(), // Not used.
-      0.f,
-      std::string("ld."),
-    },
-    {
-      std::string( "Remove from the beginning to the middle of the text." ),
-      Remove,
-      std::string("Hello world hello world."),
-      0,
-      12,
-      std::string(), // Not used.
-      0.f,
-      std::string("hello world."),
-    },
-    // Remove within the same word:
-    // * within the same group of characters.
-    {
-      std::string( "Remove within the same word, within the same group of characters" ),
-      Remove,
-      std::string("Hello <font size='30'>world\nhello</font> world"),
-      7,
-      3,
-      std::string(), // Not used.
-      0.f,
-      std::string( "Hello <font size='30'>wd\nhello</font> world" )
-    },
-    // * whole group of characters (merge adjacent group of characters)
-    {
-      std::string( "Remove within the same word, whole group of characters (merge adjacent group of characters)" ),
-      Remove,
-      std::string("Hello <font size='30'>w<font size='20'>orl</font>d\nhello</font> world"),
-      7,
-      3,
-      std::string(), // Not used.
-      0.f,
-      std::string( "Hello <font size='30'>wd\nhello</font> world" )
-    },
-    // * whole group of characters (don't merge adjacent gtoup of characters)
-    {
-      std::string( "Remove within the same word, whole group of characters (don't merge adjacent gtoup of characters)" ),
-      Remove,
-      std::string("Hello <font size='30'>w</font>orl<font size='10'>d\nhello</font> world"),
-      7,
-      3,
-      std::string(), // Not used.
-      0.f,
-      std::string( "Hello <font size='30'>w</font><font size='10'>d\nhello</font> world" )
-    },
-    // * Remove whole word (merge words)
-    {
-      std::string( "Remove within the same word, whole word (merge words)" ),
-      Remove,
-      std::string("Hello <font size='30'>w</font>orl<font size='10'>d\nhello</font> world"),
-      5,
-      1,
-      std::string(), // Not used.
-      0.f,
-      std::string( "Hello<font size='30'>w</font>orl<font size='10'>d\nhello</font> world" )
-    },
-    // * Remove whole word (don't merge words)
-    {
-      std::string( "Remove within the same word, whole word (don't merge words)" ),
-      Remove,
-      std::string("Hello <font size='30'>w</font>orl<font size='10'>d\nhello</font> world"),
-      6,
-      5,
-      std::string(), // Not used.
-      0.f,
-      std::string( "Hello <font size='10'>\nhello</font> world" )
-    },
-    // * Remove whole word (merge lines)
-    {
-      std::string( "Remove within the same word, whole word (merge lines)" ),
-      Remove,
-      std::string("Hello <font size='30'>w</font>orl<font size='10'>d\nhello</font> world"),
-      11,
-      1,
-      std::string(), // Not used.
-      0.f,
-      std::string( "Hello <font size='30'>w</font>orl<font size='10'>dhello</font> world" )
-    },
-    // * Remove whole group of words
-    /* TODO check this when RTL text is working
-    {
-      std::string( "Remove within the same line, whole group of words (merge groups)" ),
-      Remove,
-      std::string("Hello world, שלום עולם, hello world"),
-      10,
-      15,
-      std::string(), // Not used.
-      0.f,
-      std::string( "Hello worlello world" )
-    },
-    */
-    // * Remove whole line
-    {
-      std::string( "Remove whole line" ),
-      Remove,
-      std::string("Hello world, hello world\n"
-                  "Hello world, hello world\n"
-                  "Hello world, hello world\n"
-                  "Hello world, hello world\n"),
-      25,
-      25,
-      std::string(), // Not used.
-      0.f,
-      std::string("Hello world, hello world\n"
-                  "Hello world, hello world\n"
-                  "Hello world, hello world\n"),
-    },
-    {
-      std::string( "Remove whole line" ),
-      Remove,
-      std::string("Hello world, hello world\n"
-                  "H"),
-      25,
-      1,
-      std::string(), // Not used.
-      0.f,
-      std::string("Hello world, hello world\n"),
-    },
-
-
-    // Insert operations
-    {
-      std::string( "insert some text" ),
-      Insert,
-      std::string("inpuext"),
-      4,
-      0,             // Not used
-      std::string( "t t" ),
-      0.f,
-      std::string( "input text" )
-    },
-    {
-      std::string( "Insert text at the end" ),
-      Insert,
-      std::string("touch "),
-      6,
-      0,
-      std::string("me\nhello"),
-      0.f,
-      std::string("touch me\nhello")
-    },
-
-    // Replace operations.
-    {
-      std::string( "Replace style from the beginning to some point in the middle of the text." ),
-      Replace,
-      std::string( "Hello <font color='green'>world</font>" ),
-      0,
-      7,
-      std::string( "<font color='red'>Hello w</font>" ),
-      0.f,
-      std::string( "<font color='red'>Hello w</font><font color='green'>orld</font>" )
-    },
-    {
-      std::string( "Replace style from the middle of the text to the end." ),
-      Replace,
-      std::string( "Touch me\nhello" ),
-      6,
-      8,
-      std::string( "<b>me\nhello</b>" ),
-      0.f,
-      std::string( "Touch <b>me\nhello</b>" )
-    },
-    {
-      std::string( "Remove characters from text. Previous next test:Replace style from the middle of the text 1." ),
-      Remove,
-      std::string( "Touch me\nhello\nworld" ),
-      6,
-      8,
-      std::string( "" ),
-      0.f,
-      std::string( "Touch \nworld" )
-    },
-    {
-      std::string( "Insert styled text in the middle of a text. Previous: Replace style from the middle of the text 1." ),
-      Insert,
-      std::string( "Touch \nworld" ),
-      6,
-      0,
-      std::string( "<b>me\nhello</b>" ),
-      0.f,
-      std::string( "Touch <b>me\nhello</b>\nworld" )
-    },
-    {
-      std::string( "Replace style from the middle of the text 1." ),
-      Replace,
-      std::string( "Touch me\nhello\nworld" ),
-      6,
-      8,
-      std::string( "<b>me\nhello</b>" ),
-      0.f,
-      std::string( "Touch <b>me\nhello</b>\nworld" )
-    },
-    {
-      std::string( "Remove characters from text. Previous next test:Replace style from the middle of the text 2." ),
-      Remove,
-      std::string( "Touch me\nhello\nworld" ),
-      6,
-      9,
-      std::string( "" ),
-      0.f,
-      std::string( "Touch world" )
-    },
-    {
-      std::string( "Replace style from the middle of the text 2." ),
-      Replace,
-      std::string( "Touch me\nhello\nworld" ),
-      6,
-      9,
-      std::string( "<b>me\nhello\n</b>" ),
-      0.f,
-      std::string( "Touch <b>me\nhello\n</b>world" )
-    },
-  };
-  const std::size_t numberOfTests( 21 );
-
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const UpdateTextInfoTest& test = updateTextInfoTest[index];
-
-    if( !TestUpdateTextInfo( test.description, test.operation, test.input, test.position, test.numberOfCharacters, test.inputText, test.lineHeightOffset, test.result, TEST_LOCATION ) )
-    {
-      tet_result( TET_FAIL );
-    }
-  }
-
-  tet_result( TET_PASS );
-}
-
-static void UtcDaliTextViewSplitWordGroup()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewSplitWordGroup : ");
-
-  struct SplitWordGroupTest splitWordGroupTests[] =
-  {
-    {
-      std::string( "Split word group, wordPosition 0, position 0." ),
-      std::string( "<u><font size='10'>He<font size='12'>ll</font>oooo wooorld</font></u>" ),
-      0,
-      0,
-      std::string( "" ),
-      std::string( "<u><font size='10'>He<font size='12'>ll</font>oooo wooorld</font></u>" ),
-    },
-    {
-      std::string( "Split word group, wordPosition 2, position 8." ),
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo wooorld</font>" ),
-      2,
-      7,
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo wooorld</font>" ),
-      std::string( "" ),
-    },
-    {
-      std::string( "Split word group, wordPosition 0, position 2." ),
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo wooorld</font>" ),
-      0,
-      2,
-      std::string( "<font size='10'>He</font>" ),
-      std::string( "<font size='12'>ll</font><font size='10'>oooo wooorld</font>" ),
-    },
-    {
-      std::string( "Split word group, wordPosition 0, position 3." ),
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo wooorld</font>" ),
-      0,
-      3,
-      std::string( "<font size='10'>He</font><font size='12'>l</font>" ),
-      std::string( "<font size='12'>l</font><font size='10'>oooo wooorld</font>" ),
-    },
-    {
-      std::string( "Split word group, wordPosition 0, position 4." ),
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo wooorld</font>" ),
-      0,
-      4,
-      std::string( "<font size='10'>He</font><font size='12'>ll</font>" ),
-      std::string( "<font size='10'>oooo wooorld</font>" ),
-    },
-    {
-      std::string( "Split word group, wordPosition 1, position 0." ),
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo wooorld</font>" ),
-      1,
-      0,
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo</font>" ),
-      std::string( "<font size='10'> wooorld</font>" ),
-    },
-  };
-  const std::size_t numberOfTests( 6 );
-
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const SplitWordGroupTest& test = splitWordGroupTests[index];
-
-    if( !TestSplitWordGroup( test.description, test.input, test.wordPosition, test.position, test.firstResult, test.lastResult, TEST_LOCATION ) )
-    {
-      tet_result( TET_FAIL );
-    }
-  }
-
-  tet_result( TET_PASS );
-}
-
-static void UtcDaliTextViewSplitLine()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewSplitLine : ");
-
-  struct SplitLineTest splitLineTests[] =
-  {
-    {
-      std::string( "Split line, groupPosition 0, wordPosition 0, position 0." ),
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo wooorld</font> שלום עולם text text" ),
-      0,
-      0,
-      0,
-      3.f,
-      std::string( "" ),
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo wooorld</font> שלום עולם text text" ),
-    },
-    {
-      std::string( "Split line, groupPosition 2, wordPosition 2, position 4." ),
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo wooorld</font> שלום עולם text text" ),
-      2,
-      2,
-      4,
-      0.f,
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo wooorld</font> שלום עולם text text" ),
-      std::string( "" ),
-    },
-    /* TODO check when RTL is working.
-    {
-      std::string( "Split line, groupPosition 1, wordPosition 2, position 0." ),
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo wooorld</font> שלום עולם text text" ),
-      1,
-      2,
-      0,
-      0.f,
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo wooorld</font> שלום" ),
-      std::string( " עולם text text" ),
-    },
-    {
-      std::string( "Split line, groupPosition 1, wordPosition 0, position 0." ),
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo wooorld</font> שלום עולם text text" ),
-      1,
-      0,
-      0,
-      0.f,
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo wooorld</font> " ),
-      std::string( "שלום עולם text text" ),
-    },
-    */
-    {
-      std::string( "Split line, groupPosition 2, wordPosition 0, position 0." ),
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo wooorld</font> שלום עולם text text" ),
-      2,
-      0,
-      0,
-      6.f,
-      std::string( "<font size='10'>He<font size='12'>ll</font>oooo wooorld</font> שלום עולם " ),
-      std::string( "text text" ),
-    },
-  };
-  const std::size_t numberOfTests( 3 );
-
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const SplitLineTest& test = splitLineTests[index];
-
-    if( !TestSplitLine( test.description, test.input, test.groupPosition, test.wordPosition, test.position, test.lineHeightOffset, test.firstResult, test.lastResult, TEST_LOCATION ) )
-    {
-      tet_result( TET_FAIL );
-    }
-  }
-
-  tet_result( TET_PASS );
-}
-
-static void UtcDaliTextViewMergeWord01()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewMergeWord01 : ");
-
-  struct MergeWordsTest mergeWordsTests[] =
-  {
-    {
-      std::string( "Merge words with same style." ),
-      std::string( "Hel" ),
-      std::string( "lo" ),
-      std::string( "Hello" ),
-    },
-    {
-      std::string( "Merge words with different styles." ),
-      std::string( "<font size='10>Hel</font>" ),
-      std::string( "<font size='20'>lo</font>" ),
-      std::string( "<font size='10'>Hel</font><font size='20'>lo</font>" )
-    },
-  };
-  const std::size_t numberOfTests( 2 );
-
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const MergeWordsTest& test = mergeWordsTests[index];
-
-    if( !TestMergeWords( test.description, test.inputFirst, test.inputLast, test.result, TEST_LOCATION ) )
-    {
-      tet_result( TET_FAIL );
-    }
-  }
-
-  tet_result( TET_PASS );
-}
-
-static void UtcDaliTextViewMergeWord02()
-{
-  // Negative test.
-  // It test white spaces and new line characters can't be merged to other words.
-
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewMergeWord02 : ");
-
-  // Generate three words
-
-  Toolkit::Internal::TextView::RelayoutData relayoutData01;
-  Toolkit::Internal::TextView::RelayoutData relayoutData02;
-  Toolkit::Internal::TextView::RelayoutData relayoutData03;
-  TextViewProcessor::TextLayoutInfo& textLayoutInfo01( relayoutData01.mTextLayoutInfo );
-  TextViewProcessor::TextLayoutInfo& textLayoutInfo02( relayoutData02.mTextLayoutInfo );
-  TextViewProcessor::TextLayoutInfo& textLayoutInfo03( relayoutData03.mTextLayoutInfo );
-
-  std::string text01( " " );
-  std::string text02( "\n" );
-  std::string text03( "a" );
-  MarkupProcessor::StyledTextArray styledText01;
-  MarkupProcessor::StyledTextArray styledText02;
-  MarkupProcessor::StyledTextArray styledText03;
-  MarkupProcessor::GetStyledTextArray( text01, styledText01, true );
-  MarkupProcessor::GetStyledTextArray( text02, styledText02, true );
-  MarkupProcessor::GetStyledTextArray( text03, styledText03, true );
-
-  TextViewProcessor::CreateTextInfo( styledText01,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     relayoutData01 );
-
-  TextViewProcessor::WordLayoutInfo wordLayoutInfo01;
-
-  wordLayoutInfo01 = *( *( *textLayoutInfo01.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin() ).mWordsLayoutInfo.begin();
-
-  TextViewProcessor::CreateTextInfo( styledText02,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     relayoutData02 );
-
-  TextViewProcessor::WordLayoutInfo wordLayoutInfo02;
-
-  wordLayoutInfo02 = *( *( *textLayoutInfo02.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin() ).mWordsLayoutInfo.begin();
-
-  TextViewProcessor::CreateTextInfo( styledText03,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     relayoutData03 );
-
-  TextViewProcessor::WordLayoutInfo wordLayoutInfo03;
-
-  wordLayoutInfo03 = *( *( *textLayoutInfo03.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin() ).mWordsLayoutInfo.begin();
-
-  // Test MergeWord() asserts if white spaces or new line chars are merged.
-  bool assert1 = false;
-  bool assert2 = false;
-  bool assert3 = false;
-  bool assert4 = false;
-  bool assert5 = false;
-  bool assert6 = false;
-
-  try
-  {
-    MergeWord( wordLayoutInfo01,
-               wordLayoutInfo02 );
-  }
-  catch( Dali::DaliException& e )
-  {
-    tet_printf( "Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str() );
-    DALI_TEST_EQUALS( e.mCondition, "!\"TextViewProcessor::MergeWord(). ERROR: White spaces or new line characters can't be merged with other words.\"", TEST_LOCATION );
-    assert1 = true;
-  }
-  try
-  {
-    MergeWord( wordLayoutInfo01,
-               wordLayoutInfo03 );
-  }
-  catch( Dali::DaliException& e )
-  {
-    tet_printf( "Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str() );
-    DALI_TEST_EQUALS( e.mCondition, "!\"TextViewProcessor::MergeWord(). ERROR: White spaces or new line characters can't be merged with other words.\"", TEST_LOCATION );
-    assert2 = true;
-  }
-  try
-  {
-    MergeWord( wordLayoutInfo02,
-               wordLayoutInfo01 );
-  }
-  catch( Dali::DaliException& e )
-  {
-    tet_printf( "Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str() );
-    DALI_TEST_EQUALS( e.mCondition, "!\"TextViewProcessor::MergeWord(). ERROR: White spaces or new line characters can't be merged with other words.\"", TEST_LOCATION );
-    assert3 = true;
-  }
-  try
-  {
-    MergeWord( wordLayoutInfo02,
-               wordLayoutInfo03 );
-  }
-  catch( Dali::DaliException& e )
-  {
-    tet_printf( "Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str() );
-    DALI_TEST_EQUALS( e.mCondition, "!\"TextViewProcessor::MergeWord(). ERROR: White spaces or new line characters can't be merged with other words.\"", TEST_LOCATION );
-    assert4 = true;
-  }
-  try
-  {
-    MergeWord( wordLayoutInfo03,
-               wordLayoutInfo01 );
-  }
-  catch( Dali::DaliException& e )
-  {
-    tet_printf( "Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str() );
-    DALI_TEST_EQUALS( e.mCondition, "!\"TextViewProcessor::MergeWord(). ERROR: White spaces or new line characters can't be merged with other words.\"", TEST_LOCATION );
-    assert5 = true;
-  }
-  try
-  {
-    MergeWord( wordLayoutInfo03,
-               wordLayoutInfo02 );
-  }
-  catch( Dali::DaliException& e )
-  {
-    tet_printf( "Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str() );
-    DALI_TEST_EQUALS( e.mCondition, "!\"TextViewProcessor::MergeWord(). ERROR: White spaces or new line characters can't be merged with other words.\"", TEST_LOCATION );
-    assert6 = true;
-  }
-
-  if( assert1 && assert2 && assert3 && assert4 && assert5 && assert6 )
-  {
-    tet_result( TET_PASS );
-  }
-  else
-  {
-    tet_result( TET_FAIL );
-  }
-}
-
-static void UtcDaliTextViewMergeGroup01()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewMergeGroup01 : ");
-
-  struct MergeWordGroupsTest mergeWordGroupssTests[] =
-  {
-    {
-      std::string( "Merge a void first group." ),
-      std::string( "" ),
-      std::string( "Hello world" ),
-      std::string( "Hello world" ),
-    },
-    {
-      std::string( "Merge a void last group." ),
-      std::string( "Hello world" ),
-      std::string( "" ),
-      std::string( "Hello world" ),
-    },
-    {
-      std::string( "Merge groups and merge last and first words." ),
-      std::string( "Hello wor" ),
-      std::string( "ld, hello world" ),
-      std::string( "Hello world, hello world" ),
-    },
-    {
-      std::string( "Merge groups and don't merge last and first words." ),
-      std::string( "Hello world, " ),
-      std::string( "hello world" ),
-      std::string( "Hello world, hello world" )
-    },
-  };
-  const std::size_t numberOfTests( 4 );
-
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const MergeWordGroupsTest& test = mergeWordGroupssTests[index];
-
-    if( !TestMergeGroupsOfWords( test.description, test.inputFirst, test.inputLast, test.result, TEST_LOCATION ) )
-    {
-      tet_result( TET_FAIL );
-    }
-  }
-
-  tet_result(TET_PASS);
-}
-
-static void UtcDaliTextViewMergeGroup02()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewMergeGroup02 : ");
-
-  Toolkit::Internal::TextView::RelayoutData relayoutData01;
-  Toolkit::Internal::TextView::RelayoutData relayoutData02;
-  Toolkit::Internal::TextView::RelayoutData relayoutData03;
-  TextViewProcessor::TextLayoutInfo& textLayoutInfo01( relayoutData01.mTextLayoutInfo );
-  TextViewProcessor::TextLayoutInfo& textLayoutInfo02( relayoutData02.mTextLayoutInfo );
-  TextViewProcessor::TextLayoutInfo& textLayoutInfo03( relayoutData03.mTextLayoutInfo );
-
-  std::string text01( "Hello \n" );
-  std::string text02( "world" );
-  std::string text03( "السلام عليكم" );
-  MarkupProcessor::StyledTextArray styledText01;
-  MarkupProcessor::StyledTextArray styledText02;
-  MarkupProcessor::StyledTextArray styledText03;
-  MarkupProcessor::GetStyledTextArray( text01, styledText01, true );
-  MarkupProcessor::GetStyledTextArray( text02, styledText02, true );
-  MarkupProcessor::GetStyledTextArray( text03, styledText03, true );
-
-  TextViewProcessor::CreateTextInfo( styledText01,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     relayoutData01 );
-
-  TextViewProcessor::WordGroupLayoutInfo wordGroupLayoutInfo01;
-
-  wordGroupLayoutInfo01 = *( *textLayoutInfo01.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin();
-
-  TextViewProcessor::CreateTextInfo( styledText02,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     relayoutData02 );
-
-  TextViewProcessor::WordGroupLayoutInfo wordGroupLayoutInfo02;
-
-  wordGroupLayoutInfo02 = *( *textLayoutInfo02.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin();
-
-  TextViewProcessor::CreateTextInfo( styledText03,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     relayoutData03 );
-
-  TextViewProcessor::WordGroupLayoutInfo wordGroupLayoutInfo03;
-
-  wordGroupLayoutInfo03 = *( *textLayoutInfo03.mLinesLayoutInfo.begin() ).mWordGroupsLayoutInfo.begin();
-
-  bool assert1 = false;
-  bool assert2 = false;
-
-  try
-  {
-    MergeWordGroup( wordGroupLayoutInfo01,
-                    wordGroupLayoutInfo02 );
-  }
-  catch( Dali::DaliException& e )
-  {
-    tet_printf( "Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str() );
-    DALI_TEST_EQUALS( e.mCondition, "!\"TextViewProcessor::MergeWordGroup(). ERROR: A group of words can't be merged to another group which finishes with a new line character.\"", TEST_LOCATION );
-    assert1 = true;
-  }
-
-  try
-  {
-    MergeWordGroup( wordGroupLayoutInfo03,
-                    wordGroupLayoutInfo02 );
-  }
-  catch( Dali::DaliException& e )
-  {
-    tet_printf( "Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str() );
-    DALI_TEST_EQUALS( e.mCondition, "!\"TextViewProcessor::MergeWordGroup(). ERROR: groups with different direction can't be merged.\"", TEST_LOCATION );
-    assert2 = true;
-  }
-
-  if( assert1 && assert2 )
-  {
-    tet_result( TET_PASS );
-  }
-  else
-  {
-    tet_result( TET_FAIL );
-  }
-}
-
-static void UtcDaliTextViewMergeLine01()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewMergeLine01 : ");
-
-  struct MergeLinesTest mergeLinesTests[] =
-  {
-    {
-      std::string( "Merge a void first line." ),
-      std::string( "" ),
-      std::string( "Hello world, this is a whole line" ),
-      2.f,
-      std::string( "Hello world, this is a whole line" )
-    },
-    {
-      std::string( "Merge a void last line." ),
-      std::string( "Hello world, this is a whole line" ),
-      std::string( "" ),
-      0.f,
-      std::string( "Hello world, this is a whole line" )
-    },
-    /* TODO: check when RTL text is working.
-    {
-      std::string( "Merge lines and merge last and first groups" ),
-      std::string( "Hello world, שלום" ),
-      std::string( " עולם, hello world." ),
-      6.f,
-      std::string( "Hello world, שלום עולם, hello world." )
-    },
-    {
-      std::string( "Merge lines and don't merge last and first words." ),
-      std::string( "Hello world, " ),
-      std::string( "שלום עולם, hello world." ),
-      3.f,
-      std::string( "Hello world, שלום עולם, hello world." )
-    },
-    */
-    {
-      std::string( "Merge lines. Don't merge words" ),
-      std::string( "Hello world," ),
-      std::string( " this is a whole line" ),
-      0.f,
-      std::string( "Hello world, this is a whole line" )
-    },
-    {
-      std::string( "Merge lines. Merge words" ),
-      std::string( "Hello world, th" ),
-      std::string( "is is a whole line" ),
-      0.f,
-      std::string( "Hello world, this is a whole line" )
-    },
-  };
-  const std::size_t numberOfTests( 4 );
-
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const MergeLinesTest& test = mergeLinesTests[index];
-
-    if( !TestMergeLines( test.description, test.inputFirst, test.inputLast, test.lineHeightOffset, test.result, TEST_LOCATION ) )
-    {
-      tet_result( TET_FAIL );
-    }
-  }
-
-  tet_result( TET_PASS );
-}
-
-static void UtcDaliTextViewMergeLine02()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewMergeLine02 : ");
-
-  Toolkit::Internal::TextView::RelayoutData relayoutData01;
-  Toolkit::Internal::TextView::RelayoutData relayoutData02;
-  TextViewProcessor::TextLayoutInfo& textLayoutInfo01( relayoutData01.mTextLayoutInfo );
-  TextViewProcessor::TextLayoutInfo& textLayoutInfo02( relayoutData02.mTextLayoutInfo );
-
-  std::string text01( "Hello world\n" );
-  std::string text02( "hello world" );
-  MarkupProcessor::StyledTextArray styledText01;
-  MarkupProcessor::StyledTextArray styledText02;
-  MarkupProcessor::GetStyledTextArray( text01, styledText01, true );
-  MarkupProcessor::GetStyledTextArray( text02, styledText02, true );
-
-  TextViewProcessor::CreateTextInfo( styledText01,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     relayoutData01 );
-
-  TextViewProcessor::LineLayoutInfo lineLayoutInfo01;
-
-  lineLayoutInfo01 = *textLayoutInfo01.mLinesLayoutInfo.begin();
-
-  TextViewProcessor::CreateTextInfo( styledText02,
-                                     DEFAULT_LAYOUT_PARAMETERS,
-                                     relayoutData02 );
-
-  TextViewProcessor::LineLayoutInfo lineLayoutInfo02;
-
-  lineLayoutInfo02 = *textLayoutInfo02.mLinesLayoutInfo.begin();
-
-  bool assert1 = false;
-
-  try
-  {
-    MergeLine( lineLayoutInfo01,
-               lineLayoutInfo02 );
-  }
-  catch( Dali::DaliException& e )
-  {
-    tet_printf( "Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str() );
-    DALI_TEST_EQUALS( e.mCondition, "!\"TextViewProcessor::MergeLine(). ERROR: A line can't be merged to another line which finishes with a new line character.\"", TEST_LOCATION );
-    assert1 = true;
-  }
-
-  if( assert1 )
-  {
-    tet_result( TET_PASS );
-  }
-  else
-  {
-    tet_result( TET_FAIL );
-  }
-}
-
-void UtcDaliTextViewRemoveCharactersFromWord()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewMergeWord02 : ");
-
-  struct RemoveCharactersFromWordTest removeCharactersFromWordTests[] =
-  {
-    {
-      std::string( "Delete 0 characters." ),
-      std::string( "Hello" ),
-      3,
-      0,
-      std::string( "Hello" ),
-    },
-    {
-      std::string( "Delete within the same group of characters. Starting from the beginning" ),
-      std::string( "Hello" ),
-      0,
-      3,
-      std::string( "lo" ),
-    },
-    {
-      std::string( "Delete within the same group of characters. Somewhere in the middle" ),
-      std::string( "Hello" ),
-      2,
-      2,
-      std::string( "Heo" ),
-    },
-    {
-      std::string( "Delete within the same group of characters. Starting somewhere in the middle to the end" ),
-      std::string( "Hello" ),
-      3,
-      2,
-      std::string( "Hel" ),
-    },
-    {
-      std::string( "Delete within the same group of characters. Finish just before a new one." ),
-      std::string( "<font size='10'>Hel</font><font size='20'>loWo</font><font size='30'>rld</font>" ),
-      1,
-      2,
-      std::string( "<font size='10'>H</font><font size='20'>loWo</font><font size='30'>rld</font>" ),
-    },
-    {
-      std::string( "Delete starting in one group of characters and finishing in a different one. No merge of groups." ),
-      std::string( "<font size='10'>Hel</font><font size='20'>loWo</font><font size='30'>rld</font>" ),
-      2,
-      3,
-      std::string( "<font size='10'>He</font><font size='20'>Wo</font><font size='30'>rld</font>" ),
-    },
-    {
-      std::string( "Delete within the same group of characters. Starting just after a different one." ),
-      std::string( "<font size='10'>Hel</font><font size='20'>loWo</font><font size='30'>rld</font>" ),
-      7,
-      2,
-      std::string( "<font size='10'>Hel</font><font size='20'>loWo</font><font size='30'>d</font>" ),
-    },
-    {
-      std::string( "Delete whole group of characters. No merge" ),
-      std::string( "<font size='10'>Hel</font><font size='20'>loWo</font><font size='30'>rld</font>" ),
-      3,
-      4,
-      std::string( "<font size='10'>Hel</font><font size='30'>rld</font>" ),
-    },
-    {
-      std::string( "Delete whole group of characters and part of the adjacent ones. No merge" ),
-      std::string( "<font size='10'>Hel</font><font size='20'>loWo</font><font size='30'>rld</font>" ),
-      2,
-      6,
-      std::string( "<font size='10'>He</font><font size='30'>ld</font>" ),
-    },
-    {
-      std::string( "Delete whole group of characters. Merge" ),
-      std::string( "<font size='10'>Hel</font><font size='20'>loWo</font><font size='10'>rld</font>" ),
-      3,
-      4,
-      std::string( "<font size='10'>Helrld</font>" ),
-    },
-    {
-      std::string( "Delete whole group of characters and part of the adjacent ones. Merge" ),
-      std::string( "<font size='10'>Hel</font><font size='20'>loWo</font><font size='10'>rld</font>" ),
-      2,
-      6,
-      std::string( "<font size='10'>Held</font>" ),
-    },
-  };
-  const std::size_t numberOfTests( 11 );
-
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const RemoveCharactersFromWordTest& test = removeCharactersFromWordTests[index];
-
-    if( !TestRemoveCharactersFromWord( test.description, test.input, test.position, test.numberOfCharacters, test.result, TEST_LOCATION ) )
-    {
-      tet_result( TET_FAIL );
-    }
-  }
-
-  tet_result( TET_PASS );
-}
-
-static void UtcDaliTextViewRemoveWordsFromGroup()
-{
-  // Note: Currently RemoveWordsFromWordGroup() function is only used to remove a number of words from the beginning, or
-  //       from a given index to the end. RemoveWordsFromWordGroup() doesn't merge words (if a white space is removed) so
-  //       tehere isn't any TET case to cover these cases. To be done if needed.
-
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewRemoveWordsFromGroup : ");
-  struct RemoveWordsFromGroupTest removeWordsFromGroupTests[] =
-  {
-    {
-      std::string( "Delete 0 words." ),
-      std::string( "Hello world, hello world" ),
-      3,
-      0,
-      std::string( "Hello world, hello world" ),
-    },
-    {
-      std::string( "Delete some words in the middle. Don't merge words" ),
-      std::string( "<font size='10'>Hel</font><font size='20'>lo wo</font><font size='30'>rld, hello world</font>" ),
-      1,
-      4,
-      std::string( "<font size='10'>Hel</font><font size='20'>lo</font><font size='30'> world</font>" ),
-    },
-    {
-      std::string( "Delete words up to the end" ),
-      std::string( "<font size='10'>Hel</font><font size='20'>lo wo</font><font size='30'>rld, hello world</font>" ),
-      5,
-      2,
-      std::string( "<font size='10'>Hel</font><font size='20'>lo wo</font><font size='30'>rld, hello</font>" ),
-    },
-    {
-      std::string( "Delete words from the beginning." ),
-      std::string( "Hello world, hello world" ),
-      0,
-      3,
-      std::string( " hello world" ),
-    },
-  };
-  const std::size_t numberOfTests( 4 );
-
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const RemoveWordsFromGroupTest& test = removeWordsFromGroupTests[index];
-
-    if( !TestRemoveWordsFromGroup( test.description, test.input, test.wordIndex, test.numberOfWords, test.result, TEST_LOCATION ) )
-    {
-      tet_result( TET_FAIL );
-    }
-  }
-
-  tet_result( TET_PASS );
-}
-
-static void UtcDaliTextViewRemoveGroupsFromLine()
-{
-  // Note: Currently RemoveWordGroupsFromLine() function is only used to remove a number of group of words from the beginning, or
-  //       from a given index to the end. RemoveWordGroupsFromLine() doesn't merge groups of words (if a whole group of words is removed) so
-  //       tehere isn't any TET case to cover these cases. To be done if needed.
-
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextViewRemoveGroupsFromLine : ");
-  struct RemoveGroupsFromLineTest removeGroupsFromLineTests[] =
-  {
-    {
-      std::string( "Delete 0 groups of words." ),
-      std::string( "Hello hello, שלום עולם hello hello" ),
-      1,
-      0,
-      2.f,
-      std::string( "Hello hello, שלום עולם hello hello" ),
-    },
-    {
-      std::string( "Delete from the middle to the end." ),
-      std::string( "Hello hello, שלום עולם hello hello" ),
-      1,
-      2,
-      0.f,
-      std::string( "Hello hello, " ),
-    },
-    {
-      std::string( "Delete from the beginning to the middle." ),
-      std::string( "Hello hello, שלום עולם hello hello" ),
-      0,
-      2,
-      6.f,
-      std::string( "hello hello" ),
-    },
-  };
-  const std::size_t numberOfTests( 3 );
-
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const RemoveGroupsFromLineTest& test = removeGroupsFromLineTests[index];
-
-    if( !TestRemoveGroupsFromLine( test.description, test.input, test.groupIndex, test.numberOfGroups, test.lineHeightOffset, test.result, TEST_LOCATION ) )
-    {
-      tet_result( TET_FAIL );
-    }
-  }
-
-  tet_result( TET_PASS );
-}
diff --git a/automated-tests/TET/dali-internal-test-suite/utc-MODULE-CLASS.cpp.in b/automated-tests/TET/dali-internal-test-suite/utc-MODULE-CLASS.cpp.in
deleted file mode 100644 (file)
index 2467239..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-// Internal headers are allowed here
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-using namespace Dali::Toolkit::Internal;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( Utc@MODULE@@CLASS@Method01, POSITIVE_TC_IDX );
-TEST_FUNCTION( Utc@MODULE@@CLASS@Method02, NEGATIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-
-// Positive test case for a method
-static void Utc@MODULE@@CLASS@Method01()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Journaled printf Output");
-  tet_result(TET_FAIL);
-#if 0
-  tet_result(TET_PASS);
-#endif
-}
-
-
-// Negative test case for a method
-static void Utc@MODULE@@CLASS@Method02()
-{
-  ToolkitTestApplication application;  // Exceptions require ToolkitTestApplication
-
-  try
-  {
-    /* My test code and results */
-    DALI_TEST_EQUALS(myVar, expectedValue, TEST_LOCATION);
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_EQUALS(e.mCondition, "assert conditional", TEST_LOCATION);
-  }
-}
-
diff --git a/automated-tests/TET/dali-test-suite/.gitignore b/automated-tests/TET/dali-test-suite/.gitignore
deleted file mode 100644 (file)
index 45486c6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-utc-Dali-ScrollViewEffect
diff --git a/automated-tests/TET/dali-test-suite/alignment/.gitignore b/automated-tests/TET/dali-test-suite/alignment/.gitignore
deleted file mode 100644 (file)
index 31af42e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-utc-Dali-Alignment
diff --git a/automated-tests/TET/dali-test-suite/alignment/Makefile b/automated-tests/TET/dali-test-suite/alignment/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/alignment/file.list b/automated-tests/TET/dali-test-suite/alignment/file.list
deleted file mode 100644 (file)
index 7a4d9f1..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGETS += \
-       utc-Dali-Alignment \
diff --git a/automated-tests/TET/dali-test-suite/alignment/tslist b/automated-tests/TET/dali-test-suite/alignment/tslist
deleted file mode 100644 (file)
index 76ce95e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/dali-test-suite/alignment/utc-Dali-Alignment
diff --git a/automated-tests/TET/dali-test-suite/alignment/utc-Dali-Alignment.cpp b/automated-tests/TET/dali-test-suite/alignment/utc-Dali-Alignment.cpp
deleted file mode 100644 (file)
index faeba71..0000000
+++ /dev/null
@@ -1,1127 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali/integration-api/events/key-event-integ.h>
-#include <dali/integration-api/events/touch-event-integ.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-namespace
-{
-static bool gObjectCreatedCallBackCalled;
-
-static void TestCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-}
-} // namespace
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliAlignmentConstructorNegative, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliAlignmentConstructorPositive, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliAlignmentConstructorRegister, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliAlignmentSetAlignmentTypePositiveOffStage, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliAlignmentSetAlignmentTypePositiveOnStage, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliAlignmentSetAlignmentTypeNegative, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliAlignmentGetAlignmentType, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliAlignmentSetScaling, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliAlignmentGetScaling, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliAlignmentSetPaddingPositive, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliAlignmentSetPaddingNegative, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliAlignmentGetPadding, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliAlignmentChildAddAndRemove, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliAlignmentOnSizeSet, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliAlignmentOnTouchEvent, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliAlignmentOnKeyEvent, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliAlignmentOnSizeAnimation, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliAlignmentCopyAndAssignment, POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliAlignmentConstructorNegative()
-{
-  ToolkitTestApplication application;
-
-  Alignment alignment;
-
-  try
-  {
-    Alignment::Padding padding;
-    alignment.SetPadding(padding);
-    tet_result(TET_FAIL);
-  }
-  catch (DaliException& exception)
-  {
-    if (exception.mCondition == "alignment")
-    {
-      tet_result(TET_PASS);
-    }
-  }
-}
-
-static void UtcDaliAlignmentConstructorPositive()
-{
-  ToolkitTestApplication application;
-
-  Alignment alignment = Alignment::New();
-
-  try
-  {
-    Alignment::Padding padding;
-    alignment.SetPadding(padding);
-    tet_result(TET_PASS);
-  }
-  catch (DaliException& exception)
-  {
-    tet_result(TET_FAIL);
-  }
-
-  Actor actor = alignment;
-  alignment = Alignment::DownCast( actor );
-
-  DALI_TEST_CHECK( alignment );
-}
-
-static void UtcDaliAlignmentConstructorRegister()
-{
-  ToolkitTestApplication application;
-
-  //Te ensure the object is registered after creation
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect(&TestCallback);
-  {
-    Alignment alignment = Alignment::New();
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-}
-
-static void UtcDaliAlignmentSetAlignmentTypePositiveOffStage()
-{
-  ToolkitTestApplication application;
-
-  // Default, HorizontalCenter, VerticalCenter - Ensure they do not change!
-  {
-    Alignment alignment = Alignment::New();
-
-    // Check default values
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-
-    Alignment::Type type(Alignment::Type(Alignment::HorizontalCenter | Alignment::VerticalCenter));
-    alignment.SetAlignmentType(type);
-    DALI_TEST_CHECK(alignment.GetAlignmentType() & type);
-  }
-
-  // HorizontalLeft, VerticalCenter
-  {
-    Alignment alignment = Alignment::New();
-
-    // Check default values
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-
-    Alignment::Type type(Alignment::HorizontalLeft);
-    alignment.SetAlignmentType(type);
-    DALI_TEST_CHECK(alignment.GetAlignmentType() & type);
-  }
-
-  // HorizontalRight, VerticalCenter
-  {
-    Alignment alignment = Alignment::New();
-
-    // Check default values
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-
-    Alignment::Type type(Alignment::HorizontalRight);
-    alignment.SetAlignmentType(type);
-    DALI_TEST_CHECK(alignment.GetAlignmentType() & type);
-  }
-
-  // HorizontalLeft, VerticalTop
-  {
-    Alignment alignment = Alignment::New();
-
-    // Check default values
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-
-    Alignment::Type type(Alignment::Type(Alignment::HorizontalLeft | Alignment::VerticalTop));
-    alignment.SetAlignmentType(type);
-    DALI_TEST_CHECK(alignment.GetAlignmentType() & type);
-  }
-
-  // HorizontalCenter, VerticalTop
-  {
-    Alignment alignment = Alignment::New();
-
-    // Check default values
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-
-    Alignment::Type type(Alignment::VerticalTop);
-    alignment.SetAlignmentType(type);
-    DALI_TEST_CHECK(alignment.GetAlignmentType() & type);
-  }
-
-  // HorizontalRight, VerticalTop
-  {
-    Alignment alignment = Alignment::New();
-
-    // Check default values
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-
-    Alignment::Type type(Alignment::Type(Alignment::HorizontalRight | Alignment::VerticalTop));
-    alignment.SetAlignmentType(type);
-    DALI_TEST_CHECK(alignment.GetAlignmentType() & type);
-  }
-
-  // HorizontalLeft, VerticalBottom
-  {
-    Alignment alignment = Alignment::New();
-
-    // Check default values
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-
-    Alignment::Type type(Alignment::Type(Alignment::HorizontalLeft | Alignment::VerticalBottom));
-    alignment.SetAlignmentType(type);
-    DALI_TEST_CHECK(alignment.GetAlignmentType() & type);
-  }
-
-  // HorizontalCenter, VerticalBottom
-  {
-    Alignment alignment = Alignment::New();
-
-    // Check default values
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-
-    Alignment::Type type(Alignment::VerticalBottom);
-    alignment.SetAlignmentType(type);
-    DALI_TEST_CHECK(alignment.GetAlignmentType() & type);
-  }
-
-  // HorizontalRight, VerticalBottom
-  {
-    Alignment alignment = Alignment::New();
-
-    // Check default values
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-
-    Alignment::Type type(Alignment::Type(Alignment::HorizontalRight | Alignment::VerticalBottom));
-    alignment.SetAlignmentType(type);
-    DALI_TEST_CHECK(alignment.GetAlignmentType() & type);
-  }
-}
-
-static void UtcDaliAlignmentSetAlignmentTypePositiveOnStage()
-{
-  ToolkitTestApplication application;
-
-  // Default, HorizontalCenter, VerticalCenter - Ensure they do not change!
-  {
-    Alignment alignment = Alignment::New();
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-
-    // Check default values
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-
-    Alignment::Type type(Alignment::Type(Alignment::HorizontalCenter | Alignment::VerticalCenter));
-    alignment.SetAlignmentType(type);
-    DALI_TEST_CHECK(alignment.GetAlignmentType() & type);
-
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-
-  // HorizontalLeft, VerticalCenter
-  {
-    Alignment alignment = Alignment::New();
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-
-    // Check default values
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-
-    Alignment::Type type(Alignment::HorizontalLeft);
-    alignment.SetAlignmentType(type);
-    DALI_TEST_CHECK(alignment.GetAlignmentType() & type);
-
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-
-  // HorizontalRight, VerticalCenter
-  {
-    Alignment alignment = Alignment::New();
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-
-    // Check default values
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-
-    Alignment::Type type(Alignment::HorizontalRight);
-    alignment.SetAlignmentType(type);
-    DALI_TEST_CHECK(alignment.GetAlignmentType() & type);
-
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-
-  // HorizontalLeft, VerticalTop
-  {
-    Alignment alignment = Alignment::New();
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-
-    // Check default values
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-
-    Alignment::Type type(Alignment::Type(Alignment::HorizontalLeft | Alignment::VerticalTop));
-    alignment.SetAlignmentType(type);
-    DALI_TEST_CHECK(alignment.GetAlignmentType() & type);
-
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-
-  // HorizontalCenter, VerticalTop
-  {
-    Alignment alignment = Alignment::New();
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-
-    // Check default values
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-
-    Alignment::Type type(Alignment::VerticalTop);
-    alignment.SetAlignmentType(type);
-    DALI_TEST_CHECK(alignment.GetAlignmentType() & type);
-
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-
-  // HorizontalRight, VerticalTop
-  {
-    Alignment alignment = Alignment::New();
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-
-    // Check default values
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-
-    Alignment::Type type(Alignment::Type(Alignment::HorizontalRight | Alignment::VerticalTop));
-    alignment.SetAlignmentType(type);
-    DALI_TEST_CHECK(alignment.GetAlignmentType() & type);
-
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-
-  // HorizontalLeft, VerticalBottom
-  {
-    Alignment alignment = Alignment::New();
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-
-    // Check default values
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-
-    Alignment::Type type(Alignment::Type(Alignment::HorizontalLeft | Alignment::VerticalBottom));
-    alignment.SetAlignmentType(type);
-    DALI_TEST_CHECK(alignment.GetAlignmentType() & type);
-
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-
-  // HorizontalCenter, VerticalBottom
-  {
-    Alignment alignment = Alignment::New();
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-
-    // Check default values
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-
-    Alignment::Type type(Alignment::VerticalBottom);
-    alignment.SetAlignmentType(type);
-    DALI_TEST_CHECK(alignment.GetAlignmentType() & type);
-
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-
-  // HorizontalRight, VerticalBottom
-  {
-    Alignment alignment = Alignment::New();
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-
-    // Check default values
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-
-    Alignment::Type type(Alignment::Type(Alignment::HorizontalRight | Alignment::VerticalBottom));
-    alignment.SetAlignmentType(type);
-    DALI_TEST_CHECK(alignment.GetAlignmentType() & type);
-
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-}
-
-static void UtcDaliAlignmentSetAlignmentTypeNegative()
-{
-  ToolkitTestApplication application;
-
-  // Setting HorizontalLeft, HorizontalCenter
-  {
-    Alignment alignment = Alignment::New();
-    Alignment::Type type(Alignment::Type(Alignment::HorizontalLeft | Alignment::HorizontalCenter));
-
-    try
-    {
-      alignment.SetAlignmentType(type);
-      tet_result(TET_FAIL);
-    }
-    catch (DaliException& exception)
-    {
-      if (exception.mCondition == "!horizontalSet")
-      {
-        tet_result(TET_PASS);
-      }
-    }
-  }
-
-  // Setting HorizontalCenter, HorizontalRight
-  {
-    Alignment alignment = Alignment::New();
-    Alignment::Type type(Alignment::Type(Alignment::HorizontalCenter | Alignment::HorizontalRight));
-
-    try
-    {
-      alignment.SetAlignmentType(type);
-      tet_result(TET_FAIL);
-    }
-    catch (DaliException& exception)
-    {
-      if (exception.mCondition == "!horizontalSet")
-      {
-        tet_result(TET_PASS);
-      }
-    }
-  }
-
-  // Setting VerticalTop, VerticalCenter
-  {
-    Alignment alignment = Alignment::New();
-    Alignment::Type type(Alignment::Type(Alignment::VerticalTop | Alignment::VerticalCenter));
-
-    try
-    {
-      alignment.SetAlignmentType(type);
-      tet_result(TET_FAIL);
-    }
-    catch (DaliException& exception)
-    {
-      if (exception.mCondition == "!verticalSet")
-      {
-        tet_result(TET_PASS);
-      }
-    }
-  }
-
-  // Setting VerticalCenter, VerticalBottom
-  {
-    Alignment alignment = Alignment::New();
-    Alignment::Type type(Alignment::Type(Alignment::VerticalTop | Alignment::VerticalBottom));
-
-    try
-    {
-      alignment.SetAlignmentType(type);
-      tet_result(TET_FAIL);
-    }
-    catch (DaliException& exception)
-    {
-      if (exception.mCondition == "!veritcalSet")
-      {
-        tet_result(TET_PASS);
-      }
-    }
-  }
-}
-
-static void UtcDaliAlignmentGetAlignmentType()
-{
-  ToolkitTestApplication application;
-
-  // Default, HorizonalCenter, VerticalCenter
-  {
-    Alignment alignment = Alignment::New();
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-
-  // HorizontalLeft, VerticalCenter
-  {
-    Alignment alignment = Alignment::New(Alignment::HorizontalLeft);
-    DALI_TEST_EQUALS(Alignment::HorizontalLeft | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-
-  // HorizontalRight, VerticalCenter
-  {
-    Alignment alignment = Alignment::New(Alignment::HorizontalRight);
-    DALI_TEST_EQUALS(Alignment::HorizontalRight | Alignment::VerticalCenter, alignment.GetAlignmentType(), TEST_LOCATION);
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-
-  // HorizontalLeft, VerticalTop
-  {
-    Alignment alignment = Alignment::New(Alignment::HorizontalLeft, Alignment::VerticalTop);
-    DALI_TEST_EQUALS(Alignment::HorizontalLeft | Alignment::VerticalTop, alignment.GetAlignmentType(), TEST_LOCATION);
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-
-  // HorizontalCenter, VerticalTop
-  {
-    Alignment alignment = Alignment::New(Alignment::HorizontalCenter, Alignment::VerticalTop);
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalTop, alignment.GetAlignmentType(), TEST_LOCATION);
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-
-  // HorizontalRight, VerticalTop
-  {
-    Alignment alignment = Alignment::New(Alignment::HorizontalRight, Alignment::VerticalTop);
-    DALI_TEST_EQUALS(Alignment::HorizontalRight | Alignment::VerticalTop, alignment.GetAlignmentType(), TEST_LOCATION);
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-
-  // HorizontalLeft, VerticalBottom
-  {
-    Alignment alignment = Alignment::New(Alignment::HorizontalLeft, Alignment::VerticalBottom);
-    DALI_TEST_EQUALS(Alignment::HorizontalLeft | Alignment::VerticalBottom, alignment.GetAlignmentType(), TEST_LOCATION);
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-
-  // HorizontalCenter, VerticalBottom
-  {
-    Alignment alignment = Alignment::New(Alignment::HorizontalCenter, Alignment::VerticalBottom);
-    DALI_TEST_EQUALS(Alignment::HorizontalCenter | Alignment::VerticalBottom, alignment.GetAlignmentType(), TEST_LOCATION);
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-
-  // HorizontalRight, VerticalBottom
-  {
-    Alignment alignment = Alignment::New(Alignment::HorizontalRight, Alignment::VerticalBottom);
-    DALI_TEST_EQUALS(Alignment::HorizontalRight | Alignment::VerticalBottom, alignment.GetAlignmentType(), TEST_LOCATION);
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-}
-
-static void UtcDaliAlignmentSetScaling()
-{
-  ToolkitTestApplication application;
-
-  // ScaleToFill
-  {
-    Alignment alignment = Alignment::New();
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-
-    DALI_TEST_EQUALS(Alignment::ScaleNone, alignment.GetScaling(), TEST_LOCATION);
-    alignment.SetScaling(Alignment::ScaleToFill);
-    DALI_TEST_EQUALS(Alignment::ScaleToFill, alignment.GetScaling(), TEST_LOCATION);
-    application.Render();
-    application.SendNotification();
-
-    // For complete line coverage
-    alignment.SetAlignmentType(Alignment::HorizontalLeft);
-    application.Render();
-    application.SendNotification();
-    alignment.SetAlignmentType(Alignment::HorizontalRight);
-    application.Render();
-    application.SendNotification();
-    alignment.SetAlignmentType(Alignment::VerticalTop);
-    application.Render();
-    application.SendNotification();
-    alignment.SetAlignmentType(Alignment::VerticalBottom);
-    application.Render();
-    application.SendNotification();
-
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-
-  // ScaleToFitKeepAspect
-  {
-    Alignment alignment = Alignment::New();
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-
-    DALI_TEST_EQUALS(Alignment::ScaleNone, alignment.GetScaling(), TEST_LOCATION);
-    alignment.SetScaling(Alignment::ScaleToFitKeepAspect);
-    DALI_TEST_EQUALS(Alignment::ScaleToFitKeepAspect, alignment.GetScaling(), TEST_LOCATION);
-    application.Render();
-    application.SendNotification();
-
-    // For complete line coverage
-    alignment.SetAlignmentType(Alignment::HorizontalLeft);
-    application.Render();
-    application.SendNotification();
-    alignment.SetAlignmentType(Alignment::HorizontalRight);
-    application.Render();
-    application.SendNotification();
-    alignment.SetAlignmentType(Alignment::VerticalTop);
-    application.Render();
-    application.SendNotification();
-    alignment.SetAlignmentType(Alignment::VerticalBottom);
-    application.Render();
-    application.SendNotification();
-
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-
-  // ScaleToFillKeepAspect
-  {
-    Alignment alignment = Alignment::New();
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-
-    DALI_TEST_EQUALS(Alignment::ScaleNone, alignment.GetScaling(), TEST_LOCATION);
-    alignment.SetScaling(Alignment::ScaleToFillKeepAspect);
-    DALI_TEST_EQUALS(Alignment::ScaleToFillKeepAspect, alignment.GetScaling(), TEST_LOCATION);
-    application.Render();
-    application.SendNotification();
-
-    // For complete line coverage
-    alignment.SetAlignmentType(Alignment::HorizontalLeft);
-    application.Render();
-    application.SendNotification();
-    alignment.SetAlignmentType(Alignment::HorizontalRight);
-    application.Render();
-    application.SendNotification();
-    alignment.SetAlignmentType(Alignment::VerticalTop);
-    application.Render();
-    application.SendNotification();
-    alignment.SetAlignmentType(Alignment::VerticalBottom);
-    application.Render();
-    application.SendNotification();
-
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-
-  // ShrinkToFit
-  {
-    Alignment alignment = Alignment::New();
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-
-    DALI_TEST_EQUALS(Alignment::ScaleNone, alignment.GetScaling(), TEST_LOCATION);
-    alignment.SetScaling(Alignment::ShrinkToFit);
-    DALI_TEST_EQUALS(Alignment::ShrinkToFit, alignment.GetScaling(), TEST_LOCATION);
-    application.Render();
-    application.SendNotification();
-
-    // For complete line coverage
-    alignment.SetAlignmentType(Alignment::HorizontalLeft);
-    application.Render();
-    application.SendNotification();
-    alignment.SetAlignmentType(Alignment::HorizontalRight);
-    application.Render();
-    application.SendNotification();
-    alignment.SetAlignmentType(Alignment::VerticalTop);
-    application.Render();
-    application.SendNotification();
-    alignment.SetAlignmentType(Alignment::VerticalBottom);
-    application.Render();
-    application.SendNotification();
-
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-
-  // ShrinkToFitKeepAspect
-  {
-    Alignment alignment = Alignment::New();
-    alignment.Add(RenderableActor::New());
-    Stage::GetCurrent().Add(alignment);
-    application.Render();
-    application.SendNotification();
-
-    DALI_TEST_EQUALS(Alignment::ScaleNone, alignment.GetScaling(), TEST_LOCATION);
-    alignment.SetScaling(Alignment::ShrinkToFitKeepAspect);
-    DALI_TEST_EQUALS(Alignment::ShrinkToFitKeepAspect, alignment.GetScaling(), TEST_LOCATION);
-    application.Render();
-    application.SendNotification();
-
-    // For complete line coverage
-    alignment.SetAlignmentType(Alignment::HorizontalLeft);
-    application.Render();
-    application.SendNotification();
-    alignment.SetAlignmentType(Alignment::HorizontalRight);
-    application.Render();
-    application.SendNotification();
-    alignment.SetAlignmentType(Alignment::VerticalTop);
-    application.Render();
-    application.SendNotification();
-    alignment.SetAlignmentType(Alignment::VerticalBottom);
-    application.Render();
-    application.SendNotification();
-
-    Stage::GetCurrent().Remove(alignment);
-    application.Render();
-    application.SendNotification();
-  }
-}
-
-static void UtcDaliAlignmentGetScaling()
-{
-  ToolkitTestApplication application;
-
-  // ScaleToFill
-  {
-    Alignment alignment = Alignment::New();
-    DALI_TEST_CHECK(alignment.GetScaling() == Alignment::ScaleNone);
-
-    alignment.SetScaling(Alignment::ScaleToFill);
-    DALI_TEST_CHECK(alignment.GetScaling() == Alignment::ScaleToFill);
-  }
-
-  // ScaleToFitKeepAspect
-  {
-    Alignment alignment = Alignment::New();
-    DALI_TEST_CHECK(alignment.GetScaling() == Alignment::ScaleNone);
-
-    alignment.SetScaling(Alignment::ScaleToFitKeepAspect);
-    DALI_TEST_CHECK(alignment.GetScaling() == Alignment::ScaleToFitKeepAspect);
-  }
-
-  // ScaleToFillKeepAspect
-  {
-    Alignment alignment = Alignment::New();
-    DALI_TEST_CHECK(alignment.GetScaling() == Alignment::ScaleNone);
-
-    alignment.SetScaling(Alignment::ScaleToFillKeepAspect);
-    DALI_TEST_CHECK(alignment.GetScaling() == Alignment::ScaleToFillKeepAspect);
-  }
-
-  // ShrinkToFit
-  {
-    Alignment alignment = Alignment::New();
-    DALI_TEST_CHECK(alignment.GetScaling() == Alignment::ScaleNone);
-
-    alignment.SetScaling(Alignment::ShrinkToFit);
-    DALI_TEST_CHECK(alignment.GetScaling() == Alignment::ShrinkToFit);
-  }
-
-  // ShrinkToFitKeepAspect
-  {
-    Alignment alignment = Alignment::New();
-    DALI_TEST_CHECK(alignment.GetScaling() == Alignment::ScaleNone);
-
-    alignment.SetScaling(Alignment::ShrinkToFitKeepAspect);
-    DALI_TEST_CHECK(alignment.GetScaling() == Alignment::ShrinkToFitKeepAspect);
-  }
-
-}
-
-static void UtcDaliAlignmentSetPaddingPositive()
-{
-  ToolkitTestApplication application;
-
-  Alignment alignment = Alignment::New();
-
-  Alignment::Padding padding(1.0f, 1.5f, 2.f, 0.5f);
-  DALI_TEST_CHECK( fabs( padding.left - alignment.GetPadding().left ) > GetRangedEpsilon( padding.left, alignment.GetPadding().left ) );
-  DALI_TEST_CHECK( fabs( padding.right - alignment.GetPadding().right ) > GetRangedEpsilon( padding.right, alignment.GetPadding().right ) );
-  DALI_TEST_CHECK( fabs( padding.top - alignment.GetPadding().top ) > GetRangedEpsilon( padding.top, alignment.GetPadding().top ) );
-  DALI_TEST_CHECK( fabs( padding.bottom - alignment.GetPadding().bottom ) > GetRangedEpsilon( padding.bottom, alignment.GetPadding().bottom ) );
-
-  alignment.SetPadding(padding);
-  DALI_TEST_CHECK( fabs( padding.left - alignment.GetPadding().left ) < GetRangedEpsilon( padding.left, alignment.GetPadding().left ) );
-  DALI_TEST_CHECK( fabs( padding.right - alignment.GetPadding().right ) < GetRangedEpsilon( padding.right, alignment.GetPadding().right ) );
-  DALI_TEST_CHECK( fabs( padding.top - alignment.GetPadding().top ) < GetRangedEpsilon( padding.top, alignment.GetPadding().top ) );
-  DALI_TEST_CHECK( fabs( padding.bottom - alignment.GetPadding().bottom ) < GetRangedEpsilon( padding.bottom, alignment.GetPadding().bottom ) );
-}
-
-static void UtcDaliAlignmentSetPaddingNegative()
-{
-  ToolkitTestApplication application;
-
-  Alignment alignment = Alignment::New();
-
-  try
-  {
-    Alignment::Padding padding(-1.0f, 1.5f, 2.f, 0.f);
-    alignment.SetPadding(padding);
-    tet_result(TET_FAIL);
-  }
-  catch (DaliException& exception)
-  {
-    if (exception.mCondition == "( padding.left >= 0.f ) && ( padding.top >= 0.f ) && ( padding.right >= 0.f ) && ( padding.bottom >= 0.f )")
-    {
-      tet_result(TET_PASS);
-    }
-  }
-
-  try
-  {
-    Alignment::Padding padding(1.0f, 1.5f, -2.f, 0.f);
-    alignment.SetPadding(padding);
-    tet_result(TET_FAIL);
-  }
-  catch (DaliException& exception)
-  {
-    if (exception.mCondition == "( padding.left >= 0.f ) && ( padding.top >= 0.f ) && ( padding.right >= 0.f ) && ( padding.bottom >= 0.f )")
-    {
-      tet_result(TET_PASS);
-    }
-  }
-
-  try
-  {
-    Alignment::Padding padding(1.0f, 1.5f, 2.f, -1.f);
-    alignment.SetPadding(padding);
-    tet_result(TET_FAIL);
-  }
-  catch (DaliException& exception)
-  {
-    if (exception.mCondition == "( padding.left >= 0.f ) && ( padding.top >= 0.f ) && ( padding.right >= 0.f ) && ( padding.bottom >= 0.f )")
-    {
-      tet_result(TET_PASS);
-    }
-  }
-
-  try
-  {
-    Alignment::Padding padding(1.0f, -1.5f, 2.f, 0.f);
-    alignment.SetPadding(padding);
-    tet_result(TET_FAIL);
-  }
-  catch (DaliException& exception)
-  {
-    if (exception.mCondition == "( padding.left >= 0.f ) && ( padding.top >= 0.f ) && ( padding.right >= 0.f ) && ( padding.bottom >= 0.f )")
-    {
-      tet_result(TET_PASS);
-    }
-  }
-}
-
-static void UtcDaliAlignmentGetPadding()
-{
-  ToolkitTestApplication application;
-
-  Alignment alignment = Alignment::New();
-  DALI_TEST_CHECK( fabs( alignment.GetPadding().left ) < GetRangedEpsilon( 0.f, alignment.GetPadding().left ) );
-  DALI_TEST_CHECK( fabs( alignment.GetPadding().right ) < GetRangedEpsilon( 0.f, alignment.GetPadding().right ) );
-  DALI_TEST_CHECK( fabs( alignment.GetPadding().top ) < GetRangedEpsilon( 0.f, alignment.GetPadding().top ) );
-  DALI_TEST_CHECK( fabs( alignment.GetPadding().bottom ) < GetRangedEpsilon( 0.f, alignment.GetPadding().bottom ) );
-
-  Alignment::Padding padding(1.0f, 1.5f, 2.f, 0.f);
-  alignment.SetPadding(padding);
-  DALI_TEST_CHECK( fabs( padding.left - alignment.GetPadding().left ) < GetRangedEpsilon( padding.left, alignment.GetPadding().left ) );
-  DALI_TEST_CHECK( fabs( padding.right - alignment.GetPadding().right ) < GetRangedEpsilon( padding.right, alignment.GetPadding().right ) );
-  DALI_TEST_CHECK( fabs( padding.top - alignment.GetPadding().top ) < GetRangedEpsilon( padding.top, alignment.GetPadding().top ) );
-  DALI_TEST_CHECK( fabs( padding.bottom - alignment.GetPadding().bottom ) < GetRangedEpsilon( padding.bottom, alignment.GetPadding().bottom ) );
-}
-
-static void UtcDaliAlignmentChildAddAndRemove()
-{
-  ToolkitTestApplication application;
-
-  Alignment alignment = Alignment::New();
-  Stage::GetCurrent().Add(alignment);
-
-  application.Render();
-  application.SendNotification();
-
-  Actor actor = RenderableActor::New();
-  alignment.Add(actor);
-
-  DALI_TEST_EQUALS(alignment.GetChildCount(), 1u, TEST_LOCATION);
-
-  application.Render();
-  application.SendNotification();
-
-  alignment.Remove(actor);
-
-  DALI_TEST_EQUALS(alignment.GetChildCount(), 0u, TEST_LOCATION);
-
-  application.Render();
-  application.SendNotification();
-
-  Stage::GetCurrent().Remove(alignment);
-}
-
-static void UtcDaliAlignmentOnSizeSet()
-{
-  ToolkitTestApplication application;
-
-  Alignment alignment = Alignment::New();
-  Stage::GetCurrent().Add(alignment);
-
-  application.Render();
-  application.SendNotification();
-
-  Vector3 size(100.0f, 200.0f, 0.0f);
-  alignment.SetSize(size);
-
-  application.Render();
-  application.SendNotification();
-  application.Render();
-  application.SendNotification();
-
-  DALI_TEST_EQUALS(size, alignment.GetImplementation().GetControlSize(), TEST_LOCATION);
-
-  Stage::GetCurrent().Remove(alignment);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-static bool TouchEventCallback(Actor actor, const TouchEvent& event)
-{
-  return false;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-
-static void UtcDaliAlignmentOnTouchEvent()
-{
-  ToolkitTestApplication application;
-
-  Alignment alignment = Alignment::New();
-  alignment.SetSize(100.0f, 100.0f);
-  alignment.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-  Stage::GetCurrent().Add(alignment);
-
-  alignment.TouchedSignal().Connect(&TouchEventCallback);
-
-  application.Render();
-  application.SendNotification();
-  application.Render();
-  application.SendNotification();
-
-  Integration::TouchEvent touchEvent(1);
-  TouchPoint point(1, TouchPoint::Down, 20.0f, 20.0f);
-  touchEvent.AddPoint(point);
-  application.ProcessEvent(touchEvent);
-
-  tet_result(TET_PASS); // For line coverage, as long as there are no exceptions, we assume passed.
-}
-
-static void UtcDaliAlignmentOnKeyEvent()
-{
-  ToolkitTestApplication application;
-
-  Alignment alignment = Alignment::New();
-  Stage::GetCurrent().Add(alignment);
-
-  alignment.SetKeyInputFocus();
-
-  application.Render();
-  application.SendNotification();
-  application.Render();
-  application.SendNotification();
-
-  Integration::KeyEvent keyEvent;
-  application.ProcessEvent(keyEvent);
-
-  tet_result(TET_PASS); // For line coverage, as long as there are no exceptions, we assume passed.
-}
-
-static void UtcDaliAlignmentOnSizeAnimation()
-{
-  ToolkitTestApplication application;
-
-  Alignment alignment = Alignment::New();
-  Stage::GetCurrent().Add(alignment);
-
-  Animation animation = Animation::New(100.0f);
-  animation.Resize(alignment, Vector3(100.0f, 150.0f, 200.0f));
-  animation.Play();
-
-  application.Render();
-  application.SendNotification();
-  application.Render();
-  application.SendNotification();
-
-  tet_result(TET_PASS); // For line coverage, as long as there are no exceptions, we assume passed.
-}
-
-static void UtcDaliAlignmentCopyAndAssignment()
-{
-  ToolkitTestApplication application;
-
-  Alignment alignment = Alignment::New();
-  Alignment emptyAlignment;
-
-  Alignment::Padding padding(100.0f, 150.0f, 200.f, 0.f);
-  alignment.SetPadding(padding);
-
-  Alignment alignmentCopy(alignment);
-  DALI_TEST_CHECK( fabs( padding.left - alignmentCopy.GetPadding().left ) < GetRangedEpsilon( padding.left, alignmentCopy.GetPadding().left ) );
-  DALI_TEST_CHECK( fabs( padding.right - alignmentCopy.GetPadding().right ) < GetRangedEpsilon( padding.right, alignmentCopy.GetPadding().right ) );
-  DALI_TEST_CHECK( fabs( padding.top - alignmentCopy.GetPadding().top ) < GetRangedEpsilon( padding.top, alignmentCopy.GetPadding().top ) );
-  DALI_TEST_CHECK( fabs( padding.bottom - alignmentCopy.GetPadding().bottom ) < GetRangedEpsilon( padding.bottom, alignmentCopy.GetPadding().bottom ) );
-
-  Alignment alignmentEmptyCopy(emptyAlignment);
-  DALI_TEST_CHECK(emptyAlignment == alignmentEmptyCopy);
-
-  Alignment alignmentEquals;
-  alignmentEquals = alignment;
-  DALI_TEST_CHECK( fabs( padding.left - alignmentEquals.GetPadding().left ) < GetRangedEpsilon( padding.left, alignmentEquals.GetPadding().left ) );
-  DALI_TEST_CHECK( fabs( padding.right - alignmentEquals.GetPadding().right ) < GetRangedEpsilon( padding.right, alignmentEquals.GetPadding().right ) );
-  DALI_TEST_CHECK( fabs( padding.top - alignmentEquals.GetPadding().top ) < GetRangedEpsilon( padding.top, alignmentEquals.GetPadding().top ) );
-  DALI_TEST_CHECK( fabs( padding.bottom - alignmentEquals.GetPadding().bottom ) < GetRangedEpsilon( padding.bottom, alignmentEquals.GetPadding().bottom ) );
-
-  Alignment alignmentEmptyEquals;
-  alignmentEmptyEquals = emptyAlignment;
-  DALI_TEST_CHECK(emptyAlignment == alignmentEmptyEquals);
-
-  // Self assignment
-  alignment = alignment;
-  DALI_TEST_CHECK(alignment == alignmentCopy);
-}
diff --git a/automated-tests/TET/dali-test-suite/bubble-emitter/.gitignore b/automated-tests/TET/dali-test-suite/bubble-emitter/.gitignore
deleted file mode 100644 (file)
index f514af1..0000000
+++ /dev/null
@@ -1 +0,0 @@
-utc-Dali-BubbleEmitter
diff --git a/automated-tests/TET/dali-test-suite/bubble-emitter/Makefile b/automated-tests/TET/dali-test-suite/bubble-emitter/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/bubble-emitter/file.list b/automated-tests/TET/dali-test-suite/bubble-emitter/file.list
deleted file mode 100644 (file)
index 2d1ab31..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGETS += \
-        utc-Dali-BubbleEmitter \
diff --git a/automated-tests/TET/dali-test-suite/bubble-emitter/tslist b/automated-tests/TET/dali-test-suite/bubble-emitter/tslist
deleted file mode 100644 (file)
index c73cb09..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/dali-test-suite/bubble-emitter/utc-Dali-BubbleEmitter
diff --git a/automated-tests/TET/dali-test-suite/bubble-emitter/utc-Dali-BubbleEmitter.cpp b/automated-tests/TET/dali-test-suite/bubble-emitter/utc-Dali-BubbleEmitter.cpp
deleted file mode 100644 (file)
index 620504f..0000000
+++ /dev/null
@@ -1,423 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-namespace
-{
-const int RENDER_FRAME_INTERVAL = 16;
-
-static bool gObjectCreatedCallBackCalled;
-static void TestCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-}
-
-/*
- * Simulate time passed by.
- *
- * @note this will always process at least 1 frame (1/60 sec)
- *
- * @param application Test application instance
- * @param duration Time to pass in milliseconds.
- * @return The actual time passed in milliseconds
- */
-int Wait(ToolkitTestApplication& application, int duration = 0)
-{
-  int time = 0;
-
-  for(int i = 0; i <= ( duration / RENDER_FRAME_INTERVAL); i++)
-  {
-    application.SendNotification();
-    application.Render(RENDER_FRAME_INTERVAL);
-    time += RENDER_FRAME_INTERVAL;
-  }
-
-  return time;
-}
-
-Image CreateSolidColorImage( ToolkitTestApplication& application, const Vector4& color, unsigned int width, unsigned int height )
-{
-  BitmapImage imageData = BitmapImage::New( width, height, Pixel::RGBA8888 );
-
-  // Create the image
-  PixelBuffer* pixbuf = imageData.GetBuffer();
-  unsigned int size = width * height;
-
-  for( size_t i = 0; i < size; i++ )
-    {
-      pixbuf[i*4+0] = 0xFF * color.r;
-      pixbuf[i*4+1] = 0xFF * color.g;
-      pixbuf[i*4+2] = 0xFF * color.b;
-      pixbuf[i*4+3] = 0xFF * color.a;
-    }
-  imageData.Update();
-
-  application.GetGlAbstraction().SetCheckFramebufferStatusResult(GL_FRAMEBUFFER_COMPLETE );
-  application.SendNotification();
-  application.Render(RENDER_FRAME_INTERVAL);
-  application.Render(RENDER_FRAME_INTERVAL);
-  application.SendNotification();
-
-  return imageData;
-}
-}//namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliBubbleEmitterNew, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliBubbleEmitterGetRootActor, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliBubbleEmitterSetBackground, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliBubbleEmitterSetShapeImage, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliBubbleEmitterSetBubbleScale, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliBubbleEmitterSetBubbleDensity01, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliBubbleEmitterSetBubbleDensity02, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliBubbleEmitterSetBlendMode, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliBubbleEmitterEmitBubble, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliBubbleEmitterStartExplosion, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliBubbleEmitterRestore, POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliBubbleEmitterNew()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliBubbleEmitterNew ");
-
-  // Test default constructor
-  BubbleEmitter emitter;
-  DALI_TEST_CHECK( !emitter );
-
-  // Test object creation
-  Image shapeImage = CreateSolidColorImage( application, Color::GREEN, 5, 5 );
-  emitter = BubbleEmitter::New( Vector2(50.f,50.f),shapeImage, 200, Vector2( 5.f, 10.f ));
-  DALI_TEST_CHECK( emitter );
-
-  // Additional check to ensure object is created by checking if it's registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect( &TestCallback );
-  {
-    BubbleEmitter emitter = BubbleEmitter::New( Vector2(50.f,50.f),shapeImage, 200, Vector2( 5.f, 10.f ));
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-
-  // Test copy constructor
-  BubbleEmitter emitterCopy( emitter );
-  DALI_TEST_CHECK( emitterCopy );
-
-  // Test down cast
-  Handle handleEmitter;
-  handleEmitter = emitter;
-  BubbleEmitter downCastEmitter = BubbleEmitter::DownCast( handleEmitter );
-  DALI_TEST_CHECK( downCastEmitter );
-}
-
-static void UtcDaliBubbleEmitterGetRootActor()
-{
-  ToolkitTestApplication application;
-  tet_infoline( " UtcDaliBubbleEmitterGetRootActor " );
-
-  Image shapeImage = CreateSolidColorImage( application, Color::GREEN, 5, 5 );
-  BubbleEmitter emitter = BubbleEmitter::New( Vector2(50.f,50.f),shapeImage, 200, Vector2( 5.f, 10.f ));
-
-  Actor root = emitter.GetRootActor();
-  DALI_TEST_CHECK( root );
-  DALI_TEST_CHECK( root.GetChildCount() == 3 );
-}
-
-static void UtcDaliBubbleEmitterSetBackground()
-{
-  ToolkitTestApplication application;
-  tet_infoline( " UtcDaliBubbleEmitterSetBackground " );
-
-  Image shapeImage = CreateSolidColorImage( application, Color::GREEN, 5, 5 );
-  BubbleEmitter emitter = BubbleEmitter::New( Vector2(50.f,50.f),shapeImage, 200, Vector2( 5.f, 10.f ));
-
-  RenderTaskList taskList = Stage::GetCurrent().GetRenderTaskList();
-  unsigned int taskCount = taskList.GetTaskCount();
-
-  Image bgImage = CreateSolidColorImage( application, Color::RED, 50, 50 );
-  emitter.SetBackground( bgImage, Vector3(0.f, 0.f, 0.5f) );
-
-  DALI_TEST_CHECK( taskList.GetTaskCount() == taskCount+1 );
-
-  Wait(application, 500);
-  DALI_TEST_CHECK( taskList.GetTaskCount() == taskCount );
-}
-
-static void UtcDaliBubbleEmitterSetShapeImage()
-{
-  ToolkitTestApplication application;
-  tet_infoline( " UtcDaliBubbleEmitterSetShapeImage " );
-
-  Image shapeImage1 = CreateSolidColorImage( application, Color::GREEN, 5, 5 );
-  BubbleEmitter emitter = BubbleEmitter::New( Vector2(50.f,50.f),shapeImage1, 200, Vector2( 5.f, 10.f ));
-
-  Actor root = emitter.GetRootActor();
-  MeshActor bubbleMesh = MeshActor::DownCast( root.GetChildAt( 0 ) );
-  Material material = bubbleMesh.GetMaterial();
-
-  DALI_TEST_CHECK( material.GetDiffuseTexture() == shapeImage1 );
-
-  Image shapeImage2 = CreateSolidColorImage( application, Color::RED, 8, 8 );
-  emitter.SetShapeImage( shapeImage2 );
-
-  DALI_TEST_CHECK( material.GetDiffuseTexture() == shapeImage2 );
-}
-
-static void UtcDaliBubbleEmitterSetBubbleScale()
-{
-  ToolkitTestApplication application;
-  tet_infoline( " UtcDaliBubbleEmitterSetBubbleScale " );
-
-  Image shapeImage1 = CreateSolidColorImage( application, Color::GREEN, 5, 5 );
-  BubbleEmitter emitter = BubbleEmitter::New( Vector2(50.f,50.f),shapeImage1, 200, Vector2( 5.f, 10.f ));
-
-  Actor root = emitter.GetRootActor();
-  MeshActor bubbleMesh = MeshActor::DownCast( root.GetChildAt( 0 ) );
-  ShaderEffect effect = bubbleMesh.GetShaderEffect();
-  DALI_TEST_CHECK( effect );
-
-  Property::Index scalePropertyIndex = effect.GetPropertyIndex( "uDynamicScale" );
-  float scaleValue;
-  (effect.GetProperty(scalePropertyIndex)).Get( scaleValue );
-  DALI_TEST_EQUALS(scaleValue, 1.f, TEST_LOCATION );
-
-  emitter.SetBubbleScale( 2.f );
-  application.SendNotification();
-  application.Render();
-  (effect.GetProperty(scalePropertyIndex)).Get( scaleValue );
-  DALI_TEST_EQUALS(scaleValue, 2.f, TEST_LOCATION );
-
-  emitter.SetBubbleScale( 0.5f );
-  application.SendNotification();
-  application.Render();
-  (effect.GetProperty(scalePropertyIndex)).Get( scaleValue );
-  DALI_TEST_EQUALS(scaleValue, 0.5f, TEST_LOCATION );
-}
-
-static void UtcDaliBubbleEmitterSetBubbleDensity01()
-{
-  ToolkitTestApplication application;
-  tet_infoline( " UtcDaliBubbleEmitterSetBubbleDensity " );
-
-  Image shapeImage1 = CreateSolidColorImage( application, Color::GREEN, 5, 5 );
-  BubbleEmitter emitter = BubbleEmitter::New( Vector2(50.f,50.f),shapeImage1, 200, Vector2( 5.f, 10.f ));
-
-  try
-  {
-    emitter.SetBubbleDensity( 3.f );
-    DALI_TEST_CHECK(true);
-  }
-  catch(Dali::DaliException& e)
-  {
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_ASSERT(e, "density>0 && density<=9", TEST_LOCATION );
-  }
-}
-
-static void UtcDaliBubbleEmitterSetBubbleDensity02()
-{
-  ToolkitTestApplication application;
-  tet_infoline( " UtcDaliBubbleEmitterSetBubbleDensity " );
-
-  Image shapeImage1 = CreateSolidColorImage( application, Color::GREEN, 5, 5 );
-  BubbleEmitter emitter = BubbleEmitter::New( Vector2(50.f,50.f),shapeImage1, 200, Vector2( 5.f, 10.f ));
-
-  try
-  {
-    emitter.SetBubbleDensity( 10.f );
-  }
-  catch(Dali::DaliException& e)
-  {
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_ASSERT(e, "density>0 && density<=9", TEST_LOCATION );
-  }
-}
-
-static void UtcDaliBubbleEmitterSetBlendMode()
-{
-  ToolkitTestApplication application;
-  tet_infoline( " UtcDaliBubbleEmitterSetBlendMode " );
-
-  Image shapeImage1 = CreateSolidColorImage( application, Color::GREEN, 5, 5 );
-  BubbleEmitter emitter = BubbleEmitter::New( Vector2(50.f,50.f),shapeImage1, 200, Vector2( 5.f, 10.f ));
-
-  Actor root = emitter.GetRootActor();
-  MeshActor bubbleMesh = MeshActor::DownCast( root.GetChildAt( 0 ) );
-
-  BlendingFactor::Type srcFactorRgb, destFactorRgb, srcFactorAlpha, destFactorAlpha;
-
-  emitter.SetBlendMode( true );
-  bubbleMesh.GetBlendFunc( srcFactorRgb, destFactorRgb, srcFactorAlpha, destFactorAlpha );
-  DALI_TEST_CHECK( srcFactorRgb == BlendingFactor::SRC_ALPHA );
-  DALI_TEST_CHECK( destFactorRgb == BlendingFactor::ONE );
-  DALI_TEST_CHECK( srcFactorAlpha == BlendingFactor::ZERO );
-  DALI_TEST_CHECK( destFactorAlpha == BlendingFactor::ONE );
-
-  emitter.SetBlendMode( false );
-  bubbleMesh.GetBlendFunc( srcFactorRgb, destFactorRgb, srcFactorAlpha, destFactorAlpha );
-  DALI_TEST_CHECK( srcFactorRgb == BlendingFactor::SRC_ALPHA );
-  DALI_TEST_CHECK( destFactorRgb == BlendingFactor::ONE_MINUS_SRC_ALPHA );
-  DALI_TEST_CHECK( srcFactorAlpha == BlendingFactor::ONE );
-  DALI_TEST_CHECK( destFactorAlpha == BlendingFactor::ONE_MINUS_SRC_ALPHA );
-}
-
-static void UtcDaliBubbleEmitterEmitBubble()
-{
-  ToolkitTestApplication application;
-  tet_infoline( " UtcDaliBubbleEmitterEmitBubble " );
-
-  Image shapeImage1 = CreateSolidColorImage( application, Color::GREEN, 5, 5 );
-  BubbleEmitter emitter = BubbleEmitter::New( Vector2(50.f,50.f),shapeImage1, 200, Vector2( 5.f, 10.f ));
-
-  Actor root = emitter.GetRootActor();
-  MeshActor bubbleMesh = MeshActor::DownCast( root.GetChildAt( 0 ) );
-  ShaderEffect effect = bubbleMesh.GetShaderEffect();
-  DALI_TEST_CHECK( effect );
-
-  Property::Index propertyIndex0 = effect.GetPropertyIndex( "uPercentage[0]" );
-  Property::Index propertyIndex1 = effect.GetPropertyIndex( "uPercentage[1]" );
-  float value0, value1;
-
-  Animation animation = Animation::New( 0.5f );
-  emitter.EmitBubble( animation, Vector2(40.f,40.f), Vector2(-5.f,-5.f), Vector2(30.f,30.f) );
-  emitter.EmitBubble( animation, Vector2(10.f,10.f), Vector2(5.f,5.f), Vector2(30.f,30.f) );
-  (effect.GetProperty(propertyIndex0)).Get( value0 );
-  (effect.GetProperty(propertyIndex1)).Get( value1 );
-  DALI_TEST_EQUALS(value0, 0.f, TEST_LOCATION );
-  DALI_TEST_EQUALS(value1, 0.f, TEST_LOCATION );
-
-  animation.Play();
-
-  Wait(application, 300);
-  (effect.GetProperty(propertyIndex0)).Get( value0 );
-  (effect.GetProperty(propertyIndex1)).Get( value1 );
-  DALI_TEST_CHECK( value0 >= 0.6f );
-  DALI_TEST_CHECK( value1 >= 0.6f );
-
-  Wait(application, 600);
-  (effect.GetProperty(propertyIndex0)).Get( value0 );
-  (effect.GetProperty(propertyIndex1)).Get( value1 );
-  DALI_TEST_EQUALS(value0, 1.f, TEST_LOCATION );
-  DALI_TEST_EQUALS(value1, 1.f, TEST_LOCATION );
-}
-
-static void UtcDaliBubbleEmitterStartExplosion()
-{
-  ToolkitTestApplication application;
-  tet_infoline( " UtcDaliBubbleEmitterStartExplosion " );
-
-  Image shapeImage1 = CreateSolidColorImage( application, Color::GREEN, 5, 5 );
-  BubbleEmitter emitter = BubbleEmitter::New( Vector2(50.f,50.f),shapeImage1, 200, Vector2( 5.f, 10.f ));
-  Actor root = emitter.GetRootActor();
-  MeshActor bubbleMesh = MeshActor::DownCast( root.GetChildAt( 0 ) );
-  ShaderEffect effect = bubbleMesh.GetShaderEffect();
-  DALI_TEST_CHECK( effect );
-
-  Property::Index propertyIndex = effect.GetPropertyIndex( "uMagnification" );
-  float value;
-  (effect.GetProperty(propertyIndex)).Get( value );
-  DALI_TEST_EQUALS(value, 1.f, TEST_LOCATION );
-
-  emitter.StartExplosion( 0.4, 4.f );
-
-  Wait(application, 200); // 0.2s
-  (effect.GetProperty(propertyIndex)).Get( value );
-  DALI_TEST_CHECK( value >= 2.f );
-
-  Wait(application, 100); // 0.3s
-  (effect.GetProperty(propertyIndex)).Get( value );
-  DALI_TEST_CHECK( value >= 3.f );
-
-  Wait(application, 100); // 0.4s
-  (effect.GetProperty(propertyIndex)).Get( value );
-  DALI_TEST_EQUALS(value, 1.f, TEST_LOCATION );
-}
-
-static void UtcDaliBubbleEmitterRestore()
-{
-  ToolkitTestApplication application;
-  tet_infoline( " UtcDaliBubbleEmitterRestore " );
-
-  Image shapeImage1 = CreateSolidColorImage( application, Color::GREEN, 5, 5 );
-  BubbleEmitter emitter = BubbleEmitter::New( Vector2(50.f,50.f),shapeImage1, 200, Vector2( 5.f, 10.f ));
-  Actor root = emitter.GetRootActor();
-  MeshActor bubbleMesh = MeshActor::DownCast( root.GetChildAt( 0 ) );
-  ShaderEffect effect = bubbleMesh.GetShaderEffect();
-  DALI_TEST_CHECK( effect );
-
-  Property::Index percentagePropertyIndex = effect.GetPropertyIndex( "uPercentage[0]" );
-  float percentage;
-
-  Animation animation = Animation::New( 0.5f );
-  emitter.EmitBubble( animation, Vector2(40.f,40.f), Vector2(-5.f,-5.f), Vector2(30.f,30.f) );
-  (effect.GetProperty(percentagePropertyIndex)).Get( percentage );
-  DALI_TEST_EQUALS(percentage, 0.f, TEST_LOCATION );
-
-  animation.Play();
-  Wait(application, 200);
-  animation.Clear();
-
-  (effect.GetProperty(percentagePropertyIndex)).Get( percentage );
-  DALI_TEST_CHECK( percentage < 0.5f && percentage >= 0.4);
-
-  emitter.Restore();
-  application.SendNotification();
-  application.Render();
-
-  (effect.GetProperty(percentagePropertyIndex)).Get( percentage );
-  DALI_TEST_EQUALS(percentage, 1.f, TEST_LOCATION );
-}
diff --git a/automated-tests/TET/dali-test-suite/builder/.gitignore b/automated-tests/TET/dali-test-suite/builder/.gitignore
deleted file mode 100644 (file)
index 12fbec7..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-utc-Dali-Builder
-utc-Dali-JsonParser
diff --git a/automated-tests/TET/dali-test-suite/builder/Makefile b/automated-tests/TET/dali-test-suite/builder/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/builder/file.list b/automated-tests/TET/dali-test-suite/builder/file.list
deleted file mode 100644 (file)
index b178c6f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-TARGETS += \
-       Dali/utc-Dali-Builder \
-       Dali/utc-Dali-JsonParser \
diff --git a/automated-tests/TET/dali-test-suite/builder/tslist b/automated-tests/TET/dali-test-suite/builder/tslist
deleted file mode 100644 (file)
index d5d6ef9..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-/dali-test-suite/builder/utc-Dali-Builder
-/dali-test-suite/builder/utc-Dali-JsonParser
diff --git a/automated-tests/TET/dali-test-suite/builder/utc-Dali-Builder.cpp b/automated-tests/TET/dali-test-suite/builder/utc-Dali-Builder.cpp
deleted file mode 100644 (file)
index 15c93a4..0000000
+++ /dev/null
@@ -1,521 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/public-api/builder/builder.h>
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-namespace
-{
-//
-// Note: To avoid escaping double quotes single quotes are used and then replaced
-//       before parsing. JSON uses double quotes
-//
-  std::string JSON_TEXTSTYLE_ONLY("\
-{                                                                  \
-    'text-styles':                                                 \
-    {                                                              \
-        'title-text-style':{'font-name': 'Vera',                   \
-                            'font-style': 'Bold',                  \
-                            'point-size': 12.0,                    \
-                            'weight': 'light',                     \
-                            'text-color': [0.0,0.5,0.5,1],         \
-                            'italic': false,                       \
-                            'underline': false,                    \
-                            'shadow': true,                        \
-                            'glow': true,                          \
-                            'outline': true,                       \
-                            'shadow-color': [0.0,1.0,0.0,1.0],     \
-                            'shadow-offset': [3.0,2.0],            \
-                            'shadow-size': 2.0,                    \
-                            'glow-color': [0.9,0.6,0.3,1.0],       \
-                            'glow-intensity':0.1,                  \
-                            'smooth-edge': 0.45,                   \
-                            'outline-color': [1.0,0.5,0.0,1.0],    \
-                            'outline-thickness': [0.7,0.6]         \
-      }                                                            \
-    }                                                              \
-}                                                                  \
-");
-
-  std::string JSON_TEXT_ACTOR("\
-{                                                              \
-  'styles':                                                    \
-  {                                                            \
-    'basic-text':                                              \
-    {                                                          \
-      'type':'TextActor',                                      \
-      'text':'Hello',                                          \
-      'font':'',                                               \
-      'parent-origin':[0.0,0.0,0],                             \
-      'anchor-point' :[0.5,0.5,0],                             \
-      'size': [150,170,1],                                     \
-      'position':[-10,10,0]                                    \
-    }                                                          \
-  },                                                           \
-  'animations':                                                \
-  {                                                            \
-    'rotate':                                                  \
-    {                                                          \
-      'duration': 10,                                          \
-      'properties':                                            \
-      [                                                        \
-        {                                                      \
-          'actor':'text',                                      \
-          'property':'rotation',                               \
-          'value':[0, 3, 0, 0],                                \
-          'alpha-function': 'EASE_IN_OUT',                     \
-          'time-period': {'delay': 0, 'duration': 3 }          \
-        }                                                      \
-      ]                                                        \
-    }                                                          \
-  },                                                           \
-  'stage':                                                     \
-  [                                                            \
-    {                                                          \
-      'name':'text',                                           \
-      'type':'basic-text',                                     \
-      'text':'Hello'                                           \
-    },                                                         \
-    {                                                          \
-      'name':'text2',                                          \
-      'type':'basic-text',                                     \
-      'text':'Hello',                                          \
-      'signals':                                               \
-      [                                                        \
-        { 'name': 'on-stage', 'action':'set', 'actor':'text2', 'property':'text', 'value':'Jaylo' } \
-      ]                                                        \
-    }                                                          \
-  ],                                                           \
-  'other':                                                     \
-  [                                                            \
-    {                                                          \
-      'name':'other-text',                                     \
-      'type':'basic-text',                                     \
-      'text':'Hello'                                           \
-    }                                                          \
-  ]                                                            \
-}                                                              \
-");
-
-
-  std::string JSON_CORE_ACTOR_TREE("\
-{                                                                                         \
-    'styles':                                                                             \
-    {                                                                                     \
-        'my-camera': {                                                                    \
-                      'type':'CameraActor',                                               \
-                      'camera-type':'FreeLook',                                           \
-                      'field-of-view': 0.125,                                             \
-                      'aspect-ratio':5.0,                                                 \
-                      'near-plane-distance': 100,                                         \
-                      'far-plane-distance': 200                                           \
-                      },                                                                  \
-        'basic-text': {                                                                   \
-                    'type':'TextActor',                                                   \
-                    'text':'Hello',                                                       \
-                    'font':'Freesans',                                                    \
-                    'smooth-edge':0.2,                                                    \
-                    'position': [-10.0, 10.0, -1000.0],                                   \
-                    'size': [300.0, 250.0, 0.0]                                           \
-                   },                                                                     \
-        'theme2-text': {                                                                  \
-                    'type':'TextActor',                                                   \
-                    'text':'Hello',                                                       \
-                    'font':'Freesans',                                                    \
-                    'smooth-edge':0.8                                                     \
-                   }                                                                      \
-    },                                                                                    \
-    'stage':                                                                              \
-    [                                                                                     \
-        {'name':'txt1',                                                                   \
-         'type':'TextActor',                                                              \
-         'text':'Hello World',                                                            \
-         'font':'freesans',                                                               \
-         'parent-origin':'CENTER',                                                        \
-         'actors':                                                                        \
-         [                                                                                \
-           { 'type':'basic-text', 'text':'Hello', 'position-y':50 },                      \
-           { 'type':'basic-text', 'text':'Hello', 'position-y':100 },                     \
-           { 'type':'basic-text', 'text':'Hello', 'position-y':150 },                     \
-           { 'type':'basic-text', 'text':'Hello', 'position-y':200 },                     \
-           { 'type':'basic-text', 'text':'Hello', 'position-y':250 }                      \
-         ]                                                                                \
-        }                                                                                 \
-    ]                                                                                     \
-}                                                                                         \
-");
-
-  std::string JSON_CONSTANTS("\
-{                                                                                         \
-    'constants':                                                                          \
-    {                                                                                     \
-      'HELLO':'Hello World',                                                              \
-      'HELLO2':'Hello {WORLD}'                                                            \
-    },                                                                                    \
-    'styles':                                                                             \
-    {                                                                                     \
-        'basic-text': {                                                                   \
-                    'type':'TextActor',                                                   \
-                    'text':'{HELLO2}'                                                     \
-                   }                                                                      \
-    },                                                                                    \
-    'animations':                                                                         \
-    {                                                                                     \
-      'rotate':                                                                           \
-      {                                                                                   \
-        'duration': 10,                                                                   \
-        'properties':                                                                     \
-        [                                                                                 \
-          {                                                                               \
-            'actor':'{ACTOR}',                                                            \
-            'property':'rotation',                                                        \
-            'value':[0, 3, 0, 0],                                                         \
-            'alpha-function': 'EASE_IN_OUT',                                              \
-            'time-period': {'delay': 0, 'duration': 3 }                                   \
-          }                                                                               \
-        ]                                                                                 \
-      }                                                                                   \
-    },                                                                                    \
-    'stage':                                                                              \
-    [                                                                                     \
-        {'name':'txt1',                                                                   \
-         'type':'TextActor',                                                              \
-         'text':'{HELLO}'                                                                \
-        }                                                                                 \
-    ]                                                                                     \
-}                                                                                         \
-");
-
-
-  std::string ReplaceQuotes(const std::string &in_s)
-  {
-    std::string s(in_s);
-    // wrong as no embedded quote but had regex link problems
-    std::replace(s.begin(), s.end(), '\'', '"');
-    return s;
-  }
-
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliBuilderConstants();
-static void UtcDaliBuilderTextActorCreateFromStyle();
-static void UtcDaliBuilderTextActorCreateAnimation();
-static void UtcDaliBuilderTextActorApplyFromStyle();
-static void UtcDaliBuilderStyles();
-static void UtcDaliBuilderAddActorsOther();
-static void UtcDaliBuilderAddActors();
-static void UtcDaliBuilderSetProperty();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-TEST_FUNCTION( UtcDaliBuilderConstants                     , POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliBuilderTextActorCreateFromStyle      , POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliBuilderTextActorCreateAnimation      , POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliBuilderTextActorApplyFromStyle       , POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliBuilderStyles                        , POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliBuilderAddActorsOther                , POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliBuilderAddActors                     , POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliBuilderSetProperty                   , POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliBuilderConstants()
-{
-  ToolkitTestApplication application;
-  Stage stage = Stage::GetCurrent();
-
-  tet_infoline(" UtcDaliBuilderConstants");
-
-  Builder builder = Builder::New();
-
-  PropertyValueMap userMap;
-  userMap["WORLD"] = "World";
-  builder.AddConstants(userMap);
-
-  builder.LoadFromString( ReplaceQuotes(JSON_CONSTANTS) );
-
-  // constants in json
-  Layer layer = stage.GetRootLayer();
-  size_t count = layer.GetChildCount();
-
-  builder.AddActors( layer );
-  DALI_TEST_CHECK( layer.GetChildCount() == count + 1 );
-
-  TextActor actor = TextActor::DownCast( layer.GetChildAt( count ) );
-  DALI_TEST_CHECK( actor );
-  DALI_TEST_CHECK( actor.GetText() == std::string("Hello World") );
-
-  // global constants
-  PropertyValueMap map;
-  map["HELLO2"] = "Hi";
-
-  builder.AddConstants( map );
-
-  actor = TextActor::DownCast( builder.CreateFromStyle("basic-text") );
-  DALI_TEST_CHECK( actor );
-  DALI_TEST_CHECK( actor.GetText() == std::string("Hi") );
-
-  // user overriding
-  userMap["HELLO2"] = "Hello Dali";
-  actor = TextActor::DownCast( builder.CreateFromStyle("basic-text", userMap) );
-  DALI_TEST_CHECK( actor );
-  DALI_TEST_CHECK( actor.GetText() == std::string("Hello Dali") );
-
-  // animation constants
-  actor = TextActor::DownCast( layer.GetChildAt( count ) );
-  actor.SetName("rotate-me");
-  userMap["ACTOR"] = actor.GetName();
-
-  Animation anim = builder.CreateAnimation("rotate", userMap);
-  DALI_TEST_CHECK( anim );
-  DALI_TEST_CHECK( 10.0f == anim.GetDuration() );
-
-}
-
-static void UtcDaliBuilderTextActorCreateFromStyle()
-{
-  ToolkitTestApplication application;
-  Stage stage = Stage::GetCurrent();
-
-  tet_infoline(" UtcDaliBuilderTextActorCreateFromStyle");
-
-  Builder builder = Builder::New();
-
-  builder.LoadFromString(ReplaceQuotes(JSON_TEXT_ACTOR));
-
-  TextActor actor( TextActor::DownCast( builder.CreateFromStyle("basic-text") ) );
-
-  DALI_TEST_CHECK( actor );
-
-  stage.GetRootLayer().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  Vector3 v;
-
-  v = actor.GetCurrentPosition();
-  DALI_TEST_CHECK(v.x == -10.0);
-  DALI_TEST_CHECK(v.y ==  10.0);
-  DALI_TEST_CHECK(v.z ==  0.0);
-
-  v = actor.GetCurrentSize();
-  DALI_TEST_CHECK(v.x == 150.0);
-  DALI_TEST_CHECK(v.y == 170.0);
-  DALI_TEST_CHECK(v.z == 1.0);
-
-  DALI_TEST_CHECK(actor.GetText() == "Hello");
-
-  actor = TextActor::DownCast( builder.CreateFromStyle("*(&^") );
-  DALI_TEST_CHECK(!actor);
-
-}
-
-static void UtcDaliBuilderTextActorCreateAnimation()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliBuilderTextActorCreateAnimation");
-
-  Builder builder = Builder::New();
-
-  builder.LoadFromString(ReplaceQuotes(JSON_TEXT_ACTOR));
-
-  builder.AddActors( Stage::GetCurrent().GetRootLayer() );
-
-  Animation anim = builder.CreateAnimation("rotate");
-  DALI_TEST_CHECK( anim );
-
-  DALI_TEST_CHECK( 10.0f == anim.GetDuration() );
-
-}
-
-static void UtcDaliBuilderTextActorApplyFromStyle()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliBuilderTextActorApplyFromStyle");
-
-  Builder builder = Builder::New();
-
-  builder.LoadFromString(ReplaceQuotes(JSON_TEXT_ACTOR));
-
-  TextActor actor = TextActor::New("a");
-
-  builder.ApplyStyle("basic-text", actor);
-
-  DALI_TEST_CHECK( actor );
-
-  Stage::GetCurrent().GetRootLayer().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  Vector3 v;
-
-  v = actor.GetCurrentPosition();
-  DALI_TEST_CHECK(v.x == -10.0);
-  DALI_TEST_CHECK(v.y ==  10.0);
-  DALI_TEST_CHECK(v.z ==  0.0);
-
-  v = actor.GetCurrentSize();
-  DALI_TEST_CHECK(v.x == 150.0);
-  DALI_TEST_CHECK(v.y == 170.0);
-  DALI_TEST_CHECK(v.z == 1.0);
-
-  DALI_TEST_CHECK(actor.GetText() == "Hello");
-
-}
-
-static void UtcDaliBuilderAddActors()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliBuilderAddActors");
-
-  Builder builder = Builder::New();
-
-  builder.LoadFromString(ReplaceQuotes(JSON_TEXT_ACTOR));
-
-  builder.AddActors( Stage::GetCurrent().GetRootLayer() );
-
-  application.SendNotification();
-  application.Render();
-
-  TextActor actor = TextActor::DownCast( Stage::GetCurrent().GetRootLayer().FindChildByName("text") );
-
-  DALI_TEST_CHECK( actor );
-  DALI_TEST_CHECK(actor.GetText() == "Hello");
-
-}
-
-static void UtcDaliBuilderAddActorsOther()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliBuilderAddActorsOther");
-
-  Actor rootActor = Stage::GetCurrent().GetRootLayer();
-
-  Builder builder = Builder::New();
-
-  builder.LoadFromString(ReplaceQuotes(JSON_TEXT_ACTOR));
-
-  builder.AddActors( "other", rootActor  );
-
-  application.SendNotification();
-  application.Render();
-
-  TextActor actor = TextActor::DownCast( Stage::GetCurrent().GetRootLayer().FindChildByName("other-text") );
-
-  DALI_TEST_CHECK( actor );
-  DALI_TEST_CHECK(actor.GetText() == "Hello");
-
-}
-
-
-static void UtcDaliBuilderStyles()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliBuilderStyles");
-
-  Builder builder = Builder::New();
-
-  builder.LoadFromString(ReplaceQuotes(JSON_CORE_ACTOR_TREE));
-
-  BaseHandle handle = builder.CreateFromStyle("my-camera");
-  CameraActor camera = CameraActor::DownCast(handle);
-
-  DALI_TEST_CHECK(camera);
-
-  Property::Value v;
-
-  v = camera.GetProperty( camera.GetPropertyIndex("field-of-view") );
-  DALI_TEST_CHECK( 0.125f == v.Get<float>() );
-
-  v = camera.GetProperty( camera.GetPropertyIndex("aspect-ratio") );
-  DALI_TEST_CHECK( 5.0f == v.Get<float>() );
-
-  handle   = builder.CreateFromStyle("basic-text");
-  TextActor textActor = TextActor::DownCast(handle);
-
-  v = textActor.GetProperty( textActor.GetPropertyIndex("smooth-edge") );
-
-  DALI_TEST_CHECK( 0.2f == v.Get<float>() );
-
-  // test ApplyStyle another
-  builder.ApplyStyle("theme2-text", textActor);
-
-  v = textActor.GetProperty( textActor.GetPropertyIndex("smooth-edge") );
-  DALI_TEST_CHECK( 0.8f == v.Get<float>() );
-
-}
-
-static void UtcDaliBuilderSetProperty()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliBuilderSetProperty");
-
-  Builder builder = Builder::New();
-
-  builder.LoadFromString(ReplaceQuotes(JSON_TEXT_ACTOR));
-
-  builder.AddActors( Stage::GetCurrent().GetRootLayer() );
-
-  application.SendNotification();
-  application.Render();
-
-  TextActor actor = TextActor::DownCast( Stage::GetCurrent().GetRootLayer().FindChildByName("text2") );
-
-  DALI_TEST_CHECK( actor );
-  DALI_TEST_CHECK( actor.GetText() == "Jaylo" );
-
-}
diff --git a/automated-tests/TET/dali-test-suite/builder/utc-Dali-JsonParser.cpp b/automated-tests/TET/dali-test-suite/builder/utc-Dali-JsonParser.cpp
deleted file mode 100644 (file)
index 0fd1aca..0000000
+++ /dev/null
@@ -1,640 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/public-api/builder/json-parser.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-TEST_FUNCTION( UtcDaliJsonParserMethod01, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliJsonParserMethod02, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliJsonParserMethod03, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliJsonParserMethod04, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliJsonParserMethod05, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliJsonParserMethod06, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliJsonParserMethod07, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliJsonParserMethod08, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliJsonParserMethod09, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliJsonParserMethod10, NEGATIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-std::string ReplaceQuotes(const std::string &in_s)
-{
-  std::string s(in_s);
-  // wrong as no embedded quote but had regex link problems
-  std::replace(s.begin(), s.end(), '\'', '"');
-  return s;
-}
-
-
-static void UtcDaliJsonParserMethod01()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("JSON basic test");
-
-  std::string s1( ReplaceQuotes("\
-{                                         \
-  'string':'value2',                      \
-  'integer':2,                            \
-  'float':2.0,                            \
-  'boolean':true,                         \
-  'nil':null,                             \
-  'array':[1,2,3],                        \
-  'object':{'key':'value'}                \
-}                                         \
-"));
-
-  JsonParser parser = JsonParser::New();
-
-  parser.Parse( s1 );
-
-  if(parser.ParseError())
-  {
-    std::cout << "Error: " << parser.GetErrorDescription() << std::endl;
-    std::cout << "   at: " << parser.GetErrorLineNumber() << "(" << parser.GetErrorPosition() << ")" << std::endl;
-  }
-
-  DALI_TEST_CHECK(!parser.ParseError());
-
-  const TreeNode* root = parser.GetRoot();
-
-  DALI_TEST_CHECK(root);
-
-  DALI_TEST_CHECK(root->Size());
-
-  TreeNode::ConstIterator iter = root->CBegin();
-  DALI_TEST_CHECK(iter != root->CEnd());
-
-  const TreeNode* node = NULL;
-
-  node = &((*iter).second);
-  DALI_TEST_CHECK(node);
-  DALI_TEST_CHECK(node->GetType() == TreeNode::STRING);
-  DALI_TEST_CHECK(std::string((*iter).first) == std::string("string"));
-  DALI_TEST_CHECK(std::string(node->GetString()) == std::string("value2"));
-
-  ++iter;
-  DALI_TEST_CHECK(iter != root->CEnd());
-  node = &((*iter).second);
-  DALI_TEST_CHECK(node);
-  DALI_TEST_CHECK(node->GetType() == TreeNode::INTEGER);
-  DALI_TEST_CHECK(std::string((*iter).first) == std::string("integer"));
-  DALI_TEST_CHECK(node->GetInteger() == 2);
-
-  ++iter;
-  DALI_TEST_CHECK(iter != root->CEnd());
-  node = &((*iter).second);
-  DALI_TEST_CHECK(node);
-  DALI_TEST_CHECK(node->GetType() == TreeNode::FLOAT);
-  DALI_TEST_CHECK(std::string((*iter).first) == std::string("float"));
-  DALI_TEST_CHECK(node->GetFloat() == 2.0);
-
-  ++iter;
-  DALI_TEST_CHECK(iter != root->CEnd());
-  node = &((*iter).second);
-  DALI_TEST_CHECK(node);
-  DALI_TEST_CHECK(node->GetType() == TreeNode::BOOLEAN);
-  DALI_TEST_CHECK(std::string((*iter).first) == std::string("boolean"));
-  DALI_TEST_CHECK(node->GetBoolean());
-
-  ++iter;
-  DALI_TEST_CHECK(iter != root->CEnd());
-  node = &((*iter).second);
-  DALI_TEST_CHECK(node);
-  DALI_TEST_CHECK(node->GetType() == TreeNode::IS_NULL);
-  DALI_TEST_CHECK(std::string((*iter).first) == std::string("nil"));
-
-  ++iter;
-  DALI_TEST_CHECK(iter != root->CEnd());
-  node = &((*iter).second);
-  DALI_TEST_CHECK(node);
-  DALI_TEST_CHECK(node->GetType() == TreeNode::ARRAY);
-  DALI_TEST_CHECK(node->Size() == 3);
-  TreeNode::ConstIterator iterArray = node->CBegin();
-
-  DALI_TEST_CHECK(iterArray != node->CEnd());
-  DALI_TEST_CHECK( ((*iterArray).second).GetType() == TreeNode::INTEGER);
-  DALI_TEST_CHECK( (*iterArray).first == NULL );
-  DALI_TEST_CHECK( ((*iterArray).second).GetInteger() == 1);
-
-  ++iterArray;
-  DALI_TEST_CHECK(iterArray != node->CEnd());
-  DALI_TEST_CHECK( ((*iterArray).second).GetType() == TreeNode::INTEGER);
-  DALI_TEST_CHECK( (*iterArray).first == NULL );
-  DALI_TEST_CHECK( ((*iterArray).second).GetInteger() == 2);
-
-  ++iterArray;
-  DALI_TEST_CHECK(iterArray != node->CEnd());
-  DALI_TEST_CHECK( ((*iterArray).second).GetType() == TreeNode::INTEGER);
-  DALI_TEST_CHECK( (*iterArray).first == NULL );
-  DALI_TEST_CHECK( ((*iterArray).second).GetInteger() == 3);
-
-  ++iter;
-  DALI_TEST_CHECK(iter != root->CEnd());
-  node = &((*iter).second);
-  DALI_TEST_CHECK(node);
-  DALI_TEST_CHECK(node->GetType() == TreeNode::OBJECT);
-  DALI_TEST_CHECK(node->Size() == 1);
-
-  TreeNode::ConstIterator iterObject = node->CBegin();
-  DALI_TEST_CHECK(iterObject != node->CEnd());
-  DALI_TEST_CHECK( ((*iterObject).second).GetType() == TreeNode::STRING);
-  DALI_TEST_CHECK( std::string((*iterObject).first) == std::string("key" ));
-  DALI_TEST_CHECK( std::string(((*iterObject).second).GetString()) == std::string("value"));
-
-  tet_result(TET_PASS);
-}
-
-static void UtcDaliJsonParserMethod02()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("JSON Comments");
-
-  std::string s1( ReplaceQuotes("         \
-// some comments with empty line above  \n\
-{                                         \
-  // inline comments                    \n\
-  'key':'value', // endline comments    \n\
-  // more inline comments               \n\
-  'key2':'value2'                         \
-}                                         \
-"));
-
-  JsonParser parser = JsonParser::New();
-
-  parser.Parse( s1 );
-
-  if(parser.ParseError())
-  {
-    std::cout << "Error: " << parser.GetErrorDescription() << std::endl;
-    std::cout << "   at: " << parser.GetErrorLineNumber() << "(" << parser.GetErrorPosition() << ")" << std::endl;
-  }
-
-  DALI_TEST_CHECK(!parser.ParseError());
-
-  const TreeNode* root = parser.GetRoot();
-
-  DALI_TEST_CHECK(root);
-
-  DALI_TEST_CHECK(root->Size());
-
-  const TreeNode& node = (*root->CBegin()).second;
-
-  DALI_TEST_CHECK(node.GetType() == TreeNode::STRING);
-
-  DALI_TEST_CHECK(node.GetString() == std::string("value"));
-
-  DALI_TEST_CHECK((*root->CBegin()).first == std::string("key"));
-
-  tet_result(TET_PASS);
-}
-
-
-static void UtcDaliJsonParserMethod03()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("JSON Empty line comment");
-
-  std::string s1( ReplaceQuotes(
-"/*\n" \
-"c comment\n" \
-"*/"\
-"// next empty line comment\n"\
-"//\n"\
-"{\n"\
-"  'key':'value'\n"\
-"}\n"\
-));
-
-  JsonParser parser = JsonParser::New();
-
-  parser.Parse( s1 );
-
-  if(parser.ParseError())
-  {
-    std::cout << "Error: " << parser.GetErrorDescription() << std::endl;
-    std::cout << "   at: " << parser.GetErrorLineNumber() << "(" << parser.GetErrorPosition() << ")" << std::endl;
-  }
-
-  DALI_TEST_CHECK(!parser.ParseError());
-
-  const TreeNode* root = parser.GetRoot();
-
-  DALI_TEST_CHECK(root);
-
-  DALI_TEST_CHECK(root->Size());
-
-  const TreeNode& node = (*root->CBegin()).second;
-
-  DALI_TEST_CHECK(node.GetType() == TreeNode::STRING);
-
-  DALI_TEST_CHECK(node.GetString() == std::string("value"));
-
-  DALI_TEST_CHECK((*root->CBegin()).first == std::string("key"));
-
-  tet_result(TET_PASS);
-}
-
-static void UtcDaliJsonParserMethod04()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("JSON Merge");
-
-  std::string s1( ReplaceQuotes("                                       \
-{                                                                       \
-  'animations':                                                         \
-  {                                                                     \
-    'bump':                                                             \
-    {                                                                   \
-      'properties':                                                     \
-      [                                                                 \
-        {                                                               \
-          'actor':'bump-image',                                         \
-          'property':'uLightPosition',                                  \
-          'value':[0.8, 0.0, -1.5],                                     \
-          'alpha-function': 'BOUNCE',                                   \
-          'time-period': { 'duration': 2.5 }                            \
-        }                                                               \
-      ]                                                                 \
-    }                                                                   \
-  }                                                                     \
-}                                                                       \
-"));
-
-  std::string s2( ReplaceQuotes("                                       \
-{                                                                       \
-  'animations':                                                         \
-  {                                                                     \
-    'bump':                                                             \
-    {                                                                   \
-      'duration': 5.0,                                                  \
-      'loop': true,                                                     \
-      'end-action':'DISCARD'                                            \
-    }                                                                   \
-  }                                                                     \
-}                                                                       \
-"));
-
-  JsonParser parser = JsonParser::New();
-
-  parser.Parse( s1 );
-
-  if(parser.ParseError())
-  {
-    std::cout << "Error: " << parser.GetErrorDescription() << std::endl;
-    std::cout << "   at: " << parser.GetErrorLineNumber() << "(" << parser.GetErrorPosition() << ")" << std::endl;
-  }
-  DALI_TEST_CHECK(!parser.ParseError());
-
-  parser.Parse( s2 );
-
-  if(parser.ParseError())
-  {
-    std::cout << "Error: " << parser.GetErrorDescription() << std::endl;
-    std::cout << "   at: " << parser.GetErrorLineNumber() << "(" << parser.GetErrorPosition() << ")" << std::endl;
-  }
-
-  DALI_TEST_CHECK(!parser.ParseError());
-
-  const TreeNode* root = parser.GetRoot();
-  DALI_TEST_CHECK(root);
-
-  const TreeNode *node = root->Find("bump");
-  DALI_TEST_CHECK(node);
-
-  DALI_TEST_CHECK(static_cast<int>(node->Size()) == 4);
-
-  DALI_TEST_CHECK( node->GetChild("duration") );
-  DALI_TEST_CHECK( node->GetChild("loop") );
-  DALI_TEST_CHECK( node->GetChild("properties") );
-
-
-  tet_result(TET_PASS);
-}
-
-static void UtcDaliJsonParserMethod05()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("JSON Pack & Write");
-
-  std::string s1( ReplaceQuotes("                                       \
-{                                                                       \
-  'animations':                                                         \
-  {                                                                     \
-    'bump':                                                             \
-    {                                                                   \
-      'properties':                                                     \
-      [                                                                 \
-        {                                                               \
-          'actor':'bump-image',                                         \
-          'property':'uLightPosition',                                  \
-          'value':[0.8, 0.0, -1.5],                                     \
-          'alpha-function': 'BOUNCE',                                   \
-          'time-period': { 'duration': 2.5 }                            \
-        }                                                               \
-      ]                                                                 \
-    }                                                                   \
-  }                                                                     \
-}                                                                       \
-"));
-
-  JsonParser parser = JsonParser::New();
-
-  parser.Parse( s1 );
-
-  if(parser.ParseError())
-  {
-    std::cout << "Error: " << parser.GetErrorDescription() << std::endl;
-    std::cout << "   at: " << parser.GetErrorLineNumber() << "(" << parser.GetErrorPosition() << ")" << std::endl;
-  }
-  DALI_TEST_CHECK(!parser.ParseError());
-
-  std::stringstream a;
-  parser.Write(a, 2);
-
-  parser.Pack();
-
-  std::stringstream b;
-  parser.Write(b, 2);
-
-  DALI_TEST_CHECK( a.str() == b.str() );
-
-  tet_result(TET_PASS);
-}
-
-
-static const int NUMBER_OK_TESTS = 36;
-char *TEST_OK[NUMBER_OK_TESTS] = {
-  "{ 'hex': '\u0123\u4567\u89AB\uCDEF\uabcd\uef4A' }",
-  "{ 'special': '`1~!@#$%^&*()_+-={:[,]}|;.</>?' }",
-  "{ 'slash': '/ & \' }",
-  "{'object with 1 member':['array with 1 element']}",
-  "[{}, [], -42, true, false, null]",
-  "{ 'integer': 1234567890 }",
-  "{ 'integer': 1234567890 }",
-  "{ 'real': -9876.543210 }",
-  "{ 'e': 0.123456789e-12 }",
-  "{ 'E': 1.234567890E+34 }",
-  "{ '':  23456789012E66 }",
-  "{ 'zero': 0 }",
-  "{ 'one': 1 }",
-  "{ 'space': ' ' }",
-  "{ 'backslash': '\' }",
-  "{ 'controls': '\\b\\f\\n\\r\\t' }",
-  "{ 'alpha': 'abcdefghijklmnopqrstuvwyz' }",
-  "{ 'ALPHA': 'ABCDEFGHIJKLMNOPQRSTUVWYZ' }",
-  "{ 'digit': '0123456789' }",
-  "{ '0123456789': 'digit' }",
-  "{ 'true': true }",
-  "{ 'false': false }",
-  "{ 'null': null }",
-  "{ 'array':[  ] }",
-  "{ 'object':{  } }",
-  "{ 'address': '1 Communication Centre. South Street' }",
-  "{ 'url': 'http://www.JSON.org/' }",
-  "{ 'comment': '// /* <!-- --' }",
-  "{ '# -- --> */': ' ' }",
-  "{ ' s p a c e d ' :[1,2 , 3,4 , 5        ,          6           ,7        ]}",
-  "{ 'compact':[1,2,3,4,5,6,7]}",
-  "{ 'quotes': '&#34; \\u0022 %22 0x22 034 &#x22;' }",
-  "{ '\\uCAFE\\uBABE\\uAB98\\uFCDE\\ubcda\\uef4A\\b\\f\\n\\r\\t`1~!@#$%^&*()_+-=[]{}|;:': 'A key can be any string'}",
-  "[ 0.5 ,98.6, 99.44,1066,1e1,0.1e1,1e-1,1e00,2e+00,2e-00, 'rosebud']",
-  "{'JSON Test Pattern pass3': { 'The outermost value': 'must be an object or array.', 'In this test': 'It is an object.' } }",
-  "[[[[[[[[[[[[[[[[[[['Not too deep']]]]]]]]]]]]]]]]]]]",
-};
-
-
-static void UtcDaliJsonParserMethod06()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("JSON Parse Success");
-
-  JsonParser parser = JsonParser::New();
-
-  for(int i = 0; i < NUMBER_OK_TESTS; ++i)
-  {
-    parser = JsonParser::New();
-
-    parser.Parse( ReplaceQuotes(TEST_OK[i]) );
-
-    if(parser.ParseError())
-    {
-      tet_printf("Valid JSON parse test %d Failed", i);
-      tet_printf("%s", ReplaceQuotes(TEST_OK[i]).c_str());
-
-      tet_printf("JSON Error %d:%d: %s (%d)", parser.GetErrorLineNumber(), parser.GetErrorColumn(), parser.GetErrorDescription().c_str(), parser.GetErrorPosition());
-    }
-
-    DALI_TEST_CHECK(!parser.ParseError());
-  }
-
-  tet_result(TET_PASS);
-}
-
-
-static const int NUMBER_FAIL_TESTS = 32;
-char *TEST_FAIL[] = {
-  "[' tab\t   character  \t in\t string   ']",
-  "['Extra close']]",
-  "['Colon instead of comma': false]",
-  "{'Numbers cannot have leading zeroes': 013}",
-  "['Bad value', truth]",
-  "['Illegal backslash escape: \017']",
-  "['Bad value', truth]['Illegal backslash escape: \017']",
-  "{'Comma instead if closing brace': true,",
-  "{'Double colon':: null}",
-  "{'Extra comma': true,}",
-  "['Unclosed array'",
-  "{'Illegal invocation': alert()}",
-  "{'Missing colon' null}",
-  "[0e]",
-  "{unquoted_key: 'keys must be quoted'}",
-  "'A JSON payload should be an object or array, not a string.'",
-  "[\naked]",
-  "{'Illegal expression': 1 + 2}",
-  "{'Extra value after close': true} 'misplaced quoted value'",
-  "[0e+]",
-  "[+23456789012E66]",
-  "['extra comma',]",
-  "['Comma after the close'],",
-  "['double extra comma',,]",
-  "['Illegal backslash escape: \x15']",
-  "['line\nbreak']",
-  "{'Comma instead of colon', null}",
-  "['mismatch'}",
-  "['line\nbreak']",
-  "[0e+-1]",
-  "{'Numbers cannot be hex': 0x14}",
-  "[   , '<-- missing value']",
-};
-
-static void UtcDaliJsonParserMethod07()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("JSON Fail");
-
-  JsonParser parser = JsonParser::New();
-
-  for(int i = 0; i < NUMBER_FAIL_TESTS; ++i)
-  {
-    parser = JsonParser::New();
-
-    parser.Parse( ReplaceQuotes(TEST_FAIL[i]) );
-
-    if(!parser.ParseError())
-    {
-      tet_printf("Invalid JSON parse test %d Failed", i);
-      tet_printf("%s", ReplaceQuotes(TEST_FAIL[i]).c_str());
-      tet_printf("JSON Error %d:%d %s (%s)", parser.GetErrorLineNumber(), parser.GetErrorColumn(),
-                 parser.GetErrorDescription().c_str(), parser.GetErrorPosition());
-    }
-
-    DALI_TEST_CHECK(parser.ParseError());
-  }
-
-
-  parser = JsonParser::New();
-
-  parser.Parse( "['single quote']" );
-
-  if(!parser.ParseError())
-  {
-    tet_printf("['single quote']");
-  }
-
-  DALI_TEST_CHECK(parser.ParseError());
-
-  tet_result(TET_PASS);
-}
-
-static void UtcDaliJsonParserMethod08()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("JSON error reporting");
-
-  std::string s1( ReplaceQuotes("\
-{                                         \n\
-  'float':,],                             \n\
-}                                         \n\
-"));
-
-  JsonParser parser = JsonParser::New();
-
-  parser.Parse( s1 );
-
-  DALI_TEST_CHECK(parser.ParseError());
-
-  DALI_TEST_CHECK(1  == parser.GetErrorLineNumber());
-  DALI_TEST_CHECK(53 == parser.GetErrorPosition());
-  DALI_TEST_CHECK(11 == parser.GetErrorColumn());
-
-  tet_result(TET_PASS);
-}
-
-static void UtcDaliJsonParserMethod09()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("JSON Pack()");
-
-  std::string s1( ReplaceQuotes("\
-{                                         \
-  'string':'value2',                      \
-  'integer':2,                            \
-  'float':2.3,                            \
-  'boolean':true,                         \
-  'nil':null,                             \
-  'array':[1,2,3],                        \
-  'object':{'key':'value'}                \
-}                                         \
-"));
-
-  JsonParser parser = JsonParser::New();
-
-  parser.Parse( s1 );
-
-  std::stringstream ss1;
-  parser.Write(ss1, 2);
-
-  parser.Pack(); // Pack() moves strings
-
-  std::stringstream ss2;
-  parser.Write(ss2, 2);
-
-  DALI_TEST_CHECK(ss1.str() == ss2.str());
-
-  tet_result(TET_PASS);
-}
-
-static void UtcDaliJsonParserMethod10()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("JSON basic test");
-
-  std::string s1( "" );
-
-  JsonParser parser = JsonParser::New();
-
-  parser.Parse( s1 );
-
-  DALI_TEST_CHECK(parser.ParseError());
-
-  tet_result(TET_PASS);
-}
diff --git a/automated-tests/TET/dali-test-suite/buttons/.gitignore b/automated-tests/TET/dali-test-suite/buttons/.gitignore
deleted file mode 100644 (file)
index f4f0d52..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-utc-Dali-CheckBoxButton
-utc-Dali-PushButton
-utc-Dali-Button
diff --git a/automated-tests/TET/dali-test-suite/buttons/Makefile b/automated-tests/TET/dali-test-suite/buttons/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/buttons/file.list b/automated-tests/TET/dali-test-suite/buttons/file.list
deleted file mode 100644 (file)
index 3a8cef4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-TARGETS += \
-       utc-Dali-CheckBoxButton \
-       utc-Dali-PushButton \
-       utc-Dali-Button \
diff --git a/automated-tests/TET/dali-test-suite/buttons/tslist b/automated-tests/TET/dali-test-suite/buttons/tslist
deleted file mode 100644 (file)
index b8108d0..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-/dali-test-suite/buttons/utc-Dali-CheckBoxButton
-/dali-test-suite/buttons/utc-Dali-PushButton
-/dali-test-suite/buttons/utc-Dali-Button
diff --git a/automated-tests/TET/dali-test-suite/buttons/utc-Dali-Button.cpp b/automated-tests/TET/dali-test-suite/buttons/utc-Dali-Button.cpp
deleted file mode 100644 (file)
index af8804b..0000000
+++ /dev/null
@@ -1,393 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali/integration-api/events/touch-event-integ.h>
-#include <dali-toolkit/public-api/controls/buttons/check-box-button.h>
-#include <dali-toolkit/public-api/controls/buttons/push-button.h>
-#include <dali-toolkit/public-api/controls/default-controls/solid-color-actor.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-namespace
-{
-static bool gButtonClicked = false;
-
-static bool ButtonClicked( Button button )
-{
-  gButtonClicked = true;
-  return false;
-}
-
-const Dali::TouchPoint pointDownInside( 0, TouchPoint::Down, 240, 400 );
-const Dali::TouchPoint pointUpInside( 0, TouchPoint::Up, 240, 400 );
-const Dali::TouchPoint pointLeave( 0, TouchPoint::Leave, 240, 400 );
-const Dali::TouchPoint pointEnter( 0, TouchPoint::Motion, 240, 400 );
-const Dali::TouchPoint pointDownOutside( 0, TouchPoint::Down, 10, 10 );
-const Dali::TouchPoint pointUpOutside( 0, TouchPoint::Up, 10, 10 );
-
-static bool gObjectCreatedCallBackCalled;
-
-static void TestObjectCreatedCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-}
-
-static float ANIMATION_TIME( 0.5f );
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliButtonNew, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliButtonProperties, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliButtonSetGetDimmed, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliButtonSize, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliButtonClicked, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliButtonConnectSignal, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliButtonSetGetAnimationTime, POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-
-// Positive test case for a method
-static void UtcDaliButtonNew()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliButtonNew");
-
-  CheckBoxButton checkBoxButton = CheckBoxButton::New();
-
-  DALI_TEST_CHECK( checkBoxButton );
-
-  PushButton pushButton = PushButton::New();
-
-  DALI_TEST_CHECK( pushButton );
-
-  CheckBoxButton checkBoxButton2( checkBoxButton );
-
-  DALI_TEST_CHECK( checkBoxButton2 );
-
-  PushButton pushButton2( pushButton );
-
-  DALI_TEST_CHECK( pushButton2 );
-
-  checkBoxButton2 = NULL;
-  pushButton2 = NULL;
-
-
-  //Additional check to ensure object is created by checking if it's registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect( &TestObjectCreatedCallback );
-  {
-    CheckBoxButton checkBoxButton = CheckBoxButton::New();
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect( &TestObjectCreatedCallback );
-  {
-    PushButton pushButton = PushButton::New();
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-
-  // Test down cast
-  Handle handleButton;
-  handleButton = pushButton;
-  Button downCastPushButton = Button::DownCast( handleButton );
-  DALI_TEST_CHECK( downCastPushButton );
-  PushButton downCastPushButton2 = PushButton::DownCast( handleButton );
-  DALI_TEST_CHECK( downCastPushButton2 );
-
-  handleButton = checkBoxButton;
-  Button downCastCheckBoxButton = Button::DownCast( handleButton );
-  DALI_TEST_CHECK( downCastCheckBoxButton );
-  CheckBoxButton downCastCheckBoxButton2 = CheckBoxButton::DownCast( handleButton );
-  DALI_TEST_CHECK( downCastCheckBoxButton2 );
-}
-
-static void UtcDaliButtonProperties()
-{
-  tet_infoline("UtcDaliButtonSetProperty: ");
-  ToolkitTestApplication application;
-
-  CheckBoxButton checkBoxButton = CheckBoxButton::New();
-  PushButton pushButton = PushButton::New();
-
-  //Test various properties
-  checkBoxButton.SetProperty( Button::PROPERTY_DIMMED, false );
-  DALI_TEST_CHECK( false == checkBoxButton.IsDimmed() );
-  DALI_TEST_CHECK( false == checkBoxButton.GetProperty< bool >( Button::PROPERTY_DIMMED ) );
-  checkBoxButton.SetProperty( Button::PROPERTY_DIMMED, true );
-  DALI_TEST_CHECK( true == checkBoxButton.IsDimmed() );
-  DALI_TEST_CHECK( true == checkBoxButton.GetProperty< bool >( Button::PROPERTY_DIMMED ) );
-
-  pushButton.SetProperty( Button::PROPERTY_DIMMED, false );
-  DALI_TEST_CHECK( false == pushButton.IsDimmed() );
-  DALI_TEST_CHECK( false == pushButton.GetProperty< bool >( Button::PROPERTY_DIMMED ) );
-  pushButton.SetProperty( Button::PROPERTY_DIMMED, true );
-  DALI_TEST_CHECK( true == pushButton.IsDimmed() );
-  DALI_TEST_CHECK( true == pushButton.GetProperty< bool >( Button::PROPERTY_DIMMED ) );
-}
-
-static void UtcDaliButtonSetGetDimmed()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliButtonSetGetDimmed");
-
-  CheckBoxButton checkBoxButton = CheckBoxButton::New();
-  PushButton pushButton = PushButton::New();
-
-  checkBoxButton.SetDimmed( true );
-  pushButton.SetDimmed( true );
-
-  DALI_TEST_CHECK( checkBoxButton.IsDimmed() );
-  DALI_TEST_CHECK( pushButton.IsDimmed() );
-
-  checkBoxButton.SetDimmed( false );
-  pushButton.SetDimmed( false );
-
-  DALI_TEST_CHECK( !checkBoxButton.IsDimmed() );
-  DALI_TEST_CHECK( !pushButton.IsDimmed() );
-
-  checkBoxButton.SetDimmed( true );
-  pushButton.SetDimmed( true );
-
-  DALI_TEST_CHECK( checkBoxButton.IsDimmed() );
-  DALI_TEST_CHECK( pushButton.IsDimmed() );
-
-  checkBoxButton.SetDimmed( false );
-  pushButton.SetDimmed( false );
-
-  DALI_TEST_CHECK( !checkBoxButton.IsDimmed() );
-  DALI_TEST_CHECK( !pushButton.IsDimmed() );
-}
-
-static void UtcDaliButtonSize()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliButtonSize");
-
-  // Creates 100x50 images.
-  ImageActor image01 = CreateSolidColorActor( Color::RED );
-  image01.SetSize( 100, 50 );
-
-  CheckBoxButton checkBoxButton;
-  PushButton pushButton;
-
-  Vector3 size;
-
-  // Test1 Size is set through Actor API
-
-  // First an image is set, then SetSize is called.
-  pushButton = PushButton::New();
-
-  pushButton.SetBackgroundImage( image01 );
-  pushButton.SetSize( 10.f, 10.f );
-
-  application.SendNotification();
-  application.Render();
-
-  size = pushButton.GetCurrentSize();
-
-  DALI_TEST_EQUALS( size.width, 10.f, TEST_LOCATION );
-  DALI_TEST_EQUALS( size.height, 10.f, TEST_LOCATION );
-}
-
-static void UtcDaliButtonClicked()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliButtonClicked");
-
-  PushButton pushButton = PushButton::New();
-  pushButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  pushButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  pushButton.SetPosition( 240, 400 );
-  pushButton.SetSize( 100, 100 );
-
-  Stage::GetCurrent().Add( pushButton );
-
-  application.SendNotification();
-  application.Render();
-
-  // connect to its touch signal
-  pushButton.ClickedSignal().Connect( &ButtonClicked );
-
-  Dali::Integration::TouchEvent event;
-
-  // Test1. Touch point down and up inside the button.
-
-  gButtonClicked = false;
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownInside );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpInside );
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( gButtonClicked );
-
-  // Test2. Touch point down and up outside the button.
-
-  gButtonClicked = false;
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownOutside );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpOutside );
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( !gButtonClicked );
-
-  // Test3. Touch point down inside and up outside the button.
-
-  gButtonClicked = false;
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownInside );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointLeave );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpOutside );
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( !gButtonClicked );
-
-  // Test4. Touch point down outside and up inside the button.
-
-  gButtonClicked = false;
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownOutside );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointEnter );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpInside );
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( !gButtonClicked );
-}
-
-static bool gClickedCallBackCalled;
-
-static bool TestClickedCallback(Button button)
-{
-  gClickedCallBackCalled = true;
-  return true;
-}
-
-static void UtcDaliButtonConnectSignal()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliButtonConnectSignal()");
-
-  gClickedCallBackCalled = false;
-
-  PushButton pushButton = PushButton::New();
-  pushButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  pushButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  pushButton.SetPosition( 240, 400 );
-  pushButton.SetSize( 100, 100 );
-
-  Stage::GetCurrent().Add( pushButton );
-
-  application.SendNotification();
-  application.Render();
-
-  // connect to its clicked signal
-  pushButton.ClickedSignal().Connect(TestClickedCallback);
-
-  Dali::Integration::TouchEvent event;
-
-  // Touch point down and up inside the button.
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownInside );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpInside );
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( gClickedCallBackCalled == true );
-
-  gClickedCallBackCalled = false;
-  pushButton.ClickedSignal().Disconnect(TestClickedCallback);
-
-  // simulate another touch event
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( gClickedCallBackCalled == false );
-}
-
-static void UtcDaliButtonSetGetAnimationTime()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliButtonSetGetAnimationTime");
-
-  CheckBoxButton checkBoxButton = CheckBoxButton::New();
-  PushButton pushButton = PushButton::New();
-
-  checkBoxButton.SetAnimationTime( ANIMATION_TIME );
-  pushButton.SetAnimationTime( ANIMATION_TIME );
-
-  DALI_TEST_EQUALS( checkBoxButton.GetAnimationTime(), ANIMATION_TIME, TEST_LOCATION );
-  DALI_TEST_EQUALS( pushButton.GetAnimationTime(), ANIMATION_TIME, TEST_LOCATION );
-
-}
diff --git a/automated-tests/TET/dali-test-suite/buttons/utc-Dali-CheckBoxButton.cpp b/automated-tests/TET/dali-test-suite/buttons/utc-Dali-CheckBoxButton.cpp
deleted file mode 100644 (file)
index ec5fcda..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/public-api/controls/buttons/check-box-button.h>
-#include <dali-toolkit/public-api/controls/default-controls/solid-color-actor.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-namespace
-{
-Image CreateSolidColorImage( const Vector4& color, unsigned int width, unsigned int height )
-{
-  BitmapImage imageData = BitmapImage::New( width, height, Pixel::RGBA8888 );
-
-  // Create the image
-  PixelBuffer* pixbuf = imageData.GetBuffer();
-  unsigned int size = width * height;
-
-  for( size_t i = 0; i < size; i++ )
-    {
-      pixbuf[i*4+0] = 0xFF * color.r;
-      pixbuf[i*4+1] = 0xFF * color.g;
-      pixbuf[i*4+2] = 0xFF * color.b;
-      pixbuf[i*4+3] = 0xFF * color.a;
-    }
-
-  imageData.Update();
-
-  return imageData;
-}
-
-static bool gCheckBoxButtonState = false;
-bool CheckBoxButtonClicked( Button button )
-{
-  gCheckBoxButtonState = static_cast<CheckBoxButton&>( button ).IsChecked();
-  return true;
-}
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliCheckBoxButtonSetGetChecked, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliCheckBoxButtonSetImages, POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliCheckBoxButtonSetGetChecked()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliCheckBoxButtonSetGetChecked");
-
-  CheckBoxButton checkBoxButton = CheckBoxButton::New();
-  checkBoxButton.ClickedSignal().Connect( &CheckBoxButtonClicked );
-
-  // global var used to check if CheckBoxButtonClicked is called;
-  gCheckBoxButtonState = false;
-
-  checkBoxButton.SetChecked( true );
-
-  DALI_TEST_CHECK( checkBoxButton.IsChecked() );
-  DALI_TEST_CHECK( gCheckBoxButtonState );
-
-  checkBoxButton.SetChecked( false );
-
-  DALI_TEST_CHECK( !checkBoxButton.IsChecked() );
-  DALI_TEST_CHECK( !gCheckBoxButtonState );
-
-  checkBoxButton.SetChecked( true );
-
-  DALI_TEST_CHECK( checkBoxButton.IsChecked() );
-  DALI_TEST_CHECK( gCheckBoxButtonState );
-}
-
-static void UtcDaliCheckBoxButtonSetImages()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliCheckBoxButtonSetImages");
-
-  Actor imageActor;
-
-  Image image01 = CreateSolidColorImage( Color::RED, 10, 10 );
-  ImageActor imageActor01 = CreateSolidColorActor( Color::RED );
-  imageActor01.SetSize( 20, 20 );
-
-  Image image02 = CreateSolidColorImage( Color::RED, 30, 30 );
-  ImageActor imageActor02 = CreateSolidColorActor( Color::RED );
-  imageActor02.SetSize( 40, 40 );
-
-  Image image03 = CreateSolidColorImage( Color::RED, 50, 50 );
-  ImageActor imageActor03 = CreateSolidColorActor( Color::RED );
-  imageActor03.SetSize( 60, 60 );
-
-  Image image04 = CreateSolidColorImage( Color::RED, 70, 70 );
-  ImageActor imageActor04 = CreateSolidColorActor( Color::RED );
-  imageActor04.SetSize( 80, 80 );
-
-  Vector3 size;
-  CheckBoxButton checkBoxButton = CheckBoxButton::New();
-
-  application.SendNotification();
-  application.Render();
-
-  // Just check if check box button size changes when a bigger image is set.
-
-  checkBoxButton.SetBackgroundImage( image01 );
-
-  application.SendNotification();
-  application.Render();
-
-  size = checkBoxButton.GetBackgroundImage().GetCurrentSize();
-
-  DALI_TEST_EQUALS( size.width, 10.f, TEST_LOCATION );
-  DALI_TEST_EQUALS( size.height, 10.f, TEST_LOCATION );
-
-  checkBoxButton.SetBackgroundImage( imageActor01 );
-
-  application.SendNotification();
-  application.Render();
-
-  size = checkBoxButton.GetBackgroundImage().GetCurrentSize();
-
-  DALI_TEST_EQUALS( size.width, 20.f, TEST_LOCATION );
-  DALI_TEST_EQUALS( size.height, 20.f, TEST_LOCATION );
-
-  checkBoxButton.SetCheckedImage( image02 );
-
-  application.SendNotification();
-  application.Render();
-
-  size = checkBoxButton.GetCheckedImage().GetCurrentSize();
-
-  DALI_TEST_EQUALS( size.width, 30.f, TEST_LOCATION );
-  DALI_TEST_EQUALS( size.height, 30.f, TEST_LOCATION );
-
-  checkBoxButton.SetCheckedImage( imageActor02 );
-
-  application.SendNotification();
-  application.Render();
-
-  size = checkBoxButton.GetCheckedImage().GetCurrentSize();
-
-  DALI_TEST_EQUALS( size.width, 40.f, TEST_LOCATION );
-  DALI_TEST_EQUALS( size.height, 40.f, TEST_LOCATION );
-
-  checkBoxButton.SetDimmedBackgroundImage( image03 );
-
-  application.SendNotification();
-  application.Render();
-
-  size = checkBoxButton.GetDimmedBackgroundImage().GetCurrentSize();
-
-  DALI_TEST_EQUALS( size.width, 50.f, TEST_LOCATION );
-  DALI_TEST_EQUALS( size.height, 50.f, TEST_LOCATION );
-
-  checkBoxButton.SetDimmedBackgroundImage( imageActor03 );
-
-  application.SendNotification();
-  application.Render();
-
-  size = checkBoxButton.GetDimmedBackgroundImage().GetCurrentSize();
-
-  DALI_TEST_EQUALS( size.width, 60.f, TEST_LOCATION );
-  DALI_TEST_EQUALS( size.height, 60.f, TEST_LOCATION );
-
-  checkBoxButton.SetDimmedCheckedImage( image04 );
-
-  application.SendNotification();
-  application.Render();
-
-  size = checkBoxButton.GetDimmedCheckedImage().GetCurrentSize();
-
-  DALI_TEST_EQUALS( size.width, 70.f, TEST_LOCATION );
-  DALI_TEST_EQUALS( size.height, 70.f, TEST_LOCATION );
-
-  checkBoxButton.SetDimmedCheckedImage( imageActor04 );
-
-  application.SendNotification();
-  application.Render();
-
-  size = checkBoxButton.GetDimmedCheckedImage().GetCurrentSize();
-
-  DALI_TEST_EQUALS( size.width, 80.f, TEST_LOCATION );
-  DALI_TEST_EQUALS( size.height, 80.f, TEST_LOCATION );
-}
diff --git a/automated-tests/TET/dali-test-suite/buttons/utc-Dali-PushButton.cpp b/automated-tests/TET/dali-test-suite/buttons/utc-Dali-PushButton.cpp
deleted file mode 100644 (file)
index 525a5a1..0000000
+++ /dev/null
@@ -1,1355 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali/integration-api/events/touch-event-integ.h>
-#include <dali-toolkit/public-api/controls/buttons/push-button.h>
-#include <dali-toolkit/public-api/controls/default-controls/solid-color-actor.h>
-#include <dali-toolkit/public-api/controls/text-view/text-view.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-#include <dali-toolkit/internal/controls/buttons/button-impl.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-namespace
-{
-Image CreateSolidColorImage( const Vector4& color, unsigned int width, unsigned int height )
-{
-  BitmapImage imageData = BitmapImage::New( width, height, Pixel::RGBA8888 );
-
-  // Create the image
-  PixelBuffer* pixbuf = imageData.GetBuffer();
-  unsigned int size = width * height;
-
-  for( size_t i = 0; i < size; i++ )
-    {
-      pixbuf[i*4+0] = 0xFF * color.r;
-      pixbuf[i*4+1] = 0xFF * color.g;
-      pixbuf[i*4+2] = 0xFF * color.b;
-      pixbuf[i*4+3] = 0xFF * color.a;
-    }
-
-  imageData.Update();
-
-  return imageData;
-}
-
-static bool gPushButtonToggleState = false;
-bool PushButtonToggled( Button button, bool toggled )
-{
-  gPushButtonToggleState = toggled && ( toggled == static_cast<PushButton&>( button ).IsToggled() );
-  return true;
-}
-
-static bool gPushButtonPressed = false;
-
-static bool PushButtonPressed( Button button )
-{
-  gPushButtonPressed = true;
-  return true;
-}
-
-static bool gPushButtonReleased = false;
-
-static bool PushButtonReleased( Button button )
-{
-  gPushButtonReleased = true;
-  return true;
-}
-
-const Dali::TouchPoint pointDownInside( 0, TouchPoint::Down, 240, 400 );
-const Dali::TouchPoint pointUpInside( 0, TouchPoint::Up, 240, 400 );
-const Dali::TouchPoint pointLeave( 0, TouchPoint::Leave, 240, 400 );
-const Dali::TouchPoint pointEnter( 0, TouchPoint::Motion, 240, 400 );
-const Dali::TouchPoint pointMotionOut( 0, TouchPoint::Motion, 10, 10 );
-const Dali::TouchPoint pointDownOutside( 0, TouchPoint::Down, 10, 10 );
-const Dali::TouchPoint pointUpOutside( 0, TouchPoint::Up, 10, 10 );
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-//////////////////////////////////////////////////////////
-
-namespace
-{
-static bool gOnTouchPointInterrupted = false;
-} //namespace
-
-namespace Dali
-{
-
-namespace Toolkit
-{
-
-namespace Internal
-{
-class TETButton;
-}
-
-/**
- * Creates a Button to test if interrupt events are handled correctly.
- */
-class TETButton : public Button
-{
-public:
-  // PushButton Pressed
-  typedef SignalV2< bool ( Button ) > PressedSignalV2;
-
-  PressedSignalV2& PressedSignal();
-
-  /**
-   * Default constructor.
-   */
-  TETButton();
-
-  /**
-   * Copy constructor.
-   */
-  TETButton( const Button& button );
-
-  /**
-   * Assignment operator.
-   */
-  TETButton& operator=( const TETButton& button );
-
-  /**
-   * Creates and initializes a new button.
-   */
-  static TETButton New();
-
-  /**
-   * Down cast to TETButton.
-   */
-  static TETButton DownCast( BaseHandle handle );
-
-  /**
-   * Creates a handle using the Toolkit::Internal implementation.
-   * @param[in]  implementation  The Control implementation.
-   */
-  TETButton( Internal::TETButton& implementation );
-
-  /**
-   * Allows the creation of this Control from an Internal::CustomActor pointer.
-   * @param[in]  internal  A pointer to the internal CustomActor.
-   */
-  TETButton( Dali::Internal::CustomActor* internal );
-};
-
-namespace Internal
-{
-
-/**
- * Internal implementation
- */
-class TETButton : public Button
-{
-public:
-  /**
-   * Construct a new Button.
-   */
-  TETButton();
-
-  /**
-   * A reference counted object may only be deleted by calling Unreference()
-   */
-  virtual ~TETButton();
-
-  /**
-   * Creates an internal button.
-   */
-  static Toolkit::TETButton New();
-
-  /**
-   * @return the pressed signal.
-   */
-  Toolkit::TETButton::PressedSignalV2& PressedSignal();
-
-  /**
-   * Callback called when an interrupt events is received.
-   */
-  void OnTouchPointInterrupted();
-
-  /**
-   * Callback received when a down event is received.
-   */
-  void OnButtonDown();
-
-  Toolkit::TETButton::PressedSignalV2 mPressedSignal;   ///< Signal emitted when the button is pressed.
-};
-
-} // namespace Internal
-
-TETButton::TETButton()
-{
-}
-
-TETButton::TETButton( const Button& button )
-: Button( button )
-{
-}
-
-TETButton& TETButton::operator=( const TETButton& button )
-{
-  if( &button != this )
-  {
-    Button::operator=( button );
-  }
-  return *this;
-}
-
-TETButton TETButton::New()
-{
-  return Internal::TETButton::New();
-}
-
-TETButton TETButton::DownCast( BaseHandle handle )
-{
-  return Control::DownCast<TETButton, Internal::TETButton>(handle);
-}
-
-TETButton::PressedSignalV2& TETButton::PressedSignal()
-{
-  TETButton button( *this );
-  DALI_ASSERT_ALWAYS( button );
-
-  Dali::RefObject& handle = button.GetImplementation();
-
-  return static_cast<Toolkit::Internal::TETButton&>( handle ).PressedSignal();
-}
-
-TETButton::TETButton( Internal::TETButton& implementation )
-: Button( implementation )
-{}
-
-TETButton::TETButton( Dali::Internal::CustomActor* internal )
-: Button( internal )
-{
-  VerifyCustomActorPointer<Internal::TETButton>(internal);
-}
-
-namespace Internal
-{
-
-TETButton::TETButton()
-: Button(),
-  mPressedSignal()
-{
-}
-
-TETButton::~TETButton()
-{
-}
-
-Toolkit::TETButton TETButton::New()
-{
-  // Create the implementation, temporarily owned on stack
-  IntrusivePtr< TETButton > internalTETButton = new TETButton();
-
-  // Pass ownership to CustomActor
-  Dali::Toolkit::TETButton tetButton( *internalTETButton );
-
-  // Second-phase init of the implementation
-  // This can only be done after the CustomActor connection has been made...
-  internalTETButton->Initialize();
-
-  return tetButton;
-}
-
-Toolkit::TETButton::PressedSignalV2& TETButton::PressedSignal()
-{
-  return mPressedSignal;
-}
-
-void TETButton::OnButtonDown()
-{
-  Toolkit::TETButton handle( GetOwner() );
-
-  //Emit signal.
-  mPressedSignal.Emit( handle );
-}
-
-void TETButton::OnTouchPointInterrupted()
-{
-  gOnTouchPointInterrupted = true;
-}
-
-} // namespace Internal
-
-} // namespace Toolkit
-
-} // namespace Dali
-
-namespace
-{
-
-class TETButtonPressed : public Dali::ConnectionTracker
-{
-public:
-  enum Test
-  {
-    SENSITIVENESS,
-    VISIBILITY
-  };
-
-  TETButtonPressed( Actor actor, Test test )
-  : mActor( actor ),
-    mTest( test )
-  {
-  }
-
-  bool Callback( Button button )
-  {
-    switch( mTest )
-    {
-      case SENSITIVENESS:
-      {
-        mActor.SetSensitive( false );
-        break;
-      }
-      case VISIBILITY:
-      {
-        std::cout <<"VISIBILITY false" << std::endl;
-        mActor.SetVisible( false );
-        break;
-      }
-      default:
-      {
-        break;
-      }
-    }
-    return true;
-  }
-
-  Actor mActor;
-  Test mTest;
-};
-
-static bool TestCallback(Actor actor, const TouchEvent& event)
-{
-  return true;
-}
-
-} // namespace
-
-//////////////////////////////////////////////////////////
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliPushButtonSetGetAutoRepeating, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPushButtonSetGetToggleButton, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPushButtonSetGetAutoRepeatingAndToggleButton, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPushButtonSetGetToggled01, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPushButtonSetGetToggled02, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPushButtonSetGetAutorepeatingDelayValues01, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPushButtonSetGetAutorepeatingDelayValues02, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPushButtonSetImages, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPushButtonSetLabelText, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPushButtonPressed, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPushButtonReleased, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPushButtonToggled, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPushButtonInterruptEventWhenInsensitive, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPushButtonInterruptEventWhenNonVisible, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPushButtonProperties, POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-
-static void UtcDaliPushButtonSetGetAutoRepeating()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliPushButtonSetGetAutoRepeating");
-
-  PushButton pushButton = PushButton::New();
-
-  pushButton.SetAutoRepeating( true );
-
-  DALI_TEST_CHECK( pushButton.IsAutoRepeating() );
-
-  pushButton.SetAutoRepeating( false );
-
-  DALI_TEST_CHECK( !pushButton.IsAutoRepeating() );
-
-  pushButton.SetAutoRepeating( true );
-
-  DALI_TEST_CHECK( pushButton.IsAutoRepeating() );
-}
-
-static void UtcDaliPushButtonSetGetToggleButton()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliPushButtonSetGetToggleButton");
-
-  PushButton pushButton = PushButton::New();
-
-  pushButton.SetToggleButton( true );
-
-  DALI_TEST_CHECK( pushButton.IsToggleButton() );
-
-  pushButton.SetToggleButton( false );
-
-  DALI_TEST_CHECK( !pushButton.IsToggleButton() );
-
-  pushButton.SetToggleButton( true );
-
-  DALI_TEST_CHECK( pushButton.IsToggleButton() );
-}
-
-static void UtcDaliPushButtonSetGetAutoRepeatingAndToggleButton()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliPushButtonSetGetAutoRepeatingAndToggleButton");
-
-  PushButton pushButton = PushButton::New();
-
-  pushButton.SetAutoRepeating( true );
-  pushButton.SetToggleButton( true );
-
-  DALI_TEST_CHECK( pushButton.IsToggleButton() );
-  DALI_TEST_CHECK( !pushButton.IsAutoRepeating() );
-
-  pushButton.SetToggleButton( true );
-  pushButton.SetAutoRepeating( true );
-
-  DALI_TEST_CHECK( pushButton.IsAutoRepeating() );
-  DALI_TEST_CHECK( !pushButton.IsToggleButton() );
-}
-
-static void UtcDaliPushButtonSetGetToggled01()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliPushButtonSetGetToggled01");
-
-  PushButton pushButton = PushButton::New();
-
-  pushButton.SetToggleButton( true );
-  pushButton.ToggledSignal().Connect( &PushButtonToggled );
-
-  gPushButtonToggleState = false;
-  pushButton.SetToggled( true );
-
-  DALI_TEST_CHECK( pushButton.IsToggled() );
-  DALI_TEST_CHECK( gPushButtonToggleState );
-
-  pushButton.SetToggled( false );
-
-  DALI_TEST_CHECK( !pushButton.IsToggled() );
-  DALI_TEST_CHECK( !gPushButtonToggleState );
-
-  pushButton.SetToggled( true );
-
-  DALI_TEST_CHECK( pushButton.IsToggled() );
-  DALI_TEST_CHECK( gPushButtonToggleState );
-}
-
-static void UtcDaliPushButtonSetGetToggled02()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliPushButtonSetGetToggled02");
-
-  PushButton pushButton = PushButton::New();
-
-  pushButton.SetToggleButton( false );
-  pushButton.ToggledSignal().Connect( &PushButtonToggled );
-
-  gPushButtonToggleState = false;
-  pushButton.SetToggled( true );
-
-  DALI_TEST_CHECK( !pushButton.IsToggled() );
-  DALI_TEST_CHECK( !gPushButtonToggleState );
-
-  pushButton.SetToggled( false );
-
-  DALI_TEST_CHECK( !pushButton.IsToggled() );
-  DALI_TEST_CHECK( !gPushButtonToggleState );
-
-  pushButton.SetToggled( true );
-
-  DALI_TEST_CHECK( !pushButton.IsToggled() );
-  DALI_TEST_CHECK( !gPushButtonToggleState );
-}
-
-static void UtcDaliPushButtonSetGetAutorepeatingDelayValues01()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliPushButtonSetGetAutorepeatingDelayValues01");
-
-  PushButton pushButton = PushButton::New();
-
-  pushButton.SetAutoRepeating( true );
-
-  pushButton.SetInitialAutoRepeatingDelay( 1.f );
-  DALI_TEST_EQUALS( pushButton.GetInitialAutoRepeatingDelay(), 1.f, TEST_LOCATION );
-
-  pushButton.SetNextAutoRepeatingDelay( 1.f );
-  DALI_TEST_EQUALS( pushButton.GetNextAutoRepeatingDelay(), 1.f, TEST_LOCATION );
-}
-
-static void UtcDaliPushButtonSetGetAutorepeatingDelayValues02()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliPushButtonSetGetAutorepeatingDelayValues02");
-
-  PushButton pushButton = PushButton::New();
-
-  bool assert1( false );
-  bool assert2( false );
-
-  pushButton.SetAutoRepeating( true );
-
-  try
-  {
-    pushButton.SetInitialAutoRepeatingDelay( -1.f );
-  }
-  catch( Dali::DaliException& e )
-  {
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_EQUALS(e.mCondition, "initialAutoRepeatingDelay > 0.f", TEST_LOCATION);
-    assert1 = true;
-  }
-
-  try
-  {
-    pushButton.SetNextAutoRepeatingDelay( -1.f );
-  }
-  catch( Dali::DaliException& e )
-  {
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_EQUALS(e.mCondition, "nextAutoRepeatingDelay > 0.f", TEST_LOCATION);
-    assert2 = true;
-  }
-
-  DALI_TEST_CHECK( assert1 && assert2 );
-}
-
-static void UtcDaliPushButtonSetImages()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliPushButtonSetImages");
-
-  Actor imageActor;
-
-  Image image01 = CreateSolidColorImage( Color::RED, 10, 10 );
-  ImageActor imageActor01 = CreateSolidColorActor( Color::RED );
-  imageActor01.SetSize( 20.f, 20.f );
-
-  Image image02 = CreateSolidColorImage( Color::RED, 30, 30 );
-  ImageActor imageActor02 = CreateSolidColorActor( Color::RED );
-  imageActor02.SetSize( 40.f, 40.f );
-
-  Image image03 = CreateSolidColorImage( Color::RED, 50, 50 );
-  ImageActor imageActor03 = CreateSolidColorActor( Color::RED );
-  imageActor03.SetSize( 60.f, 60.f );
-
-  Image image04 = CreateSolidColorImage( Color::RED, 70, 70 );
-  ImageActor imageActor04 = CreateSolidColorActor( Color::RED );
-  imageActor04.SetSize( 80.f, 80.f );
-
-  Image image05 = CreateSolidColorImage( Color::RED, 90, 90 );
-  ImageActor imageActor05 = CreateSolidColorActor( Color::RED );
-  imageActor05.SetSize( 100.f, 100.f );
-
-  Vector3 size;
-  PushButton pushButton = PushButton::New();
-
-  application.SendNotification();
-  application.Render();
-
-  // Just check if check box button size changes when a bigger image is set.
-
-  pushButton.SetButtonImage( image01 );
-
-  application.SendNotification();
-  application.Render();
-
-  size = pushButton.GetButtonImage().GetCurrentSize();
-
-  DALI_TEST_EQUALS( size.width, 10.f, TEST_LOCATION );
-  DALI_TEST_EQUALS( size.height, 10.f, TEST_LOCATION );
-
-  pushButton.SetButtonImage( imageActor01 );
-
-  application.SendNotification();
-  application.Render();
-
-  size = pushButton.GetButtonImage().GetCurrentSize();
-
-  DALI_TEST_EQUALS( size.width, 20.f, TEST_LOCATION );
-  DALI_TEST_EQUALS( size.height, 20.f, TEST_LOCATION );
-
-  pushButton.SetBackgroundImage( image02 );
-
-  application.SendNotification();
-  application.Render();
-
-  size = pushButton.GetBackgroundImage().GetCurrentSize();
-
-  DALI_TEST_EQUALS( size.width, 30.f, TEST_LOCATION );
-  DALI_TEST_EQUALS( size.height, 30.f, TEST_LOCATION );
-
-  pushButton.SetBackgroundImage( imageActor02 );
-
-  application.SendNotification();
-  application.Render();
-
-  size = pushButton.GetBackgroundImage().GetCurrentSize();
-
-  DALI_TEST_EQUALS( size.width, 40.f, TEST_LOCATION );
-  DALI_TEST_EQUALS( size.height, 40.f, TEST_LOCATION );
-
-  pushButton.SetPressedImage( image03 );
-
-  application.SendNotification();
-  application.Render();
-
-  size = pushButton.GetPressedImage().GetCurrentSize();
-
-  DALI_TEST_EQUALS( size.width, 50.f, TEST_LOCATION );
-  DALI_TEST_EQUALS( size.height, 50.f, TEST_LOCATION );
-
-  pushButton.SetPressedImage( imageActor03 );
-
-  application.SendNotification();
-  application.Render();
-
-  size = pushButton.GetPressedImage().GetCurrentSize();
-
-  DALI_TEST_EQUALS( size.width, 60.f, TEST_LOCATION );
-  DALI_TEST_EQUALS( size.height, 60.f, TEST_LOCATION );
-
-  pushButton.SetDimmedBackgroundImage( image04 );
-
-  application.SendNotification();
-  application.Render();
-
-  size = pushButton.GetDimmedBackgroundImage().GetCurrentSize();
-
-  DALI_TEST_EQUALS( size.width, 70.f, TEST_LOCATION );
-  DALI_TEST_EQUALS( size.height, 70.f, TEST_LOCATION );
-
-  pushButton.SetDimmedBackgroundImage( imageActor04 );
-
-  application.SendNotification();
-  application.Render();
-
-  size = pushButton.GetDimmedBackgroundImage().GetCurrentSize();
-
-  DALI_TEST_EQUALS( size.width, 80.f, TEST_LOCATION );
-  DALI_TEST_EQUALS( size.height, 80.f, TEST_LOCATION );
-
-  pushButton.SetDimmedImage( image05 );
-
-  application.SendNotification();
-  application.Render();
-
-  size = pushButton.GetDimmedImage().GetCurrentSize();
-
-  DALI_TEST_EQUALS( size.width, 90.f, TEST_LOCATION );
-  DALI_TEST_EQUALS( size.height, 90.f, TEST_LOCATION );
-
-  pushButton.SetDimmedImage( imageActor05 );
-
-  application.SendNotification();
-  application.Render();
-
-  size = pushButton.GetDimmedImage().GetCurrentSize();
-
-  DALI_TEST_EQUALS( size.width, 100.f, TEST_LOCATION );
-  DALI_TEST_EQUALS( size.height, 100.f, TEST_LOCATION );
-}
-
-static void UtcDaliPushButtonSetLabelText()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliPushButtonSetLabelText");
-
-  const std::string STR( "Hola!" );
-
-  PushButton pushButton = PushButton::New();
-
-  application.SendNotification();
-  application.Render();
-
-  TextView textView;
-
-  pushButton.SetLabelText( STR );
-
-  textView = TextView::DownCast( pushButton.GetLabelText() );
-  DALI_TEST_CHECK( STR == textView.GetText() );
-
-  TextView text = TextView::New( STR );
-  pushButton.SetLabelText( text );
-
-  textView = TextView::DownCast( pushButton.GetLabelText() );
-  DALI_TEST_CHECK( STR == textView.GetText() );
-}
-
-static void UtcDaliPushButtonPressed()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliPushButtonPressed");
-
-  PushButton pushButton = PushButton::New();
-  pushButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  pushButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  pushButton.SetPosition( 240, 400 );
-  pushButton.SetSize( 100, 100 );
-
-  Stage::GetCurrent().Add( pushButton );
-
-  application.SendNotification();
-  application.Render();
-
-  gPushButtonPressed = false;
-
-  // connect to its touch signal
-  pushButton.PressedSignal().Connect( &PushButtonPressed );
-
-  Dali::Integration::TouchEvent eventDown;
-  eventDown.AddPoint( pointDownInside );
-
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-  application.ProcessEvent( eventDown );
-
-  DALI_TEST_CHECK( gPushButtonPressed );
-}
-
-static void UtcDaliPushButtonReleased()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliPushButtonReleased");
-
-  PushButton pushButton = PushButton::New();
-  pushButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  pushButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  pushButton.SetPosition( 240, 400 );
-  pushButton.SetSize( 100, 100 );
-
-  Stage::GetCurrent().Add( pushButton );
-
-  application.SendNotification();
-  application.Render();
-
-  // connect to its touch signal
-  pushButton.ReleasedSignal().Connect( &PushButtonReleased );
-
-  Dali::Integration::TouchEvent event;
-
-  // Test1. Touch point down and up inside the button.
-
-  gPushButtonReleased = false;
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownInside );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpInside );
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( gPushButtonReleased );
-
-  // Test2. Touch point down and up outside the button.
-
-  gPushButtonReleased = false;
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownOutside );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpOutside );
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( !gPushButtonReleased );
-
-  // Test3. Touch point down inside and up outside the button.
-
-  gPushButtonReleased = false;
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownInside );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointLeave );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpOutside );
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( gPushButtonReleased );
-
-  // Test4. Touch point down outside and up inside the button.
-
-  gPushButtonReleased = false;
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownOutside );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointEnter );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpInside );
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( !gPushButtonReleased );
-}
-
-static void UtcDaliPushButtonToggled()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliPushButtonToggled");
-
-  PushButton pushButton = PushButton::New();
-  pushButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  pushButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  pushButton.SetPosition( 240, 400 );
-  pushButton.SetSize( 100, 100 );
-
-  Stage::GetCurrent().Add( pushButton );
-
-  application.SendNotification();
-  application.Render();
-
-  // connect to its touch signal
-  pushButton.ToggledSignal().Connect( &PushButtonToggled );
-
-  Dali::Integration::TouchEvent event;
-
-  // Test1. No toggle button.
-
-  gPushButtonToggleState = false;
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownInside );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpInside );
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( !gPushButtonToggleState );
-
-  // Set toggle property.
-  pushButton.SetToggleButton( true );
-
-  // Test2. Touch point down and up inside the button twice.
-  gPushButtonToggleState = false;
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownInside );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpInside );
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( gPushButtonToggleState );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownInside );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpInside );
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( !gPushButtonToggleState );
-
-  // Test3. Touch point down and up outside the button.
-
-  gPushButtonToggleState = false;
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownOutside );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpOutside );
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( !gPushButtonToggleState );
-
-  // Test4. Touch point down inside and up outside the button.
-
-  gPushButtonToggleState = false;
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownInside );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointLeave );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpOutside );
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( !gPushButtonToggleState );
-
-  // Test5. Touch point down outside and up inside the button.
-
-  gPushButtonToggleState = false;
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownOutside );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointEnter );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpInside );
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( !gPushButtonToggleState );
-}
-
-static void UtcDaliPushButtonInterruptEventWhenInsensitive()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliPushButtonInterruptEventWhenInsensitive");
-
-  // * Creates an actor which contains a button.
-  // * The size of the actor is bigger than the button.
-  // * The button's boundary is contained in the actor's one.
-  Actor actor = Actor::New();
-  TETButton tetButton= Toolkit::TETButton::New();
-
-  actor.SetName( "Actor" );
-  tetButton.SetName( "TETButton" );
-
-  actor.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  actor.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  actor.SetPosition( 0, 0 );
-  actor.SetSize( 400, 800 );
-
-  tetButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  tetButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  tetButton.SetPosition( 240, 400 );
-  tetButton.SetSize( 100, 100 );
-
-  actor.Add( tetButton );
-  Stage::GetCurrent().Add( actor );
-
-  // * Actor's touch event is connected to a callback function
-  //   and this callback function consumes the event.
-  actor.TouchedSignal().Connect( &TestCallback );
-
-  // * Button's pressed signal is connected to a callback function
-  //   which also consumes the event.
-  // * Changes the sensitiveness of the button to false.
-  TETButtonPressed tetButtonPressed( actor, TETButtonPressed::SENSITIVENESS );
-  tetButton.PressedSignal().Connect( &tetButtonPressed, &TETButtonPressed::Callback );
-
-  // Initializes TET state.
-  gOnTouchPointInterrupted = false;
-  tetButton.SetSensitive( true );
-
-  Dali::Integration::TouchEvent event;
-
-  // TET starts.
-
-  // Test a down point inside the button which is also consumed by the actor, and an up point
-  // consumed only by the actor.  gOnTouchPointInterrupted should be true (Button receives an
-  // interrupt event.
-
-  application.SendNotification();
-  application.Render();
-
-  // A down event is sent inside the button's boundary.
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownInside );
-
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-  application.ProcessEvent( event );
-
-  // An up event is sent outside the button's boundary but inside the actor's one.
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpOutside );
-
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( gOnTouchPointInterrupted );
-
-  // Test a down point inside the button which is also consumed by the actor, and a motion point
-  // consumed only by the actor.  gOnTouchPointInterrupted should be true (Button receives an
-  // interrupt event.
-
-  // Initializes TET state.
-  gOnTouchPointInterrupted = false;
-  actor.SetSensitive( true );
-  tetButton.SetSensitive( true );
-
-  application.SendNotification();
-  application.Render();
-
-  // A down event is sent inside the button's boundary.
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownInside );
-
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-  application.ProcessEvent( event );
-
-  // A motion event is sent outside the button's boundary but inside the actor's one.
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointMotionOut );
-
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( gOnTouchPointInterrupted );
-
-  // Test a down point inside the button which is also consumed by the actor, and an up point
-  // also inside the button and consumed by the actor.  gOnTouchPointInterrupted should be false.
-
-  // Initializes TET state.
-  gOnTouchPointInterrupted = false;
-  actor.SetSensitive( true );
-  tetButton.SetSensitive( true );
-
-  // A down event is sent inside the button's boundary.
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownInside );
-
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-  application.ProcessEvent( event );
-
-  actor.SetSensitive( true );
-  // An up event is sent inside the button's boundary.
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpInside );
-
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( !gOnTouchPointInterrupted );
-}
-
-static void UtcDaliPushButtonInterruptEventWhenNonVisible()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliPushButtonInterruptEventWhenNonVisible");
-
-  // Does same test as above but changing the visibility instead the sensitiveness.
-
-  // * Creates an actor which contains a button.
-  // * The size of the actor is bigger than the button.
-  // * The button's boundary is contained in the actor's one.
-  Actor actor = Actor::New();
-  TETButton tetButton = Toolkit::TETButton::New();
-
-  actor.SetName( "Actor" );
-  tetButton.SetName( "TETButton" );
-
-  actor.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  actor.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  actor.SetPosition( 0, 0 );
-  actor.SetSize( 400, 800 );
-
-  tetButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  tetButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  tetButton.SetPosition( 240, 400 );
-  tetButton.SetSize( 100, 100 );
-
-  actor.Add( tetButton );
-  Stage::GetCurrent().Add( actor );
-
-  // * Actor's touch event is connected to a callback function
-  //   and this callback function consumes the event.
-  actor.TouchedSignal().Connect( &TestCallback );
-
-  // * Button's pressed signal is connected to a callback function
-  //   which also consumes the event.
-  // * Changes the visibility of the button to false.
-  TETButtonPressed tetButtonPressed( tetButton, TETButtonPressed::VISIBILITY );
-  tetButton.PressedSignal().Connect( &tetButtonPressed, &TETButtonPressed::Callback );
-
-  // Initializes TET state.
-  gOnTouchPointInterrupted = false;
-  tetButton.SetVisible( true );
-
-  Dali::Integration::TouchEvent event;
-
-  // TET starts.
-
-  // Test a down point inside the button which is also consumed by the actor, and an up point
-  // consumed only by the actor.  gOnTouchPointInterrupted should be true (Button receives an
-  // interrupt event.
-
-  application.SendNotification();
-  application.Render();
-
-  // A down event is sent inside the button's boundary.
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownInside );
-
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-  application.ProcessEvent( event );
-
-  // More renders are needed in order to allow the node of the actor to become invisible.
-  application.SendNotification();
-  application.Render();
-  application.SendNotification();
-  application.Render();
-  application.SendNotification();
-  application.Render();
-
-  // An up event is sent outside the button's boundary but inside the actor's one.
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpOutside );
-
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( gOnTouchPointInterrupted );
-
-  // Test a down point inside the button which is also consumed by the actor, and a motion point
-  // consumed only by the actor.  gOnTouchPointInterrupted should be true (Button receives an
-  // interrupt event.
-
-  // Initializes TET state.
-  gOnTouchPointInterrupted = false;
-  tetButton.SetVisible( true );
-
-  application.SendNotification();
-  application.Render();
-  application.SendNotification();
-  application.Render();
-  application.SendNotification();
-  application.Render();
-
-  // A down event is sent inside the button's boundary.
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownInside );
-
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-  application.ProcessEvent( event );
-
-  // More renders are needed in order to allow the node of the actor to become invisible.
-  application.SendNotification();
-  application.Render();
-  application.SendNotification();
-  application.Render();
-  application.SendNotification();
-  application.Render();
-
-  // A motion event is sent outside the button's boundary but inside the actor's one.
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointMotionOut );
-
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( gOnTouchPointInterrupted );
-
-  // Test a down point inside the button which is also consumed by the actor, and an up point
-  // also inside the button and consumed by the actor.  gOnTouchPointInterrupted should be false.
-
-  // Initializes TET state.
-  gOnTouchPointInterrupted = false;
-  tetButton.SetVisible( true );
-
-  application.SendNotification();
-  application.Render();
-  application.SendNotification();
-  application.Render();
-  application.SendNotification();
-  application.Render();
-
-  // A down event is sent inside the button's boundary.
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownInside );
-
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-  application.ProcessEvent( event );
-
-  tetButton.SetVisible( true );
-
-  application.SendNotification();
-  application.Render();
-  application.SendNotification();
-  application.Render();
-  application.SendNotification();
-  application.Render();
-
-  // An up event is sent inside the button's boundary.
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpInside );
-
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-  application.ProcessEvent( event );
-
-  DALI_TEST_CHECK( !gOnTouchPointInterrupted );
-}
-
-void UtcDaliPushButtonProperties()
-{
-  ToolkitTestApplication application;
-
-  PushButton button = PushButton::New();
-  Stage::GetCurrent().Add( button );
-
-  // PushButton::PROPERTY_AUTO_REPEATING
-  button.SetAutoRepeating( false );
-  DALI_TEST_CHECK( ! button.GetProperty< bool >( PushButton::PROPERTY_AUTO_REPEATING ) );
-  button.SetProperty( PushButton::PROPERTY_AUTO_REPEATING, true );
-  DALI_TEST_CHECK( button.IsAutoRepeating() ) ;
-  DALI_TEST_CHECK( button.GetProperty< bool >( PushButton::PROPERTY_AUTO_REPEATING ) );
-
-  // PushButton::PROPERTY_INITIAL_AUTO_REPEATING_DELAY
-  button.SetInitialAutoRepeatingDelay( 10.0f );
-  DALI_TEST_EQUALS( 10.0f, button.GetProperty< float >( PushButton::PROPERTY_INITIAL_AUTO_REPEATING_DELAY ), TEST_LOCATION );
-  button.SetProperty( PushButton::PROPERTY_INITIAL_AUTO_REPEATING_DELAY, 25.0f );
-  DALI_TEST_EQUALS( 25.0f, button.GetInitialAutoRepeatingDelay(), TEST_LOCATION );
-  DALI_TEST_EQUALS( 25.0f, button.GetProperty< float >( PushButton::PROPERTY_INITIAL_AUTO_REPEATING_DELAY ), TEST_LOCATION );
-
-  //  PushButton::PROPERTY_NEXT_AUTO_REPEATING_DELAY
-  button.SetNextAutoRepeatingDelay( 3.0f );
-  DALI_TEST_EQUALS( 3.0f, button.GetProperty< float >( PushButton::PROPERTY_NEXT_AUTO_REPEATING_DELAY ), TEST_LOCATION );
-  button.SetProperty( PushButton::PROPERTY_NEXT_AUTO_REPEATING_DELAY, 4.0f );
-  DALI_TEST_EQUALS( 4.0f, button.GetNextAutoRepeatingDelay(), TEST_LOCATION );
-  DALI_TEST_EQUALS( 4.0f, button.GetProperty< float >( PushButton::PROPERTY_NEXT_AUTO_REPEATING_DELAY ), TEST_LOCATION );
-
-  //  PushButton::PROPERTY_TOGGLABLE
-  button.SetToggleButton( false );
-  DALI_TEST_CHECK( ! button.GetProperty< bool >( PushButton::PROPERTY_TOGGLABLE ) );
-  button.SetProperty( PushButton::PROPERTY_TOGGLABLE, true );
-  DALI_TEST_CHECK( button.IsToggleButton() ) ;
-  DALI_TEST_CHECK( button.GetProperty< bool >( PushButton::PROPERTY_TOGGLABLE ) );
-
-  //  PushButton::PROPERTY_TOGGLE
-  button.SetToggled( false );
-  DALI_TEST_CHECK( ! button.GetProperty< bool >( PushButton::PROPERTY_TOGGLE ) );
-  button.SetProperty( PushButton::PROPERTY_TOGGLE, true );
-  DALI_TEST_CHECK( button.IsToggled() ) ;
-  DALI_TEST_CHECK( button.GetProperty< bool >( PushButton::PROPERTY_TOGGLE ) );
-
-  //  PushButton::PROPERTY_NORMAL_STATE_ACTOR
-  {
-    button.SetButtonImage( Image::New( "IMAGE_PATH_1") );
-    DALI_TEST_EQUALS( "IMAGE_PATH_1", button.GetProperty( PushButton::PROPERTY_NORMAL_STATE_ACTOR ).GetValue( "image" ).GetValue( "filename" ).Get< std::string >(), TEST_LOCATION );
-
-    Property::Map map;
-    map.push_back( Property::StringValuePair( "type", "ImageActor" ) );
-
-    button.SetProperty( PushButton::PROPERTY_NORMAL_STATE_ACTOR, map );
-    DALI_TEST_EQUALS( "ImageActor", button.GetProperty( PushButton::PROPERTY_NORMAL_STATE_ACTOR ).GetValue( "type" ).Get< std::string >(), TEST_LOCATION );
-  }
-
-  //  PushButton::PROPERTY_PRESSED_IMAGE
-  {
-    button.SetPressedImage( Image::New( "IMAGE_PATH_2") );
-    DALI_TEST_EQUALS( "IMAGE_PATH_2", button.GetProperty( PushButton::PROPERTY_PRESSED_STATE_ACTOR ).GetValue( "image" ).GetValue( "filename" ).Get< std::string >(), TEST_LOCATION );
-
-    Property::Map map;
-    map.push_back( Property::StringValuePair( "type", "TextActor" ) );
-
-    button.SetProperty( PushButton::PROPERTY_PRESSED_STATE_ACTOR, map );
-    DALI_TEST_EQUALS( "TextActor", button.GetProperty( PushButton::PROPERTY_PRESSED_STATE_ACTOR ).GetValue( "type" ).Get< std::string >(), TEST_LOCATION );
-  }
-
-  //  PushButton::PROPERTY_DIMMED_STATE_ACTOR
-  {
-    button.SetDimmedImage( Image::New( "IMAGE_PATH_3") );
-    DALI_TEST_EQUALS( "IMAGE_PATH_3", button.GetProperty( PushButton::PROPERTY_DIMMED_STATE_ACTOR ).GetValue( "image" ).GetValue( "filename" ).Get< std::string >(), TEST_LOCATION );
-
-    Property::Map map;
-    map.push_back( Property::StringValuePair( "type", "Actor" ) );
-
-    button.SetProperty( PushButton::PROPERTY_DIMMED_STATE_ACTOR, map );
-    DALI_TEST_EQUALS( "Actor", button.GetProperty( PushButton::PROPERTY_DIMMED_STATE_ACTOR ).GetValue( "type" ).Get< std::string >(), TEST_LOCATION );
-  }
-
-  //  PushButton::PROPERTY_LABEL_ACTOR
-  {
-    button.SetLabelText( "LABEL_TEXT_CUSTOM" );
-    DALI_TEST_EQUALS( "TextView", button.GetProperty( PushButton::PROPERTY_LABEL_ACTOR ).GetValue( "type" ).Get< std::string >(), TEST_LOCATION );
-
-    Property::Map map;
-    map.push_back( Property::StringValuePair( "type", "Actor" ) );
-
-    button.SetProperty( PushButton::PROPERTY_LABEL_ACTOR, map );
-    DALI_TEST_EQUALS( "Actor", button.GetProperty( PushButton::PROPERTY_LABEL_ACTOR ).GetValue( "type" ).Get< std::string >(), TEST_LOCATION );
-  }
-}
diff --git a/automated-tests/TET/dali-test-suite/cluster/.gitignore b/automated-tests/TET/dali-test-suite/cluster/.gitignore
deleted file mode 100644 (file)
index 0f1bba7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-utc-Dali-Cluster
diff --git a/automated-tests/TET/dali-test-suite/cluster/Makefile b/automated-tests/TET/dali-test-suite/cluster/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/cluster/file.list b/automated-tests/TET/dali-test-suite/cluster/file.list
deleted file mode 100644 (file)
index 3025d80..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGETS += \
-        utc-Dali-Cluster \
diff --git a/automated-tests/TET/dali-test-suite/cluster/tslist b/automated-tests/TET/dali-test-suite/cluster/tslist
deleted file mode 100644 (file)
index d3e3708..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/dali-test-suite/cluster/utc-Dali-Cluster
diff --git a/automated-tests/TET/dali-test-suite/cluster/utc-Dali-Cluster.cpp b/automated-tests/TET/dali-test-suite/cluster/utc-Dali-Cluster.cpp
deleted file mode 100644 (file)
index 09721e6..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-namespace
-{
-
-static bool gObjectCreatedCallBackCalled;
-
-static void TestCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-}
-
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliClusterNew,                     POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliClusterDownCast,                POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliClusterAddAndRemoveChild,       POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliClusterExpandAndCollapseChild,  POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliClusterSetAndGetStyle,          POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliClusterNew()
-{
-  ToolkitTestApplication application;
-
-  // Create the Cluster actor
-  ClusterStyle style = ClusterStyleStandard::New(ClusterStyleStandard::ClusterStyle1);
-  Cluster cluster = Cluster::New(style);
-
-  DALI_TEST_CHECK(cluster);
-
-  //Additional check to ensure object is created by checking if it's registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect(&TestCallback);
-  {
-    ClusterStyle style = ClusterStyleStandard::New(ClusterStyleStandard::ClusterStyle1);
-    Cluster cluster = Cluster::New(style);
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-}
-
-static void UtcDaliClusterDownCast()
-{
-  ToolkitTestApplication application;
-
-  // Create the Cluster actor
-  ClusterStyle style = ClusterStyleRandom::New();
-  const Cluster clusterConst = Cluster::New(style);
-  Cluster cluster(clusterConst);
-
-  BaseHandle handle(cluster);
-
-  Cluster newCluster = Cluster::DownCast( handle );
-  DALI_TEST_CHECK( cluster );
-  DALI_TEST_CHECK( newCluster == cluster );
-}
-
-static void UtcDaliClusterAddAndRemoveChild()
-{
-  ToolkitTestApplication application;
-
-  // Create the Cluster actor
-  ClusterStyle style = ClusterStyleStandard::New(ClusterStyleStandard::ClusterStyle1);
-  Cluster cluster = Cluster::New(style);
-
-  Actor childActor1 = Actor::New();
-  Actor childActor2 = Actor::New();
-  Actor childActor3 = Actor::New();
-  Actor childActor4 = Actor::New();
-
-  // Add the first child and check it is added to the end
-  cluster.AddChild(childActor1);
-  DALI_TEST_CHECK( cluster.GetChildAt(0) == childActor1);
-  DALI_TEST_CHECK( !cluster.GetChildAt(1) );
-  DALI_TEST_CHECK( cluster.GetTotalCount() == 1 );
-
-  // Add the second child to the given position and check it is added
-  cluster.AddChild(childActor2, 1);
-  DALI_TEST_CHECK( cluster.GetChildAt(1) == childActor2);
-  DALI_TEST_CHECK( cluster.GetTotalCount() == 2 );
-
-  // Add the third child with depth index 1 and check it is added to the end
-  cluster.AddChildAt(childActor3, 1);
-  DALI_TEST_CHECK( cluster.GetChildAt(2) == childActor3);
-  DALI_TEST_CHECK( cluster.GetTotalCount() == 3 );
-
-  // Add the fourth child with depth index 2 to the given position and check it is added
-  cluster.AddChildAt(childActor4, 2, 3);
-  DALI_TEST_CHECK( cluster.GetChildAt(3) == childActor4);
-  DALI_TEST_CHECK( cluster.GetTotalCount() == 4 );
-
-  // Remove the child in the given position and check it's removed
-  cluster.RemoveChildAt(3);
-  DALI_TEST_CHECK( !cluster.GetChildAt(3) );
-  DALI_TEST_CHECK( cluster.GetTotalCount() == 3 );
-}
-
-static void UtcDaliClusterExpandAndCollapseChild()
-{
-  ToolkitTestApplication application;
-
-  // Create the Cluster actor
-  ClusterStyle style = ClusterStyleStandard::New(ClusterStyleStandard::ClusterStyle1);
-  Cluster cluster = Cluster::New(style);
-
-  Actor childActor1 = Actor::New();
-  Actor childActor2 = Actor::New();
-  Actor childActor3 = Actor::New();
-  Actor childActor4 = Actor::New();
-
-  // Add the child actors
-  cluster.AddChild(childActor1);
-  cluster.AddChild(childActor2);
-  cluster.AddChildAt(childActor3, 1);
-  cluster.AddChildAt(childActor4, 2, 3);
-
-  // Expand child actor 3
-  cluster.ExpandChild(2);
-  DALI_TEST_CHECK( cluster.GetExpandedCount() == 1 );
-
-  // Expand child actor 4
-  cluster.ExpandChild(3);
-  DALI_TEST_CHECK( cluster.GetExpandedCount() == 2 );
-
-  // Collapse child actor 3
-  cluster.CollapseChild(2);
-  DALI_TEST_CHECK( cluster.GetExpandedCount() == 1 );
-
-  // Expand all children
-  cluster.ExpandAllChildren();
-  DALI_TEST_CHECK( cluster.GetExpandedCount() == 4 );
-
-  // Collpase all children
-  cluster.CollapseAllChildren();
-  DALI_TEST_CHECK( cluster.GetExpandedCount() == 0 );
-
-  // Transform and restore the child
-  cluster.TransformChild(1, Vector3(10.0f, 10.0f, 1.0f), Vector3(1.0f, 1.0f, 1.0f), Quaternion(0.0f, Vector3::YAXIS), AlphaFunctions::EaseOut, 0.5f);
-  cluster.RestoreChild(1, AlphaFunctions::EaseOut, 0.25f, true);
-}
-
-static void UtcDaliClusterSetAndGetStyle()
-{
-  ToolkitTestApplication application;
-
-  // Create the default cluster style
-  ClusterStyle defaultStyle = ClusterStyleStandard::New(ClusterStyleStandard::ClusterStyle1);
-  DALI_TEST_CHECK( defaultStyle.GetMaximumNumberOfChildren() > 0 );
-
-  // Add style to background and title
-  Actor background = Actor::New();
-  Actor title = Actor::New();
-  defaultStyle.ApplyStyleToBackground(background, AlphaFunctions::EaseOut, 1.0f);
-  defaultStyle.ApplyStyleToTitle(title, AlphaFunctions::EaseOut, 1.0f);
-
-  // Create the Cluster actor with the default style
-  Cluster cluster = Cluster::New(defaultStyle);
-  DALI_TEST_CHECK( cluster.GetStyle() == defaultStyle );
-  cluster.SetBackgroundImage(background);
-  cluster.SetTitle(title);
-
-  // Create a new style and apply it to the cluster
-  ClusterStyle newStyle = ClusterStyleRandom::New();
-  cluster.SetStyle(newStyle);
-  DALI_TEST_CHECK( cluster.GetStyle() == newStyle );
-}
diff --git a/automated-tests/TET/dali-test-suite/control/.gitignore b/automated-tests/TET/dali-test-suite/control/.gitignore
deleted file mode 100644 (file)
index 17a0b4b..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-utc-Dali-ControlImpl
-utc-Dali-Control
diff --git a/automated-tests/TET/dali-test-suite/control/Makefile b/automated-tests/TET/dali-test-suite/control/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/control/dummy-control.h b/automated-tests/TET/dali-test-suite/control/dummy-control.h
deleted file mode 100644 (file)
index 18c10f9..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-#ifndef __DALI_TOOLKIT_TEST_DUMMY_CONTROL_H__
-#define __DALI_TOOLKIT_TEST_DUMMY_CONTROL_H__
-
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-// INTERNAL INCLUDES
-#include <dali-toolkit/dali-toolkit.h>
-
-namespace Dali
-{
-
-namespace Toolkit
-{
-
-class DummyControlImpl;
-
-/**
- * Control does not have a New method so use this dummy class for the handle.
- */
-class DummyControl : public Control
-{
-public:
-
-  DummyControl()
-  : mCustomSlot1Called(false)
-  {
-  }
-
-  DummyControl(const DummyControl& control)
-  : Control( control ),
-    mCustomSlot1Called(false)
-  {
-  }
-
-  virtual ~DummyControl()
-  {
-  }
-
-  static DummyControl New( bool override = false );
-
-  static DummyControl DownCast( BaseHandle handle )
-  {
-    return Control::DownCast<DummyControl, DummyControlImpl>(handle);
-  }
-
-  DummyControl& operator=(const DummyControl& control)
-  {
-    Control::operator=( control );
-    return *this;
-  }
-
-  // Used to test signal connections
-  void CustomSlot1( Actor actor, const Vector3& value )
-  {
-    mCustomSlot1Called = true;
-    mCustomSlot1Value = value;
-  }
-
-public:
-
-  bool mCustomSlot1Called;
-  Vector3 mCustomSlot1Value;
-
-public: // Not intended for application developers
-
-  DummyControl( DummyControlImpl& implementation );
-  DummyControl( Dali::Internal::CustomActor* internal );
-};
-
-/**
- * Cannot create an instance of ControlImpl, so use this dummy class for the implementation.
- * This class does not override any of ControlImpl's behaviour.
- */
-class DummyControlImpl : public ControlImpl
-{
-public:
-
-  static DummyControl New()
-  {
-    IntrusivePtr< DummyControlImpl > impl = new DummyControlImpl;
-    DummyControl control( *impl );
-    impl->Initialize();
-    return control;
-  }
-
-public:
-  void EnableGestureDetection(Gesture::Type type) { ControlImpl::EnableGestureDetection(type); }
-  void DisableGestureDetection(Gesture::Type type) { ControlImpl::DisableGestureDetection(type); }
-  PinchGestureDetector GetPinchGestureDetector() const { return ControlImpl::GetPinchGestureDetector(); }
-  PanGestureDetector GetPanGestureDetector() const { return ControlImpl::GetPanGestureDetector(); }
-  TapGestureDetector GetTapGestureDetector() const { return ControlImpl::GetTapGestureDetector(); }
-  LongPressGestureDetector GetLongPressGestureDetector() const { return ControlImpl::GetLongPressGestureDetector(); }
-
-protected:
-
-  DummyControlImpl()
-  : ControlImpl(true)
-  {
-  }
-
-  virtual ~DummyControlImpl()
-  {
-  }
-};
-
-/**
- * Cannot create an instance of ControlImpl, so use this dummy class for the implementation.
- * This class DOES override ControlImpl's behaviour.
- */
-class DummyControlImplOverride : public DummyControlImpl
-{
-public:
-
-  static DummyControl New()
-  {
-    IntrusivePtr< DummyControlImplOverride > impl = new DummyControlImplOverride;
-    DummyControl control( *impl );
-    impl->Initialize();
-    return control;
-  }
-
-private:
-
-  DummyControlImplOverride()
-  : DummyControlImpl(),
-    initializeCalled(false),
-    styleChangeCalled(false),
-    pinchCalled(false),
-    panCalled(false),
-    tapCalled(false),
-    longPressCalled(false),
-    stageConnectionCalled(false),
-    stageDisconnectionCalled(false),
-    childAddCalled(false),
-    childRemoveCalled(false),
-    sizeSetCalled(false),
-    sizeAnimationCalled(false),
-    touchEventCalled(false),
-    mouseWheelEventCalled(false),
-    keyEventCalled(false),
-    keyInputFocusGained(false),
-    keyInputFocusLost(false)
-  {
-  }
-
-  virtual ~DummyControlImplOverride() { }
-
-private: // From ControlImpl
-
-  virtual void OnInitialize() { initializeCalled = true; }
-  virtual void OnStyleChange(StyleChange change) { styleChangeCalled = true;}
-  virtual void OnPinch(PinchGesture pinch) { pinchCalled = true; }
-  virtual void OnPan(PanGesture pan) { panCalled = true; }
-  virtual void OnTap(TapGesture tap) { tapCalled = true; }
-  virtual void OnLongPress(LongPressGesture longPress) { longPressCalled = true; }
-
-private: // From CustomActorImpl
-
-  virtual void OnStageConnection() { stageConnectionCalled = true; }
-  virtual void OnStageDisconnection() { stageDisconnectionCalled = true; }
-  virtual void OnChildAdd(Actor& child) { childAddCalled = true; }
-  virtual void OnChildRemove(Actor& child) { childRemoveCalled = true; }
-  virtual void OnSizeSet(const Vector3& targetSize) { sizeSetCalled = true; }
-  virtual void OnSizeAnimation(Animation& animation, const Vector3& targetSize) { sizeAnimationCalled = true; }
-  virtual bool OnTouchEvent(const TouchEvent& event) { touchEventCalled = true; return false; }
-  virtual bool OnMouseWheelEvent(const MouseWheelEvent& event) { mouseWheelEventCalled = true; return false; }
-  virtual bool OnKeyEvent(const KeyEvent& event) { keyEventCalled = true; return false;}
-  virtual void OnKeyInputFocusGained() { keyInputFocusGained = true; }
-  virtual void OnKeyInputFocusLost() { keyInputFocusLost = true; }
-
-public:
-
-  bool initializeCalled;
-  bool styleChangeCalled;
-  bool pinchCalled;
-  bool panCalled;
-  bool tapCalled;
-  bool longPressCalled;
-  bool stageConnectionCalled;
-  bool stageDisconnectionCalled;
-  bool childAddCalled;
-  bool childRemoveCalled;
-  bool sizeSetCalled;
-  bool sizeAnimationCalled;
-  bool touchEventCalled;
-  bool mouseWheelEventCalled;
-  bool keyEventCalled;
-  bool keyInputFocusGained;
-  bool keyInputFocusLost;
-};
-
-DummyControl DummyControl::New( bool override )
-{
-  DummyControl control;
-
-  if (override)
-  {
-    control = DummyControlImplOverride::New();
-  }
-  else
-  {
-    control = DummyControlImpl::New();
-  }
-
-  return control;
-}
-
-DummyControl::DummyControl( DummyControlImpl& implementation )
-: Control( implementation )
-{
-}
-
-DummyControl::DummyControl( Dali::Internal::CustomActor* internal )
-: Control( internal )
-{
-  VerifyCustomActorPointer<DummyControlImpl>(internal);
-}
-
-} // namespace Toolkit
-
-} // namespace Dali
-
-#endif // __DALI_TOOLKIT_TEST_DUMMY_CONTROL_H__
diff --git a/automated-tests/TET/dali-test-suite/control/file.list b/automated-tests/TET/dali-test-suite/control/file.list
deleted file mode 100644 (file)
index 7efd89d..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-TARGETS += \
-        utc-Dali-ControlImpl \
-        utc-Dali-Control \
diff --git a/automated-tests/TET/dali-test-suite/control/tslist b/automated-tests/TET/dali-test-suite/control/tslist
deleted file mode 100644 (file)
index e2ff777..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-/dali-test-suite/control/utc-Dali-ControlImpl
-/dali-test-suite/control/utc-Dali-Control
diff --git a/automated-tests/TET/dali-test-suite/control/utc-Dali-Control.cpp b/automated-tests/TET/dali-test-suite/control/utc-Dali-Control.cpp
deleted file mode 100644 (file)
index f437d84..0000000
+++ /dev/null
@@ -1,368 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-#include "dummy-control.h"
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliControlConstructor, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlNew, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlRegister, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlCopyAndAssignment, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlDownCast, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlDownCastTemplate, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlKeyInputFocus, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlGetImplementation, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlSignalConnectDisconnect, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlSignalAutomaticDisconnect, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlTestParameters, POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliControlConstructor()
-{
-  ToolkitTestApplication application;  // Exceptions require ToolkitTestApplication
-
-  DummyControl dummy;
-
-  DALI_TEST_CHECK( !Control::DownCast(dummy) );
-
-  dummy = DummyControl::New();
-
-  DALI_TEST_CHECK( Control::DownCast(dummy) );
-}
-
-static void UtcDaliControlNew()
-{
-  ToolkitTestApplication application;  // Exceptions require ToolkitTestApplication
-
-  Control control;
-
-  DALI_TEST_CHECK( !Control::DownCast(control) );
-
-  control = Control::New();
-
-  DALI_TEST_CHECK( Control::DownCast(control) );
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-static bool gObjectCreatedCallBackCalled;
-
-static void TestCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-}
-
-static void UtcDaliControlRegister()
-{
-  ToolkitTestApplication application;
-
-  // Ensure the object is registered after creation
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect( &TestCallback );
-  {
-    Alignment alignment = Alignment::New();
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-static void UtcDaliControlCopyAndAssignment()
-{
-  ToolkitTestApplication application;
-
-  DummyControl control = DummyControl::New();
-  Control emptyControl;
-
-  Control controlCopy( control );
-  DALI_TEST_CHECK( control == controlCopy );
-
-  Control emptyControlCopy( emptyControl );
-  DALI_TEST_CHECK( emptyControl == emptyControlCopy );
-
-  Control controlEquals;
-  controlEquals = control;
-  DALI_TEST_CHECK( control == controlEquals );
-
-  Control emptyControlEquals;
-  emptyControlEquals = emptyControl;
-  DALI_TEST_CHECK( emptyControl == emptyControlEquals );
-
-  // Self assignment
-  control = control;
-  DALI_TEST_CHECK( control == controlCopy );
-}
-
-static void UtcDaliControlDownCast()
-{
-  ToolkitTestApplication application;
-
-  DummyControl control;
-
-  DALI_TEST_CHECK( !Control::DownCast( control ) );
-
-  control = DummyControl::New();
-
-  DALI_TEST_CHECK( Control::DownCast( control ) );
-
-  Actor actor;
-
-  DALI_TEST_CHECK( !Control::DownCast( actor ) );
-
-  actor = Actor::New();
-
-  DALI_TEST_CHECK( !Control::DownCast( actor ) );
-}
-
-static void UtcDaliControlDownCastTemplate()
-{
-  ToolkitTestApplication application;
-
-  DummyControl control;
-
-  DALI_TEST_CHECK( !DummyControl::DownCast( control ));
-
-  control = DummyControl::New();
-
-  DALI_TEST_CHECK( DummyControl::DownCast( control ) );
-
-  Actor actor;
-
-  DALI_TEST_CHECK( !DummyControl::DownCast( actor ) );
-
-  actor = Actor::New();
-
-  DALI_TEST_CHECK( !DummyControl::DownCast( actor ) );
-}
-
-static void UtcDaliControlKeyInputFocus()
-{
-  ToolkitTestApplication application;
-  Stage stage = Stage::GetCurrent();
-
-  DummyControl control;
-
-  PushButton pushButton1 = PushButton::New();
-  stage.Add( pushButton1 );
-
-  pushButton1.SetKeyInputFocus();
-  DALI_TEST_CHECK( pushButton1.HasKeyInputFocus() );
-
-  pushButton1.ClearKeyInputFocus();
-  DALI_TEST_CHECK( !pushButton1.HasKeyInputFocus() );
-}
-
-static void UtcDaliControlGetImplementation()
-{
-  ToolkitTestApplication application;
-
-  DummyControl control;
-
-  // Get Empty
-  {
-    try
-    {
-      ControlImpl& controlImpl = control.GetImplementation();
-      (void)controlImpl; // Avoid unused warning
-      tet_result(TET_FAIL);
-    }
-    catch (DaliException &exception)
-    {
-      tet_result(TET_PASS);
-    }
-  }
-
-  // Get Const Empty
-  {
-    try
-    {
-      const DummyControl constControl(control);
-      const ControlImpl& controlImpl = constControl.GetImplementation();
-      (void)controlImpl; // Avoid unused warning
-      tet_result(TET_FAIL);
-    }
-    catch (DaliException &exception)
-    {
-      tet_result(TET_PASS);
-    }
-  }
-
-  control = DummyControl::New();
-
-  // Get
-  {
-    try
-    {
-      ControlImpl& controlImpl = control.GetImplementation();
-      (void)controlImpl; // Avoid unused warning
-      tet_result(TET_PASS);
-    }
-    catch (DaliException &exception)
-    {
-      tet_result(TET_FAIL);
-    }
-  }
-
-  // Get Const
-  {
-    try
-    {
-      const DummyControl constControl(control);
-      const ControlImpl& controlImpl = constControl.GetImplementation();
-      (void)controlImpl; // Avoid unused warning
-      tet_result(TET_PASS);
-    }
-    catch (DaliException &exception)
-    {
-      tet_result(TET_FAIL);
-    }
-  }
-}
-
-static void UtcDaliControlSignalConnectDisconnect()
-{
-  ToolkitTestApplication application;
-
-  {
-    DummyControl dummy = DummyControlImpl::New();
-
-    Actor actor = Actor::New();
-    DALI_TEST_EQUALS( actor.SetSizeSignal().GetConnectionCount(), 0u, TEST_LOCATION );
-    actor.SetSizeSignal().Connect( &dummy, &DummyControl::CustomSlot1 );
-    DALI_TEST_EQUALS( actor.SetSizeSignal().GetConnectionCount(), 1u, TEST_LOCATION );
-    DALI_TEST_EQUALS( dummy.mCustomSlot1Called, false, TEST_LOCATION );
-    DALI_TEST_EQUALS( dummy.mCustomSlot1Value,  Vector3::ZERO, TEST_LOCATION );
-
-    const Vector3 newSize( 10, 10, 0 );
-    actor.SetSize( newSize );
-    DALI_TEST_EQUALS( dummy.mCustomSlot1Called, true, TEST_LOCATION );
-    DALI_TEST_EQUALS( dummy.mCustomSlot1Value,  newSize, TEST_LOCATION );
-
-    dummy.mCustomSlot1Called = false;
-    actor.SetSizeSignal().Disconnect( &dummy, &DummyControl::CustomSlot1 );
-    DALI_TEST_EQUALS( actor.SetSizeSignal().GetConnectionCount(), 0u, TEST_LOCATION );
-    const Vector3 ignoredSize( 20, 20, 0 );
-    actor.SetSize( ignoredSize );
-    DALI_TEST_EQUALS( dummy.mCustomSlot1Called, false, TEST_LOCATION );
-    DALI_TEST_EQUALS( dummy.mCustomSlot1Value,  newSize/*not ignoredSize*/, TEST_LOCATION );
-  }
-}
-
-static void UtcDaliControlSignalAutomaticDisconnect()
-{
-  ToolkitTestApplication application;
-
-  Actor actor = Actor::New();
-
-  {
-    DummyControl dummy = DummyControlImpl::New();
-
-    actor.SetSizeSignal().Connect( &dummy, &DummyControl::CustomSlot1 );
-    DALI_TEST_EQUALS( actor.SetSizeSignal().GetConnectionCount(), 1u, TEST_LOCATION );
-    DALI_TEST_EQUALS( dummy.mCustomSlot1Called, false, TEST_LOCATION );
-    DALI_TEST_EQUALS( dummy.mCustomSlot1Value,  Vector3::ZERO, TEST_LOCATION );
-
-    const Vector3 newSize( 10, 10, 0 );
-    actor.SetSize( newSize );
-    DALI_TEST_EQUALS( dummy.mCustomSlot1Called, true, TEST_LOCATION );
-    DALI_TEST_EQUALS( dummy.mCustomSlot1Value,  newSize, TEST_LOCATION );
-  }
-  // dummyControl automatically disconnects
-
-  DALI_TEST_EQUALS( actor.SetSizeSignal().GetConnectionCount(), 0u, TEST_LOCATION );
-
-  const Vector3 ignoredSize( 20, 20, 0 );
-  actor.SetSize( ignoredSize );
-}
-
-static void UtcDaliControlTestParameters()
-{
-  ToolkitTestApplication application;
-  DummyControl test = DummyControl::New();
-
-  Vector3 maxSize = test.GetNaturalSize();
-  Vector3 minSize = maxSize / 2.0f;
-
-  Toolkit::Control::SizePolicy widthPolicy( Control::Fixed );
-  Toolkit::Control::SizePolicy heightPolicy( Control::Fixed );
-  test.SetSizePolicy( widthPolicy, heightPolicy );
-  test.GetSizePolicy( widthPolicy, heightPolicy );
-
-  DALI_TEST_CHECK( widthPolicy == Control::Fixed && heightPolicy == Control::Fixed );
-
-  test.SetSize( 0.7f, 0.7f, 0.7f );
-  float width = 640.0f;
-  float height = test.GetHeightForWidth( width );
-  DALI_TEST_CHECK( test.GetWidthForHeight( height ) == width );
-
-  test.SetMinimumSize( minSize );
-  DALI_TEST_CHECK( test.GetMinimumSize() == minSize );
-
-  test.SetMaximumSize( maxSize );
-  DALI_TEST_CHECK( test.GetMaximumSize() == maxSize );
-
-  test.KeyEventSignal();
-  DummyControl test2 = DummyControl::New();
-  dynamic_cast< ConnectionTrackerInterface& >( test2 ).GetConnectionCount();
-
-  // Provide coverage for pointer destructor
-  Control* testControlPtr = new Control;
-  DALI_TEST_CHECK( testControlPtr );
-  delete testControlPtr;
-}
diff --git a/automated-tests/TET/dali-test-suite/control/utc-Dali-ControlImpl.cpp b/automated-tests/TET/dali-test-suite/control/utc-Dali-ControlImpl.cpp
deleted file mode 100644 (file)
index 7f4dc56..0000000
+++ /dev/null
@@ -1,829 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali/integration-api/events/key-event-integ.h>
-#include <dali/integration-api/events/mouse-wheel-event-integ.h>
-#include <dali/integration-api/events/long-press-gesture-event.h>
-#include <dali/integration-api/events/pinch-gesture-event.h>
-#include <dali/integration-api/events/pan-gesture-event.h>
-#include <dali/integration-api/events/tap-gesture-event.h>
-#include <dali/integration-api/events/touch-event-integ.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-#include "dummy-control.h"
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliControlImplNew, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlImplTypeRegistry, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlImplEnableGestureDetector, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlImplDisableGestureDetector, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlImplOnGestureMethods, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlImplChildAddAndRemove, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlImplStageConnection, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlImplSizeSet, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlImplSizeAnimation, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlImplTouchEvent, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlImplMouseWheelEvent, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlImplKeyEvent, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlImplStyleChange, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlImplKeyInputFocusGained, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliControlImplKeyInputFocusLost, POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliControlImplNew()
-{
-  ToolkitTestApplication application;  // Exceptions require ToolkitTestApplication
-
-  Control control;
-
-  DALI_TEST_CHECK( !Control::DownCast(control) );
-
-  control = ControlImpl::New();
-
-  DALI_TEST_CHECK( Control::DownCast(control) );
-}
-
-static void UtcDaliControlImplTypeRegistry()
-{
-  ToolkitTestApplication application;
-
-  // Register Type
-  TypeInfo type;
-  type = TypeRegistry::Get().GetTypeInfo( "Control" );
-  DALI_TEST_CHECK( type );
-  BaseHandle handle = type.CreateInstance();
-  DALI_TEST_CHECK( handle );
-
-  // Check if it's a control
-  DALI_TEST_CHECK( Control::DownCast(handle) );
-}
-
-static void UtcDaliControlImplEnableGestureDetector()
-{
-  ToolkitTestApplication application;
-
-  // Enable individually
-  {
-    DummyControl dummy = DummyControl::New();
-    DummyControlImpl& dummyImpl = static_cast<DummyControlImpl&>(dummy.GetImplementation());
-
-    DALI_TEST_CHECK( !dummyImpl.GetPinchGestureDetector() );
-    dummyImpl.EnableGestureDetection(Gesture::Pinch);
-    DALI_TEST_CHECK( dummyImpl.GetPinchGestureDetector() );
-
-    DALI_TEST_CHECK( !dummyImpl.GetPanGestureDetector() );
-    dummyImpl.EnableGestureDetection(Gesture::Pan);
-    DALI_TEST_CHECK( dummyImpl.GetPanGestureDetector() );
-
-    DALI_TEST_CHECK( !dummyImpl.GetTapGestureDetector() );
-    dummyImpl.EnableGestureDetection(Gesture::Tap);
-    DALI_TEST_CHECK( dummyImpl.GetTapGestureDetector() );
-
-    DALI_TEST_CHECK( !dummyImpl.GetLongPressGestureDetector() );
-    dummyImpl.EnableGestureDetection(Gesture::LongPress);
-    DALI_TEST_CHECK( dummyImpl.GetLongPressGestureDetector() );
-  }
-
-  // Enable All
-  {
-    DummyControl dummy = DummyControl::New();
-    DummyControlImpl& dummyImpl = static_cast<DummyControlImpl&>(dummy.GetImplementation());
-
-    DALI_TEST_CHECK( !dummyImpl.GetPinchGestureDetector() );
-    DALI_TEST_CHECK( !dummyImpl.GetPanGestureDetector() );
-    DALI_TEST_CHECK( !dummyImpl.GetTapGestureDetector() );
-    DALI_TEST_CHECK( !dummyImpl.GetLongPressGestureDetector() );
-
-    dummyImpl.EnableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) );
-
-    DALI_TEST_CHECK( dummyImpl.GetPinchGestureDetector() );
-    DALI_TEST_CHECK( dummyImpl.GetPanGestureDetector() );
-    DALI_TEST_CHECK( dummyImpl.GetTapGestureDetector() );
-    DALI_TEST_CHECK( dummyImpl.GetLongPressGestureDetector() );
-
-    // Enable when already enabled
-
-    dummyImpl.EnableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) );
-
-    DALI_TEST_CHECK( dummyImpl.GetPinchGestureDetector() );
-    DALI_TEST_CHECK( dummyImpl.GetPanGestureDetector() );
-    DALI_TEST_CHECK( dummyImpl.GetTapGestureDetector() );
-    DALI_TEST_CHECK( dummyImpl.GetLongPressGestureDetector() );
-  }
-}
-
-static void UtcDaliControlImplDisableGestureDetector()
-{
-  ToolkitTestApplication application;
-
-  // Disable individually
-  {
-    DummyControl dummy = DummyControl::New();
-    DummyControlImpl& dummyImpl = static_cast<DummyControlImpl&>(dummy.GetImplementation());
-
-    dummyImpl.EnableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) );
-
-    DALI_TEST_CHECK( dummyImpl.GetPinchGestureDetector() );
-    dummyImpl.DisableGestureDetection(Gesture::Pinch);
-    DALI_TEST_CHECK( !dummyImpl.GetPinchGestureDetector() );
-
-    DALI_TEST_CHECK( dummyImpl.GetPanGestureDetector() );
-    dummyImpl.DisableGestureDetection(Gesture::Pan);
-    DALI_TEST_CHECK( !dummyImpl.GetPanGestureDetector() );
-
-    DALI_TEST_CHECK( dummyImpl.GetTapGestureDetector() );
-    dummyImpl.DisableGestureDetection(Gesture::Tap);
-    DALI_TEST_CHECK( !dummyImpl.GetTapGestureDetector() );
-
-    DALI_TEST_CHECK( dummyImpl.GetLongPressGestureDetector() );
-    dummyImpl.DisableGestureDetection(Gesture::LongPress);
-    DALI_TEST_CHECK( !dummyImpl.GetLongPressGestureDetector() );
-  }
-
-  // Disable All
-  {
-    DummyControl dummy = DummyControl::New();
-    DummyControlImpl& dummyImpl = static_cast<DummyControlImpl&>(dummy.GetImplementation());
-
-    dummyImpl.EnableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) );
-
-    DALI_TEST_CHECK( dummyImpl.GetPinchGestureDetector() );
-    DALI_TEST_CHECK( dummyImpl.GetPanGestureDetector() );
-    DALI_TEST_CHECK( dummyImpl.GetTapGestureDetector() );
-    DALI_TEST_CHECK( dummyImpl.GetLongPressGestureDetector() );
-
-    dummyImpl.DisableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) );
-
-    DALI_TEST_CHECK( !dummyImpl.GetPinchGestureDetector() );
-    DALI_TEST_CHECK( !dummyImpl.GetPanGestureDetector() );
-    DALI_TEST_CHECK( !dummyImpl.GetTapGestureDetector() );
-    DALI_TEST_CHECK( !dummyImpl.GetLongPressGestureDetector() );
-  }
-
-  // Disable When not enabled
-  {
-    DummyControl dummy = DummyControl::New();
-    DummyControlImpl& dummyImpl = static_cast<DummyControlImpl&>(dummy.GetImplementation());
-
-    DALI_TEST_CHECK( !dummyImpl.GetPinchGestureDetector() );
-    DALI_TEST_CHECK( !dummyImpl.GetPanGestureDetector() );
-    DALI_TEST_CHECK( !dummyImpl.GetTapGestureDetector() );
-    DALI_TEST_CHECK( !dummyImpl.GetLongPressGestureDetector() );
-
-    dummyImpl.DisableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) );
-
-    DALI_TEST_CHECK( !dummyImpl.GetPinchGestureDetector() );
-    DALI_TEST_CHECK( !dummyImpl.GetPanGestureDetector() );
-    DALI_TEST_CHECK( !dummyImpl.GetTapGestureDetector() );
-    DALI_TEST_CHECK( !dummyImpl.GetLongPressGestureDetector() );
-  }
-
-  // Ensure control is detached if gesture detector is not deleted
-  {
-    DummyControl dummy = DummyControl::New();
-    DummyControlImpl& dummyImpl = static_cast<DummyControlImpl&>(dummy.GetImplementation());
-
-    dummyImpl.EnableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) );
-
-    PinchGestureDetector pinch = dummyImpl.GetPinchGestureDetector();
-    PanGestureDetector pan   = dummyImpl.GetPanGestureDetector();
-    TapGestureDetector tap = dummyImpl.GetTapGestureDetector();
-    LongPressGestureDetector longPress = dummyImpl.GetLongPressGestureDetector();
-
-    DALI_TEST_EQUALS( pinch.GetAttachedActors().empty(), false, TEST_LOCATION );
-    DALI_TEST_EQUALS( pan.GetAttachedActors().empty(), false, TEST_LOCATION );
-    DALI_TEST_EQUALS( tap.GetAttachedActors().empty(), false, TEST_LOCATION );
-    DALI_TEST_EQUALS( longPress.GetAttachedActors().empty(), false, TEST_LOCATION );
-
-    dummyImpl.DisableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) );
-
-    DALI_TEST_EQUALS( pinch.GetAttachedActors().empty(), true, TEST_LOCATION );
-    DALI_TEST_EQUALS( pan.GetAttachedActors().empty(), true, TEST_LOCATION );
-    DALI_TEST_EQUALS( tap.GetAttachedActors().empty(), true, TEST_LOCATION );
-    DALI_TEST_EQUALS( longPress.GetAttachedActors().empty(), true, TEST_LOCATION );
-  }
-}
-
-static void UtcDaliControlImplOnGestureMethods()
-{
-  ToolkitTestApplication application;
-
-  // Check gesture actually happens
-  {
-    DummyControl dummy = DummyControl::New(true);
-    dummy.SetSize( Vector3(100.0f, 100.0f, 100.0f) );
-
-    dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-    Stage::GetCurrent().Add(dummy);
-
-    // Render and notify a couple of times
-    application.SendNotification();
-    application.Render();
-    application.SendNotification();
-    application.Render();
-
-    DummyControlImplOverride& dummyImpl = static_cast<DummyControlImplOverride&>(dummy.GetImplementation());
-    dummyImpl.EnableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) );
-
-    DALI_TEST_CHECK( dummyImpl.pinchCalled == false );
-    Integration::PinchGestureEvent pinch(Gesture::Started);
-    pinch.scale = 10.0f;
-    pinch.speed = 50.0f;
-    pinch.centerPoint = Vector2(20.0f, 20.0f);
-    application.ProcessEvent(pinch);
-    DALI_TEST_CHECK( dummyImpl.pinchCalled == true );
-
-    DALI_TEST_CHECK( dummyImpl.panCalled == false );
-    Integration::PanGestureEvent pan(Gesture::Possible);
-    pan.previousPosition = Vector2(10.0f, 20.0f);
-    pan.currentPosition = Vector2(20.0f, 20.0f);
-    pan.timeDelta = 10;
-    pan.numberOfTouches = 1u;
-    application.ProcessEvent(pan);
-    pan.state = Gesture::Started;
-    application.ProcessEvent(pan);
-    DALI_TEST_CHECK( dummyImpl.panCalled == true );
-
-    DALI_TEST_CHECK( dummyImpl.tapCalled == false );
-    Integration::TapGestureEvent tap(Gesture::Possible);
-    tap.numberOfTaps = 1u;
-    tap.numberOfTouches = 1u;
-    tap.point = Vector2(50.0f, 50.0f);
-    application.ProcessEvent(tap);
-    tap.state = Gesture::Started;
-    application.ProcessEvent(tap);
-    DALI_TEST_CHECK( dummyImpl.tapCalled == true );
-
-    DALI_TEST_CHECK( dummyImpl.longPressCalled == false );
-    Integration::LongPressGestureEvent longPress(Gesture::Possible);
-    longPress.numberOfTouches = 1u;
-    longPress.point = Vector2(50.0f, 50.0f);
-    application.ProcessEvent(longPress);
-    longPress.state = Gesture::Started;
-    application.ProcessEvent(longPress);
-    DALI_TEST_CHECK( dummyImpl.longPressCalled == true );
-    longPress.state = Gesture::Finished;
-    application.ProcessEvent(longPress);
-
-    Stage::GetCurrent().Remove(dummy);
-  }
-
-  // Ensure full code coverage
-  {
-    DummyControl dummy = DummyControl::New();
-    dummy.SetSize( Vector3(100.0f, 100.0f, 100.0f) );
-
-    dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-    Stage::GetCurrent().Add(dummy);
-
-    // Render and notify a couple of times
-    application.SendNotification();
-    application.Render();
-    application.SendNotification();
-    application.Render();
-
-    DummyControlImpl& dummyImpl = static_cast<DummyControlImpl&>(dummy.GetImplementation());
-    dummyImpl.EnableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) );
-
-    DALI_TEST_CHECK( dummy.GetCurrentScale().x != 10.0f );
-    Integration::PinchGestureEvent pinch(Gesture::Started);
-    pinch.scale = 10.0f;
-    pinch.speed = 50.0f;
-    pinch.centerPoint = Vector2(20.0f, 20.0f);
-    application.ProcessEvent(pinch);
-
-    // Render and notify a couple of times
-    application.SendNotification();
-    application.Render();
-    application.SendNotification();
-    application.Render();
-    DALI_TEST_CHECK( dummy.GetCurrentScale().x == 10.0f );
-
-    Integration::PanGestureEvent pan(Gesture::Possible);
-    pan.previousPosition = Vector2(10.0f, 20.0f);
-    pan.currentPosition = Vector2(20.0f, 20.0f);
-    pan.timeDelta = 10;
-    pan.numberOfTouches = 1u;
-    application.ProcessEvent(pan);
-    pan.state = Gesture::Started;
-    application.ProcessEvent(pan);
-
-    Integration::TapGestureEvent tap(Gesture::Possible);
-    tap.numberOfTaps = 1u;
-    tap.numberOfTouches = 1u;
-    tap.point = Vector2(50.0f, 50.0f);
-    application.ProcessEvent(tap);
-    tap.state = Gesture::Started;
-    application.ProcessEvent(tap);
-
-    Integration::LongPressGestureEvent longPress(Gesture::Possible);
-    longPress.numberOfTouches = 1u;
-    longPress.point = Vector2(50.0f, 50.0f);
-    application.ProcessEvent(longPress);
-    longPress.state = Gesture::Started;
-    application.ProcessEvent(longPress);
-    longPress.state = Gesture::Finished;
-    application.ProcessEvent(longPress);
-
-    Stage::GetCurrent().Remove(dummy);
-  }
-}
-
-static void UtcDaliControlImplChildAddAndRemove()
-{
-  ToolkitTestApplication application;
-
-  {
-    DummyControl dummy = DummyControl::New( true );
-    Stage::GetCurrent().Add(dummy);
-    DummyControlImplOverride& dummyImpl = static_cast<DummyControlImplOverride&>(dummy.GetImplementation());
-
-    application.Render();
-    application.SendNotification();
-
-    DALI_TEST_EQUALS( dummyImpl.childAddCalled, false, TEST_LOCATION );
-    DALI_TEST_EQUALS( dummy.GetChildCount(), 0u, TEST_LOCATION );
-    Actor actor = RenderableActor::New();
-    dummy.Add(actor);
-    DALI_TEST_EQUALS( dummyImpl.childAddCalled, true, TEST_LOCATION );
-    DALI_TEST_EQUALS( dummy.GetChildCount(), 1u, TEST_LOCATION );
-
-    application.Render();
-    application.SendNotification();
-
-    DALI_TEST_EQUALS( dummyImpl.childRemoveCalled, false, TEST_LOCATION );
-    dummy.Remove( actor );
-    DALI_TEST_EQUALS( dummyImpl.childRemoveCalled, true, TEST_LOCATION );
-    DALI_TEST_EQUALS( dummy.GetChildCount(), 0u, TEST_LOCATION );
-
-    application.Render();
-    application.SendNotification();
-
-    Stage::GetCurrent().Remove(dummy);
-  }
-
-  // Ensure full code coverage
-  {
-    DummyControl dummy = DummyControl::New();
-    Stage::GetCurrent().Add(dummy);
-
-    application.Render();
-    application.SendNotification();
-
-    DALI_TEST_EQUALS( dummy.GetChildCount(), 0u, TEST_LOCATION );
-    Actor actor = RenderableActor::New();
-    dummy.Add(actor);
-    DALI_TEST_EQUALS( dummy.GetChildCount(), 1u, TEST_LOCATION );
-
-    application.Render();
-    application.SendNotification();
-
-    dummy.Remove( actor );
-    DALI_TEST_EQUALS( dummy.GetChildCount(), 0u, TEST_LOCATION );
-
-    application.Render();
-    application.SendNotification();
-
-    Stage::GetCurrent().Remove(dummy);
-  }
-}
-
-static void UtcDaliControlImplStageConnection()
-{
-  ToolkitTestApplication application;
-
-  {
-    DummyControl dummy = DummyControl::New( true );
-    DummyControlImplOverride& dummyImpl = static_cast<DummyControlImplOverride&>(dummy.GetImplementation());
-
-    DALI_TEST_EQUALS( dummyImpl.stageConnectionCalled, false, TEST_LOCATION );
-    Stage::GetCurrent().Add(dummy);
-    application.Render();
-    application.SendNotification();
-    DALI_TEST_EQUALS( dummyImpl.stageConnectionCalled, true, TEST_LOCATION );
-
-    DALI_TEST_EQUALS( dummyImpl.stageDisconnectionCalled, false, TEST_LOCATION );
-    Stage::GetCurrent().Remove(dummy);
-    application.Render();
-    application.SendNotification();
-    DALI_TEST_EQUALS( dummyImpl.stageDisconnectionCalled, true, TEST_LOCATION );
-  }
-
-  // Ensure full code coverage
-  {
-    unsigned int stageChildren = Stage::GetCurrent().GetLayer(0).GetChildCount();
-    DummyControl dummy = DummyControl::New();
-
-    DALI_TEST_EQUALS( Stage::GetCurrent().GetLayer(0).GetChildCount(), stageChildren, TEST_LOCATION );
-    Stage::GetCurrent().Add(dummy);
-    application.Render();
-    application.SendNotification();
-    DALI_TEST_EQUALS( Stage::GetCurrent().GetLayer(0).GetChildCount(), stageChildren + 1, TEST_LOCATION );
-
-    Stage::GetCurrent().Remove(dummy);
-    application.Render();
-    application.SendNotification();
-    DALI_TEST_EQUALS( Stage::GetCurrent().GetLayer(0).GetChildCount(), stageChildren, TEST_LOCATION );
-  }
-}
-
-static void UtcDaliControlImplSizeSet()
-{
-  ToolkitTestApplication application;
-
-  {
-    DummyControl dummy = DummyControl::New( true );
-    DummyControlImplOverride& dummyImpl = static_cast<DummyControlImplOverride&>(dummy.GetImplementation());
-
-    Stage::GetCurrent().Add(dummy);
-    application.Render();
-    application.SendNotification();
-
-    DALI_TEST_EQUALS( dummyImpl.sizeSetCalled, false, TEST_LOCATION );
-    Vector3 size(100.0f, 200.0f, 0.0f);
-    dummy.SetSize(size);
-
-    application.Render();
-    application.SendNotification();
-    application.Render();
-    application.SendNotification();
-
-    DALI_TEST_EQUALS(size, dummy.GetCurrentSize(), TEST_LOCATION);
-    DALI_TEST_EQUALS( dummyImpl.sizeSetCalled, true, TEST_LOCATION );
-
-    Stage::GetCurrent().Remove(dummy);
-  }
-
-  // Ensure full code coverage
-  {
-    DummyControl dummy = DummyControl::New();
-    Stage::GetCurrent().Add(dummy);
-
-    Vector3 size(100.0f, 200.0f, 0.0f);
-    DALI_TEST_CHECK( size != dummy.GetCurrentSize() );
-
-    application.Render();
-    application.SendNotification();
-
-    dummy.SetSize(size);
-
-    application.Render();
-    application.SendNotification();
-    application.Render();
-    application.SendNotification();
-
-    DALI_TEST_EQUALS(size, dummy.GetCurrentSize(), TEST_LOCATION);
-
-    Stage::GetCurrent().Remove(dummy);
-  }
-}
-
-static void UtcDaliControlImplSizeAnimation()
-{
-  ToolkitTestApplication application;
-
-  {
-    DummyControl dummy = DummyControl::New( true );
-    DummyControlImplOverride& dummyImpl = static_cast<DummyControlImplOverride&>(dummy.GetImplementation());
-
-    Stage::GetCurrent().Add(dummy);
-
-    DALI_TEST_EQUALS( dummyImpl.sizeAnimationCalled, false, TEST_LOCATION );
-    Animation animation = Animation::New(1.0f);
-    animation.Resize(dummy, Vector3(100.0f, 150.0f, 200.0f));
-    animation.Play();
-
-    application.Render();
-    application.SendNotification();
-    application.Render();
-    application.SendNotification();
-
-    DALI_TEST_EQUALS( dummyImpl.sizeAnimationCalled, true, TEST_LOCATION );
-
-    Stage::GetCurrent().Remove(dummy);
-  }
-
-  // Ensure full code coverage
-  {
-    DummyControl dummy = DummyControl::New();
-
-    Stage::GetCurrent().Add(dummy);
-
-    Animation animation = Animation::New(1.0f);
-    animation.Resize(dummy, Vector3(100.0f, 150.0f, 200.0f));
-    animation.Play();
-
-    application.Render();
-    application.SendNotification();
-    application.Render();
-    application.SendNotification();
-
-    Stage::GetCurrent().Remove(dummy);
-  }
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-static void UtcDaliControlImplTouchEvent()
-{
-  ToolkitTestApplication application;
-
-  {
-    DummyControl dummy = DummyControl::New( true );
-    DummyControlImplOverride& dummyImpl = static_cast<DummyControlImplOverride&>(dummy.GetImplementation());
-
-    dummy.SetSize(100.0f, 100.0f);
-    dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-    Stage::GetCurrent().Add(dummy);
-
-    application.Render();
-    application.SendNotification();
-    application.Render();
-    application.SendNotification();
-
-    DALI_TEST_EQUALS( dummyImpl.touchEventCalled, false, TEST_LOCATION );
-    Integration::TouchEvent touchEvent(1);
-    TouchPoint point(1, TouchPoint::Down, 20.0f, 20.0f);
-    touchEvent.AddPoint(point);
-    application.ProcessEvent(touchEvent);
-    DALI_TEST_EQUALS( dummyImpl.touchEventCalled, true, TEST_LOCATION );
-
-    Stage::GetCurrent().Remove(dummy);
-  }
-
-  // Ensure full code coverage
-  {
-    DummyControl dummy = DummyControl::New();
-
-    dummy.SetSize(100.0f, 100.0f);
-    dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-    Stage::GetCurrent().Add(dummy);
-
-    application.Render();
-    application.SendNotification();
-    application.Render();
-    application.SendNotification();
-
-    Integration::TouchEvent touchEvent(1);
-    TouchPoint point(1, TouchPoint::Down, 20.0f, 20.0f);
-    touchEvent.AddPoint(point);
-    application.ProcessEvent(touchEvent);
-
-    Stage::GetCurrent().Remove(dummy);
-  }
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-static bool MouseWheelEventCallback(Actor actor, const MouseWheelEvent& event)
-{
-  return false;
-}
-
-static void UtcDaliControlImplMouseWheelEvent()
-{
-  ToolkitTestApplication application;
-
-  {
-    DummyControl dummy = DummyControl::New( true );
-    DummyControlImplOverride& dummyImpl = static_cast<DummyControlImplOverride&>(dummy.GetImplementation());
-
-    dummy.SetSize(100.0f, 100.0f);
-    dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-    Stage::GetCurrent().Add(dummy);
-
-    dummy.MouseWheelEventSignal().Connect(&MouseWheelEventCallback);
-
-    application.Render();
-    application.SendNotification();
-    application.Render();
-    application.SendNotification();
-
-    DALI_TEST_EQUALS( dummyImpl.mouseWheelEventCalled, false, TEST_LOCATION );
-
-    // simulate a mouse wheel event
-    Vector2 screenCoordinates( 10.0f, 10.0f );
-    Integration::MouseWheelEvent event(0, 0u, screenCoordinates, 1, 1000u);
-    application.ProcessEvent(event);
-    DALI_TEST_EQUALS( dummyImpl.mouseWheelEventCalled, true, TEST_LOCATION );
-
-    Stage::GetCurrent().Remove(dummy);
-  }
-
-  // Ensure full code coverage
-  {
-    DummyControl dummy = DummyControl::New();
-
-    dummy.SetSize(100.0f, 100.0f);
-    dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-    Stage::GetCurrent().Add(dummy);
-
-    dummy.MouseWheelEventSignal().Connect(&MouseWheelEventCallback);
-
-    application.Render();
-    application.SendNotification();
-    application.Render();
-    application.SendNotification();
-
-    // simulate a mouse wheel event
-    Vector2 screenCoordinates( 20.0f, 20.0f );
-    Integration::MouseWheelEvent event(0, 0u, screenCoordinates, 1, 1000u);
-    application.ProcessEvent(event);
-
-    Stage::GetCurrent().Remove(dummy);
-  }
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-static void UtcDaliControlImplKeyEvent()
-{
-  ToolkitTestApplication application;
-
-  {
-    DummyControl dummy = DummyControl::New( true );
-    DummyControlImplOverride& dummyImpl = static_cast<DummyControlImplOverride&>(dummy.GetImplementation());
-
-    Stage::GetCurrent().Add(dummy);
-    dummy.SetKeyInputFocus();
-
-    application.Render();
-    application.SendNotification();
-    application.Render();
-    application.SendNotification();
-
-    DALI_TEST_EQUALS( dummyImpl.keyEventCalled, false, TEST_LOCATION );
-    Integration::KeyEvent keyEvent;
-    application.ProcessEvent(keyEvent);
-    DALI_TEST_EQUALS( dummyImpl.keyEventCalled, true, TEST_LOCATION );
-
-    Stage::GetCurrent().Remove(dummy);
-  }
-
-  // Ensure full code coverage
-  {
-    DummyControl dummy = DummyControl::New();
-
-    Stage::GetCurrent().Add(dummy);
-    dummy.SetKeyInputFocus();
-
-    application.Render();
-    application.SendNotification();
-    application.Render();
-    application.SendNotification();
-
-    Integration::KeyEvent keyEvent;
-    application.ProcessEvent(keyEvent);
-
-    Stage::GetCurrent().Remove(dummy);
-  }
-}
-
-static void UtcDaliControlImplStyleChange()
-{
-  ToolkitTestApplication application;
-
-  DummyControl dummy = DummyControl::New( true );
-  DummyControlImplOverride& dummyImpl = static_cast<DummyControlImplOverride&>(dummy.GetImplementation());
-
-  Stage::GetCurrent().Add(dummy);
-
-  application.Render();
-  application.SendNotification();
-  application.Render();
-  application.SendNotification();
-
-  // Add a Control and normal Actor as children
-  DummyControl dummyChild = DummyControl::New();
-  dummy.Add(dummyChild);
-
-  Actor actor = Actor::New();
-  dummy.Add(actor);
-
-  DALI_TEST_EQUALS( dummyImpl.styleChangeCalled, false, TEST_LOCATION );
-  StyleChange styleChange;
-  styleChange.defaultFontChange = true;
-  application.GetAdaptor().GetToolkitStyleMonitor().EmitSignalStyleChange(styleChange);
-  DALI_TEST_EQUALS( dummyImpl.styleChangeCalled, true, TEST_LOCATION );
-
-  Stage::GetCurrent().Remove(dummy);
-}
-
-static void UtcDaliControlImplKeyInputFocusGained()
-{
-  ToolkitTestApplication application;
-
-  {
-    DummyControl dummy = DummyControl::New( true );
-    DummyControlImplOverride& dummyImpl = static_cast<DummyControlImplOverride&>(dummy.GetImplementation());
-
-    Stage::GetCurrent().Add(dummy);
-
-    DALI_TEST_EQUALS( dummyImpl.keyInputFocusGained, false, TEST_LOCATION );
-
-    dummy.SetKeyInputFocus();
-
-    DALI_TEST_EQUALS( dummyImpl.keyInputFocusGained, true, TEST_LOCATION );
-
-    Stage::GetCurrent().Remove(dummy);
-  }
-
-  // Ensure full code coverage
-  {
-    DummyControl dummy = DummyControl::New();
-
-    Stage::GetCurrent().Add(dummy);
-    dummy.SetKeyInputFocus();
-    Stage::GetCurrent().Remove(dummy);
-  }
-}
-
-static void UtcDaliControlImplKeyInputFocusLost()
-{
-  ToolkitTestApplication application;
-
-  {
-    DummyControl dummy = DummyControl::New( true );
-    DummyControlImplOverride& dummyImpl = static_cast<DummyControlImplOverride&>(dummy.GetImplementation());
-
-    Stage::GetCurrent().Add(dummy);
-
-    DALI_TEST_EQUALS( dummyImpl.keyInputFocusLost, false, TEST_LOCATION );
-
-    dummy.SetKeyInputFocus();
-    dummy.ClearKeyInputFocus();
-
-    DALI_TEST_EQUALS( dummyImpl.keyInputFocusLost, true, TEST_LOCATION );
-
-    Stage::GetCurrent().Remove(dummy);
-  }
-
-  // Ensure full code coverage
-  {
-    DummyControl dummy = DummyControl::New();
-
-    Stage::GetCurrent().Add(dummy);
-    dummy.SetKeyInputFocus();
-    dummy.ClearKeyInputFocus();
-
-    DummyControlImplOverride& dummyImpl = static_cast<DummyControlImplOverride&>(dummy.GetImplementation());
-
-    dummyImpl.OnAccessibilityValueChange( true );
-    dummyImpl.IsKeyboardNavigationSupported();
-    dummyImpl.IsKeyboardFocusGroup();
-
-    Stage::GetCurrent().Remove(dummy);
-  }
-}
diff --git a/automated-tests/TET/dali-test-suite/default-controls/.gitignore b/automated-tests/TET/dali-test-suite/default-controls/.gitignore
deleted file mode 100644 (file)
index fa84f53..0000000
+++ /dev/null
@@ -1 +0,0 @@
-utc-Dali-DefaultControls
diff --git a/automated-tests/TET/dali-test-suite/default-controls/Makefile b/automated-tests/TET/dali-test-suite/default-controls/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/default-controls/file.list b/automated-tests/TET/dali-test-suite/default-controls/file.list
deleted file mode 100644 (file)
index 91c147c..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGETS += \
-       utc-Dali-DefaultControls \
diff --git a/automated-tests/TET/dali-test-suite/default-controls/tslist b/automated-tests/TET/dali-test-suite/default-controls/tslist
deleted file mode 100644 (file)
index 7dc630b..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/dali-test-suite/default-controls/utc-Dali-DefaultControls
diff --git a/automated-tests/TET/dali-test-suite/default-controls/utc-Dali-DefaultControls.cpp b/automated-tests/TET/dali-test-suite/default-controls/utc-Dali-DefaultControls.cpp
deleted file mode 100644 (file)
index 49ce54c..0000000
+++ /dev/null
@@ -1,258 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/public-api/controls/tool-bar/tool-bar.h>
-#include <dali-toolkit/public-api/controls/view/view.h>
-#include <dali-toolkit/public-api/controls/default-controls/solid-color-actor.h>
-#include <dali-toolkit/public-api/controls/default-controls/push-button-factory.h>
-#include <dali-toolkit/public-api/controls/default-controls/check-button-factory.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliDefaultControlsCreateSolidColorActor, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliDefaultControlsCreatePushButton, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliDefaultControlsCreateCheckBoxButton, POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliDefaultControlsCreateSolidColorActor()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliDefaultControlsCreateSolidColorActor");
-
-  ImageActor image1 = CreateSolidColorActor( Color::RED );
-  ImageActor image2 = CreateSolidColorActor( Color::RED, true, Color::BLUE, 2 );
-  ImageActor image3 = CreateSolidColorActor( Color::RED, true, Color::BLUE, 12 );
-
-  DALI_TEST_CHECK(image1);
-  DALI_TEST_CHECK(image2);
-  DALI_TEST_CHECK(!image3);
-}
-
-static void UtcDaliDefaultControlsCreatePushButton()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliDefaultControlsCreatePushButton");
-
-  const std::string imagePath( "Facke image path" );
-  const std::string voidImagePath( "" );
-
-  ImageActor image = CreateSolidColorActor( Color::RED );
-  ImageActor voidImage;
-
-  PushButton button0, button1, button2, button3, button4, button5, button6;
-
-  try
-  {
-    button0 = CreatePushButton( voidImagePath, voidImagePath, voidImagePath, voidImagePath, voidImagePath );
-    button1 = CreatePushButton( imagePath, voidImagePath, voidImagePath, voidImagePath, voidImagePath );
-    button2 = CreatePushButton( voidImagePath, imagePath, voidImagePath, voidImagePath, voidImagePath );
-    button3 = CreatePushButton( voidImagePath, voidImagePath, imagePath, voidImagePath, voidImagePath );
-    button4 = CreatePushButton( voidImagePath, voidImagePath, voidImagePath, imagePath, voidImagePath );
-    button5 = CreatePushButton( voidImagePath, voidImagePath, voidImagePath, voidImagePath, imagePath );
-    button6 = CreatePushButton( imagePath, imagePath, imagePath, imagePath, imagePath );
-  }
-  catch( ... )
-  {
-    tet_result( TET_FAIL );
-  }
-
-  DALI_TEST_CHECK( button0 );
-  DALI_TEST_CHECK( button1 );
-  DALI_TEST_CHECK( button2 );
-  DALI_TEST_CHECK( button3 );
-  DALI_TEST_CHECK( button4 );
-  DALI_TEST_CHECK( button5 );
-  DALI_TEST_CHECK( button6 );
-
-  try
-  {
-    button0 = CreatePushButton( voidImage, voidImage, voidImage, voidImage, voidImage );
-    button1 = CreatePushButton( image, voidImage, voidImage, voidImage, voidImage );
-    button2 = CreatePushButton( voidImage, image, voidImage, voidImage, voidImage );
-    button3 = CreatePushButton( voidImage, voidImage, image, voidImage, voidImage );
-    button4 = CreatePushButton( voidImage, voidImage, voidImage, image, voidImage );
-    button5 = CreatePushButton( voidImage, voidImage, voidImage, voidImage, image );
-    button6 = CreatePushButton( image, image, image, image, image );
-  }
-  catch( ... )
-  {
-    tet_result( TET_FAIL );
-  }
-
-  DALI_TEST_CHECK( button0 );
-  DALI_TEST_CHECK( button1 );
-  DALI_TEST_CHECK( button2 );
-  DALI_TEST_CHECK( button3 );
-  DALI_TEST_CHECK( button4 );
-  DALI_TEST_CHECK( button5 );
-  DALI_TEST_CHECK( button6 );
-
-  try
-  {
-    button0 = CreatePushButton( voidImagePath );
-    button1 = CreatePushButton( imagePath );
-  }
-  catch( ... )
-  {
-    tet_result( TET_FAIL );
-  }
-
-  DALI_TEST_CHECK( button0 );
-  DALI_TEST_CHECK( button1 );
-
-  try
-  {
-    button0 = CreatePushButton( voidImage );
-    button1 = CreatePushButton( image );
-  }
-  catch( ... )
-  {
-    tet_result( TET_FAIL );
-  }
-
-  DALI_TEST_CHECK( button0 );
-  DALI_TEST_CHECK( button1 );
-}
-
-static void UtcDaliDefaultControlsCreateCheckBoxButton()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliDefaultControlsCreateCheckBoxButton");
-
-  const std::string imagePath( "Facke image path" );
-  const std::string voidImagePath( "" );
-
-  ImageActor image = CreateSolidColorActor( Color::RED );
-  ImageActor voidImage;
-
-  CheckBoxButton button0, button1, button2, button3, button4, button5;
-
-  try
-  {
-    button0 = CreateCheckBoxButton( voidImagePath, voidImagePath, voidImagePath, voidImagePath );
-    button1 = CreateCheckBoxButton( imagePath, voidImagePath, voidImagePath, voidImagePath );
-    button2 = CreateCheckBoxButton( voidImagePath, imagePath, voidImagePath, voidImagePath );
-    button3 = CreateCheckBoxButton( voidImagePath, voidImagePath, imagePath, voidImagePath );
-    button4 = CreateCheckBoxButton( voidImagePath, voidImagePath, voidImagePath, imagePath );
-    button5 = CreateCheckBoxButton( imagePath, imagePath, imagePath, imagePath );
-  }
-  catch( ... )
-  {
-    tet_result( TET_FAIL );
-  }
-
-  DALI_TEST_CHECK( button0 );
-  DALI_TEST_CHECK( button1 );
-  DALI_TEST_CHECK( button2 );
-  DALI_TEST_CHECK( button3 );
-  DALI_TEST_CHECK( button4 );
-  DALI_TEST_CHECK( button5 );
-
-  try
-  {
-    button0 = CreateCheckBoxButton( voidImage, voidImage, voidImage, voidImage );
-    button1 = CreateCheckBoxButton( image, voidImage, voidImage, voidImage );
-    button2 = CreateCheckBoxButton( voidImage, image, voidImage, voidImage );
-    button3 = CreateCheckBoxButton( voidImage, voidImage, image, voidImage );
-    button4 = CreateCheckBoxButton( voidImage, voidImage, voidImage, image );
-    button5 = CreateCheckBoxButton( image, image, image, image );
-  }
-  catch( ... )
-  {
-    tet_result( TET_FAIL );
-  }
-
-  DALI_TEST_CHECK( button0 );
-  DALI_TEST_CHECK( button1 );
-  DALI_TEST_CHECK( button2 );
-  DALI_TEST_CHECK( button3 );
-  DALI_TEST_CHECK( button4 );
-  DALI_TEST_CHECK( button5 );
-
-  try
-  {
-    button0 = CreateCheckBoxButton( voidImagePath, voidImagePath );
-    button1 = CreateCheckBoxButton( voidImagePath, imagePath );
-    button2 = CreateCheckBoxButton( imagePath, voidImagePath );
-    button3 = CreateCheckBoxButton( imagePath, imagePath );
-  }
-  catch( ... )
-  {
-    tet_result( TET_FAIL );
-  }
-
-  DALI_TEST_CHECK( button0 );
-  DALI_TEST_CHECK( button1 );
-  DALI_TEST_CHECK( button2 );
-  DALI_TEST_CHECK( button3 );
-
-  try
-  {
-    button0 = CreateCheckBoxButton( voidImage, voidImage );
-    button2 = CreateCheckBoxButton( voidImage, image );
-    button3 = CreateCheckBoxButton( voidImage, image );
-    button4 = CreateCheckBoxButton( image, image );
-  }
-  catch( ... )
-  {
-    tet_result( TET_FAIL );
-  }
-
-  DALI_TEST_CHECK( button0 );
-  DALI_TEST_CHECK( button1 );
-  DALI_TEST_CHECK( button2 );
-  DALI_TEST_CHECK( button3 );
-}
diff --git a/automated-tests/TET/dali-test-suite/focus-manager/.gitignore b/automated-tests/TET/dali-test-suite/focus-manager/.gitignore
deleted file mode 100644 (file)
index 000ce4a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-utc-Dali-FocusManager
-utc-Dali-KeyInputFocusManager
-utc-Dali-KeyboardFocusManager
diff --git a/automated-tests/TET/dali-test-suite/focus-manager/Makefile b/automated-tests/TET/dali-test-suite/focus-manager/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/focus-manager/file.list b/automated-tests/TET/dali-test-suite/focus-manager/file.list
deleted file mode 100644 (file)
index 13851a6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-TARGETS += \
-        utc-Dali-FocusManager \
-        utc-Dali-KeyInputFocusManager \
-        utc-Dali-KeyboardFocusManager
diff --git a/automated-tests/TET/dali-test-suite/focus-manager/tslist b/automated-tests/TET/dali-test-suite/focus-manager/tslist
deleted file mode 100644 (file)
index 409996a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-/dali-test-suite/focus-manager/utc-Dali-FocusManager
-/dali-test-suite/focus-manager/utc-Dali-KeyInputFocusManager
-/dali-test-suite/focus-manager/utc-Dali-KeyboardFocusManager
diff --git a/automated-tests/TET/dali-test-suite/focus-manager/utc-Dali-FocusManager.cpp b/automated-tests/TET/dali-test-suite/focus-manager/utc-Dali-FocusManager.cpp
deleted file mode 100644 (file)
index 4ec250d..0000000
+++ /dev/null
@@ -1,1070 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/dali.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-namespace
-{
-
-static bool gObjectCreatedCallBackCalled;
-
-static void TestCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-}
-
-// Functors to test whether focus changed signal is emitted when the focus is changed
-class FocusChangedCallback : public Dali::ConnectionTracker
-{
-public:
-  FocusChangedCallback(bool& signalReceived)
-  : mSignalVerified(signalReceived),
-    mOriginalFocusedActor(),
-    mCurrentFocusedActor()
-  {
-  }
-
-  void Callback(Actor originalFocusedActor, Actor currentFocusedActor)
-  {
-    tet_infoline("Verifying FocusChangedCallback()");
-
-    if(originalFocusedActor == mCurrentFocusedActor)
-    {
-      mSignalVerified = true;
-    }
-
-    mOriginalFocusedActor = originalFocusedActor;
-    mCurrentFocusedActor = currentFocusedActor;
-  }
-
-  void Reset()
-  {
-    mSignalVerified = false;
-  }
-
-  bool& mSignalVerified;
-  Actor mOriginalFocusedActor;
-  Actor mCurrentFocusedActor;
-};
-
-// Functors to test whether focus overshot signal is emitted when there is no way to move focus further.
-class FocusOvershotCallback : public Dali::ConnectionTracker
-{
-public:
-  FocusOvershotCallback(bool& signalReceived)
-  : mSignalVerified(signalReceived),
-    mCurrentFocusedActor(),
-    mFocusOvershotDirection(Toolkit::FocusManager::OVERSHOT_NEXT)
-  {
-  }
-
-  void Callback(Actor currentFocusedActor, Toolkit::FocusManager::FocusOvershotDirection direction)
-  {
-    tet_infoline("Verifying FocusOvershotCallback()");
-
-    if(currentFocusedActor == mCurrentFocusedActor && direction == mFocusOvershotDirection)
-    {
-      mSignalVerified = true;
-    }
-  }
-
-  void Reset()
-  {
-    mSignalVerified = false;
-  }
-
-  bool& mSignalVerified;
-  Actor mCurrentFocusedActor;
-  Toolkit::FocusManager::FocusOvershotDirection mFocusOvershotDirection;
-};
-
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliFocusManagerGet,                              POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliFocusManagerSetAndGetAccessibilityAttribute,  POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliFocusManagerSetAndGetFocusOrder,              POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliFocusManagerGenerateNewFocusOrder,            POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliFocusManagerGetActorByFocusOrder,             POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliFocusManagerSetAndGetCurrentFocusActor,       POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliFocusManagerGetCurrentFocusGroup,             POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliFocusManagerGetCurrentFocusOrder,             POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliFocusManagerMoveFocusForward,                 POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliFocusManagerMoveFocusBackward,                POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliFocusManagerClearFocus,                       POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliFocusManagerReset,                            POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliFocusManagerFocusGroup,                       POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliFocusManagerSetAndGetFocusIndicator,          POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliFocusManagerSignalFocusChanged,               POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliFocusManagerSignalFocusOvershot,              POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliFocusManagerGet()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliFocusManagerGet");
-
-  FocusManager manager;
-
-  //Ensure object is created by checking if it's registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK(registry);
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect( &TestCallback );
-  {
-    manager = FocusManager::Get();
-    DALI_TEST_CHECK(manager);
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-
-  FocusManager newManager = FocusManager::Get();
-  DALI_TEST_CHECK(newManager);
-
-  // Check that focus manager is a singleton
-  DALI_TEST_CHECK(manager == newManager);
-}
-
-static void UtcDaliFocusManagerSetAndGetAccessibilityAttribute()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliFocusManagerSetAndGetAccessibilityAttribute");
-
-  FocusManager manager = FocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  Actor actor = Actor::New();
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(actor, FocusManager::ACCESSIBILITY_LABEL) == "");
-
-  manager.SetAccessibilityAttribute(actor, FocusManager::ACCESSIBILITY_LABEL, "Description");
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(actor, FocusManager::ACCESSIBILITY_LABEL) == "Description");
-
-  manager.SetAccessibilityAttribute(actor, FocusManager::ACCESSIBILITY_LABEL, "New description");
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(actor, FocusManager::ACCESSIBILITY_LABEL) == "New description");
-}
-
-static void UtcDaliFocusManagerSetAndGetFocusOrder()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliFocusManagerSetAndGetFocusOrder");
-
-  FocusManager manager = FocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  Actor first = Actor::New();
-  Actor second = Actor::New();
-  DALI_TEST_CHECK(manager.GetFocusOrder(first) == 0);
-  DALI_TEST_CHECK(manager.GetFocusOrder(second) == 0);
-
-  // Set the focus order and description for the first actor
-  manager.SetFocusOrder(first, 1);
-  manager.SetAccessibilityAttribute(first, FocusManager::ACCESSIBILITY_LABEL, "first");
-  DALI_TEST_CHECK(manager.GetFocusOrder(first) == 1);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(first, FocusManager::ACCESSIBILITY_LABEL) == "first");
-
-  // Set the focus order and description for the second actor
-  manager.SetFocusOrder(second, 2);
-  manager.SetAccessibilityAttribute(second, FocusManager::ACCESSIBILITY_LABEL, "second");
-  DALI_TEST_CHECK(manager.GetFocusOrder(second) == 2);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(second, FocusManager::ACCESSIBILITY_LABEL) == "second");
-
-  // check that the focus order of the first actor is changed
-  manager.SetFocusOrder(first, 2);
-  DALI_TEST_CHECK(manager.GetFocusOrder(first) == 2);
-  // make sure the change of focus order doesn't affect the actor's description
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(first, FocusManager::ACCESSIBILITY_LABEL) == "first");
-
-  // check that the focus order of the second actor is increased to 3
-  DALI_TEST_CHECK(manager.GetFocusOrder(second) == 3);
-  // make sure the change of focus order doesn't affect the actor's description
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(second, FocusManager::ACCESSIBILITY_LABEL) == "second");
-
-  // check that the focus order of the second actor is changed to 1
-  manager.SetFocusOrder(second, 1);
-  DALI_TEST_CHECK(manager.GetFocusOrder(second) == 1);
-  // make sure the change of focus order doesn't affect the actor's description
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(second, FocusManager::ACCESSIBILITY_LABEL) == "second");
-
-  // Set the focus order and description for the third actor
-  Actor third = Actor::New();
-  manager.SetFocusOrder(third, 1);
-  manager.SetAccessibilityAttribute(third, FocusManager::ACCESSIBILITY_LABEL, "third");
-  DALI_TEST_CHECK(manager.GetFocusOrder(third) == 1);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(third, FocusManager::ACCESSIBILITY_LABEL) == "third");
-
-  // check that the focus order of the second actor is increased to 2.
-  DALI_TEST_CHECK(manager.GetFocusOrder(second) == 2);
-  // make sure the change of focus order doesn't affect the actor's description
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(second, FocusManager::ACCESSIBILITY_LABEL) == "second");
-
-  // check that the focus order of the first actor is increased to 3.
-  DALI_TEST_CHECK(manager.GetFocusOrder(first) == 3);
-  // make sure the change of focus order doesn't affect the actor's description
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(first, FocusManager::ACCESSIBILITY_LABEL) == "first");
-}
-
-static void UtcDaliFocusManagerGenerateNewFocusOrder()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliFocusManagerGenerateNewFocusOrder");
-
-  FocusManager manager = FocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  DALI_TEST_CHECK(1 == manager.GenerateNewFocusOrder());
-  DALI_TEST_CHECK(1 == manager.GenerateNewFocusOrder());
-
-  Actor first = Actor::New();
-  Actor second = Actor::New();
-
-  // Set the focus order for the first actor
-  manager.SetFocusOrder(first, 1);
-  manager.SetAccessibilityAttribute(first, FocusManager::ACCESSIBILITY_LABEL, "first");
-  DALI_TEST_CHECK(manager.GetFocusOrder(first) == 1);
-
-  //Test for new focus order
-  DALI_TEST_CHECK(2 == manager.GenerateNewFocusOrder());
-
-  // Set the focus order for the first actor
-  manager.SetFocusOrder(second, 2);
-  manager.SetAccessibilityAttribute(second, FocusManager::ACCESSIBILITY_LABEL, "first");
-  DALI_TEST_CHECK(manager.GetFocusOrder(second) == 2);
-}
-
-static void UtcDaliFocusManagerGetActorByFocusOrder()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliFocusManagerGetActorByFocusOrder");
-
-  FocusManager manager = FocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  // Create the actors and set their focus orders
-  Actor first = Actor::New();
-  manager.SetFocusOrder(first, 1);
-
-  Actor second = Actor::New();
-  manager.SetFocusOrder(second, 2);
-
-  Actor third = Actor::New();
-  manager.SetFocusOrder(third, 3);
-
-  // Check that we get an empty handle as no actor is added to the stage yet.
-  DALI_TEST_CHECK(manager.GetActorByFocusOrder(1) == Actor());
-  DALI_TEST_CHECK(manager.GetActorByFocusOrder(2) == Actor());
-  DALI_TEST_CHECK(manager.GetActorByFocusOrder(3) == Actor());
-
-  // Add the actors to the stage
-  Stage::GetCurrent().Add(first);
-  Stage::GetCurrent().Add(second);
-  Stage::GetCurrent().Add(third);
-
-  // Check that we get an empty handle because focus order 0 means undefined.
-  DALI_TEST_CHECK(manager.GetActorByFocusOrder(0) == Actor());
-
-  // Check that we get correct actors for the specified focus orders
-  DALI_TEST_CHECK(manager.GetActorByFocusOrder(1) == first);
-  DALI_TEST_CHECK(manager.GetActorByFocusOrder(2) == second);
-  DALI_TEST_CHECK(manager.GetActorByFocusOrder(3) == third);
-
-  // Change the focus order of the third actor to 1
-  manager.SetFocusOrder(third, 1);
-
-  // Check that we still get correct actors after changing their focus orders
-  DALI_TEST_CHECK(manager.GetActorByFocusOrder(1) == third);
-  DALI_TEST_CHECK(manager.GetActorByFocusOrder(2) == first);
-  DALI_TEST_CHECK(manager.GetActorByFocusOrder(3) == second);
-
-  // Check that we get an empty handle because no actor has a focus order of 4
-  DALI_TEST_CHECK(manager.GetActorByFocusOrder(4) == Actor());
-}
-
-static void UtcDaliFocusManagerSetAndGetCurrentFocusActor()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliFocusManagerSetAndGetCurrentFocusActor");
-
-  FocusManager manager = FocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  // Create the first actor and add it to the stage
-  Actor first = Actor::New();
-  manager.SetFocusOrder(first, 1);
-  Stage::GetCurrent().Add(first);
-
-  // Create the second actor and add it to the stage
-  Actor second = Actor::New();
-  manager.SetFocusOrder(second, 2);
-  Stage::GetCurrent().Add(second);
-
-  // Create the third actor but don't add it to the stage
-  Actor third = Actor::New();
-  manager.SetFocusOrder(third, 3);
-
-  // Check that no actor is being focused yet.
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
-
-  // Check that it will fail to set focus on an invalid actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(Actor()) == false);
-
-  // Check that the focus is set on the first actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-
-  // Check that the focus is set on the second actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(second) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
-
-  // Check that it will fail to set focus on the third actor as it's not in the stage
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(third) == false);
-
-  // Add the third actor to the stage
-  Stage::GetCurrent().Add(third);
-
-  // make the third actor invisible
-  third.SetVisible(false);
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-
-  // Check that it will fail to set focus on the third actor as it's invisible
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(third) == false);
-
-  // Make the third actor visible
-  third.SetVisible(true);
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-
-  // Make the third actor not focusable
-  Property::Index propertyActorFocusable = third.GetPropertyIndex("focusable");
-  third.SetProperty(propertyActorFocusable, false);
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-
-  // Check that it will fail to set focus on the third actor as it's not focusable
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(third) == false);
-
-  // Make the third actor focusable
-  third.SetProperty(propertyActorFocusable, true);
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-
-  // Check that the focus is successfully moved to the third actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(third) == true);
-
-  // Make the current focused actor to be not focusable by setting its focus order to be 0
-  manager.SetFocusOrder(third, 0);
-
-  // Check that the focus is automatically cleared
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
-
-  // Set the focus order of the third actor again
-  manager.SetFocusOrder(third, 3);
-
-  // Check that the third actor can be focused successfully now
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(third) == true);
-}
-
-static void UtcDaliFocusManagerGetCurrentFocusGroup()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliFocusManagerGetCurrentFocusGroup");
-
-  FocusManager manager = FocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  // Create an actor with two child actors and add it to the stage
-  Actor parent = Actor::New();
-  Actor firstChild = Actor::New();
-  Actor secondChild = Actor::New();
-  parent.Add(firstChild);
-  parent.Add(secondChild);
-  Stage::GetCurrent().Add(parent);
-
-  // Create three actors and add them as the children of the first child actor
-  Actor firstGrandChild = Actor::New();
-  Actor secondGrandChild = Actor::New();
-  Actor thirdGrandChild = Actor::New();
-  firstChild.Add(firstGrandChild);
-  firstChild.Add(secondGrandChild);
-  firstChild.Add(thirdGrandChild);
-
-  // Set focus order to the actors
-  manager.SetFocusOrder(parent, 1);
-  manager.SetFocusOrder(firstChild, 2);
-  manager.SetFocusOrder(firstGrandChild, 3);
-  manager.SetFocusOrder(secondGrandChild, 4);
-  manager.SetFocusOrder(thirdGrandChild, 5);
-  manager.SetFocusOrder(secondChild, 6);
-
-  // Set the parent and the first child actor as focus groups
-  manager.SetFocusGroup(parent, true);
-  DALI_TEST_CHECK(manager.IsFocusGroup(parent) == true);
-
-  // Set focus to the first grand child actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(firstGrandChild) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == firstGrandChild);
-
-  // The current focus group should be the parent, As it is the immediate parent which is also a focus group.
-  DALI_TEST_CHECK(manager.GetCurrentFocusGroup() == parent);
-
-  manager.SetFocusGroup(firstChild, true);
-  DALI_TEST_CHECK(manager.IsFocusGroup(firstChild) == true);
-
-  // The current focus group should be the firstChild, As it is the immediate parent which is also a focus group.
-  DALI_TEST_CHECK(manager.GetCurrentFocusGroup() == firstChild);
-
-  manager.SetFocusGroup(firstGrandChild, true);
-  DALI_TEST_CHECK(manager.IsFocusGroup(firstGrandChild) == true);
-
-  // The current focus group should be itself, As it is also a focus group.
-  DALI_TEST_CHECK(manager.GetCurrentFocusGroup() == firstGrandChild);
-
-  // Set focus to the second grand child actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(secondGrandChild) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == secondGrandChild);
-
-  // The current focus group should be the firstChild, As it is the immediate parent which is also a
-  // focus group for the current focus actor.
-  DALI_TEST_CHECK(manager.GetCurrentFocusGroup() == firstChild);
-
-}
-
-static void UtcDaliFocusManagerGetCurrentFocusOrder()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliFocusManagerGetCurrentFocusOrder");
-
-  FocusManager manager = FocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  Actor first = Actor::New();
-  Stage::GetCurrent().Add(first);
-
-  Actor second = Actor::New();
-  Stage::GetCurrent().Add(second);
-
-  Actor third = Actor::New();
-  Stage::GetCurrent().Add(third);
-
-  // Set the focus order and description for the first actor
-  manager.SetFocusOrder(first, 1);
-  manager.SetAccessibilityAttribute(first, FocusManager::ACCESSIBILITY_LABEL, "first");
-  DALI_TEST_CHECK(manager.GetFocusOrder(first) == 1);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(first, FocusManager::ACCESSIBILITY_LABEL) == "first");
-
-  // Set the focus order and description for the second actor
-  manager.SetFocusOrder(second, 2);
-  manager.SetAccessibilityAttribute(second, FocusManager::ACCESSIBILITY_LABEL, "second");
-  DALI_TEST_CHECK(manager.GetFocusOrder(second) == 2);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(second, FocusManager::ACCESSIBILITY_LABEL) == "second");
-
-  // Set the focus order and description for the second actor
-  manager.SetFocusOrder(third, 3);
-  manager.SetAccessibilityAttribute(third, FocusManager::ACCESSIBILITY_LABEL, "third");
-  DALI_TEST_CHECK(manager.GetFocusOrder(third) == 3);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(third, FocusManager::ACCESSIBILITY_LABEL) == "third");
-
-  // Check that no actor is being focused yet.
-  DALI_TEST_CHECK(manager.GetCurrentFocusOrder() == 0);
-
-  // Set the focus on the first actor and test
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusOrder() == 1);
-
-  // Move the focus forward to the second actor and test
-  manager.MoveFocusForward();
-  DALI_TEST_CHECK(manager.GetCurrentFocusOrder() == 2);
-
-  // Move the focus forward to the third actor and test
-  manager.MoveFocusForward();
-  DALI_TEST_CHECK(manager.GetCurrentFocusOrder() == 3);
-
-  // Clear focus and test
-  manager.ClearFocus();
-  DALI_TEST_CHECK(manager.GetCurrentFocusOrder() == 0);
-}
-
-static void UtcDaliFocusManagerMoveFocusForward()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliFocusManagerMoveFocusForward");
-
-  FocusManager manager = FocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  Actor first = Actor::New();
-  Stage::GetCurrent().Add(first);
-
-  Actor second = Actor::New();
-  Stage::GetCurrent().Add(second);
-
-  Actor third = Actor::New();
-  Stage::GetCurrent().Add(third);
-
-  // Set the focus order and description for the first actor
-  manager.SetFocusOrder(first, 1);
-  manager.SetAccessibilityAttribute(first, FocusManager::ACCESSIBILITY_LABEL, "first");
-  DALI_TEST_CHECK(manager.GetFocusOrder(first) == 1);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(first, FocusManager::ACCESSIBILITY_LABEL) == "first");
-
-  // Set the focus order and description for the second actor
-  manager.SetFocusOrder(second, 2);
-  manager.SetAccessibilityAttribute(second, FocusManager::ACCESSIBILITY_LABEL, "second");
-  DALI_TEST_CHECK(manager.GetFocusOrder(second) == 2);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(second, FocusManager::ACCESSIBILITY_LABEL) == "second");
-
-  // Set the focus order and description for the second actor
-  manager.SetFocusOrder(third, 3);
-  manager.SetAccessibilityAttribute(third, FocusManager::ACCESSIBILITY_LABEL, "third");
-  DALI_TEST_CHECK(manager.GetFocusOrder(third) == 3);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(third, FocusManager::ACCESSIBILITY_LABEL) == "third");
-
-  // Check that no actor is being focused yet.
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
-
-  // Set the focus on the first actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), FocusManager::ACCESSIBILITY_LABEL) == "first");
-
-  // Test the non-wrapped move first
-  manager.SetWrapMode(false);
-  DALI_TEST_CHECK(manager.GetWrapMode() == false);
-
-  // Move the focus forward to the second actor
-  manager.MoveFocusForward();
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), FocusManager::ACCESSIBILITY_LABEL) == "second");
-
-  // Move the focus forward to the third actor
-  manager.MoveFocusForward();
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == third);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), FocusManager::ACCESSIBILITY_LABEL) == "third");
-
-  // Check that it will fail to move the focus forward again as the third actor is the last
-  // focusable actor in the focus chain
-  manager.MoveFocusForward();
-  // The focus should still be set on the third actor
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == third);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), FocusManager::ACCESSIBILITY_LABEL) == "third");
-
-  // Now test the wrapped move
-  manager.SetWrapMode(true);
-  DALI_TEST_CHECK(manager.GetWrapMode() == true);
-
-  // Move the focus forward recursively and this time the first actor should be focused
-  manager.MoveFocusForward();
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), FocusManager::ACCESSIBILITY_LABEL) == "first");
-
-  // Make the second actor not focusable
-  Property::Index propertyActorFocusable = second.GetPropertyIndex("focusable");
-  second.SetProperty(propertyActorFocusable, false);
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-
-  // Move the focus forward and check that the second actor should be skipped and
-  // the third actor should be focused now.
-  manager.MoveFocusForward();
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == third);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), FocusManager::ACCESSIBILITY_LABEL) == "third");
-
-  // Make the first actor invisible
-  first.SetVisible(false);
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-
-  // Move the focus forward and check that the first actor should be skipped as it's
-  // invisible and the second actor should also be skipped as it's not focusable,
-  // so the focus will still be on the third actor
-  manager.MoveFocusForward();
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == third);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), FocusManager::ACCESSIBILITY_LABEL) == "third");
-
-  // Make the third actor invisible so that no actor can be focused.
-  third.SetVisible(false);
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-
-  // Check that the focus move is failed as all the three actors can not be focused
-  manager.MoveFocusForward();
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == third);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), FocusManager::ACCESSIBILITY_LABEL) == "third");
-}
-
-static void UtcDaliFocusManagerMoveFocusBackward()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliFocusManagerMoveFocusBackward");
-
-  FocusManager manager = FocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  Actor first = Actor::New();
-  Stage::GetCurrent().Add(first);
-
-  Actor second = Actor::New();
-  Stage::GetCurrent().Add(second);
-
-  Actor third = Actor::New();
-  Stage::GetCurrent().Add(third);
-
-  // Set the focus order and description for the first actor
-  manager.SetFocusOrder(first, 1);
-  manager.SetAccessibilityAttribute(first, FocusManager::ACCESSIBILITY_LABEL, "first");
-  DALI_TEST_CHECK(manager.GetFocusOrder(first) == 1);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(first, FocusManager::ACCESSIBILITY_LABEL) == "first");
-
-  // Set the focus order and description for the second actor
-  manager.SetFocusOrder(second, 2);
-  manager.SetAccessibilityAttribute(second, FocusManager::ACCESSIBILITY_LABEL, "second");
-  DALI_TEST_CHECK(manager.GetFocusOrder(second) == 2);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(second, FocusManager::ACCESSIBILITY_LABEL) == "second");
-
-  // Set the focus order and description for the second actor
-  manager.SetFocusOrder(third, 3);
-  manager.SetAccessibilityAttribute(third, FocusManager::ACCESSIBILITY_LABEL, "third");
-  DALI_TEST_CHECK(manager.GetFocusOrder(third) == 3);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(third, FocusManager::ACCESSIBILITY_LABEL) == "third");
-
-  // Check that no actor is being focused yet.
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
-
-  // Set the focus on the third actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(third) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == third);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), FocusManager::ACCESSIBILITY_LABEL) == "third");
-
-  // Test the non-wrapped move first
-  manager.SetWrapMode(false);
-  DALI_TEST_CHECK(manager.GetWrapMode() == false);
-
-  // Move the focus backward to the second actor
-  manager.MoveFocusBackward();
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), FocusManager::ACCESSIBILITY_LABEL) == "second");
-
-  // Move the focus backward to the first actor
-  manager.MoveFocusBackward();
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), FocusManager::ACCESSIBILITY_LABEL) == "first");
-
-  // Check that it will fail to move the focus backward again as the first actor is the first
-  // focusable actor in the focus chain
-  manager.MoveFocusBackward();
-  // The focus should still be set on the first actor
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), FocusManager::ACCESSIBILITY_LABEL) == "first");
-
-  // Now test the wrapped move
-  manager.SetWrapMode(true);
-  DALI_TEST_CHECK(manager.GetWrapMode() == true);
-
-  // Move the focus backward recursively and this time the third actor should be focused
-  manager.MoveFocusBackward();
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == third);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), FocusManager::ACCESSIBILITY_LABEL) == "third");
-
-  // Make the second actor not focusable
-  Property::Index propertyActorFocusable = second.GetPropertyIndex("focusable");
-  second.SetProperty(propertyActorFocusable, false);
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-
-  // Move the focus backward and check that the second actor should be skipped and
-  // the first actor should be focused now.
-  manager.MoveFocusBackward();
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), FocusManager::ACCESSIBILITY_LABEL) == "first");
-
-  // Make the third actor invisible
-  third.SetVisible(false);
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-
-  // Move the focus backward and check that the third actor should be skipped as it's
-  // invisible and the second actor should also be skipped as it's not focusable,
-  // so the focus will still be on the first actor
-  manager.MoveFocusBackward();
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), FocusManager::ACCESSIBILITY_LABEL) == "first");
-
-  // Make the first actor invisible so that no actor can be focused.
-  first.SetVisible(false);
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-
-  // Check that the focus move is failed as all the three actors can not be focused
-  manager.MoveFocusBackward();
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-  DALI_TEST_CHECK(manager.GetAccessibilityAttribute(manager.GetCurrentFocusActor(), FocusManager::ACCESSIBILITY_LABEL) == "first");
-}
-
-static void UtcDaliFocusManagerClearFocus()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliFocusManagerClearFocus");
-
-  FocusManager manager = FocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  // Create the first actor and add it to the stage
-  Actor first = Actor::New();
-  manager.SetFocusOrder(first, 1);
-  Stage::GetCurrent().Add(first);
-
-  // Create the second actor and add it to the stage
-  Actor second = Actor::New();
-  manager.SetFocusOrder(second, 2);
-  Stage::GetCurrent().Add(second);
-
-  // Check that no actor is being focused yet.
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
-
-  // Check that the focus is set on the first actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-
-  // Check that the focus is set on the second actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(second) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
-
-  // Clear the focus
-  manager.ClearFocus();
-
-  // Check that no actor is being focused now.
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
-}
-
-static void UtcDaliFocusManagerReset()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliFocusManagerReset");
-
-  FocusManager manager = FocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  // Create the first actor and add it to the stage
-  Actor first = Actor::New();
-  manager.SetFocusOrder(first, 1);
-  Stage::GetCurrent().Add(first);
-
-  // Create the second actor and add it to the stage
-  Actor second = Actor::New();
-  manager.SetFocusOrder(second, 2);
-  Stage::GetCurrent().Add(second);
-
-  // Check that no actor is being focused yet.
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
-
-  // Check that the focus is set on the first actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-
-  // Check that the focus is set on the second actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(second) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
-
-  // Clear the focus
-  manager.Reset();
-
-  // Check that no actor is being focused now and the focus order of actors have been cleared
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
-  DALI_TEST_CHECK(manager.GetFocusOrder(first) == 0);
-  DALI_TEST_CHECK(manager.GetFocusOrder(first) == 0);
-}
-
-static void UtcDaliFocusManagerFocusGroup()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliFocusManagerFocusGroup");
-
-  FocusManager manager = FocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  // Create an actor with two child actors and add it to the stage
-  Actor parent = Actor::New();
-  Actor firstChild = Actor::New();
-  Actor secondChild = Actor::New();
-  parent.Add(firstChild);
-  parent.Add(secondChild);
-  Stage::GetCurrent().Add(parent);
-
-  // Create three actors and add them as the children of the first child actor
-  Actor firstGrandChild = Actor::New();
-  Actor secondGrandChild = Actor::New();
-  Actor thirdGrandChild = Actor::New();
-  firstChild.Add(firstGrandChild);
-  firstChild.Add(secondGrandChild);
-  firstChild.Add(thirdGrandChild);
-
-  // Set focus order to the actors
-  manager.SetFocusOrder(parent, 1);
-  manager.SetFocusOrder(firstChild, 2);
-  manager.SetFocusOrder(firstGrandChild, 3);
-  manager.SetFocusOrder(secondGrandChild, 4);
-  manager.SetFocusOrder(thirdGrandChild, 5);
-  manager.SetFocusOrder(secondChild, 6);
-
-  // Set the parent and the first child actor as focus groups
-  manager.SetFocusGroup(parent, true);
-  DALI_TEST_CHECK(manager.IsFocusGroup(parent) == true);
-
-  // The focus group of the parent should be itself, as it is set to be a focus group.
-  DALI_TEST_CHECK(manager.GetFocusGroup(parent) == parent);
-
-  // The focus group of the firstChild should be its parent, as it is the immediate parent which is also a group.
-  DALI_TEST_CHECK(manager.GetFocusGroup(firstChild) == parent);
-
-  manager.SetFocusGroup(firstChild, true);
-  DALI_TEST_CHECK(manager.IsFocusGroup(firstChild) == true);
-
-  // The focus group of the firstChild should be itself, as it is set to be a focus group now.
-  DALI_TEST_CHECK(manager.GetFocusGroup(firstChild) == firstChild);
-
-  // Enable wrap mode for focus movement.
-  manager.SetWrapMode(true);
-  DALI_TEST_CHECK(manager.GetWrapMode() == true);
-
-  // Check that no actor is being focused yet.
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
-
-  // Check that the focus is set on the parent actor.
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(parent) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == parent);
-
-  // Check that group mode is disabled.
-  DALI_TEST_CHECK(manager.GetGroupMode() == false);
-
-  // Check that the focus movement is wrapped as normal.
-  DALI_TEST_CHECK(manager.MoveFocusForward() == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == firstChild);
-  DALI_TEST_CHECK(manager.MoveFocusForward() == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == firstGrandChild);
-  DALI_TEST_CHECK(manager.MoveFocusForward() == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == secondGrandChild);
-  DALI_TEST_CHECK(manager.MoveFocusForward() == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == thirdGrandChild);
-  DALI_TEST_CHECK(manager.MoveFocusForward() == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == secondChild);
-  DALI_TEST_CHECK(manager.MoveFocusForward() == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == parent);
-  DALI_TEST_CHECK(manager.MoveFocusForward() == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == firstChild);
-  DALI_TEST_CHECK(manager.MoveFocusForward() == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == firstGrandChild);
-
-  // Enable the group mode.
-  manager.SetGroupMode(true);
-  DALI_TEST_CHECK(manager.GetGroupMode() == true);
-
-  // Check that the focus movement is now limited to the current focus group.
-  DALI_TEST_CHECK(manager.MoveFocusForward() == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == secondGrandChild);
-  DALI_TEST_CHECK(manager.MoveFocusForward() == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == thirdGrandChild);
-  DALI_TEST_CHECK(manager.MoveFocusForward() == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == firstChild);
-  DALI_TEST_CHECK(manager.MoveFocusForward() == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == firstGrandChild);
-}
-
-static void UtcDaliFocusManagerSetAndGetFocusIndicator()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliFocusManagerSetAndGetFocusIndicator");
-
-  FocusManager manager = FocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  Actor defaultFocusIndicatorActor = manager.GetFocusIndicatorActor();
-  DALI_TEST_CHECK(defaultFocusIndicatorActor);
-
-  Actor newFocusIndicatorActor = Actor::New();
-  manager.SetFocusIndicatorActor(newFocusIndicatorActor);
-  DALI_TEST_CHECK(manager.GetFocusIndicatorActor() == newFocusIndicatorActor);
-}
-
-static void UtcDaliFocusManagerSignalFocusChanged()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliFocusManagerSignalFocusChanged");
-
-  FocusManager manager = FocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  bool signalVerified = false;
-  FocusChangedCallback callback(signalVerified);
-  manager.FocusChangedSignal().Connect( &callback, &FocusChangedCallback::Callback );
-
-  // Create the first actor and add it to the stage
-  Actor first = Actor::New();
-  manager.SetFocusOrder(first, 1);
-  Stage::GetCurrent().Add(first);
-
-  // Create the second actor and add it to the stage
-  Actor second = Actor::New();
-  manager.SetFocusOrder(second, 2);
-  Stage::GetCurrent().Add(second);
-
-  // Check that no actor is being focused yet.
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
-
-  // Check that the focus is set on the first actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-  DALI_TEST_CHECK(callback.mSignalVerified);
-  callback.Reset();
-
-  // Check that the focus is set on the second actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(second) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
-  DALI_TEST_CHECK(callback.mSignalVerified);
-  callback.Reset();
-
-  // Clear the focus
-  manager.ClearFocus();
-
-  // Check that no actor is being focused now.
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
-  DALI_TEST_CHECK(callback.mSignalVerified);
-}
-
-static void UtcDaliFocusManagerSignalFocusOvershot()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliFocusManagerSignalFocusOvershot");
-
-  FocusManager manager = FocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  bool signalVerified = false;
-  FocusOvershotCallback callback(signalVerified);
-  manager.FocusOvershotSignal().Connect(&callback, &FocusOvershotCallback::Callback);
-
-  // Create the first actor and add it to the stage
-  Actor first = Actor::New();
-  manager.SetFocusOrder(first, 1);
-  Stage::GetCurrent().Add(first);
-
-  // Create the second actor and add it to the stage
-  Actor second = Actor::New();
-  manager.SetFocusOrder(second, 2);
-  Stage::GetCurrent().Add(second);
-
-  // Check that the wrap mode is disabled
-  DALI_TEST_CHECK(manager.GetWrapMode() == false);
-
-  // Check that the focus is set on the first actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-
-  // Check that the focus is moved to the second actor successfully.
-  DALI_TEST_CHECK(manager.MoveFocusForward() == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
-
-  // Check that the forward focus movement is overshot.
-  callback.mCurrentFocusedActor = second;
-  callback.mFocusOvershotDirection = Toolkit::FocusManager::OVERSHOT_NEXT;
-  DALI_TEST_CHECK(manager.MoveFocusForward() == false);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
-  DALI_TEST_CHECK(signalVerified);
-  callback.Reset();
-
-  // Enable the wrap mode
-  manager.SetWrapMode(true);
-  DALI_TEST_CHECK(manager.GetWrapMode() == true);
-
-  // Check that the forward focus movement is wrapped and no overshot happens.
-  DALI_TEST_CHECK(manager.MoveFocusForward() == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-  DALI_TEST_CHECK(signalVerified == false);
-
-  // Disable the wrap mode
-  manager.SetWrapMode(false);
-  DALI_TEST_CHECK(manager.GetWrapMode() == false);
-
-  // Check that the backward focus movement is overshot.
-  callback.mCurrentFocusedActor = first;
-  callback.mFocusOvershotDirection = Toolkit::FocusManager::OVERSHOT_PREVIOUS;
-  DALI_TEST_CHECK(manager.MoveFocusBackward() == false);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-  DALI_TEST_CHECK(signalVerified);
-}
diff --git a/automated-tests/TET/dali-test-suite/focus-manager/utc-Dali-KeyInputFocusManager.cpp b/automated-tests/TET/dali-test-suite/focus-manager/utc-Dali-KeyInputFocusManager.cpp
deleted file mode 100644 (file)
index bb50efc..0000000
+++ /dev/null
@@ -1,335 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/dali.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali/integration-api/events/key-event-integ.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-namespace
-{
-
-/**
- * Callback class for KeyInputFocusChanged signal.
- */
-class KeyInputFocusChangedCallback : public Dali::ConnectionTracker
-{
-public:
-  /**
-   * Constructor
-   * @param[in]  gainActor  Ref to the actor that should be set as the one that gains key input focus.
-   * @param[in]  lostActor  Ref to the actor that should be set as the one that loses key input focus.
-   */
-  KeyInputFocusChangedCallback( Control& gainActor, Control& lostActor )
-  : mActorGain( gainActor ),
-    mActorLost( lostActor )
-  {
-  }
-
-  void Callback( Control gainingActor, Control lostActor )
-  {
-    mActorGain = gainingActor;
-    mActorLost = lostActor;
-  }
-
-  Control& mActorGain;
-  Control& mActorLost;
-};
-
-// Stores data that is populated in the callback and will be read by the TET cases
-struct SignalData
-{
-  SignalData()
-  : functorCalled(false)
-  {}
-
-  void Reset()
-  {
-    functorCalled = false;
-
-    receivedKeyEvent.keyModifier = 0;
-    receivedKeyEvent.keyPressedName.clear();
-    receivedKeyEvent.keyPressed.clear();
-
-  }
-
-  bool functorCalled;
-  KeyEvent receivedKeyEvent;
-};
-
-/**
- * Callback class to test SignalUnhandledKeyEvent signal
- */
-class SignalUnhandledKeyEventCallback : public Dali::ConnectionTracker
-{
-public:
-  SignalUnhandledKeyEventCallback( SignalData& data ) : mSignalData( data ) { }
-
-  void Callback(const KeyEvent& event)
-  {
-    mSignalData.functorCalled = true;
-    mSignalData.receivedKeyEvent = event;
-  }
-
-  SignalData& mSignalData;
-};
-
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliKeyInputFocusManagerGet,                        POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliKeyInputFocusManagerSetFocus,                   POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliKeyInputFocusManagerGetCurrentFocusControl,     POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliKeyInputFocusManagerRemoveFocus,                POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliKeyInputFocusManagerIsKeyboardListener,         POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliKeyInputFocusManagerSignalKeyInputFocusChanged, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliKeyInputFocusManagerSignalUnhandledKeyEvent,    POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliKeyInputFocusManagerGet()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliKeyInputFocusManagerGet");
-
-  KeyInputFocusManager manager;
-  {
-    manager = KeyInputFocusManager::Get();
-    DALI_TEST_CHECK(manager);
-  }
-
-  KeyInputFocusManager newManager = KeyInputFocusManager::Get();
-  DALI_TEST_CHECK(newManager);
-
-  // Check that focus manager is a singleton
-  DALI_TEST_CHECK(manager == newManager);
-}
-
-static void UtcDaliKeyInputFocusManagerSetFocus()
-{
-  ToolkitTestApplication application;
-  Stage stage = Stage::GetCurrent();
-
-  tet_infoline(" UtcDaliKeyInputFocusManagerSetFocus");
-
-  KeyInputFocusManager manager = KeyInputFocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  PushButton pushButton1 = PushButton::New();
-  stage.Add( pushButton1 );
-
-  manager.SetFocus(pushButton1);
-  DALI_TEST_CHECK(pushButton1.HasKeyInputFocus());
-}
-
-static void UtcDaliKeyInputFocusManagerGetCurrentFocusControl()
-{
-  ToolkitTestApplication application;
-  Stage stage = Stage::GetCurrent();
-
-  tet_infoline(" UtcDaliKeyInputFocusManagerGetCurrentFocusControl");
-
-  KeyInputFocusManager manager = KeyInputFocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  PushButton pushButton1 = PushButton::New();
-  PushButton pushButton2 = PushButton::New();
-  stage.Add( pushButton1 );
-  stage.Add( pushButton2 );
-
-  manager.SetFocus(pushButton1);
-  DALI_TEST_CHECK(pushButton1 == manager.GetCurrentFocusControl());
-
-  manager.SetFocus(pushButton2);
-  DALI_TEST_CHECK(pushButton2 == manager.GetCurrentFocusControl());
-
-  manager.SetFocus(pushButton1);
-  DALI_TEST_CHECK(pushButton1 == manager.GetCurrentFocusControl());
-}
-
-static void UtcDaliKeyInputFocusManagerRemoveFocus()
-{
-  ToolkitTestApplication application;
-  Stage stage = Stage::GetCurrent();
-
-  tet_infoline(" UtcDaliKeyInputFocusManagerRemoveFocus");
-
-  KeyInputFocusManager manager = KeyInputFocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  PushButton pushButton1 = PushButton::New();
-  PushButton pushButton2 = PushButton::New();
-  stage.Add( pushButton1 );
-  stage.Add( pushButton2 );
-
-  manager.SetFocus(pushButton1);
-  DALI_TEST_CHECK(pushButton1 == manager.GetCurrentFocusControl());
-
-  manager.SetFocus(pushButton2);
-  DALI_TEST_CHECK(pushButton2 == manager.GetCurrentFocusControl());
-
-  manager.RemoveFocus(pushButton2);
-  DALI_TEST_CHECK(pushButton1 == manager.GetCurrentFocusControl());
-
-  manager.RemoveFocus(pushButton1);
-  DALI_TEST_CHECK(Control() == manager.GetCurrentFocusControl());
-}
-
-static void UtcDaliKeyInputFocusManagerIsKeyboardListener()
-{
-  ToolkitTestApplication application;
-  Stage stage = Stage::GetCurrent();
-
-  tet_infoline(" UtcDaliKeyInputFocusManagerIsKeyboardListener");
-
-  KeyInputFocusManager manager = KeyInputFocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  PushButton pushButton1 = PushButton::New();
-  PushButton pushButton2 = PushButton::New();
-  stage.Add( pushButton1 );
-  stage.Add( pushButton2 );
-
-  manager.SetFocus(pushButton1);
-  DALI_TEST_CHECK(pushButton1 == manager.GetCurrentFocusControl());
-
-  manager.SetFocus(pushButton2);
-  DALI_TEST_CHECK(pushButton2 == manager.GetCurrentFocusControl());
-
-  DALI_TEST_CHECK(manager.IsKeyboardListener(pushButton1));
-  DALI_TEST_CHECK(manager.IsKeyboardListener(pushButton2));
-
-  manager.RemoveFocus(pushButton2);
-  DALI_TEST_CHECK(!manager.IsKeyboardListener(pushButton2));
-
-  manager.RemoveFocus(pushButton1);
-  DALI_TEST_CHECK(!manager.IsKeyboardListener(pushButton1));
-
-  manager.SetFocus(pushButton2);
-  DALI_TEST_CHECK(manager.IsKeyboardListener(pushButton2));
-  pushButton2.ClearKeyInputFocus();
-  DALI_TEST_CHECK(!manager.IsKeyboardListener(pushButton2));
-}
-
-static void UtcDaliKeyInputFocusManagerSignalKeyInputFocusChanged()
-{
-  ToolkitTestApplication application;
-  KeyInputFocusManager manager = KeyInputFocusManager::Get();
-  Stage stage = Stage::GetCurrent();
-
-  tet_infoline(" UtcDaliKeyInputFocusManagerSignalKeyInputFocusChanged");
-
-  PushButton pushButton1 = PushButton::New();
-  PushButton pushButton2 = PushButton::New();
-
-  stage.Add( pushButton1 );
-  stage.Add( pushButton2 );
-
-  PushButton gainActor, lostActor;
-  KeyInputFocusChangedCallback callback( gainActor, lostActor );
-  manager.KeyInputFocusChangedSignal().Connect( &callback, &KeyInputFocusChangedCallback::Callback );
-
-  manager.SetFocus(pushButton1);
-
-  DALI_TEST_CHECK( gainActor == pushButton1 );
-  DALI_TEST_CHECK( lostActor == Control() );
-
-  gainActor = lostActor = NULL;
-
-  manager.SetFocus(pushButton2);
-
-  DALI_TEST_CHECK( gainActor == pushButton2 );
-  DALI_TEST_CHECK( lostActor == pushButton1 );
-
-  gainActor = lostActor = NULL;
-
-  // Removing the focus actor from the stage would also result in signal emission.
-  stage.Remove( pushButton1 );
-  stage.Remove( pushButton2 );
-
-  DALI_TEST_CHECK( gainActor == Control() );
-  DALI_TEST_CHECK( lostActor == Control() );
-}
-
-static void UtcDaliKeyInputFocusManagerSignalUnhandledKeyEvent()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliKeyInputFocusManagerSignalUnhandledKeyEvent");
-
-  SignalData data;
-  SignalUnhandledKeyEventCallback callback( data );
-
-  KeyInputFocusManager manager = KeyInputFocusManager::Get();
-  manager.UnhandledKeyEventSignal().Connect( &callback, &SignalUnhandledKeyEventCallback::Callback );
-
-
-  Integration::KeyEvent event("a", "a", 0, 0, 0, Integration::KeyEvent::Up);
-  application.ProcessEvent(event);
-
-  DALI_TEST_CHECK(data.functorCalled);
-  DALI_TEST_CHECK(event.keyName == data.receivedKeyEvent.keyPressedName );
-  DALI_TEST_CHECK(event.keyCode == data.receivedKeyEvent.keyCode);
-  DALI_TEST_CHECK(event.keyString == data.receivedKeyEvent.keyPressed );
-  DALI_TEST_CHECK(event.state == data.receivedKeyEvent.state );
-
-  data.Reset();
-
-  Integration::KeyEvent event2("v", "v", 0, 0, 0, Integration::KeyEvent::Up);
-  application.ProcessEvent(event2);
-
-  DALI_TEST_CHECK(data.functorCalled);
-  DALI_TEST_CHECK(event2.keyName == data.receivedKeyEvent.keyPressedName );
-  DALI_TEST_CHECK(event2.keyCode == data.receivedKeyEvent.keyCode);
-  DALI_TEST_CHECK(event2.keyString == data.receivedKeyEvent.keyPressed );
-}
diff --git a/automated-tests/TET/dali-test-suite/focus-manager/utc-Dali-KeyboardFocusManager.cpp b/automated-tests/TET/dali-test-suite/focus-manager/utc-Dali-KeyboardFocusManager.cpp
deleted file mode 100644 (file)
index 9f85920..0000000
+++ /dev/null
@@ -1,736 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/dali.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali/integration-api/events/key-event-integ.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-namespace
-{
-
-// Functors to test whether PreFocusChange signal is emitted when the keyboard focus is about to change
-class PreFocusChangeCallback : public Dali::ConnectionTracker
-{
-public:
-  PreFocusChangeCallback(bool& signalReceived)
-  : mSignalVerified(signalReceived),
-    mCurrentFocusedActor(),
-    mProposedActorToFocus(),
-    mDirection(Control::Left)
-  {
-  }
-
-  Actor Callback(Actor currentFocusedActor, Actor proposedActorToFocus, Control::KeyboardFocusNavigationDirection direction)
-  {
-    tet_infoline("Verifying PreFocusChangeCallback()");
-
-    mSignalVerified = true;
-
-    mCurrentFocusedActor = currentFocusedActor;
-    mProposedActorToFocus = proposedActorToFocus;
-    mDirection = direction;
-
-    return mProposedActorToFocus;
-  }
-
-  void Reset()
-  {
-    mSignalVerified = false;
-    mCurrentFocusedActor = Actor();
-    mProposedActorToFocus = Actor();
-    mDirection = Control::Left;
-  }
-
-  bool& mSignalVerified;
-  Actor mCurrentFocusedActor;
-  Actor mProposedActorToFocus;
-  Control::KeyboardFocusNavigationDirection mDirection;
-};
-
-// Functors to test whether focus changed signal is emitted when the keyboard focus is changed
-class FocusChangedCallback : public Dali::ConnectionTracker
-{
-public:
-  FocusChangedCallback(bool& signalReceived)
-  : mSignalVerified(signalReceived),
-    mOriginalFocusedActor(),
-    mCurrentFocusedActor()
-  {
-  }
-
-  void Callback(Actor originalFocusedActor, Actor currentFocusedActor)
-  {
-    tet_infoline("Verifying FocusChangedCallback()");
-
-    if(originalFocusedActor == mCurrentFocusedActor)
-    {
-      mSignalVerified = true;
-    }
-
-    mOriginalFocusedActor = originalFocusedActor;
-    mCurrentFocusedActor = currentFocusedActor;
-  }
-
-  void Reset()
-  {
-    mSignalVerified = false;
-  }
-
-  bool& mSignalVerified;
-  Actor mOriginalFocusedActor;
-  Actor mCurrentFocusedActor;
-};
-
-// Functors to test whether focus group changed signal is emitted when the keyboard focus group is changed
-class FocusGroupChangedCallback : public Dali::ConnectionTracker
-{
-public:
-  FocusGroupChangedCallback(bool& signalReceived)
-  : mSignalVerified(signalReceived),
-    mCurrentFocusedActor(),
-    mForward(true)
-  {
-  }
-
-  void Callback(Actor currentFocusedActor, bool forward)
-  {
-    tet_infoline("Verifying FocusGroupChangedCallback()");
-
-    mSignalVerified = true;
-
-    mCurrentFocusedActor = currentFocusedActor;
-    mForward = forward;
-  }
-
-  void Reset()
-  {
-    mSignalVerified = false;
-  }
-
-  bool& mSignalVerified;
-  Actor mCurrentFocusedActor;
-  bool mForward;
-};
-
-// Functors to test whether focused actor activated signal is emitted when the focused actor is activated
-class FocusedActorActivatedCallback : public Dali::ConnectionTracker
-{
-public:
-  FocusedActorActivatedCallback(bool& signalReceived)
-  : mSignalVerified(signalReceived),
-    mActivatedActor()
-  {
-  }
-
-  void Callback(Actor activatedActor)
-  {
-    tet_infoline("Verifying FocusedActorActivatedCallback()");
-
-    mSignalVerified = true;
-
-    mActivatedActor = activatedActor;
-  }
-
-  void Reset()
-  {
-    mSignalVerified = false;
-  }
-
-  bool& mSignalVerified;
-  Actor mActivatedActor;
-};
-
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliKeyboardFocusManagerGet,                              POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliKeyboardFocusManagerSetAndGetCurrentFocusActor,       POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliKeyboardFocusManagerMoveFocus,                        POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliKeyboardFocusManagerClearFocus,                       POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliKeyboardFocusManagerSetAndGetFocusGroupLoop,          POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliKeyboardFocusManagerSetAsFocusGroup,                  POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliKeyboardFocusManagerGetFocusGroup,                    POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliKeyboardFocusManagerSetAndGetFocusIndicator,          POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliKeyboardFocusManagerSignalFocusGroupChanged,          POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliKeyboardFocusManagerSignalFocusedActorActivated,      POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliKeyboardFocusManagerGet()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliKeyboardKeyboardFocusManagerGet");
-
-  // Register Type
-  TypeInfo type;
-  type = TypeRegistry::Get().GetTypeInfo( "KeyboardFocusManager" );
-  DALI_TEST_CHECK( type );
-  BaseHandle handle = type.CreateInstance();
-  DALI_TEST_CHECK( handle );
-
-  KeyboardFocusManager manager;
-
-  manager = KeyboardFocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  KeyboardFocusManager newManager = KeyboardFocusManager::Get();
-  DALI_TEST_CHECK(newManager);
-
-  // Check that focus manager is a singleton
-  DALI_TEST_CHECK(manager == newManager);
-}
-
-static void UtcDaliKeyboardFocusManagerSetAndGetCurrentFocusActor()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliKeyboardFocusManagerSetAndGetCurrentFocusActor");
-
-  // Register Type
-  TypeInfo type;
-  type = TypeRegistry::Get().GetTypeInfo( "KeyboardFocusManager" );
-  DALI_TEST_CHECK( type );
-  BaseHandle handle = type.CreateInstance();
-  DALI_TEST_CHECK( handle );
-
-  KeyboardFocusManager manager = KeyboardFocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  // Create the first actor and add it to the stage
-  Actor first = Actor::New();
-  first.SetKeyboardFocusable(true);
-  Stage::GetCurrent().Add(first);
-
-  // Create the second actor and add it to the stage
-  Actor second = Actor::New();
-  second.SetKeyboardFocusable(true);
-  Stage::GetCurrent().Add(second);
-
-  // Create the third actor but don't add it to the stage
-  Actor third = Actor::New();
-
-  // Check that no actor is being focused yet.
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
-
-  // Check that it will fail to set focus on an invalid actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(Actor()) == false);
-
-  // Check that the focus is set on the first actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-
-  // Check that the focus is set on the second actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(second) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
-
-  // Check that it will fail to set focus on the third actor as it's not in the stage
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(third) == false);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
-
-  // Add the third actor to the stage
-  Stage::GetCurrent().Add(third);
-
-  // Check that it will fail to set focus on the third actor as it's not focusable
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(third) == false);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
-
-  // Make the third actor focusable
-  third.SetKeyboardFocusable(true);
-
-  // Check that the focus is successfully moved to the third actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(third) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == third);
-}
-
-static void UtcDaliKeyboardFocusManagerMoveFocus()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliKeyboardFocusManagerMoveFocus");
-
-  // Register Type
-  TypeInfo type;
-  type = TypeRegistry::Get().GetTypeInfo( "KeyboardFocusManager" );
-  DALI_TEST_CHECK( type );
-  BaseHandle handle = type.CreateInstance();
-  DALI_TEST_CHECK( handle );
-
-  KeyboardFocusManager manager = KeyboardFocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  bool preFocusChangeSignalVerified = false;
-  PreFocusChangeCallback preFocusChangeCallback(preFocusChangeSignalVerified);
-  manager.PreFocusChangeSignal().Connect( &preFocusChangeCallback, &PreFocusChangeCallback::Callback );
-
-  bool focusChangedSignalVerified = false;
-  FocusChangedCallback focusChangedCallback(focusChangedSignalVerified);
-  manager.FocusChangedSignal().Connect( &focusChangedCallback, &FocusChangedCallback::Callback );
-
-  // Create the first actor and add it to the stage
-  Actor first = Actor::New();
-  first.SetKeyboardFocusable(true);
-  Stage::GetCurrent().Add(first);
-
-  // Create the second actor and add it to the stage
-  Actor second = Actor::New();
-  second.SetKeyboardFocusable(true);
-  Stage::GetCurrent().Add(second);
-
-  // Move the focus to the right
-  DALI_TEST_CHECK(manager.MoveFocus(Control::Right) == false);
-
-  // Because no layout control in the stage and no actor is focused, it should emit the PreFocusChange signal
-  DALI_TEST_CHECK(preFocusChangeCallback.mSignalVerified);
-  DALI_TEST_CHECK(preFocusChangeCallback.mCurrentFocusedActor == Actor());
-  DALI_TEST_CHECK(preFocusChangeCallback.mProposedActorToFocus == Actor());
-  DALI_TEST_CHECK(preFocusChangeCallback.mDirection == Control::Right);
-  preFocusChangeCallback.Reset();
-
-  // Check that the focus is set on the first actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-  DALI_TEST_CHECK(focusChangedCallback.mSignalVerified);
-  DALI_TEST_CHECK(focusChangedCallback.mOriginalFocusedActor == Actor());
-  DALI_TEST_CHECK(focusChangedCallback.mCurrentFocusedActor == first);
-  focusChangedCallback.Reset();
-
-  // Move the focus towards right
-  DALI_TEST_CHECK(manager.MoveFocus(Control::Right) == false);
-
-  // Because no layout control in the stage and the first actor is focused, it should emit the PreFocusChange signal
-  DALI_TEST_CHECK(preFocusChangeCallback.mSignalVerified);
-  DALI_TEST_CHECK(preFocusChangeCallback.mCurrentFocusedActor == first);
-  DALI_TEST_CHECK(preFocusChangeCallback.mProposedActorToFocus == Actor());
-  DALI_TEST_CHECK(preFocusChangeCallback.mDirection == Control::Right);
-  preFocusChangeCallback.Reset();
-
-  // Check that the focus is set on the second actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(second) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
-  DALI_TEST_CHECK(focusChangedCallback.mSignalVerified);
-  DALI_TEST_CHECK(focusChangedCallback.mOriginalFocusedActor == first);
-  DALI_TEST_CHECK(focusChangedCallback.mCurrentFocusedActor == second);
-  focusChangedCallback.Reset();
-
-  // Move the focus towards up
-  DALI_TEST_CHECK(manager.MoveFocus(Control::Up) == false);
-
-  // Because no layout control in the stage and no actor is focused, it should emit the PreFocusChange signal
-  DALI_TEST_CHECK(preFocusChangeCallback.mSignalVerified);
-  DALI_TEST_CHECK(preFocusChangeCallback.mCurrentFocusedActor == second);
-  DALI_TEST_CHECK(preFocusChangeCallback.mProposedActorToFocus == Actor());
-  DALI_TEST_CHECK(preFocusChangeCallback.mDirection == Control::Up);
-  preFocusChangeCallback.Reset();
-  DALI_TEST_CHECK(!focusChangedCallback.mSignalVerified);
-
-  // Create a 2x2 table view and try to move focus inside it
-  TableView tableView = TableView::New( 2, 2 );
-  Stage::GetCurrent().Add(tableView);
-
-  // Create the third actor
-  Actor third = Actor::New();
-  third.SetKeyboardFocusable(true);
-
-  // Create the fourth actor
-  Actor fourth = Actor::New();
-  fourth.SetKeyboardFocusable(true);
-
-  // Add the four children to table view
-  tableView.AddChild(first, TableView::CellPosition(0, 0));
-  tableView.AddChild(second, TableView::CellPosition(0, 1));
-  tableView.AddChild(third, TableView::CellPosition(1, 0));
-  tableView.AddChild(fourth, TableView::CellPosition(1, 1));
-
-  // Set the focus to the first actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-  DALI_TEST_CHECK(focusChangedCallback.mSignalVerified);
-  DALI_TEST_CHECK(focusChangedCallback.mOriginalFocusedActor == second);
-  DALI_TEST_CHECK(focusChangedCallback.mCurrentFocusedActor == first);
-  focusChangedCallback.Reset();
-
-  // Move the focus towards right
-  DALI_TEST_CHECK(manager.MoveFocus(Control::Right) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
-  DALI_TEST_CHECK(focusChangedCallback.mSignalVerified);
-  DALI_TEST_CHECK(focusChangedCallback.mOriginalFocusedActor == first);
-  DALI_TEST_CHECK(focusChangedCallback.mCurrentFocusedActor == second);
-  focusChangedCallback.Reset();
-
-  // Move the focus towards down
-  DALI_TEST_CHECK(manager.MoveFocus(Control::Down) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == fourth);
-  DALI_TEST_CHECK(focusChangedCallback.mSignalVerified);
-  DALI_TEST_CHECK(focusChangedCallback.mOriginalFocusedActor == second);
-  DALI_TEST_CHECK(focusChangedCallback.mCurrentFocusedActor == fourth);
-  focusChangedCallback.Reset();
-
-  // Move the focus towards left
-  DALI_TEST_CHECK(manager.MoveFocus(Control::Left) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == third);
-  DALI_TEST_CHECK(focusChangedCallback.mSignalVerified);
-  DALI_TEST_CHECK(focusChangedCallback.mOriginalFocusedActor == fourth);
-  DALI_TEST_CHECK(focusChangedCallback.mCurrentFocusedActor == third);
-  focusChangedCallback.Reset();
-
-  // Move the focus towards up
-  DALI_TEST_CHECK(manager.MoveFocus(Control::Up) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-  DALI_TEST_CHECK(focusChangedCallback.mSignalVerified);
-  DALI_TEST_CHECK(focusChangedCallback.mOriginalFocusedActor == third);
-  DALI_TEST_CHECK(focusChangedCallback.mCurrentFocusedActor == first);
-  focusChangedCallback.Reset();
-
-  // Move the focus towards left. The focus move will fail as no way to move it upwards
-  DALI_TEST_CHECK(manager.MoveFocus(Control::Left) == false);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-  DALI_TEST_CHECK(preFocusChangeCallback.mSignalVerified);
-  DALI_TEST_CHECK(preFocusChangeCallback.mCurrentFocusedActor == first);
-  DALI_TEST_CHECK(preFocusChangeCallback.mProposedActorToFocus == Actor());
-  DALI_TEST_CHECK(preFocusChangeCallback.mDirection == Control::Left);
-  preFocusChangeCallback.Reset();
-  DALI_TEST_CHECK(!focusChangedCallback.mSignalVerified);
-
-  // Enable the loop
-  manager.SetFocusGroupLoop(true);
-  DALI_TEST_CHECK(manager.GetFocusGroupLoop() == true);
-
-  // Move the focus towards left again. The focus should move to the fourth actor.
-  DALI_TEST_CHECK(manager.MoveFocus(Control::Left) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == fourth);
-  DALI_TEST_CHECK(focusChangedCallback.mSignalVerified);
-  DALI_TEST_CHECK(focusChangedCallback.mOriginalFocusedActor == first);
-  DALI_TEST_CHECK(focusChangedCallback.mCurrentFocusedActor == fourth);
-  focusChangedCallback.Reset();
-}
-
-static void UtcDaliKeyboardFocusManagerClearFocus()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliKeyboardFocusManagerClearFocus");
-
-  // Register Type
-  TypeInfo type;
-  type = TypeRegistry::Get().GetTypeInfo( "KeyboardFocusManager" );
-  DALI_TEST_CHECK( type );
-  BaseHandle handle = type.CreateInstance();
-  DALI_TEST_CHECK( handle );
-
-  KeyboardFocusManager manager = KeyboardFocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  // Create the first actor and add it to the stage
-  Actor first = Actor::New();
-  first.SetKeyboardFocusable(true);
-  Stage::GetCurrent().Add(first);
-
-  // Create the second actor and add it to the stage
-  Actor second = Actor::New();
-  second.SetKeyboardFocusable(true);
-  Stage::GetCurrent().Add(second);
-
-  // Check that the focus is set on the first actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-
-  // Check that the focus is set on the second actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(second) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
-
-  // Clear the focus
-  manager.ClearFocus();
-
-  // Check that no actor is being focused now.
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
-}
-
-static void UtcDaliKeyboardFocusManagerSetAndGetFocusGroupLoop()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliKeyboardFocusManagerSetAndGetFocusGroupLoop");
-
-  // Register Type
-  TypeInfo type;
-  type = TypeRegistry::Get().GetTypeInfo( "KeyboardFocusManager" );
-  DALI_TEST_CHECK( type );
-  BaseHandle handle = type.CreateInstance();
-  DALI_TEST_CHECK( handle );
-
-  KeyboardFocusManager manager = KeyboardFocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  // Check that the focus movement is not looped within the same focus group by default
-  DALI_TEST_CHECK(manager.GetFocusGroupLoop() == false);
-
-  // Enable the loop
-  manager.SetFocusGroupLoop(true);
-  DALI_TEST_CHECK(manager.GetFocusGroupLoop() == true);
-}
-
-static void UtcDaliKeyboardFocusManagerSetAsFocusGroup()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliKeyboardFocusManagerSetAsFocusGroup");
-
-  // Register Type
-  TypeInfo type;
-  type = TypeRegistry::Get().GetTypeInfo( "KeyboardFocusManager" );
-  DALI_TEST_CHECK( type );
-  BaseHandle handle = type.CreateInstance();
-  DALI_TEST_CHECK( handle );
-
-  KeyboardFocusManager manager = KeyboardFocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  // Create an actor and check that it is not a focus group by default
-  Actor actor = Actor::New();
-  DALI_TEST_CHECK(manager.IsFocusGroup(actor) == false);
-
-  // Set the actor as focus group
-  manager.SetAsFocusGroup(actor, true);
-
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_CHECK(manager.IsFocusGroup(actor) == true);
-
-  // Set the actor not as focus group
-  manager.SetAsFocusGroup(actor, false);
-
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_CHECK(manager.IsFocusGroup(actor) == false);
-}
-
-static void UtcDaliKeyboardFocusManagerGetFocusGroup()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliKeyboardFocusManagerGetFocusGroup");
-
-  // Register Type
-  TypeInfo type;
-  type = TypeRegistry::Get().GetTypeInfo( "KeyboardFocusManager" );
-  DALI_TEST_CHECK( type );
-  BaseHandle handle = type.CreateInstance();
-  DALI_TEST_CHECK( handle );
-
-  KeyboardFocusManager manager = KeyboardFocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  // Create an actor with two child actors and add it to the stage
-  Actor parent = Actor::New();
-  Actor child = Actor::New();
-  parent.Add(child);
-  Stage::GetCurrent().Add(parent);
-
-  // Create three actors and add them as the children of the first child actor
-  Actor grandChild = Actor::New();
-  child.Add(grandChild);
-
-  // Set the parent and the first child actor as focus groups
-  manager.SetAsFocusGroup(parent, true);
-
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_CHECK(manager.IsFocusGroup(parent) == true);
-
-  // The current focus group should be the parent, As it is the immediate parent which is also a focus group.
-  DALI_TEST_CHECK(manager.GetFocusGroup(grandChild) == parent);
-
-  manager.SetAsFocusGroup(child, true);
-
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_CHECK(manager.IsFocusGroup(child) == true);
-
-  // The focus group should be the child, As it is the immediate parent which is also a focus group.
-  DALI_TEST_CHECK(manager.GetFocusGroup(grandChild) == child);
-
-  manager.SetAsFocusGroup(grandChild, true);
-
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_CHECK(manager.IsFocusGroup(grandChild) == true);
-
-  // The current focus group should be itself, As it is also a focus group.
-  DALI_TEST_CHECK(manager.GetFocusGroup(grandChild) == grandChild);
-}
-
-static void UtcDaliKeyboardFocusManagerSetAndGetFocusIndicator()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliKeyboardFocusManagerSetAndGetFocusIndicator");
-
-  // Register Type
-  TypeInfo type;
-  type = TypeRegistry::Get().GetTypeInfo( "KeyboardFocusManager" );
-  DALI_TEST_CHECK( type );
-  BaseHandle handle = type.CreateInstance();
-  DALI_TEST_CHECK( handle );
-
-  KeyboardFocusManager manager = KeyboardFocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  Actor defaultFocusIndicatorActor = manager.GetFocusIndicatorActor();
-  DALI_TEST_CHECK(defaultFocusIndicatorActor);
-
-  Actor newFocusIndicatorActor = Actor::New();
-  manager.SetFocusIndicatorActor(newFocusIndicatorActor);
-  DALI_TEST_CHECK(manager.GetFocusIndicatorActor() == newFocusIndicatorActor);
-}
-
-static void UtcDaliKeyboardFocusManagerSignalFocusGroupChanged()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliKeyboardFocusManagerSignalFocusGroupChanged");
-
-  // Register Type
-  TypeInfo type;
-  type = TypeRegistry::Get().GetTypeInfo( "KeyboardFocusManager" );
-  DALI_TEST_CHECK( type );
-  BaseHandle handle = type.CreateInstance();
-  DALI_TEST_CHECK( handle );
-
-  KeyboardFocusManager manager = KeyboardFocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  bool focusGroupChangedSignalVerified = false;
-  FocusGroupChangedCallback focusGroupChangedCallback(focusGroupChangedSignalVerified);
-  manager.FocusGroupChangedSignal().Connect( &focusGroupChangedCallback, &FocusGroupChangedCallback::Callback );
-
-  Integration::KeyEvent tabEvent("Tab", "", 0, 0, 0, Integration::KeyEvent::Down);
-  Integration::KeyEvent shiftTabEvent("Tab", "", 1, 0, 0, Integration::KeyEvent::Down);
-
-  // Send the tab event to change focus group in the forward direction
-  application.ProcessEvent(tabEvent);
-  DALI_TEST_CHECK(focusGroupChangedCallback.mSignalVerified);
-  DALI_TEST_CHECK(focusGroupChangedCallback.mCurrentFocusedActor == Actor());
-  DALI_TEST_CHECK(focusGroupChangedCallback.mForward == true);
-  focusGroupChangedCallback.Reset();
-
-  // Send the shift tab event to change focus group in the backward direction
-  application.ProcessEvent(shiftTabEvent);
-  DALI_TEST_CHECK(focusGroupChangedCallback.mSignalVerified);
-  DALI_TEST_CHECK(focusGroupChangedCallback.mCurrentFocusedActor == Actor());
-  DALI_TEST_CHECK(focusGroupChangedCallback.mForward == false);
-  focusGroupChangedCallback.Reset();
-}
-
-static void UtcDaliKeyboardFocusManagerSignalFocusedActorActivated()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliKeyboardFocusManagerSignalFocusedActorActivated");
-
-  // Register Type
-  TypeInfo type;
-  type = TypeRegistry::Get().GetTypeInfo( "KeyboardFocusManager" );
-  DALI_TEST_CHECK( type );
-  BaseHandle handle = type.CreateInstance();
-  DALI_TEST_CHECK( handle );
-
-  KeyboardFocusManager manager = KeyboardFocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  bool focusedActorActivatedSignalVerified = false;
-  FocusedActorActivatedCallback focusedActorActivatedCallback(focusedActorActivatedSignalVerified);
-  manager.FocusedActorActivatedSignal().Connect( &focusedActorActivatedCallback, &FocusedActorActivatedCallback::Callback );
-
-  Integration::KeyEvent returnEvent("Return", "", 0, 0, 0, Integration::KeyEvent::Up);
-
-  // Create the first button and add it to the stage
-  PushButton firstPushButton = PushButton::New();
-  firstPushButton.SetKeyboardFocusable(true);
-  Stage::GetCurrent().Add(firstPushButton);
-
-  // Create the second button and add it to the stage
-  PushButton secondPushButton = PushButton::New();
-  secondPushButton.SetKeyboardFocusable(true);
-  Stage::GetCurrent().Add(secondPushButton);
-
-  // Check that the focus is set on the first button
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(firstPushButton) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == firstPushButton);
-
-  // Send the return event to activate the first button
-  application.ProcessEvent(returnEvent);
-  DALI_TEST_CHECK(focusedActorActivatedCallback.mSignalVerified);
-  DALI_TEST_CHECK(focusedActorActivatedCallback.mActivatedActor == firstPushButton);
-  focusedActorActivatedCallback.Reset();
-
-  // Check that the focus is set on the second button
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(secondPushButton) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == secondPushButton);
-
-  // Send the return event again to activate the second button
-  application.ProcessEvent(returnEvent);
-  DALI_TEST_CHECK(focusedActorActivatedCallback.mSignalVerified);
-  DALI_TEST_CHECK(focusedActorActivatedCallback.mActivatedActor == secondPushButton);
-  focusedActorActivatedCallback.Reset();
-}
diff --git a/automated-tests/TET/dali-test-suite/item-view/.gitignore b/automated-tests/TET/dali-test-suite/item-view/.gitignore
deleted file mode 100644 (file)
index 390c9e4..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-utc-Dali-ItemView
-utc-Dali-ItemLayout
-utc-Dali-GridLayout
-utc-Dali-DepthLayout
-utc-Dali-SpiralLayout
-utc-Dali-NavigationLayout
-utc-Dali-AlbumLayout
-utc-Dali-RollLayout
diff --git a/automated-tests/TET/dali-test-suite/item-view/Makefile b/automated-tests/TET/dali-test-suite/item-view/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/item-view/file.list b/automated-tests/TET/dali-test-suite/item-view/file.list
deleted file mode 100644 (file)
index 37417ed..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-TARGETS += \
-       utc-Dali-ItemView \
-       utc-Dali-ItemLayout \
-       utc-Dali-GridLayout \
-       utc-Dali-DepthLayout \
-       utc-Dali-SpiralLayout \
-       utc-Dali-NavigationLayout \
-       utc-Dali-AlbumLayout \
-        utc-Dali-RollLayout \
diff --git a/automated-tests/TET/dali-test-suite/item-view/tslist b/automated-tests/TET/dali-test-suite/item-view/tslist
deleted file mode 100644 (file)
index e6beeab..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-/dali-test-suite/item-view/utc-Dali-ItemView
-/dali-test-suite/item-view/utc-Dali-ItemLayout
-/dali-test-suite/item-view/utc-Dali-GridLayout
-/dali-test-suite/item-view/utc-Dali-DepthLayout
-/dali-test-suite/item-view/utc-Dali-SpiralLayout
-/dali-test-suite/item-view/utc-Dali-NavigationLayout
-/dali-test-suite/item-view/utc-Dali-AlbumLayout
-/dali-test-suite/item-view/utc-Dali-RollLayout
diff --git a/automated-tests/TET/dali-test-suite/item-view/utc-Dali-AlbumLayout.cpp b/automated-tests/TET/dali-test-suite/item-view/utc-Dali-AlbumLayout.cpp
deleted file mode 100755 (executable)
index 4569164..0000000
+++ /dev/null
@@ -1,402 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/dali.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-
-using namespace Toolkit;
-
-using namespace std;
-
-
-namespace
-{
-
-Vector3 AlbumLayoutItemSizeFunction(const Vector3& layoutSize)
-{
-  float width = layoutSize.width * 0.2f;
-  return Vector3(width, width, width);
-}
-
-float AlbumLayoutAlbumRadiusFunction(const Vector3& layoutSize)
-{
-  return layoutSize.width * 0.5f;
-}
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliAlbumLayoutNew();
-static void UtcDaliAlbumSetAndGetItemSizeFunction();
-static void UtcDaliAlbumSetAndGetScrollSpeedFactor();
-static void UtcDaliAlbumSetAndGetMaximumSwipeSpeed();
-static void UtcDaliAlbumLayoutSetAndGetItemFlickAnimationDuration();
-static void UtcDaliAlbumSetNumOfItems();
-static void UtcDaliAlbumSetStackNum();
-static void UtcDaliAlbumSetPosition();
-static void UtcDaliAlbumSetRotationX();
-static void UtcDaliAlbumSetRotationZ();
-static void UtcDaliAlbumSetScale();
-static void UtcDaliAlbumSetColor();
-static void UtcDaliAlbumSetCenterPosition();
-static void UtcDaliAlbumSetSetCenterScale();
-static void UtcDaliAlbumSetSetCenterColor();
-static void UtcDaliAlbumSetStackPosition();
-static void UtcDaliAlbumSetSetStackScale();
-static void UtcDaliAlbumSetStackColor();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliAlbumLayoutNew, POSITIVE_TC_IDX },
-    { UtcDaliAlbumSetAndGetItemSizeFunction, POSITIVE_TC_IDX },
-    { UtcDaliAlbumSetAndGetScrollSpeedFactor, POSITIVE_TC_IDX },
-    { UtcDaliAlbumSetAndGetMaximumSwipeSpeed, POSITIVE_TC_IDX },
-    { UtcDaliAlbumLayoutSetAndGetItemFlickAnimationDuration, POSITIVE_TC_IDX },
-    { UtcDaliAlbumSetNumOfItems, POSITIVE_TC_IDX },
-    { UtcDaliAlbumSetStackNum, POSITIVE_TC_IDX },
-    { UtcDaliAlbumSetPosition, POSITIVE_TC_IDX },
-    { UtcDaliAlbumSetRotationX, POSITIVE_TC_IDX },
-    { UtcDaliAlbumSetRotationZ, POSITIVE_TC_IDX },
-    { UtcDaliAlbumSetScale, POSITIVE_TC_IDX },
-    { UtcDaliAlbumSetColor, POSITIVE_TC_IDX },
-    { UtcDaliAlbumSetCenterPosition, POSITIVE_TC_IDX },
-    { UtcDaliAlbumSetSetCenterScale, POSITIVE_TC_IDX },
-    { UtcDaliAlbumSetSetCenterColor, POSITIVE_TC_IDX },
-    { UtcDaliAlbumSetStackPosition, POSITIVE_TC_IDX },
-    { UtcDaliAlbumSetSetStackScale, POSITIVE_TC_IDX },
-    { UtcDaliAlbumSetStackColor, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliAlbumLayoutNew()
-{
-  ToolkitTestApplication application;
-
-  // Create a album layout
-  AlbumLayoutPtr albumLayout = AlbumLayout::New();
-
-  DALI_TEST_CHECK(albumLayout);
-}
-
-static void UtcDaliAlbumSetAndGetItemSizeFunction()
-{
-  ToolkitTestApplication application;
-
-  // Create a album layout
-  AlbumLayoutPtr albumLayout = AlbumLayout::New();
-
-  // Set the item size function
-  albumLayout->SetItemSizeFunction(AlbumLayoutItemSizeFunction);
-
-  // Check whether we get the correct item size function
-  DALI_TEST_CHECK(albumLayout->GetItemSizeFunction() == AlbumLayoutItemSizeFunction);
-}
-
-static void UtcDaliAlbumSetAndGetScrollSpeedFactor()
-{
-  ToolkitTestApplication application;
-
-  // Create a album layout
-  AlbumLayoutPtr albumLayout = AlbumLayout::New();
-
-  // Set the scroll speed factor
-  albumLayout->SetScrollSpeedFactor(0.05f);
-
-  // Check whether we get the correct scroll speed factor
-  DALI_TEST_EQUALS( albumLayout->GetScrollSpeedFactor(), 0.05f, TEST_LOCATION );
-}
-
-static void UtcDaliAlbumSetAndGetMaximumSwipeSpeed()
-{
-  ToolkitTestApplication application;
-
-  // Create a album layout
-  AlbumLayoutPtr albumLayout = AlbumLayout::New();
-
-  // Set the maximum swipe speed
-  albumLayout->SetMaximumSwipeSpeed(50.0f);
-
-  // Check whether we get the correct maximum swipe speed
-  DALI_TEST_EQUALS( albumLayout->GetMaximumSwipeSpeed(), 50.0f, TEST_LOCATION );
-}
-
-static void UtcDaliAlbumLayoutSetAndGetItemFlickAnimationDuration()
-{
-  ToolkitTestApplication application;
-
-  // Create a album layout
-  AlbumLayoutPtr albumLayout = AlbumLayout::New();
-
-  // Set the flick animaiton duration
-  albumLayout->SetItemFlickAnimationDuration(0.35f);
-
-  // Check whether we get the correct flick animaiton duration
-  DALI_TEST_EQUALS( albumLayout->GetItemFlickAnimationDuration(), 0.35f, TEST_LOCATION );
-}
-
-static void UtcDaliAlbumSetNumOfItems()
-{
-  AlbumLayoutPtr albumLayout = AlbumLayout::New();
-
-  albumLayout->SetNumOfItems(15);
-
-  DALI_TEST_CHECK(albumLayout->GetNumOfItems() == 15);
-}
-
-static void UtcDaliAlbumSetStackNum()
-{
-  AlbumLayoutPtr albumLayout = AlbumLayout::New();
-
-  albumLayout->SetStackNum(30);
-
-  DALI_TEST_CHECK(albumLayout->GetStackNum() == 30);
-}
-
-static void UtcDaliAlbumSetPosition()
-{
-  AlbumLayoutPtr albumLayout = AlbumLayout::New();
-
-  std::vector<Vector3> position_list;
-
-  /*(0.0f)*/
-  Vector3 pos = Vector3(850.0f,-250.0f,0.0);
-  position_list.push_back(pos);
-
-  /*(1.0f)*/
-  pos = Vector3(700.0f,50.0f,0.0);
-  position_list.push_back(pos);
-
-  /*(2.0f)*/
-  pos = Vector3(440.0f,227.0f,0.0);
-  position_list.push_back(pos);
-
-  /*(4.0f)*/
-  pos = Vector3(-440.0f,227.0f,0.0);
-  position_list.push_back(pos);
-
-  /*(5.0f)*/
-  pos = Vector3(-700.0f,50.0f,0.0);
-  position_list.push_back(pos);
-
-  /*(6.0f)*/
-  pos = Vector3(-850.0f,-250.0f,0.0);
-  position_list.push_back(pos);
-
-  albumLayout->SetPosition(position_list);
-
-  DALI_TEST_CHECK(albumLayout->GetPosition() == position_list);
-}
-
-static void UtcDaliAlbumSetRotationX()
-{
-  AlbumLayoutPtr albumLayout = AlbumLayout::New();
-
-  albumLayout->SetRotationX(Math::PI/4.0f);
-
-  DALI_TEST_CHECK(albumLayout->GetRotationX() == Math::PI/4.0f);
-}
-
-static void UtcDaliAlbumSetRotationZ()
-{
-  AlbumLayoutPtr albumLayout = AlbumLayout::New();
-
-  std::vector<float> rotation_list;
-
-  /*(0.0f)*/
-  float rotate = Math::PI/6.0f;
-  rotation_list.push_back(rotate);
-
-  /*(1.0f)*/
-  rotate = 0.0f;
-  rotation_list.push_back(rotate);
-
-  /*(2.0f)*/
-  rotate = Math::PI/6.0f;
-  rotation_list.push_back(rotate);
-
-  /*(4.0f)*/
-  rotate = -Math::PI/6.0f;
-  rotation_list.push_back(rotate);
-
-  /*(5.0f)*/
-  rotate = 0.0f;
-  rotation_list.push_back(rotate);
-
-  /*(6.0f)*/
-  rotate = -Math::PI/6.0f;
-  rotation_list.push_back(rotate);
-
-  albumLayout->SetRotationZ(rotation_list);
-
-  DALI_TEST_CHECK(albumLayout->GetRotationZ() == rotation_list);
-}
-
-static void UtcDaliAlbumSetScale()
-{
-  AlbumLayoutPtr albumLayout = AlbumLayout::New();
-
-  std::vector<float> scale_list;
-
-  /*(0.0f)*/
-  float scale = 1.0f;
-  scale_list.push_back(scale);
-
-  /*(1.0f)*/
-  scale = 0.0f;
-  scale_list.push_back(scale);
-
-  /*(2.0f)*/
-  scale = Math::PI/6.0f;
-  scale_list.push_back(scale);
-
-  /*(4.0f)*/
-  scale = -Math::PI/6.0f;
-  scale_list.push_back(scale);
-
-  /*(5.0f)*/
-  scale = 0.0f;
-  scale_list.push_back(scale);
-
-  /*(6.0f)*/
-  scale = -Math::PI/6.0f;
-  scale_list.push_back(scale);
-
-  albumLayout->SetScale(scale_list);
-
-  DALI_TEST_CHECK(albumLayout->GetScale() == scale_list);
-}
-
-static void UtcDaliAlbumSetColor()
-{
-  // Create a album layout
-  AlbumLayoutPtr albumLayout = AlbumLayout::New();
-
-  std::vector<Vector2> color_list;
-
-  /*(0.0f)*/
-  Vector2 color = Vector2(1.0f,1.0f);
-  color_list.push_back(color);
-
-  /*(1.0f)*/
-  color = Vector2(1.0f,1.0f);
-  color_list.push_back(color);
-
-  /*(2.0f)*/
-  color = Vector2(1.0f,1.0f);
-  color_list.push_back(color);
-
-  /*(4.0f)*/
-  color = Vector2(1.0f,1.0f);
-  color_list.push_back(color);
-
-  /*(5.0f)*/
-  color = Vector2(1.0f,1.0f);
-  color_list.push_back(color);
-
-  /*(6.0f)*/
-  color = Vector2(1.0f,1.0f);
-  color_list.push_back(color);
-
-  albumLayout->SetColor(color_list);
-
-  DALI_TEST_CHECK(albumLayout->GetColor() == color_list);
-}
-
-static void UtcDaliAlbumSetCenterPosition()
-{
-  AlbumLayoutPtr albumLayout = AlbumLayout::New();
-
-  albumLayout->SetCenterPosition(Vector3( 0.0f,-80.0f,100.0f));
-
-  DALI_TEST_CHECK(albumLayout->GetCenterPosition() == Vector3( 0.0f,-80.0f,100.0f));
-}
-
-static void UtcDaliAlbumSetSetCenterScale()
-{
-  AlbumLayoutPtr albumLayout = AlbumLayout::New();
-
-  albumLayout->SetCenterScale(1.75f);
-
-  DALI_TEST_CHECK(albumLayout->GetCenterScale() == 1.75f);
-}
-
-static void UtcDaliAlbumSetSetCenterColor()
-{
-  AlbumLayoutPtr albumLayout = AlbumLayout::New();
-
-  albumLayout->SetCenterColor(Vector2(1.0f,1.0f));
-
-  DALI_TEST_CHECK(albumLayout->GetCenterColor() == Vector2(1.0f,1.0f));
-}
-
-static void UtcDaliAlbumSetStackPosition()
-{
-  AlbumLayoutPtr albumLayout = AlbumLayout::New();
-
-  albumLayout->SetStackPosition(Vector3(750.0f,-500.0f,0.0f),Vector3(-750.0f,-500.0f,0.0f));
-
-  DALI_TEST_CHECK(albumLayout->GetRightStackPosition() == Vector3(750.0f,-500.0f,0.0f) && albumLayout->GetLeftStackPosition() == Vector3(-750.0f,-500.0f,0.0f));
-}
-
-static void UtcDaliAlbumSetSetStackScale()
-{
-  AlbumLayoutPtr albumLayout = AlbumLayout::New();
-
-  albumLayout->SetStackScale(1.0f,1.0f);
-
-  DALI_TEST_CHECK(albumLayout->GetRightStackScale() == 1.0f && albumLayout->GetLeftStackScale() == 1.0f);
-}
-
-static void UtcDaliAlbumSetStackColor()
-{
-  AlbumLayoutPtr albumLayout = AlbumLayout::New();
-
-  albumLayout->SetStackColor(Vector2(1.0f,1.0f),Vector2(1.0f,1.0f));
-
-  DALI_TEST_CHECK(albumLayout->GetRightStackColor() == Vector2(1.0f,1.0f) && albumLayout->GetLeftStackColor() == Vector2(1.0f,1.0f));
-}
diff --git a/automated-tests/TET/dali-test-suite/item-view/utc-Dali-DepthLayout.cpp b/automated-tests/TET/dali-test-suite/item-view/utc-Dali-DepthLayout.cpp
deleted file mode 100644 (file)
index bedbc19..0000000
+++ /dev/null
@@ -1,658 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-#include <float.h>       // for FLT_MAX
-#include <stdlib.h>
-#include <tet_api.h>
-#include <dali/dali.h>
-#include <dali-toolkit/dali-toolkit.h>
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-namespace
-{
-const unsigned int TOTAL_ITEM_NUMBER = 200;
-
-Vector3 DepthLayoutItemSizeFunction(unsigned int numberOfColumns, float layoutWidth)
-{
-  float width = (layoutWidth / static_cast<float>(numberOfColumns + 1)) * 0.8f;
-  return Vector3(width, width, width);
-}
-
-float DepthLayoutBottomMarginFunction(float layoutHeight)
-{
-  return layoutHeight * 0.25f;
-}
-
-float DepthLayoutColumnPositionFunction(unsigned int numberOfColumns, unsigned int columnNumber, const Vector3& itemSize, float layoutWidth)
-{
-  float availableSpace = layoutWidth - itemSize.width * numberOfColumns;
-  float leftMargin = availableSpace / numberOfColumns * 0.5f;
-  float columnPosition = leftMargin + itemSize.width * 0.5f + columnNumber * (itemSize.width + availableSpace / numberOfColumns);
-  return columnPosition - layoutWidth * 0.5f;
-}
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-// Implementation of ItemFactory for providing actors to ItemView
-class TestItemFactory : public ItemFactory
-{
-public:
-
-  /**
-   * Constructor
-   * @param application class, stored as reference
-   */
-  TestItemFactory()
-  {
-  }
-
-public: // From ItemFactory
-
-  /**
-   * Query the number of items available from the factory.
-   * The maximum available item has an ID of GetNumberOfItems() - 1.
-   */
-  virtual unsigned int GetNumberOfItems()
-  {
-    return TOTAL_ITEM_NUMBER;
-  }
-
-  /**
-   * Create an Actor to represent a visible item.
-   * @param itemId
-   * @return the created actor.
-   */
-  virtual Actor NewItem(unsigned int itemId)
-  {
-    // Create an test actor for this item
-    ImageActor actor = CreateSolidColorActor(Color::RED);
-    actor.SetSize(64.0f, 64.0f);
-
-    return actor;
-  }
-};
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliDepthLayoutNew();
-static void UtcDaliDepthLayoutSetAndGetNumberOfColumns();
-static void UtcDaliDepthLayoutSetAndGetNumberOfRows();
-static void UtcDaliDepthLayoutSetAndGetRowSpacing();
-static void UtcDaliDepthLayoutSetAndGetTiltAngle();
-static void UtcDaliDepthLayoutSetAndGetItemSizeFunction();
-static void UtcDaliDepthLayoutSetAndGetBottomMarginFunction();
-static void UtcDaliDepthLayoutSetAndGetItemTiltAngle();
-static void UtcDaliDepthLayoutSetAndGetColumnPositionFunction();
-static void UtcDaliDepthLayoutSetAndGetScrollSpeedFactor();
-static void UtcDaliDepthLayoutSetAndGetMaximumSwipeSpeed();
-static void UtcDaliDepthLayoutSetAndGetItemFlickAnimationDuration();
-static void UtcDaliDepthLayoutConstraintLeft();
-static void UtcDaliDepthLayoutConstraintRight();
-static void UtcDaliDepthLayoutConstraintUp();
-static void UtcDaliDepthLayoutConstraintDown();
-static void UtcDaliDepthLayoutGetScrollToPosition();
-static void UtcDaliDepthLayoutScrollDirection();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliDepthLayoutNew, POSITIVE_TC_IDX },
-    { UtcDaliDepthLayoutScrollDirection, POSITIVE_TC_IDX },
-    { UtcDaliDepthLayoutSetAndGetNumberOfColumns, POSITIVE_TC_IDX },
-    { UtcDaliDepthLayoutSetAndGetNumberOfRows, POSITIVE_TC_IDX },
-    { UtcDaliDepthLayoutSetAndGetRowSpacing, POSITIVE_TC_IDX },
-    { UtcDaliDepthLayoutSetAndGetTiltAngle, POSITIVE_TC_IDX },
-    { UtcDaliDepthLayoutSetAndGetItemSizeFunction, POSITIVE_TC_IDX },
-    { UtcDaliDepthLayoutSetAndGetBottomMarginFunction, POSITIVE_TC_IDX },
-    { UtcDaliDepthLayoutSetAndGetItemTiltAngle, POSITIVE_TC_IDX },
-    { UtcDaliDepthLayoutSetAndGetColumnPositionFunction, POSITIVE_TC_IDX },
-    { UtcDaliDepthLayoutSetAndGetScrollSpeedFactor, POSITIVE_TC_IDX },
-    { UtcDaliDepthLayoutSetAndGetMaximumSwipeSpeed, POSITIVE_TC_IDX },
-    { UtcDaliDepthLayoutSetAndGetItemFlickAnimationDuration, POSITIVE_TC_IDX },
-    { UtcDaliDepthLayoutConstraintLeft, POSITIVE_TC_IDX },
-    { UtcDaliDepthLayoutConstraintRight, POSITIVE_TC_IDX },
-    { UtcDaliDepthLayoutConstraintUp, POSITIVE_TC_IDX },
-    { UtcDaliDepthLayoutConstraintDown, POSITIVE_TC_IDX },
-    { UtcDaliDepthLayoutGetScrollToPosition, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliDepthLayoutNew()
-{
-  ToolkitTestApplication application;
-
-  // Create a depth layout
-  DepthLayoutPtr depthLayout = DepthLayout::New();
-
-  DALI_TEST_CHECK(depthLayout);
-}
-
-static void UtcDaliDepthLayoutSetAndGetNumberOfColumns()
-{
-  ToolkitTestApplication application;
-
-  // Create a depth layout
-  DepthLayoutPtr depthLayout = DepthLayout::New();
-
-  // Set the number of columns
-  depthLayout->SetNumberOfColumns(5);
-
-  // Check whether we get the correct number of columns
-  DALI_TEST_CHECK(depthLayout->GetNumberOfColumns() == 5);
-}
-
-static void UtcDaliDepthLayoutSetAndGetNumberOfRows()
-{
-  ToolkitTestApplication application;
-
-  // Create a depth layout
-  DepthLayoutPtr depthLayout = DepthLayout::New();
-
-  // Set the number of rows
-  depthLayout->SetNumberOfRows(15);
-
-  // Check whether we get the correct number of rows
-  DALI_TEST_CHECK(depthLayout->GetNumberOfRows() == 15);
-}
-
-static void UtcDaliDepthLayoutSetAndGetRowSpacing()
-{
-  ToolkitTestApplication application;
-
-  // Create a depth layout
-  DepthLayoutPtr depthLayout = DepthLayout::New();
-
-  // Set the row spacing
-  depthLayout->SetRowSpacing(30.0f);
-
-  // Check whether we get the correct row spacing
-  DALI_TEST_EQUALS(depthLayout->GetRowSpacing(), 30.0f, TEST_LOCATION );
-}
-
-static void UtcDaliDepthLayoutSetAndGetTiltAngle()
-{
-  ToolkitTestApplication application;
-
-  // Create a depth layout
-  DepthLayoutPtr depthLayout = DepthLayout::New();
-
-  // Set the tilt angle
-  depthLayout->SetTiltAngle(Degree(25.0f));
-
-  // Check whether we get the correct tilt angle
-  DALI_TEST_EQUALS(float(depthLayout->GetTiltAngle()), 25.0f, 0.001f, TEST_LOCATION );
-}
-
-static void UtcDaliDepthLayoutSetAndGetItemSizeFunction()
-{
-  ToolkitTestApplication application;
-
-  // Create a depth layout
-  DepthLayoutPtr depthLayout = DepthLayout::New();
-
-  // Set the item size function
-  depthLayout->SetItemSizeFunction(DepthLayoutItemSizeFunction);
-
-  // Check whether we get the correct item size function
-  DALI_TEST_CHECK(depthLayout->GetItemSizeFunction() == DepthLayoutItemSizeFunction);
-}
-
-static void UtcDaliDepthLayoutSetAndGetBottomMarginFunction()
-{
-  ToolkitTestApplication application;
-
-  // Create a depth layout
-  DepthLayoutPtr depthLayout = DepthLayout::New();
-
-  // Set the bottom margin function
-  depthLayout->SetBottomMarginFunction(DepthLayoutBottomMarginFunction);
-
-  // Check whether we get the correct bottom margin function
-  DALI_TEST_CHECK(depthLayout->GetBottomMarginFunction() == DepthLayoutBottomMarginFunction);
-}
-
-static void UtcDaliDepthLayoutSetAndGetItemTiltAngle()
-{
-  ToolkitTestApplication application;
-
-  // Create a depth layout
-  DepthLayoutPtr depthLayout = DepthLayout::New();
-
-  // Set the item's tilt angle
-  depthLayout->SetItemTiltAngle(Degree(5.0f));
-
-  // Check whether we get the correct item's tilt angle
-  DALI_TEST_EQUALS(float(depthLayout->GetItemTiltAngle()), 5.0f, 0.001f, TEST_LOCATION );
-}
-
-static void UtcDaliDepthLayoutSetAndGetColumnPositionFunction()
-{
-  ToolkitTestApplication application;
-
-  // Create a depth layout
-  DepthLayoutPtr depthLayout = DepthLayout::New();
-
-  // Set the column position function
-  depthLayout->SetColumnPositionFunction(DepthLayoutColumnPositionFunction);
-
-  // Check whether we get the correct column position function
-  DALI_TEST_CHECK(depthLayout->GetColumnPositionFunction() == DepthLayoutColumnPositionFunction);
-}
-
-static void UtcDaliDepthLayoutSetAndGetScrollSpeedFactor()
-{
-  ToolkitTestApplication application;
-
-  // Create a depth layout
-  DepthLayoutPtr depthLayout = DepthLayout::New();
-
-  // Set the scroll speed factor
-  depthLayout->SetScrollSpeedFactor(0.05f);
-
-  // Check whether we get the correct scroll speed factor
-  DALI_TEST_EQUALS(depthLayout->GetScrollSpeedFactor(), 0.05f, TEST_LOCATION );
-}
-
-static void UtcDaliDepthLayoutSetAndGetMaximumSwipeSpeed()
-{
-  ToolkitTestApplication application;
-
-  // Create a depth layout
-  DepthLayoutPtr depthLayout = DepthLayout::New();
-
-  // Set the maximum swipe speed
-  depthLayout->SetMaximumSwipeSpeed(50.0f);
-
-  // Check whether we get the correct maximum swipe speed
-  DALI_TEST_EQUALS(depthLayout->GetMaximumSwipeSpeed(), 50.0f, TEST_LOCATION );
-}
-
-static void UtcDaliDepthLayoutSetAndGetItemFlickAnimationDuration()
-{
-  ToolkitTestApplication application;
-
-  // Create a depth layout
-  DepthLayoutPtr depthLayout = DepthLayout::New();
-
-  // Set the flick animaiton duration
-  depthLayout->SetItemFlickAnimationDuration(0.35f);
-
-  // Check whether we get the correct flick animaiton duration
-  DALI_TEST_EQUALS( depthLayout->GetItemFlickAnimationDuration(), 0.35f, TEST_LOCATION );
-}
-
-static void UtcDaliDepthLayoutConstraintLeft()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  DepthLayoutPtr navigationLayout = DepthLayout::New();
-  navigationLayout->SetNumberOfColumns(6);
-
-  view.SetName("view actor");
-  view.AddLayout(*navigationLayout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  navigationLayout->SetOrientation(ControlOrientation::Left);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view and they are positioned some distance from the origin.
-  int nonZeroCount = 0;
-  int elementsFound = 0;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      elementsFound++;
-      Vector3 pos = testActor.GetCurrentPosition();
-
-      if (pos.LengthSquared() > 0.0f)
-      {
-        nonZeroCount++;
-      }
-    }
-  }
-
-  DALI_TEST_CHECK((elementsFound > 0) && (nonZeroCount == elementsFound));
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliDepthLayoutConstraintRight()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  DepthLayoutPtr navigationLayout = DepthLayout::New();
-  navigationLayout->SetNumberOfColumns(6);
-
-  view.SetName("view actor");
-  view.AddLayout(*navigationLayout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  navigationLayout->SetOrientation(ControlOrientation::Right);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view and they are positioned some distance from the origin.
-  int nonZeroCount = 0;
-  int elementsFound = 0;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      elementsFound++;
-      Vector3 pos = testActor.GetCurrentPosition();
-
-      if (pos.LengthSquared() > 0.0f)
-      {
-        nonZeroCount++;
-      }
-    }
-  }
-
-  DALI_TEST_CHECK((elementsFound > 0) && (nonZeroCount == elementsFound));
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliDepthLayoutConstraintUp()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  DepthLayoutPtr navigationLayout = DepthLayout::New();
-  navigationLayout->SetNumberOfColumns(6);
-
-  view.SetName("view actor");
-  view.AddLayout(*navigationLayout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  navigationLayout->SetOrientation(ControlOrientation::Up);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view and they are positioned some distance from the origin.
-  int nonZeroCount = 0;
-  int elementsFound = 0;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      elementsFound++;
-      Vector3 pos = testActor.GetCurrentPosition();
-
-      if (pos.LengthSquared() > 0.0f)
-      {
-        nonZeroCount++;
-      }
-    }
-  }
-
-  DALI_TEST_CHECK((elementsFound > 0) && (nonZeroCount == elementsFound));
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliDepthLayoutConstraintDown()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  DepthLayoutPtr navigationLayout = DepthLayout::New();
-  navigationLayout->SetNumberOfColumns(6);
-
-  view.SetName("view actor");
-  view.AddLayout(*navigationLayout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  navigationLayout->SetOrientation(ControlOrientation::Down);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view and they are positioned some distance from the origin.
-  int nonZeroCount = 0;
-  int elementsFound = 0;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      elementsFound++;
-      Vector3 pos = testActor.GetCurrentPosition();
-
-      if (pos.LengthSquared() > 0.0f)
-      {
-        nonZeroCount++;
-      }
-    }
-  }
-
-  DALI_TEST_CHECK((elementsFound > 0) && (nonZeroCount == elementsFound));
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliDepthLayoutGetScrollToPosition()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  DepthLayoutPtr layout = DepthLayout::New();
-
-  view.SetName("view actor");
-  view.AddLayout(*layout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  layout->SetOrientation(ControlOrientation::Up);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view.
-  std::vector<unsigned int> indices;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      indices.push_back(i);
-    }
-  }
-
-  try
-  {
-    if (!indices.empty())
-    {
-      const unsigned int firstTargetIndex = indices[indices.size()-1];
-      // scroll to last item
-      view.ScrollToItem(firstTargetIndex, 0.00f);
-      application.Render(16); // 60hz frames
-
-      std::size_t moveCount = 0;
-      for(std::size_t i = 0; i < indices.size(); i++)
-      {
-        float layoutPosBefore = view.GetCurrentLayoutPosition(i);
-        view.ScrollToItem(indices[i], 0.0f);
-
-        application.Render(16); // 60hz frame
-
-        float layoutPosAfter = view.GetCurrentLayoutPosition(i);
-
-        if (fabs(layoutPosBefore-layoutPosAfter) <= FLT_EPSILON)
-        {
-          ++moveCount;
-        }
-      }
-
-      DALI_TEST_CHECK((moveCount == indices.size()));
-    }
-  }
-  catch(...)
-  {
-    tet_result(TET_FAIL);
-  }
-
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliDepthLayoutScrollDirection()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  DepthLayoutPtr navigationLayout = DepthLayout::New();
-
-  view.SetName("view actor");
-  view.AddLayout(*navigationLayout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  navigationLayout->SetOrientation(ControlOrientation::Left);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  ItemLayoutPtr layout = navigationLayout;
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  navigationLayout->SetOrientation(ControlOrientation::Up);
-  view.ActivateLayout(0, vec, 0.0f);
-  application.SendNotification();
-  application.Render();
-
-  Degree deg = layout->GetScrollDirection();
-  DALI_TEST_CHECK(deg == 180.0f);
-
-  navigationLayout->SetOrientation(ControlOrientation::Down);
-  view.ActivateLayout(0, vec, 0.0f);
-  application.SendNotification();
-  application.Render();
-
-  deg = layout->GetScrollDirection();
-  DALI_TEST_CHECK((deg == 0.0f));
-
-  layout->SetOrientation(ControlOrientation::Left);
-  view.ActivateLayout(0, vec, 0.0f);
-  application.SendNotification();
-  application.Render();
-
-  deg = layout->GetScrollDirection();
-  DALI_TEST_CHECK(deg == 270.0f);
-
-  navigationLayout->SetOrientation(ControlOrientation::Right);
-  view.ActivateLayout(0, vec, 0.0f);
-  application.SendNotification();
-  application.Render();
-
-  deg = layout->GetScrollDirection();
-  DALI_TEST_CHECK(deg == 90.0f);
-
-  Stage::GetCurrent().Remove(view);
-}
diff --git a/automated-tests/TET/dali-test-suite/item-view/utc-Dali-GridLayout.cpp b/automated-tests/TET/dali-test-suite/item-view/utc-Dali-GridLayout.cpp
deleted file mode 100644 (file)
index 34c2083..0000000
+++ /dev/null
@@ -1,579 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <float.h>       // for FLT_MAX
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-namespace
-{
-const unsigned int TOTAL_ITEM_NUMBER = 200;
-
-Vector3 GridLayoutItemSizeFunction(unsigned int numberOfColumns, float layoutWidth, float sideMargin, float columnSpacing)
-{
-  float width = (layoutWidth - sideMargin * 2.0f - columnSpacing * static_cast<float>(numberOfColumns - 1)) / static_cast<float>(numberOfColumns);
-
-  return Vector3(width, width, width);
-}
-
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-// Implementation of ItemFactory for providing actors to ItemView
-class TestItemFactory : public ItemFactory
-{
-public:
-
-  /**
-   * Constructor
-   * @param application class, stored as reference
-   */
-  TestItemFactory()
-  {
-  }
-
-public: // From ItemFactory
-
-  /**
-   * Query the number of items available from the factory.
-   * The maximum available item has an ID of GetNumberOfItems() - 1.
-   */
-  virtual unsigned int GetNumberOfItems()
-  {
-    return TOTAL_ITEM_NUMBER;
-  }
-
-  /**
-   * Create an Actor to represent a visible item.
-   * @param itemId
-   * @return the created actor.
-   */
-  virtual Actor NewItem(unsigned int itemId)
-  {
-    // Create an test actor for this item
-    ImageActor actor = CreateSolidColorActor(Color::RED);
-    actor.SetSize(64.0f, 64.0f);
-    return actor;
-  }
-};
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliGridLayoutNew();
-static void UtcDaliGridLayoutSetAndGetNumberOfColumns();
-static void UtcDaliGridLayoutSetAndGetRowSpacing();
-static void UtcDaliGridLayoutSetAndGetColumnSpacing();
-static void UtcDaliGridLayoutSetAndGetTopMargin();
-static void UtcDaliGridLayoutSetAndGetBottomMargin();
-static void UtcDaliGridLayoutSetAndGetSideMargin();
-static void UtcDaliGridLayoutSetAndGetZGap();
-static void UtcDaliGridLayoutSetAndGetItemSizeFunction();
-static void UtcDaliGridLayoutSetAndGetScrollSpeedFactor();
-static void UtcDaliGridLayoutSetAndGetMaximumSwipeSpeed();
-static void UtcDaliGridLayoutSetAndGetItemFlickAnimationDuration();
-static void UtcDaliGridLayoutConstraintLeft();
-static void UtcDaliGridLayoutConstraintRight();
-static void UtcDaliGridLayoutConstraintUp();
-static void UtcDaliGridLayoutConstraintDown();
-static void UtcDaliGridLayoutScrollDirection();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliGridLayoutNew, POSITIVE_TC_IDX },
-    { UtcDaliGridLayoutSetAndGetNumberOfColumns, POSITIVE_TC_IDX },
-    { UtcDaliGridLayoutSetAndGetRowSpacing, POSITIVE_TC_IDX },
-    { UtcDaliGridLayoutSetAndGetColumnSpacing, POSITIVE_TC_IDX },
-    { UtcDaliGridLayoutSetAndGetTopMargin, POSITIVE_TC_IDX },
-    { UtcDaliGridLayoutSetAndGetBottomMargin, POSITIVE_TC_IDX },
-    { UtcDaliGridLayoutSetAndGetSideMargin, POSITIVE_TC_IDX },
-    { UtcDaliGridLayoutSetAndGetZGap, POSITIVE_TC_IDX },
-    { UtcDaliGridLayoutSetAndGetItemSizeFunction, POSITIVE_TC_IDX },
-    { UtcDaliGridLayoutSetAndGetScrollSpeedFactor, POSITIVE_TC_IDX },
-    { UtcDaliGridLayoutSetAndGetMaximumSwipeSpeed, POSITIVE_TC_IDX },
-    { UtcDaliGridLayoutSetAndGetItemFlickAnimationDuration, POSITIVE_TC_IDX },
-    { UtcDaliGridLayoutConstraintLeft, POSITIVE_TC_IDX },
-    { UtcDaliGridLayoutConstraintRight, POSITIVE_TC_IDX },
-    { UtcDaliGridLayoutConstraintUp, POSITIVE_TC_IDX },
-    { UtcDaliGridLayoutConstraintDown, POSITIVE_TC_IDX },
-    { UtcDaliGridLayoutScrollDirection, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliGridLayoutNew()
-{
-  ToolkitTestApplication application;
-
-  // Create a grid layout
-  GridLayoutPtr gridLayout = GridLayout::New();
-
-  DALI_TEST_CHECK(gridLayout);
-}
-
-static void UtcDaliGridLayoutSetAndGetNumberOfColumns()
-{
-  ToolkitTestApplication application;
-
-  // Create a grid layout
-  GridLayoutPtr gridLayout = GridLayout::New();
-
-  // Set the number of columns
-  gridLayout->SetNumberOfColumns(6);
-
-  // Check whether we get the correct number of columns
-  DALI_TEST_CHECK(gridLayout->GetNumberOfColumns() == 6);
-}
-
-static void UtcDaliGridLayoutSetAndGetRowSpacing()
-{
-  ToolkitTestApplication application;
-
-  // Create a grid layout
-  GridLayoutPtr gridLayout = GridLayout::New();
-
-  // Set the row spacing
-  gridLayout->SetRowSpacing(10.0f);
-
-  // Check whether we get the correct row spacing
-  DALI_TEST_EQUALS(gridLayout->GetRowSpacing(), 10.0f, TEST_LOCATION );
-}
-
-static void UtcDaliGridLayoutSetAndGetColumnSpacing()
-{
-  ToolkitTestApplication application;
-
-  // Create a grid layout
-  GridLayoutPtr gridLayout = GridLayout::New();
-
-  // Set the column spacing
-  gridLayout->SetColumnSpacing(10.0f);
-
-  // Check whether we get the correct column spacing
-  DALI_TEST_EQUALS(gridLayout->GetColumnSpacing(), 10.0f, TEST_LOCATION );
-}
-
-static void UtcDaliGridLayoutSetAndGetTopMargin()
-{
-  ToolkitTestApplication application;
-
-  // Create a grid layout
-  GridLayoutPtr gridLayout = GridLayout::New();
-
-  // Set the top margin
-  gridLayout->SetTopMargin(30.0f);
-
-  // Check whether we get the correct top margin
-  DALI_TEST_EQUALS(gridLayout->GetTopMargin(), 30.0f, TEST_LOCATION );
-}
-
-static void UtcDaliGridLayoutSetAndGetBottomMargin()
-{
-  ToolkitTestApplication application;
-
-  // Create a grid layout
-  GridLayoutPtr gridLayout = GridLayout::New();
-
-  // Set the bottom margin
-  gridLayout->SetBottomMargin(30.0f);
-
-  // Check whether we get the correct bottom margin
-  DALI_TEST_EQUALS(gridLayout->GetBottomMargin(), 30.0f, TEST_LOCATION );
-}
-
-static void UtcDaliGridLayoutSetAndGetSideMargin()
-{
-  ToolkitTestApplication application;
-
-  // Create a grid layout
-  GridLayoutPtr gridLayout = GridLayout::New();
-
-  // Set the side margin
-  gridLayout->SetSideMargin(10.0f);
-
-  // Check whether we get the correct side margin
-  DALI_TEST_EQUALS(gridLayout->GetSideMargin(), 10.0f, TEST_LOCATION );
-}
-
-static void UtcDaliGridLayoutSetAndGetZGap()
-{
-  ToolkitTestApplication application;
-
-  // Create a grid layout
-  GridLayoutPtr gridLayout = GridLayout::New();
-
-  // Set the gap of items in the Z axis in different columns
-  gridLayout->SetZGap(5.0f);
-
-  // Check whether we get the correct Z gap
-  DALI_TEST_EQUALS(gridLayout->GetZGap(), 5.0f, TEST_LOCATION );
-}
-
-static void UtcDaliGridLayoutSetAndGetItemSizeFunction()
-{
-  ToolkitTestApplication application;
-
-  // Create a grid layout
-  GridLayoutPtr gridLayout = GridLayout::New();
-
-  // Set the item size function
-  gridLayout->SetItemSizeFunction(GridLayoutItemSizeFunction);
-
-  // Check whether we get the correct item size function
-  DALI_TEST_CHECK(gridLayout->GetItemSizeFunction() == GridLayoutItemSizeFunction);
-}
-
-static void UtcDaliGridLayoutSetAndGetScrollSpeedFactor()
-{
-  ToolkitTestApplication application;
-
-  // Create a grid layout
-  GridLayoutPtr gridLayout = GridLayout::New();
-
-  // Set the scroll speed factor
-  gridLayout->SetScrollSpeedFactor(0.05f);
-
-  // Check whether we get the correct scroll speed factor
-  DALI_TEST_EQUALS(gridLayout->GetScrollSpeedFactor(), 0.05f, TEST_LOCATION );
-}
-
-static void UtcDaliGridLayoutSetAndGetMaximumSwipeSpeed()
-{
-  ToolkitTestApplication application;
-
-  // Create a grid layout
-  GridLayoutPtr gridLayout = GridLayout::New();
-
-  // Set the maximum swipe speed
-  gridLayout->SetMaximumSwipeSpeed(50.0f);
-
-  // Check whether we get the correct maximum swipe speed
-  DALI_TEST_EQUALS(gridLayout->GetMaximumSwipeSpeed(), 50.0f, TEST_LOCATION );
-}
-
-static void UtcDaliGridLayoutSetAndGetItemFlickAnimationDuration()
-{
-  ToolkitTestApplication application;
-
-  // Create a grid layout
-  GridLayoutPtr gridLayout = GridLayout::New();
-
-  // Set the flick animaiton duration
-  gridLayout->SetItemFlickAnimationDuration(0.35f);
-
-  // Check whether we get the correct flick animaiton duration
-  DALI_TEST_EQUALS( gridLayout->GetItemFlickAnimationDuration(), 0.35f, TEST_LOCATION );
-}
-
-static void UtcDaliGridLayoutConstraintLeft()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  GridLayoutPtr gridLayout = GridLayout::New();
-  gridLayout->SetNumberOfColumns(6);
-
-  view.SetName("view actor");
-  view.AddLayout(*gridLayout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  gridLayout->SetOrientation(ControlOrientation::Left);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view and they are positioned some distance from the origin.
-  int nonZeroCount = 0;
-  int elementsFound = 0;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      elementsFound++;
-      Vector3 pos = testActor.GetCurrentPosition();
-
-      if (pos.LengthSquared() > 0.0f)
-      {
-        nonZeroCount++;
-      }
-    }
-  }
-
-  DALI_TEST_CHECK((elementsFound > 0) && (nonZeroCount == elementsFound));
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliGridLayoutConstraintRight()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  GridLayoutPtr gridLayout = GridLayout::New();
-  gridLayout->SetNumberOfColumns(6);
-
-  view.SetName("view actor");
-  view.AddLayout(*gridLayout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  gridLayout->SetOrientation(ControlOrientation::Right);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view and they are positioned some distance from the origin.
-  int nonZeroCount = 0;
-  int elementsFound = 0;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      elementsFound++;
-      Vector3 pos = testActor.GetCurrentPosition();
-
-      if (pos.LengthSquared() > 0.0f)
-      {
-        nonZeroCount++;
-      }
-    }
-  }
-
-  DALI_TEST_CHECK((elementsFound > 0) && (nonZeroCount == elementsFound));
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliGridLayoutConstraintUp()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  GridLayoutPtr gridLayout = GridLayout::New();
-  gridLayout->SetNumberOfColumns(6);
-
-  view.SetName("view actor");
-  view.AddLayout(*gridLayout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  gridLayout->SetOrientation(ControlOrientation::Up);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view and they are positioned some distance from the origin.
-  int nonZeroCount = 0;
-  int elementsFound = 0;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      elementsFound++;
-      Vector3 pos = testActor.GetCurrentPosition();
-
-      if (pos.LengthSquared() > 0.0f)
-      {
-        nonZeroCount++;
-      }
-    }
-  }
-
-  DALI_TEST_CHECK((elementsFound > 0) && (nonZeroCount == elementsFound));
-
-  ItemLayoutPtr layout = gridLayout;
-  layout->GetClosestOnScreenLayoutPosition(0, 0.0f, vec);
-  int nextItem = layout->GetNextFocusItemID(0, 10, Dali::Toolkit::Control::Right, false);
-  DALI_TEST_CHECK(nextItem == 1);
-
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliGridLayoutConstraintDown()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  GridLayoutPtr gridLayout = GridLayout::New();
-  gridLayout->SetNumberOfColumns(6);
-
-  view.SetName("view actor");
-  view.AddLayout(*gridLayout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  gridLayout->SetOrientation(ControlOrientation::Down);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view and they are positioned some distance from the origin.
-  int nonZeroCount = 0;
-  int elementsFound = 0;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      elementsFound++;
-      Vector3 pos = testActor.GetCurrentPosition();
-
-      if (pos.LengthSquared() > 0.0f)
-      {
-        nonZeroCount++;
-      }
-    }
-  }
-
-  DALI_TEST_CHECK((elementsFound > 0) && (nonZeroCount == elementsFound));
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliGridLayoutScrollDirection()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  GridLayoutPtr gridLayout = GridLayout::New();
-  gridLayout->SetNumberOfColumns(6);
-
-  view.SetName("view actor");
-  view.AddLayout(*gridLayout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  gridLayout->SetOrientation(ControlOrientation::Left);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  ItemLayoutPtr layout = gridLayout;
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  gridLayout->SetOrientation(ControlOrientation::Up);
-  view.ActivateLayout(0, vec, 0.0f);
-  application.SendNotification();
-  application.Render();
-
-  Degree deg = layout->GetScrollDirection();
-  DALI_TEST_CHECK(deg == 0.0f);
-
-  gridLayout->SetOrientation(ControlOrientation::Down);
-  view.ActivateLayout(0, vec, 0.0f);
-  application.SendNotification();
-  application.Render();
-
-  deg = layout->GetScrollDirection();
-  DALI_TEST_CHECK((deg == 180.0f));
-
-  layout->SetOrientation(ControlOrientation::Left);
-  view.ActivateLayout(0, vec, 0.0f);
-  application.SendNotification();
-  application.Render();
-
-  deg = layout->GetScrollDirection();
-  DALI_TEST_CHECK(deg == 90.f);
-
-  gridLayout->SetOrientation(ControlOrientation::Right);
-  view.ActivateLayout(0, vec, 0.0f);
-  application.SendNotification();
-  application.Render();
-
-  deg = layout->GetScrollDirection();
-  DALI_TEST_CHECK(deg == 270.0f);
-
-  Stage::GetCurrent().Remove(view);
-}
diff --git a/automated-tests/TET/dali-test-suite/item-view/utc-Dali-ItemLayout.cpp b/automated-tests/TET/dali-test-suite/item-view/utc-Dali-ItemLayout.cpp
deleted file mode 100644 (file)
index 133da1e..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-namespace
-{
-const unsigned int TOTAL_ITEM_NUMBER = 200;
-const char* TEST_IMAGE_FILE_NAME = DALI_IMAGE_DIR "gallery_image_01.jpg";
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliItemLayoutSetAndGetOrientation();
-static void UtcDaliItemLayoutGetScrollHints();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliItemLayoutSetAndGetOrientation, POSITIVE_TC_IDX },
-    { UtcDaliItemLayoutGetScrollHints, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Implementation of ItemFactory for providing actors to ItemView
-class TestItemFactory : public ItemFactory
-{
-public:
-
-  /**
-   * Constructor
-   * @param application class, stored as reference
-   */
-  TestItemFactory()
-  {
-  }
-
-public: // From ItemFactory
-
-  /**
-   * Query the number of items available from the factory.
-   * The maximum available item has an ID of GetNumberOfItems() - 1.
-   */
-  virtual unsigned int GetNumberOfItems()
-  {
-    return TOTAL_ITEM_NUMBER;
-  }
-
-  /**
-   * Create an Actor to represent a visible item.
-   * @param itemId
-   * @return the created actor.
-   */
-  virtual Actor NewItem(unsigned int itemId)
-  {
-    // Create an image actor for this item
-    Image image = Image::New( TEST_IMAGE_FILE_NAME );
-    Actor actor = ImageActor::New(image);
-
-    return actor;
-  }
-};
-
-static void UtcDaliItemLayoutSetAndGetOrientation()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-
-  // Create a grid layout and add it to ItemView
-  GridLayoutPtr gridLayout = GridLayout::New();
-  view.AddLayout(*gridLayout);
-
-  // Set the orientation of the layout to be horizontal from left to right
-  ItemLayoutPtr layout = view.GetLayout(0);
-  layout->SetOrientation(ControlOrientation::Left);
-
-  // Check the orientation of the layout is horizontal from left to right
-  DALI_TEST_CHECK(layout->GetOrientation() == ControlOrientation::Left);
-}
-
-static void UtcDaliItemLayoutGetScrollHints()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-
-  // Create a grid layout and add it to ItemView
-  GridLayoutPtr gridLayout = GridLayout::New();
-  view.AddLayout(*gridLayout);
-
-  // Set the orientation of the layout to be horizontal from left to right
-  ItemLayoutPtr layout = view.GetLayout(0);
-
-  Vector2 axisScrollHint;
-
-  layout->SetOrientation(ControlOrientation::Up);
-  layout->GetXAxisScrollHint(axisScrollHint);
-  DALI_TEST_EQUALS(axisScrollHint, Vector2::ZERO, Math::MACHINE_EPSILON_1, TEST_LOCATION);
-  layout->GetYAxisScrollHint(axisScrollHint);
-  DALI_TEST_EQUALS(axisScrollHint, Vector2::YAXIS, Math::MACHINE_EPSILON_1, TEST_LOCATION);
-
-  layout->SetOrientation(ControlOrientation::Down);
-  layout->GetXAxisScrollHint(axisScrollHint);
-  DALI_TEST_EQUALS(axisScrollHint, Vector2::ZERO, Math::MACHINE_EPSILON_1, TEST_LOCATION);
-  layout->GetYAxisScrollHint(axisScrollHint);
-  DALI_TEST_EQUALS(axisScrollHint, Vector2::YAXIS, Math::MACHINE_EPSILON_1, TEST_LOCATION);
-
-  layout->SetOrientation(ControlOrientation::Left);
-  layout->GetXAxisScrollHint(axisScrollHint);
-  DALI_TEST_EQUALS(axisScrollHint, Vector2::XAXIS, Math::MACHINE_EPSILON_1, TEST_LOCATION);
-  layout->GetYAxisScrollHint(axisScrollHint);
-  DALI_TEST_EQUALS(axisScrollHint, Vector2::ZERO, Math::MACHINE_EPSILON_1, TEST_LOCATION);
-
-  layout->SetOrientation(ControlOrientation::Right);
-  layout->GetXAxisScrollHint(axisScrollHint);
-  DALI_TEST_EQUALS(axisScrollHint, Vector2::XAXIS, Math::MACHINE_EPSILON_1, TEST_LOCATION);
-  layout->GetYAxisScrollHint(axisScrollHint);
-  DALI_TEST_EQUALS(axisScrollHint, Vector2::ZERO, Math::MACHINE_EPSILON_1, TEST_LOCATION);
-}
diff --git a/automated-tests/TET/dali-test-suite/item-view/utc-Dali-ItemView.cpp b/automated-tests/TET/dali-test-suite/item-view/utc-Dali-ItemView.cpp
deleted file mode 100644 (file)
index 98f2a56..0000000
+++ /dev/null
@@ -1,575 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <float.h>       // for FLT_MAX
-#include <tet_api.h>
-
-#include <dali/dali.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-namespace
-{
-const unsigned int TOTAL_ITEM_NUMBER = 100;
-const char* TEST_IMAGE_FILE_NAME = DALI_IMAGE_DIR "gallery_image_01.jpg";
-
-static bool gObjectCreatedCallBackCalled;
-
-static void TestCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-}
-
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliItemViewNew();
-static void UtcDaliItemViewDownCast();
-static void UtcDaliItemViewAddAndGetLayout();
-static void UtcDaliItemViewAddAndRemoveLayout();
-static void UtcDaliItemViewActivateLayoutAndGetActiveLayout();
-static void UtcDaliItemViewDeactivateCurrentLayout();
-static void UtcDaliItemViewGetItemAndGetItemId();
-static void UtcDaliItemViewRemoveItem();
-static void UtcDaliItemViewGetCurrentLayoutPosition();
-static void UtcDaliItemViewSetAndGetMinimumSwipeSpeed();
-static void UtcDaliItemViewSetAndGetMinimumSwipeDistance();
-static void UtcDaliItemViewSetAndGetAnchoring();
-static void UtcDaliItemViewSetAndGetAnchoringDuration();
-static void UtcDaliItemViewSetAndGetRefreshInterval();
-static void UtcDaliItemViewScrollToItem();
-static void UtcDaliItemViewSetAndGetMouseWheelScrollDistanceStep();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliItemViewNew, POSITIVE_TC_IDX },
-    { UtcDaliItemViewDownCast, POSITIVE_TC_IDX },
-    { UtcDaliItemViewAddAndGetLayout, POSITIVE_TC_IDX },
-    { UtcDaliItemViewAddAndRemoveLayout, POSITIVE_TC_IDX },
-    { UtcDaliItemViewActivateLayoutAndGetActiveLayout, POSITIVE_TC_IDX },
-    { UtcDaliItemViewDeactivateCurrentLayout, POSITIVE_TC_IDX },
-    { UtcDaliItemViewGetItemAndGetItemId, POSITIVE_TC_IDX },
-    { UtcDaliItemViewRemoveItem, POSITIVE_TC_IDX },
-    { UtcDaliItemViewGetCurrentLayoutPosition, POSITIVE_TC_IDX },
-    { UtcDaliItemViewSetAndGetMinimumSwipeSpeed, POSITIVE_TC_IDX },
-    { UtcDaliItemViewSetAndGetMinimumSwipeDistance, POSITIVE_TC_IDX },
-    { UtcDaliItemViewSetAndGetAnchoring, POSITIVE_TC_IDX },
-    { UtcDaliItemViewSetAndGetAnchoringDuration, POSITIVE_TC_IDX },
-    { UtcDaliItemViewSetAndGetRefreshInterval, POSITIVE_TC_IDX },
-    { UtcDaliItemViewScrollToItem, POSITIVE_TC_IDX },
-    { UtcDaliItemViewSetAndGetMouseWheelScrollDistanceStep, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Implementation of ItemFactory for providing actors to ItemView
-class TestItemFactory : public ItemFactory
-{
-public:
-
-  /**
-   * Constructor
-   * @param application class, stored as reference
-   */
-  TestItemFactory()
-  {
-  }
-
-public: // From ItemFactory
-
-  /**
-   * Query the number of items available from the factory.
-   * The maximum available item has an ID of GetNumberOfItems() - 1.
-   */
-  virtual unsigned int GetNumberOfItems()
-  {
-    return TOTAL_ITEM_NUMBER;
-  }
-
-  /**
-   * Create an Actor to represent a visible item.
-   * @param itemId
-   * @return the created actor.
-   */
-  virtual Actor NewItem(unsigned int itemId)
-  {
-    // Create an image actor for this item
-    Image image = Image::New( TEST_IMAGE_FILE_NAME );
-    Actor actor = ImageActor::New(image);
-
-    return actor;
-  }
-};
-
-static void UtcDaliItemViewNew()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-
-  DALI_TEST_CHECK(view);
-
-  //Additional check to ensure object is created by checking if it's registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect(&TestCallback);
-  {
-    TestItemFactory factory;
-    ItemView view = ItemView::New(factory);
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-}
-
-static void UtcDaliItemViewDownCast()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  const ItemView itemViewConst = ItemView::New(factory);
-  ItemView itemView(itemViewConst);
-
-  BaseHandle handle(itemView);
-
-  ItemView newItemView = ItemView::DownCast( handle );
-  DALI_TEST_CHECK( itemView );
-  DALI_TEST_CHECK( newItemView == itemView );
-}
-
-static void UtcDaliItemViewAddAndGetLayout()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-
-  // Create a grid layout and add it to ItemView
-  GridLayoutPtr gridLayout = GridLayout::New();
-  view.AddLayout(*gridLayout);
-
-  // As we have added one layout, check the number of layout is now 1
-  DALI_TEST_CHECK(view.GetLayoutCount() == 1);
-
-  // Create a depth layout and add it to ItemView
-  DepthLayoutPtr depthLayout = DepthLayout::New();
-  view.AddLayout(*depthLayout);
-
-  // As we have added another layout, check the number of layout is now 2
-  DALI_TEST_CHECK(view.GetLayoutCount() == 2);
-
-  // Create a spiral layout and add it to ItemView
-  SpiralLayoutPtr spiralLayout = SpiralLayout::New();
-  view.AddLayout(*spiralLayout);
-
-  // As we have added another layout, check the number of layout is now 3
-  DALI_TEST_CHECK(view.GetLayoutCount() == 3);
-
-  // Check we are getting the correct layout from ItemView
-  DALI_TEST_CHECK(view.GetLayout(0) == gridLayout);
-  DALI_TEST_CHECK(view.GetLayout(1) == depthLayout);
-  DALI_TEST_CHECK(view.GetLayout(2) == spiralLayout);
-}
-
-static void UtcDaliItemViewAddAndRemoveLayout()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-
-  // Create a grid layout and add it to ItemView
-  GridLayoutPtr gridLayout = GridLayout::New();
-  view.AddLayout(*gridLayout);
-
-  // As we have added one layout, check the number of layout is now 1
-  DALI_TEST_CHECK(view.GetLayoutCount() == 1);
-
-  // Create a depth layout and add it to ItemView
-  DepthLayoutPtr depthLayout = DepthLayout::New();
-  view.AddLayout(*depthLayout);
-
-  // As we have added another layout, check the number of layout is now 2
-  DALI_TEST_CHECK(view.GetLayoutCount() == 2);
-
-  // Check we are getting the correct layout from ItemView
-  DALI_TEST_CHECK(view.GetLayout(0) == gridLayout);
-  DALI_TEST_CHECK(view.GetLayout(1) == depthLayout);
-
-  // Remove the grid layout
-  view.RemoveLayout(0);
-
-  // As we have removed the grid layout, check the number of layout is now 1
-  DALI_TEST_CHECK(view.GetLayoutCount() == 1);
-
-  // Check we are getting the correct layout from ItemView
-  DALI_TEST_CHECK(view.GetLayout(0) == depthLayout);
-
-  // Remove the depth layout
-  view.RemoveLayout(0);
-
-  // As we also removed the depth layout, check the number of layout is now 0
-  DALI_TEST_CHECK(view.GetLayoutCount() == 0);
-}
-
-static void UtcDaliItemViewActivateLayoutAndGetActiveLayout()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-
-  // Create a grid layout and add it to ItemView
-  GridLayoutPtr gridLayout = GridLayout::New();
-  view.AddLayout(*gridLayout);
-
-  // Create a depth layout and add it to ItemView
-  DepthLayoutPtr depthLayout = DepthLayout::New();
-  view.AddLayout(*depthLayout);
-
-  // Create a spiral layout and add it to ItemView
-  SpiralLayoutPtr spiralLayout = SpiralLayout::New();
-  view.AddLayout(*spiralLayout);
-
-  // As we have added three layouts, check the number of layout is now 3
-  DALI_TEST_CHECK(view.GetLayoutCount() == 3);
-
-  // Check there is no active layout at the moment
-  DALI_TEST_CHECK(view.GetActiveLayout() == NULL);
-
-  // Activate the depth layout
-  Vector3 stageSize(Dali::Stage::GetCurrent().GetSize());
-  view.ActivateLayout(1, stageSize, 0.5f);
-
-  // Check the current active layout is the depth layout
-  DALI_TEST_CHECK(view.GetActiveLayout() == depthLayout);
-
-  // Activate the grid layout
-  view.ActivateLayout(0, stageSize, 0.5f);
-
-  // Check the current active layout is the grid layout
-  DALI_TEST_CHECK(view.GetActiveLayout() == gridLayout);
-
-  // Activate the spiral layout
-  view.ActivateLayout(2, stageSize, 0.5f);
-
-  // Check the current active layout is the spiral layout
-  DALI_TEST_CHECK(view.GetActiveLayout() == spiralLayout);
-}
-
-static void UtcDaliItemViewDeactivateCurrentLayout()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-
-  // Create a grid layout and add it to ItemView
-  GridLayoutPtr gridLayout = GridLayout::New();
-  view.AddLayout(*gridLayout);
-
-  // Check there is no active layout at the moment
-  DALI_TEST_CHECK(view.GetActiveLayout() == NULL);
-
-  // Activate the grid layout
-  Vector3 stageSize(Dali::Stage::GetCurrent().GetSize());
-  view.ActivateLayout(0, stageSize, 0.5f);
-
-  // Check the current active layout is the grid layout
-  DALI_TEST_CHECK(view.GetActiveLayout() == gridLayout);
-
-  // Deactivate the current layout
-  view.DeactivateCurrentLayout();
-
-  // Check there is no active layout at the moment
-  DALI_TEST_CHECK(view.GetActiveLayout() == NULL);
-}
-
-static void UtcDaliItemViewGetItemAndGetItemId()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-
-  // Create a grid layout and add it to ItemView
-  GridLayoutPtr gridLayout = GridLayout::New();
-  view.AddLayout(*gridLayout);
-
-  // Activate the grid layout so that the items will be created and added to ItemView
-  Vector3 stageSize(Dali::Stage::GetCurrent().GetSize());
-  view.ActivateLayout(0, stageSize, 0.5f);
-
-  // Get the item given the item ID
-  Actor itemActor = view.GetItem(2);
-
-  // Check we are getting the correct Item ID given the specified actor
-  DALI_TEST_CHECK(view.GetItemId(itemActor) == 2);
-}
-
-static void UtcDaliItemViewRemoveItem()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-
-  // Create a grid layout and add it to ItemView
-  GridLayoutPtr gridLayout = GridLayout::New();
-  view.AddLayout(*gridLayout);
-
-  // Activate the grid layout so that the items will be created and added to ItemView
-  Vector3 stageSize(Dali::Stage::GetCurrent().GetSize());
-  view.ActivateLayout(0, stageSize, 0.5f);
-
-  // Get the item given the item ID 2 and 3
-  Actor oldItemActorID2 = view.GetItem(2);
-  Actor oldItemActorID3 = view.GetItem(3);
-
-  // Remove the item with ID 2
-  view.RemoveItem(2, 0.0f);
-
-  // Get the new item given the item ID 2
-  Actor newItemActorID2 = view.GetItem(2);
-
-  // Check the original item with item ID 2 was deleted and now item ID 2 represents the original item with ID 3
-  DALI_TEST_CHECK(view.GetItemId(newItemActorID2) == 2);
-  DALI_TEST_CHECK(oldItemActorID2 != newItemActorID2);
-  DALI_TEST_CHECK(newItemActorID2 = oldItemActorID3);
-}
-
-static void UtcDaliItemViewGetCurrentLayoutPosition()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-
-  // Create a grid layout and add it to ItemView
-  GridLayoutPtr gridLayout = GridLayout::New();
-  view.AddLayout(*gridLayout);
-
-  // Activate the grid layout so that the items will be created and added to ItemView
-  Vector3 stageSize(Dali::Stage::GetCurrent().GetSize());
-  view.ActivateLayout(0, stageSize, 0.0f);
-
-  // Check the current layout position for the 10th items is 9.0f
-  DALI_TEST_EQUALS(view.GetCurrentLayoutPosition(9), 9.0f, TEST_LOCATION );
-}
-
-static void UtcDaliItemViewSetAndGetMinimumSwipeSpeed()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-
-  // Set the minimum swipe speed to be 1.5f
-  view.SetMinimumSwipeSpeed(1.5f);
-
-  // Check the minimum swipe speed is 1.5f
-  DALI_TEST_EQUALS(view.GetMinimumSwipeSpeed(), 1.5f, TEST_LOCATION );
-}
-
-static void UtcDaliItemViewSetAndGetMinimumSwipeDistance()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-
-  // Set the minimum swipe distance to be 2.5f
-  view.SetMinimumSwipeDistance(2.5f);
-
-  // Check the minimum swipe distance is 2.5f
-  DALI_TEST_EQUALS(view.GetMinimumSwipeDistance(), 2.5f, TEST_LOCATION );
-}
-
-static void UtcDaliItemViewSetAndGetAnchoring()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-
-  // Disable the anchor animation
-  view.SetAnchoring(false);
-
-  // Check the anchor animation is disabled
-  DALI_TEST_CHECK(view.GetAnchoring() == false);
-}
-
-static void UtcDaliItemViewSetAndGetAnchoringDuration()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-
-  // Set the duration of anchor animation to be 1.5f
-  view.SetAnchoringDuration(1.5f);
-
-  // Check the duration of anchor animation is 1.5f
-  DALI_TEST_EQUALS(view.GetAnchoringDuration(), 1.5f, TEST_LOCATION );
-}
-
-static void UtcDaliItemViewSetAndGetRefreshInterval()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-
-  // Set the interval between refreshes to be 20
-  view.SetRefreshInterval(20);
-
-  // Check the interval between refreshes is 20
-  DALI_TEST_CHECK(view.GetRefreshInterval() == 20);
-}
-
-static void UtcDaliItemViewScrollToItem()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  GridLayoutPtr layout = GridLayout::New();
-
-  view.SetName("view actor");
-  view.AddLayout(*layout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  layout->SetOrientation(ControlOrientation::Up);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view.
-  std::vector<unsigned int> indices;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      indices.push_back(i);
-    }
-  }
-
-  try
-  {
-    if (!indices.empty())
-    {
-      const unsigned int firstTargetIndex = indices[indices.size()-1];
-      // scroll to last item
-      view.ScrollToItem(firstTargetIndex, 0.00f);
-      for(int i = 0; i < 10; ++i)
-      {
-        application.Render(16); // 60hz frames
-      }
-
-      std::size_t moveCount = 0;
-      for(std::size_t i = 0; i < indices.size(); i++)
-      {
-        float layoutPosBefore = view.GetCurrentLayoutPosition(i);
-        view.ScrollToItem(indices[i], 0.0f);
-        float layoutPosAfter = view.GetCurrentLayoutPosition(i);
-
-        if (fabs(layoutPosBefore-layoutPosAfter) <= FLT_EPSILON)
-        {
-          ++moveCount;
-        }
-      }
-
-      DALI_TEST_CHECK((moveCount == indices.size()));
-    }
-  }
-  catch(...)
-  {
-    tet_result(TET_FAIL);
-  }
-
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliItemViewSetAndGetMouseWheelScrollDistanceStep()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-
-  // Set the scroll distance step for the mouse wheel event to be 100.0f
-  view.SetMouseWheelScrollDistanceStep(100.0f);
-
-  // Check the scroll distance step is 100.0f
-  DALI_TEST_EQUALS(view.GetMouseWheelScrollDistanceStep(), 100.0f, TEST_LOCATION );
-}
diff --git a/automated-tests/TET/dali-test-suite/item-view/utc-Dali-NavigationLayout.cpp b/automated-tests/TET/dali-test-suite/item-view/utc-Dali-NavigationLayout.cpp
deleted file mode 100644 (file)
index 7f2a168..0000000
+++ /dev/null
@@ -1,616 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <float.h>       // for FLT_MAX
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-#include <dali-toolkit/public-api/controls/default-controls/solid-color-actor.h>
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-namespace
-{
-const unsigned int TOTAL_ITEM_NUMBER = 200;
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-// Implementation of ItemFactory for providing actors to ItemView
-class TestItemFactory : public ItemFactory
-{
-public:
-
-  /**
-   * Constructor
-   * @param application class, stored as reference
-   */
-  TestItemFactory()
-  {
-  }
-
-public: // From ItemFactory
-
-  /**
-   * Query the number of items available from the factory.
-   * The maximum available item has an ID of GetNumberOfItems() - 1.
-   */
-  virtual unsigned int GetNumberOfItems()
-  {
-    return TOTAL_ITEM_NUMBER;
-  }
-
-  /**
-   * Create an Actor to represent a visible item.
-   * @param itemId
-   * @return the created actor.
-   */
-  virtual Actor NewItem(unsigned int itemId)
-  {
-    // Create an test actor for this item
-    ImageActor actor = CreateSolidColorActor(Color::RED);
-    actor.SetSize(64.0f, 64.0f);
-
-    return actor;
-  }
-};
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliNavigationLayoutNew();
-static void UtcDaliNavigationLayoutColumns();
-static void UtcDaliNavigationLayoutSetGetOrientation();
-static void UtcDaliNavigationLayoutTestConstraintLeft();
-static void UtcDaliNavigationLayoutTestConstraintRight();
-static void UtcDaliNavigationLayoutTestConstraintUp();
-static void UtcDaliNavigationLayoutTestConstraintDown();
-static void UtcDaliNavigationLayoutScrollDirection();
-static void UtcDaliNavigationLayoutSetGetColumnSpacing();
-static void UtcDaliNavigationLayoutSetGetTopMargin();
-static void UtcDaliNavigationLayoutSetGetBottomMargin();
-static void UtcDaliNavigationLayoutSetGetScrollSpeedFactor();
-static void UtcDaliNavigationLayoutSetGetMaximumSwipeSpeed();
-static void UtcDaliNavigationLayoutSetAndGetItemFlickAnimationDuration();
-static void UtcDaliNavigationLayoutGetScrollToPosition();
-
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    {  UtcDaliNavigationLayoutNew, POSITIVE_TC_IDX },
-    {  UtcDaliNavigationLayoutColumns, POSITIVE_TC_IDX },
-    {  UtcDaliNavigationLayoutSetGetOrientation, POSITIVE_TC_IDX },
-    {  UtcDaliNavigationLayoutTestConstraintLeft, POSITIVE_TC_IDX },
-    {  UtcDaliNavigationLayoutTestConstraintRight, POSITIVE_TC_IDX },
-    {  UtcDaliNavigationLayoutTestConstraintUp, POSITIVE_TC_IDX },
-    {  UtcDaliNavigationLayoutTestConstraintDown, POSITIVE_TC_IDX },
-    {  UtcDaliNavigationLayoutScrollDirection, POSITIVE_TC_IDX },
-    {  UtcDaliNavigationLayoutSetGetColumnSpacing, POSITIVE_TC_IDX },
-    {  UtcDaliNavigationLayoutSetGetTopMargin, POSITIVE_TC_IDX },
-    {  UtcDaliNavigationLayoutSetGetBottomMargin, POSITIVE_TC_IDX },
-    {  UtcDaliNavigationLayoutSetGetScrollSpeedFactor, POSITIVE_TC_IDX },
-    {  UtcDaliNavigationLayoutSetGetMaximumSwipeSpeed, POSITIVE_TC_IDX },
-    {  UtcDaliNavigationLayoutSetAndGetItemFlickAnimationDuration, POSITIVE_TC_IDX },
-    {  UtcDaliNavigationLayoutGetScrollToPosition, POSITIVE_TC_IDX },
-    {  NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-
-// Positive test case for a method
-static void UtcDaliNavigationLayoutNew()
-{
-  ToolkitTestApplication application;
-
-  // Create a navigation layout
-  NavigationLayoutPtr navigationLayout = NavigationLayout::New();
-  navigationLayout->SetNumberOfColumns(6);
-  DALI_TEST_CHECK(navigationLayout);
-}
-
-static void UtcDaliNavigationLayoutColumns()
-{
-  ToolkitTestApplication application;
-  NavigationLayoutPtr navigationLayout = NavigationLayout::New();
-
-  navigationLayout->SetNumberOfColumns(6);
-  // Check whether we get the correct number of columns
-  DALI_TEST_CHECK(navigationLayout->GetNumberOfColumns() == 6);
-}
-
-static void UtcDaliNavigationLayoutSetGetOrientation()
-{
-  ToolkitTestApplication application;
-  NavigationLayoutPtr navigationLayout = NavigationLayout::New();
-
-  navigationLayout->SetNumberOfColumns(6);
-  navigationLayout->SetOrientation(ControlOrientation::Right);
-  DALI_TEST_CHECK(navigationLayout->GetOrientation() == ControlOrientation::Right);
-}
-
-static void UtcDaliNavigationLayoutTestConstraintLeft()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  NavigationLayoutPtr navigationLayout = NavigationLayout::New();
-  navigationLayout->SetNumberOfColumns(6);
-
-  view.SetName("view actor");
-  view.AddLayout(*navigationLayout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  navigationLayout->SetOrientation(ControlOrientation::Left);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view and all of them is positioned at X = 0
-  // and the series is monotonely decreasing.
-  int nonZeroXCount = 0;
-  int elementsFound = 0;
-  int wrongDirectionCount = 0;
-  float prevY = FLT_MAX;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      elementsFound++;
-      Vector3 pos = testActor.GetCurrentPosition();
-
-      if (pos.x != 0.0f)
-      {
-        nonZeroXCount++;
-      }
-
-      if (pos.y >= prevY)
-      {
-        wrongDirectionCount++;
-      }
-
-      prevY = pos.y;
-    }
-  }
-
-  DALI_TEST_CHECK((elementsFound > 0) && (nonZeroXCount == 0) && (wrongDirectionCount == 0));
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliNavigationLayoutTestConstraintRight()
-{
-  ToolkitTestApplication application;
-
-   // Create the ItemView actor
-   TestItemFactory factory;
-   ItemView view = ItemView::New(factory);
-   Vector3 vec(480.0f, 800.0f, 0.0f);
-   NavigationLayoutPtr navigationLayout = NavigationLayout::New();
-   navigationLayout->SetNumberOfColumns(6);
-
-   view.SetName("view actor");
-   view.AddLayout(*navigationLayout);
-   view.SetSize(vec);
-
-   Stage::GetCurrent().Add(view);
-   navigationLayout->SetOrientation(ControlOrientation::Right);
-   view.ActivateLayout(0, vec, 0.0f);
-
-   application.SendNotification();
-   application.Render(0);
-
-   // render 10 frames
-   for(int i = 0; i < 10; ++i)
-   {
-     application.Render(16); // 60hz frames
-   }
-
-   // Confirm: we have actors in the view and all of them is positioned at X = 0
-   // and the series is monotonely increasing.
-   int nonZeroXCount = 0;
-   int elementsFound = 0;
-   int wrongDirectionCount = 0;
-   float prevY = -FLT_MAX;
-   for(unsigned int i = 0; i < 10; i++)
-   {
-     Actor testActor = view.GetItem(i);
-     if (testActor)
-     {
-       elementsFound++;
-       Vector3 pos = testActor.GetCurrentPosition();
-
-       if (pos.x != 0.0f)
-       {
-         nonZeroXCount++;
-       }
-
-       if (pos.y <= prevY)
-       {
-         wrongDirectionCount++;
-       }
-
-       prevY = pos.y;
-     }
-   }
-
-   DALI_TEST_CHECK((elementsFound > 0) && (nonZeroXCount == 0) && (wrongDirectionCount == 0));
-   Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliNavigationLayoutTestConstraintUp()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  NavigationLayoutPtr navigationLayout = NavigationLayout::New();
-  navigationLayout->SetNumberOfColumns(6);
-
-  view.SetName("view actor");
-  view.AddLayout(*navigationLayout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  navigationLayout->SetOrientation(ControlOrientation::Up);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view and all of them is positioned at X = 0
-  // and the series is monotonely decreasing.
-  int nonZeroYCount = 0;
-  int elementsFound = 0;
-  int wrongDirectionCount = 0;
-  float prevX = -FLT_MAX;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      elementsFound++;
-      Vector3 pos = testActor.GetCurrentPosition();
-
-      if (pos.y != 0.0f)
-      {
-        nonZeroYCount++;
-      }
-
-      if (pos.x <= prevX)
-      {
-        wrongDirectionCount++;
-      }
-
-      prevX = pos.x;
-    }
-  }
-
-  DALI_TEST_CHECK((elementsFound > 0) && (nonZeroYCount == 0) && (wrongDirectionCount == 0));
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliNavigationLayoutTestConstraintDown()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  NavigationLayoutPtr navigationLayout = NavigationLayout::New();
-  navigationLayout->SetNumberOfColumns(6);
-
-  view.SetName("view actor");
-  view.AddLayout(*navigationLayout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  navigationLayout->SetOrientation(ControlOrientation::Down);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view and all of them is positioned at X = 0
-  // and the series is monotonely decreasing.
-  int nonZeroYCount = 0;
-  int elementsFound = 0;
-  int wrongDirectionCount = 0;
-  float prevX = FLT_MAX;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      elementsFound++;
-      Vector3 pos = testActor.GetCurrentPosition();
-
-      if (pos.y != 0.0f)
-      {
-        nonZeroYCount++;
-      }
-
-      if (pos.x > prevX)
-      {
-        wrongDirectionCount++;
-      }
-
-      prevX = pos.x;
-    }
-  }
-
-  DALI_TEST_CHECK((elementsFound > 0) && (nonZeroYCount == 0) && (wrongDirectionCount == 0));
-  Stage::GetCurrent().Remove(view);
-}
-
-
-static void UtcDaliNavigationLayoutScrollDirection()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  NavigationLayoutPtr navigationLayout = NavigationLayout::New();
-  navigationLayout->SetNumberOfColumns(6);
-
-  view.SetName("view actor");
-  view.AddLayout(*navigationLayout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  navigationLayout->SetOrientation(ControlOrientation::Left);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  ItemLayoutPtr layout = navigationLayout;
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  navigationLayout->SetOrientation(ControlOrientation::Up);
-  view.ActivateLayout(0, vec, 0.0f);
-  application.SendNotification();
-  application.Render();
-
-  Degree deg = layout->GetScrollDirection();
-  DALI_TEST_CHECK(deg == (180.0f - 45.0f));
-
-  navigationLayout->SetOrientation(ControlOrientation::Down);
-  view.ActivateLayout(0, vec, 0.0f);
-  application.SendNotification();
-  application.Render();
-
-  deg = layout->GetScrollDirection();
-  DALI_TEST_CHECK((deg == -45.0f));
-
-  layout->SetOrientation(ControlOrientation::Left);
-  view.ActivateLayout(0, vec, 0.0f);
-  application.SendNotification();
-  application.Render();
-
-  deg = layout->GetScrollDirection();
-  DALI_TEST_CHECK(deg == (270.0f - 45.0f));
-
-  navigationLayout->SetOrientation(ControlOrientation::Right);
-  view.ActivateLayout(0, vec, 0.0f);
-  application.SendNotification();
-  application.Render();
-
-  deg = layout->GetScrollDirection();
-  DALI_TEST_CHECK(deg == (90.0f - 45.0f));
-
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliNavigationLayoutSetGetColumnSpacing()
-{
-  ToolkitTestApplication application;
-  NavigationLayoutPtr navigationLayout = NavigationLayout::New();
-  const float testValue = 11.0f;
-
-  navigationLayout->SetNumberOfColumns(6);
-  navigationLayout->SetColumnSpacing(testValue);
-  DALI_TEST_CHECK(navigationLayout->GetColumnSpacing() == testValue);
-}
-
-static void UtcDaliNavigationLayoutSetGetTopMargin()
-{
-  ToolkitTestApplication application;
-  NavigationLayoutPtr navigationLayout = NavigationLayout::New();
-  const float testValue = 11.0f;
-
-  navigationLayout->SetNumberOfColumns(6);
-  navigationLayout->SetTopMargin(testValue);
-  DALI_TEST_CHECK(navigationLayout->GetTopMargin() == testValue);
-}
-
-static void UtcDaliNavigationLayoutSetGetBottomMargin()
-{
-  ToolkitTestApplication application;
-  NavigationLayoutPtr navigationLayout = NavigationLayout::New();
-  const float testValue = 12.0f;
-
-  navigationLayout->SetNumberOfColumns(6);
-  navigationLayout->SetBottomMargin(testValue);
-  DALI_TEST_CHECK(navigationLayout->GetBottomMargin() == testValue);
-}
-
-static void UtcDaliNavigationLayoutSetGetScrollSpeedFactor()
-{
-  ToolkitTestApplication application;
-  NavigationLayoutPtr navigationLayout = NavigationLayout::New();
-  const float testValue = 15.0f;
-
-  navigationLayout->SetNumberOfColumns(6);
-  navigationLayout->SetScrollSpeedFactor(testValue);
-  DALI_TEST_CHECK(navigationLayout->GetScrollSpeedFactor() == testValue);
-}
-
-static void UtcDaliNavigationLayoutSetGetMaximumSwipeSpeed()
-{
-  ToolkitTestApplication application;
-  NavigationLayoutPtr navigationLayout = NavigationLayout::New();
-  const float testValue = 10.0f;
-
-  navigationLayout->SetNumberOfColumns(6);
-  navigationLayout->SetMaximumSwipeSpeed(testValue);
-  DALI_TEST_CHECK(navigationLayout->GetMaximumSwipeSpeed() == testValue);
-}
-
-static void UtcDaliNavigationLayoutSetAndGetItemFlickAnimationDuration()
-{
-  ToolkitTestApplication application;
-
-  // Create a navigation layout
-  NavigationLayoutPtr navigationLayout = NavigationLayout::New();
-
-  // Set the flick animaiton duration
-  navigationLayout->SetItemFlickAnimationDuration(0.35f);
-
-  // Check whether we get the correct flick animaiton duration
-  DALI_TEST_EQUALS( navigationLayout->GetItemFlickAnimationDuration(), 0.35f, TEST_LOCATION );
-}
-
-static void UtcDaliNavigationLayoutGetScrollToPosition()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  NavigationLayoutPtr layout = NavigationLayout::New();
-
-  view.SetName("view actor");
-  view.AddLayout(*layout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  layout->SetOrientation(ControlOrientation::Up);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view.
-  std::vector<unsigned int> indices;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      indices.push_back(i);
-    }
-  }
-
-  try
-  {
-    if (!indices.empty())
-    {
-      const unsigned int firstTargetIndex = indices[indices.size()-1];
-      // scroll to last item
-      view.ScrollToItem(firstTargetIndex, 0.00f);
-      application.Render(16); // 60hz frames
-
-      std::size_t moveCount = 0;
-      for(std::size_t i = 0; i < indices.size(); i++)
-      {
-        float layoutPosBefore = view.GetCurrentLayoutPosition(i);
-        view.ScrollToItem(indices[i], 0.0f);
-
-        application.Render(16); // 60hz frame
-
-        float layoutPosAfter = view.GetCurrentLayoutPosition(i);
-
-        if (fabs(layoutPosBefore-layoutPosAfter) <= FLT_EPSILON)
-        {
-          ++moveCount;
-        }
-      }
-
-      DALI_TEST_CHECK((moveCount == indices.size()));
-    }
-  }
-  catch(...)
-  {
-    tet_result(TET_FAIL);
-  }
-
-  Stage::GetCurrent().Remove(view);
-}
diff --git a/automated-tests/TET/dali-test-suite/item-view/utc-Dali-RollLayout.cpp b/automated-tests/TET/dali-test-suite/item-view/utc-Dali-RollLayout.cpp
deleted file mode 100644 (file)
index 53c4e58..0000000
+++ /dev/null
@@ -1,471 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-namespace
-{
-const unsigned int TOTAL_ITEM_NUMBER = 200;
-
-Vector3 RollLayoutItemSizeFunction(float layoutWidth, float layoutHeight, float rowSpacing)
-{
-  float height = (layoutHeight - rowSpacing) * 0.5f;
-  return Vector3(layoutWidth, height, height);
-}
-
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-// Implementation of ItemFactory for providing actors to ItemView
-class TestItemFactory : public ItemFactory
-{
-public:
-
-  /**
-   * Constructor
-   */
-  TestItemFactory()
-  {
-  }
-
-public: // From ItemFactory
-
-  /**
-   * Query the number of items available from the factory.
-   * The maximum available item has an ID of GetNumberOfItems() - 1.
-   */
-  virtual unsigned int GetNumberOfItems()
-  {
-    return TOTAL_ITEM_NUMBER;
-  }
-
-  /**
-   * Create an Actor to represent a visible item.
-   * @param itemId
-   * @return the created actor.
-   */
-  virtual Actor NewItem(unsigned int itemId)
-  {
-    // Create an test actor for this item
-    ImageActor actor = CreateSolidColorActor(Color::RED);
-    actor.SetSize(64.0f, 64.0f);
-    return actor;
-  }
-};
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliRollLayoutNew();
-static void UtcDaliRollLayoutSetAndGetRowSpacing();
-static void UtcDaliRollLayoutSetAndGetItemSizeFunction();
-static void UtcDaliRollLayoutSetAndGetScrollSpeedFactor();
-static void UtcDaliRollLayoutSetAndGetMaximumSwipeSpeed();
-static void UtcDaliRollLayoutSetAndGetItemFlickAnimationDuration();
-static void UtcDaliRollLayoutConstraintLeft();
-static void UtcDaliRollLayoutConstraintRight();
-static void UtcDaliRollLayoutConstraintUp();
-static void UtcDaliRollLayoutConstraintDown();
-static void UtcDaliRollLayoutScrollDirection();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliRollLayoutNew, POSITIVE_TC_IDX },
-    { UtcDaliRollLayoutSetAndGetRowSpacing, POSITIVE_TC_IDX },
-    { UtcDaliRollLayoutSetAndGetItemSizeFunction, POSITIVE_TC_IDX },
-    { UtcDaliRollLayoutSetAndGetScrollSpeedFactor, POSITIVE_TC_IDX },
-    { UtcDaliRollLayoutSetAndGetMaximumSwipeSpeed, POSITIVE_TC_IDX },
-    { UtcDaliRollLayoutSetAndGetItemFlickAnimationDuration, POSITIVE_TC_IDX },
-    { UtcDaliRollLayoutConstraintLeft, POSITIVE_TC_IDX },
-    { UtcDaliRollLayoutConstraintRight, POSITIVE_TC_IDX },
-    { UtcDaliRollLayoutConstraintUp, POSITIVE_TC_IDX },
-    { UtcDaliRollLayoutConstraintDown, POSITIVE_TC_IDX },
-    { UtcDaliRollLayoutScrollDirection, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-
-static void UtcDaliRollLayoutNew()
-{
-  ToolkitTestApplication application;
-
-  // Create a roll layout
-  RollLayoutPtr rollLayout = RollLayout::New();
-
-  DALI_TEST_CHECK(rollLayout);
-}
-
-static void UtcDaliRollLayoutSetAndGetRowSpacing()
-{
-  ToolkitTestApplication application;
-
-  // Create a roll layout
-  RollLayoutPtr rollLayout = RollLayout::New();
-
-  // Set the row spacing
-  rollLayout->SetRowSpacing(10.0f);
-
-  // Check whether we get the correct row spacing
-  DALI_TEST_EQUALS(rollLayout->GetRowSpacing(), 10.0f, TEST_LOCATION );
-}
-
-static void UtcDaliRollLayoutSetAndGetItemSizeFunction()
-{
-  ToolkitTestApplication application;
-
-  // Create a roll layout
-  RollLayoutPtr rollLayout = RollLayout::New();
-
-  // Set the item size function
-  rollLayout->SetItemSizeFunction(RollLayoutItemSizeFunction);
-
-  // Check whether we get the correct item size function
-  DALI_TEST_CHECK(rollLayout->GetItemSizeFunction() == RollLayoutItemSizeFunction);
-}
-
-static void UtcDaliRollLayoutSetAndGetScrollSpeedFactor()
-{
-  ToolkitTestApplication application;
-
-  // Create a roll layout
-  RollLayoutPtr rollLayout = RollLayout::New();
-
-  // Set the scroll speed factor
-  rollLayout->SetScrollSpeedFactor(0.05f);
-
-  // Check whether we get the correct scroll speed factor
-  DALI_TEST_EQUALS(rollLayout->GetScrollSpeedFactor(), 0.05f, TEST_LOCATION );
-}
-
-static void UtcDaliRollLayoutSetAndGetMaximumSwipeSpeed()
-{
-  ToolkitTestApplication application;
-
-  // Create a roll layout
-  RollLayoutPtr rollLayout = RollLayout::New();
-
-  // Set the maximum swipe speed
-  rollLayout->SetMaximumSwipeSpeed(50.0f);
-
-  // Check whether we get the correct maximum swipe speed
-  DALI_TEST_EQUALS(rollLayout->GetMaximumSwipeSpeed(), 50.0f, TEST_LOCATION );
-}
-
-static void UtcDaliRollLayoutSetAndGetItemFlickAnimationDuration()
-{
-  ToolkitTestApplication application;
-
-  // Create a roll layout
-  RollLayoutPtr rollLayout = RollLayout::New();
-
-  // Set the flick animaiton duration
-  rollLayout->SetItemFlickAnimationDuration(0.35f);
-
-  // Check whether we get the correct flick animaiton duration
-  DALI_TEST_EQUALS( rollLayout->GetItemFlickAnimationDuration(), 0.35f, TEST_LOCATION );
-}
-
-static void UtcDaliRollLayoutConstraintLeft()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  RollLayoutPtr rollLayout = RollLayout::New();
-
-  view.SetName("view actor");
-  view.AddLayout(*rollLayout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  rollLayout->SetOrientation(ControlOrientation::Left);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view and they are positioned some distance from the origin.
-  int nonZeroCount = 0;
-  int elementsFound = 0;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      elementsFound++;
-      Vector3 pos = testActor.GetCurrentPosition();
-
-      if (pos.LengthSquared() > 0.0f)
-      {
-        nonZeroCount++;
-      }
-    }
-  }
-
-  DALI_TEST_CHECK((elementsFound > 0) && (nonZeroCount == elementsFound));
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliRollLayoutConstraintRight()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  RollLayoutPtr rollLayout = RollLayout::New();
-
-  view.SetName("view actor");
-  view.AddLayout(*rollLayout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  rollLayout->SetOrientation(ControlOrientation::Right);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view and they are positioned some distance from the origin.
-  int nonZeroCount = 0;
-  int elementsFound = 0;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      elementsFound++;
-      Vector3 pos = testActor.GetCurrentPosition();
-
-      if (pos.LengthSquared() > 0.0f)
-      {
-        nonZeroCount++;
-      }
-    }
-  }
-
-  DALI_TEST_CHECK((elementsFound > 0) && (nonZeroCount == elementsFound));
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliRollLayoutConstraintUp()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  RollLayoutPtr rollLayout = RollLayout::New();
-
-  view.SetName("view actor");
-  view.AddLayout(*rollLayout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  rollLayout->SetOrientation(ControlOrientation::Up);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view and they are positioned some distance from the origin.
-  int nonZeroCount = 0;
-  int elementsFound = 0;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      elementsFound++;
-      Vector3 pos = testActor.GetCurrentPosition();
-
-      if (pos.LengthSquared() > 0.0f)
-      {
-        nonZeroCount++;
-      }
-    }
-  }
-
-  DALI_TEST_CHECK((elementsFound > 0) && (nonZeroCount == elementsFound));
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliRollLayoutConstraintDown()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  RollLayoutPtr rollLayout = RollLayout::New();
-
-  view.SetName("view actor");
-  view.AddLayout(*rollLayout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  rollLayout->SetOrientation(ControlOrientation::Down);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view and they are positioned some distance from the origin.
-  int nonZeroCount = 0;
-  int elementsFound = 0;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      elementsFound++;
-      Vector3 pos = testActor.GetCurrentPosition();
-
-      if (pos.LengthSquared() > 0.0f)
-      {
-        nonZeroCount++;
-      }
-    }
-  }
-
-  DALI_TEST_CHECK((elementsFound > 0) && (nonZeroCount == elementsFound));
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliRollLayoutScrollDirection()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  RollLayoutPtr rollLayout = RollLayout::New();
-
-  view.SetName("view actor");
-  view.AddLayout(*rollLayout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  rollLayout->SetOrientation(ControlOrientation::Left);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  ItemLayoutPtr layout = rollLayout;
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  rollLayout->SetOrientation(ControlOrientation::Up);
-  view.ActivateLayout(0, vec, 0.0f);
-  application.SendNotification();
-  application.Render();
-
-  Degree deg = layout->GetScrollDirection();
-  DALI_TEST_CHECK(deg == 0.0f);
-
-  rollLayout->SetOrientation(ControlOrientation::Down);
-  view.ActivateLayout(0, vec, 0.0f);
-  application.SendNotification();
-  application.Render();
-
-  deg = layout->GetScrollDirection();
-  DALI_TEST_CHECK((deg == 180.0f));
-
-  layout->SetOrientation(ControlOrientation::Left);
-  view.ActivateLayout(0, vec, 0.0f);
-  application.SendNotification();
-  application.Render();
-
-  deg = layout->GetScrollDirection();
-  DALI_TEST_CHECK(deg == 90.f);
-
-  rollLayout->SetOrientation(ControlOrientation::Right);
-  view.ActivateLayout(0, vec, 0.0f);
-  application.SendNotification();
-  application.Render();
-
-  deg = layout->GetScrollDirection();
-  DALI_TEST_CHECK(deg == 270.0f);
-
-  Stage::GetCurrent().Remove(view);
-}
diff --git a/automated-tests/TET/dali-test-suite/item-view/utc-Dali-SpiralLayout.cpp b/automated-tests/TET/dali-test-suite/item-view/utc-Dali-SpiralLayout.cpp
deleted file mode 100644 (file)
index 57ba1fe..0000000
+++ /dev/null
@@ -1,606 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <float.h>       // for FLT_MAX
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-#include <dali-toolkit/public-api/controls/default-controls/solid-color-actor.h>
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-namespace
-{
-const unsigned int TOTAL_ITEM_NUMBER = 200;
-
-Vector3 SpiralLayoutItemSizeFunction(const Vector3& layoutSize)
-{
-  float width = layoutSize.width * 0.2f;
-  return Vector3(width, width, width);
-}
-
-float SpiralLayoutSpiralRadiusFunction(const Vector3& layoutSize)
-{
-  return layoutSize.width * 0.5f;
-}
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-// Implementation of ItemFactory for providing actors to ItemView
-class TestItemFactory : public ItemFactory
-{
-public:
-
-  /**
-   * Constructor
-   * @param application class, stored as reference
-   */
-  TestItemFactory()
-  {
-  }
-
-public: // From ItemFactory
-
-  /**
-   * Query the number of items available from the factory.
-   * The maximum available item has an ID of GetNumberOfItems() - 1.
-   */
-  virtual unsigned int GetNumberOfItems()
-  {
-    return TOTAL_ITEM_NUMBER;
-  }
-
-  /**
-   * Create an Actor to represent a visible item.
-   * @param itemId
-   * @return the created actor.
-   */
-  virtual Actor NewItem(unsigned int itemId)
-  {
-    // Create an test actor for this item
-    ImageActor actor = CreateSolidColorActor(Color::RED);
-    actor.SetSize(64.0f, 64.0f);
-
-    return actor;
-  }
-};
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliSpiralLayoutNew();
-static void UtcDaliSpiralSetAndGetItemSizeFunction();
-static void UtcDaliSpiralSetAndGetItemSpacing();
-static void UtcDaliSpiralSetAndGetRevolutionDistance();
-static void UtcDaliSpiralSetAndGetSpiralRadiusFunction();
-static void UtcDaliSpiralSetAndGetTopItemAlignment();
-static void UtcDaliSpiralSetAndGetScrollSpeedFactor();
-static void UtcDaliSpiralSetAndGetMaximumSwipeSpeed();
-static void UtcDaliSpiralLayoutSetAndGetItemFlickAnimationDuration();
-static void UtcDaliSpiralLayoutConstraintLeft();
-static void UtcDaliSpiralLayoutConstraintRight();
-static void UtcDaliSpiralLayoutConstraintUp();
-static void UtcDaliSpiralLayoutConstraintDown();
-static void UtcDaliSpiralLayoutGetScrollToPosition();
-static void UtcDaliSpiralLayoutScrollDirection();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliSpiralLayoutScrollDirection, POSITIVE_TC_IDX },
-    { UtcDaliSpiralLayoutNew, POSITIVE_TC_IDX },
-    { UtcDaliSpiralSetAndGetItemSizeFunction, POSITIVE_TC_IDX },
-    { UtcDaliSpiralSetAndGetItemSpacing, POSITIVE_TC_IDX },
-    { UtcDaliSpiralSetAndGetRevolutionDistance, POSITIVE_TC_IDX },
-    { UtcDaliSpiralSetAndGetSpiralRadiusFunction, POSITIVE_TC_IDX },
-    { UtcDaliSpiralSetAndGetTopItemAlignment, POSITIVE_TC_IDX },
-    { UtcDaliSpiralSetAndGetScrollSpeedFactor, POSITIVE_TC_IDX },
-    { UtcDaliSpiralSetAndGetMaximumSwipeSpeed, POSITIVE_TC_IDX },
-    { UtcDaliSpiralLayoutSetAndGetItemFlickAnimationDuration, POSITIVE_TC_IDX },
-    { UtcDaliSpiralLayoutConstraintLeft, POSITIVE_TC_IDX },
-    { UtcDaliSpiralLayoutConstraintRight, POSITIVE_TC_IDX },
-    { UtcDaliSpiralLayoutConstraintUp, POSITIVE_TC_IDX },
-    { UtcDaliSpiralLayoutConstraintDown, POSITIVE_TC_IDX },
-    { UtcDaliSpiralLayoutGetScrollToPosition, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliSpiralLayoutNew()
-{
-  ToolkitTestApplication application;
-
-  // Create a spiral layout
-  SpiralLayoutPtr spiralLayout = SpiralLayout::New();
-
-  DALI_TEST_CHECK(spiralLayout);
-}
-
-static void UtcDaliSpiralSetAndGetItemSizeFunction()
-{
-  ToolkitTestApplication application;
-
-  // Create a spiral layout
-  SpiralLayoutPtr spiralLayout = SpiralLayout::New();
-
-  // Set the item size function
-  spiralLayout->SetItemSizeFunction(SpiralLayoutItemSizeFunction);
-
-  // Check whether we get the correct item size function
-  DALI_TEST_CHECK(spiralLayout->GetItemSizeFunction() == SpiralLayoutItemSizeFunction);
-}
-
-static void UtcDaliSpiralSetAndGetItemSpacing()
-{
-  ToolkitTestApplication application;
-
-  // Create a spiral layout
-  SpiralLayoutPtr spiralLayout = SpiralLayout::New();
-
-  // Set the item spacing
-  spiralLayout->SetItemSpacing(Radian(0.6f));
-
-  // Check whether we get the correct item spacing
-  DALI_TEST_EQUALS(spiralLayout->GetItemSpacing(), 0.6f, TEST_LOCATION );
-}
-
-static void UtcDaliSpiralSetAndGetRevolutionDistance()
-{
-  ToolkitTestApplication application;
-
-  // Create a spiral layout
-  SpiralLayoutPtr spiralLayout = SpiralLayout::New();
-
-  // Set the revolution distance
-  spiralLayout->SetRevolutionDistance(150.0f);
-
-  // Check whether we get the correct revolution distance
-  DALI_TEST_EQUALS(spiralLayout->GetRevolutionDistance(), 150.0f, TEST_LOCATION );
-}
-
-static void UtcDaliSpiralSetAndGetSpiralRadiusFunction()
-{
-  ToolkitTestApplication application;
-
-  // Create a spiral layout
-  SpiralLayoutPtr spiralLayout = SpiralLayout::New();
-
-  // Set the spiral radius function
-  spiralLayout->SetSpiralRadiusFunction(SpiralLayoutSpiralRadiusFunction);
-
-  // Check whether we get the correct spiral radius function
-  DALI_TEST_CHECK(spiralLayout->GetSpiralRadiusFunction() == SpiralLayoutSpiralRadiusFunction);
-}
-
-static void UtcDaliSpiralSetAndGetTopItemAlignment()
-{
-  ToolkitTestApplication application;
-
-  // Create a spiral layout
-  SpiralLayoutPtr spiralLayout = SpiralLayout::New();
-
-  // Set the alignment of the top item
-  spiralLayout->SetTopItemAlignment(-0.25f);
-
-  // Check whether we get the correct alignment of the top item
-  DALI_TEST_EQUALS(spiralLayout->GetTopItemAlignment(), -0.25f, TEST_LOCATION );
-}
-
-static void UtcDaliSpiralSetAndGetScrollSpeedFactor()
-{
-  ToolkitTestApplication application;
-
-  // Create a spiral layout
-  SpiralLayoutPtr spiralLayout = SpiralLayout::New();
-
-  // Set the scroll speed factor
-  spiralLayout->SetScrollSpeedFactor(0.05f);
-
-  // Check whether we get the correct scroll speed factor
-  DALI_TEST_EQUALS(spiralLayout->GetScrollSpeedFactor(), 0.05f, TEST_LOCATION );
-}
-
-static void UtcDaliSpiralSetAndGetMaximumSwipeSpeed()
-{
-  ToolkitTestApplication application;
-
-  // Create a spiral layout
-  SpiralLayoutPtr spiralLayout = SpiralLayout::New();
-
-  // Set the maximum swipe speed
-  spiralLayout->SetMaximumSwipeSpeed(50.0f);
-
-  // Check whether we get the correct maximum swipe speed
-  DALI_TEST_EQUALS(spiralLayout->GetMaximumSwipeSpeed(), 50.0f, TEST_LOCATION );
-}
-
-static void UtcDaliSpiralLayoutSetAndGetItemFlickAnimationDuration()
-{
-  ToolkitTestApplication application;
-
-  // Create a spiral layout
-  SpiralLayoutPtr spiralLayout = SpiralLayout::New();
-
-  // Set the flick animaiton duration
-  spiralLayout->SetItemFlickAnimationDuration(0.35f);
-
-  // Check whether we get the correct flick animaiton duration
-  DALI_TEST_EQUALS( spiralLayout->GetItemFlickAnimationDuration(), 0.35f, TEST_LOCATION );
-}
-
-static void UtcDaliSpiralLayoutConstraintLeft()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  SpiralLayoutPtr layout = SpiralLayout::New();
-
-  view.SetName("view actor");
-  view.AddLayout(*layout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  layout->SetOrientation(ControlOrientation::Left);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view and they are positioned some distance from the origin.
-  int nonZeroCount = 0;
-  int elementsFound = 0;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      elementsFound++;
-      Vector3 pos = testActor.GetCurrentPosition();
-
-      if (pos.LengthSquared() > 0.0f)
-      {
-        nonZeroCount++;
-      }
-    }
-  }
-
-  DALI_TEST_CHECK((elementsFound > 0) && (nonZeroCount == elementsFound));
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliSpiralLayoutConstraintRight()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  SpiralLayoutPtr layout = SpiralLayout::New();
-
-  view.SetName("view actor");
-  view.AddLayout(*layout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  layout->SetOrientation(ControlOrientation::Right);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view and they are positioned some distance from the origin.
-  int nonZeroCount = 0;
-  int elementsFound = 0;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      elementsFound++;
-      Vector3 pos = testActor.GetCurrentPosition();
-
-      if (pos.LengthSquared() > 0.0f)
-      {
-        nonZeroCount++;
-      }
-    }
-  }
-
-  DALI_TEST_CHECK((elementsFound > 0) && (nonZeroCount == elementsFound));
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliSpiralLayoutConstraintUp()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  SpiralLayoutPtr layout = SpiralLayout::New();
-
-  view.SetName("view actor");
-  view.AddLayout(*layout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  layout->SetOrientation(ControlOrientation::Up);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view and they are positioned some distance from the origin.
-  int nonZeroCount = 0;
-  int elementsFound = 0;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      elementsFound++;
-      Vector3 pos = testActor.GetCurrentPosition();
-
-      if (pos.LengthSquared() > 0.0f)
-      {
-        nonZeroCount++;
-      }
-    }
-  }
-
-  DALI_TEST_CHECK((elementsFound > 0) && (nonZeroCount == elementsFound));
-
-  layout->GetClosestOnScreenLayoutPosition(0, 0.0f, vec);
-  int nextItem = layout->GetNextFocusItemID(0, 10, Dali::Toolkit::Control::Right, false);
-  DALI_TEST_CHECK(nextItem == 1);
-
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliSpiralLayoutConstraintDown()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  SpiralLayoutPtr layout = SpiralLayout::New();
-
-  view.SetName("view actor");
-  view.AddLayout(*layout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  layout->SetOrientation(ControlOrientation::Down);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view and they are positioned some distance from the origin.
-  int nonZeroCount = 0;
-  int elementsFound = 0;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      elementsFound++;
-      Vector3 pos = testActor.GetCurrentPosition();
-
-      if (pos.LengthSquared() > 0.0f)
-      {
-        nonZeroCount++;
-      }
-    }
-  }
-
-  DALI_TEST_CHECK((elementsFound > 0) && (nonZeroCount == elementsFound));
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliSpiralLayoutScrollDirection()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  SpiralLayoutPtr navigationLayout = SpiralLayout::New();
-
-  view.SetName("view actor");
-  view.AddLayout(*navigationLayout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  navigationLayout->SetOrientation(ControlOrientation::Left);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  ItemLayoutPtr layout = navigationLayout;
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  navigationLayout->SetOrientation(ControlOrientation::Up);
-  view.ActivateLayout(0, vec, 0.0f);
-  application.SendNotification();
-  application.Render();
-
-  Degree deg = layout->GetScrollDirection();
-  DALI_TEST_CHECK(deg == -45.0f);
-
-  navigationLayout->SetOrientation(ControlOrientation::Down);
-  view.ActivateLayout(0, vec, 0.0f);
-  application.SendNotification();
-  application.Render();
-
-  deg = layout->GetScrollDirection();
-  DALI_TEST_CHECK((deg == 180.0f - 45.0f));
-
-  layout->SetOrientation(ControlOrientation::Left);
-  view.ActivateLayout(0, vec, 0.0f);
-  application.SendNotification();
-  application.Render();
-
-  deg = layout->GetScrollDirection();
-  DALI_TEST_CHECK(deg == 45.0f);
-
-  navigationLayout->SetOrientation(ControlOrientation::Right);
-  view.ActivateLayout(0, vec, 0.0f);
-  application.SendNotification();
-  application.Render();
-
-  deg = layout->GetScrollDirection();
-  DALI_TEST_CHECK(deg == (270.0f - 45.0f));
-
-  Stage::GetCurrent().Remove(view);
-}
-
-static void UtcDaliSpiralLayoutGetScrollToPosition()
-{
-  ToolkitTestApplication application;
-
-  // Create the ItemView actor
-  TestItemFactory factory;
-  ItemView view = ItemView::New(factory);
-  Vector3 vec(480.0f, 800.0f, 0.0f);
-  SpiralLayoutPtr layout = SpiralLayout::New();
-
-  view.SetName("view actor");
-  view.AddLayout(*layout);
-  view.SetSize(vec);
-
-  Stage::GetCurrent().Add(view);
-  layout->SetOrientation(ControlOrientation::Up);
-  view.ActivateLayout(0, vec, 0.0f);
-
-  application.SendNotification();
-  application.Render(0);
-
-  // render 10 frames
-  for(int i = 0; i < 10; ++i)
-  {
-    application.Render(16); // 60hz frames
-  }
-
-  // Confirm: we have actors in the view.
-  std::vector<unsigned int> indices;
-  for(unsigned int i = 0; i < 10; i++)
-  {
-    Actor testActor = view.GetItem(i);
-    if (testActor)
-    {
-      indices.push_back(i);
-    }
-  }
-
-  try
-  {
-    if (!indices.empty())
-    {
-      const unsigned int firstTargetIndex = indices[indices.size()-1];
-      // scroll to last item
-      view.ScrollToItem(firstTargetIndex, 0.00f);
-      application.Render(16); // 60hz frames
-
-      std::size_t moveCount = 0;
-      for(std::size_t i = 0; i < indices.size(); i++)
-      {
-        float layoutPosBefore = view.GetCurrentLayoutPosition(i);
-        view.ScrollToItem(indices[i], 0.0f);
-
-        application.Render(16); // 60hz frame
-
-        float layoutPosAfter = view.GetCurrentLayoutPosition(i);
-
-        if (fabs(layoutPosBefore-layoutPosAfter) <= FLT_EPSILON)
-        {
-          ++moveCount;
-        }
-      }
-
-      DALI_TEST_CHECK((moveCount == indices.size()));
-    }
-  }
-  catch(...)
-  {
-    tet_result(TET_FAIL);
-  }
-
-  Stage::GetCurrent().Remove(view);
-}
diff --git a/automated-tests/TET/dali-test-suite/master-makefile.mk b/automated-tests/TET/dali-test-suite/master-makefile.mk
deleted file mode 100644 (file)
index fead8d1..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# Copyright (c) 2014 Samsung Electronics Co., Ltd.
-#
-# Licensed under the Flora License, Version 1.0 (the License);
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://floralicense.org/license/
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an AS IS BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-CC = g++
-
-TARGETS =
-include file.list
-
-PKGS = dali-core dali dali-toolkit dali-test-suite-utils
-include ../../rules.mk
-include ../../coverage.mk
-
-TOOLKIT_TEST_UTILS_DIR=../../dali-toolkit-test-utils/
-
-CXXFLAGS += -I$(TOOLKIT_TEST_UTILS_DIR)
-
-TOOLKIT_TEST_UTILS_SRC_FILES = \
-  $(TOOLKIT_TEST_UTILS_DIR)/toolkit-application.cpp \
-  $(TOOLKIT_TEST_UTILS_DIR)/toolkit-adaptor.cpp \
-  $(TOOLKIT_TEST_UTILS_DIR)/toolkit-clipboard-event-notifier.cpp \
-  $(TOOLKIT_TEST_UTILS_DIR)/toolkit-accessibility-manager.cpp \
-  $(TOOLKIT_TEST_UTILS_DIR)/toolkit-orientation.cpp \
-  $(TOOLKIT_TEST_UTILS_DIR)/toolkit-physical-keyboard.cpp \
-  $(TOOLKIT_TEST_UTILS_DIR)/toolkit-style-monitor.cpp \
-  $(TOOLKIT_TEST_UTILS_DIR)/toolkit-timer.cpp
-
-all: $(TARGETS)
-
-%: %.cpp $(TOOLKIT_TEST_UTILS_SRC_FILES)
-       $(CC) -o $@ $^ $(CXXFLAGS) $(LDFLAGS)
-
-clean:
-       @rm -f $(notdir $(TARGETS))
-       @rm -f tet_captured
-       @rm -f *~
-       @rm -f *.gcda *.gcno
-
-coverage:
-       @lcov --directory . -c -o dali.info
-       @lcov --remove dali.info "*boost*" "/usr/include/*" "*/automated-tests/*" -o dali.info
diff --git a/automated-tests/TET/dali-test-suite/navigation-frame/.gitignore b/automated-tests/TET/dali-test-suite/navigation-frame/.gitignore
deleted file mode 100644 (file)
index 00d2413..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-utc-Dali-NavigationControl
-utc-Dali-Page
diff --git a/automated-tests/TET/dali-test-suite/navigation-frame/Makefile b/automated-tests/TET/dali-test-suite/navigation-frame/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/navigation-frame/file.list b/automated-tests/TET/dali-test-suite/navigation-frame/file.list
deleted file mode 100644 (file)
index 20ceb42..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-TARGETS += \
-        utc-Dali-NavigationControl \
-        utc-Dali-Page \
diff --git a/automated-tests/TET/dali-test-suite/navigation-frame/tslist b/automated-tests/TET/dali-test-suite/navigation-frame/tslist
deleted file mode 100644 (file)
index 77cb9f4..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-/dali-test-suite/navigation-frame/utc-Dali-NavigationControl
-/dali-test-suite/navigation-frame/utc-Dali-Page
diff --git a/automated-tests/TET/dali-test-suite/navigation-frame/utc-Dali-NavigationControl.cpp b/automated-tests/TET/dali-test-suite/navigation-frame/utc-Dali-NavigationControl.cpp
deleted file mode 100644 (file)
index bc8ccb3..0000000
+++ /dev/null
@@ -1,388 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/dali.h>
-#include <dali-toolkit/dali-toolkit.h>
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-namespace
-{
-
-static bool gObjectCreatedCallBackCalled;
-static void TestCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-}
-
-}
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliNavigationControlNew();
-static void UtcDaliNavigationControlDownCast();
-static void UtcDaliNavigationControlPushItem();
-static void UtcDaliNavigationControlPopItem();
-static void UtcDaliNavigationControlGetItemCount();
-static void UtcDaliNavigationControlGetItem();
-static void UtcDaliNavigationControlGetCurrentItem();
-static void UtcDaliNavigationControlSetBackground();
-static void UtcDaliNavigationControlCreateNavigationToolBar();
-static void UtcDaliNavigationControlCreateNavigationTitleBar();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliNavigationControlNew, POSITIVE_TC_IDX },
-    { UtcDaliNavigationControlDownCast, POSITIVE_TC_IDX },
-    { UtcDaliNavigationControlPushItem, POSITIVE_TC_IDX },
-    { UtcDaliNavigationControlPopItem, POSITIVE_TC_IDX },
-    { UtcDaliNavigationControlGetItemCount, POSITIVE_TC_IDX },
-    { UtcDaliNavigationControlGetItem, POSITIVE_TC_IDX },
-    { UtcDaliNavigationControlGetCurrentItem, POSITIVE_TC_IDX },
-    { UtcDaliNavigationControlSetBackground, POSITIVE_TC_IDX },
-    { UtcDaliNavigationControlCreateNavigationToolBar, POSITIVE_TC_IDX },
-    { UtcDaliNavigationControlCreateNavigationTitleBar, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-
-static void UtcDaliNavigationControlNew()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliNavigationControlNew");
-
-  NavigationControl naviControl;
-  // Check that this handle is uninitialized
-  DALI_TEST_CHECK( !naviControl );
-
-  naviControl = NavigationControl::New();
-  // Check that the Dali resource is successfully created
-  DALI_TEST_CHECK( naviControl );
-
-  NavigationControl naviControl2( naviControl );
-  DALI_TEST_CHECK( naviControl2 == naviControl );
-
-  //Additional check to ensure object is created by checking whether it is registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect( TestCallback );
-  {
-    NavigationControl naviControl = NavigationControl::New();
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-}
-
-static void UtcDaliNavigationControlDownCast()
-{
-  ToolkitTestApplication application;
-  tet_infoline( "UtcDaliNavigationControlDownCast" );
-
-  NavigationControl naviControl = NavigationControl::New();
-  BaseHandle handle( naviControl );
-
-  NavigationControl newNaviControl = NavigationControl::DownCast( handle );
-  DALI_TEST_CHECK( naviControl );
-  DALI_TEST_CHECK( newNaviControl == naviControl );
-}
-
-static void UtcDaliNavigationControlPushItem()
-{
-  ToolkitTestApplication application;
-  tet_infoline( "UtcDaliNavigationControlPushItem" );
-
-  // Create a NavigationControl object, and add it to stage
-  NavigationControl naviControl = NavigationControl::New();
-  Stage::GetCurrent().Add(naviControl);
-  // Check there is no item in the stack
-  DALI_TEST_CHECK( naviControl.GetItemCount() == 0 );
-
-  // Create two NavigationItem objects
-  Page firstItem = Page::New();
-  Page secondItem = Page::New();
-
-  // Push the first item into stack
-  naviControl.PushItem( firstItem );
-  // Check the item count in stack
-  DALI_TEST_CHECK( naviControl.GetItemCount() == 1 );
-  // Check the current item
-  DALI_TEST_CHECK( naviControl.GetCurrentItem() == firstItem );
-  // Check that the newly pushed item is displayed on stage
-  DALI_TEST_CHECK( firstItem.OnStage() );
-
-  // Push the second item into stack
-  naviControl.PushItem( secondItem );
-  // Check the item count in stack
-  DALI_TEST_CHECK( naviControl.GetItemCount() == 2 );
-  // Check the current item
-  DALI_TEST_CHECK( naviControl.GetCurrentItem() == secondItem );
-  // Check the bottom item in the stack
-  DALI_TEST_CHECK( naviControl.GetItem(0) == firstItem );
-  // Check that the previous item is off stage
-  DALI_TEST_CHECK( !firstItem.OnStage() );
-  // Check that the newly pushed item is displayed on stage
-  DALI_TEST_CHECK( secondItem.OnStage() );
-
-  Page thirdItem;
-  Page fourthItem(secondItem);
-  naviControl.PushItem( thirdItem );
-  // Check that an uninitialized item cannot be pushed into the stack
-  DALI_TEST_CHECK( naviControl.GetItemCount() == 2 );
-  naviControl.PushItem( fourthItem );
-  // Check that an duplicated item with the current item cannot be pushed into the stack
-  DALI_TEST_CHECK( naviControl.GetItemCount() == 2 );
-  // Check that the current item and the item on the stage is still the secondItem
-  DALI_TEST_CHECK( naviControl.GetCurrentItem() == secondItem );
-  DALI_TEST_CHECK( secondItem.OnStage() );
-}
-
-static void UtcDaliNavigationControlPopItem()
-{
-  ToolkitTestApplication application;
-  tet_infoline( "UtcDaliNavigationControlPopItem" );
-
-  // Create a NavigationControl object, and add it to stage
-  NavigationControl naviControl = NavigationControl::New();
-  Stage::GetCurrent().Add(naviControl);
-  // Create three NavigationItem objects
-  Page firstItem = Page::New();
-  Page secondItem = Page::New();
-  Page thirdItem = Page::New();
-  naviControl.PushItem( firstItem );
-  naviControl.PushItem( secondItem );
-  naviControl.PushItem( thirdItem );
-
-  DALI_TEST_CHECK( naviControl.GetItemCount() == 3 );
-
-  // pop an item out from the stack
-  Page poppedItem = naviControl.PopItem();
-  // check that the item count is decrease by one
-  DALI_TEST_CHECK( naviControl.GetItemCount() == 2 );
-  // check that the item popped out is the thirdItem
-  DALI_TEST_CHECK( poppedItem == thirdItem );
-  // check that the item popped out is disappeared from the stage
-  DALI_TEST_CHECK( !poppedItem.OnStage() );
-  // check that the new top item is displayed on the stage
-  DALI_TEST_CHECK( secondItem.OnStage() );
-
-  // repeat the above steps again
-  poppedItem = naviControl.PopItem();
-  DALI_TEST_CHECK( naviControl.GetItemCount() == 1 );
-  DALI_TEST_CHECK( poppedItem == secondItem );
-  DALI_TEST_CHECK( !poppedItem.OnStage() );
-  DALI_TEST_CHECK( firstItem.OnStage() );
-
-  // check that the bottom-most item can not be popped out from the stack
-  poppedItem = naviControl.PopItem();
-  // when trying to pop the bottom-most item, it returns an uninitialized handle and does nothing else
-  DALI_TEST_CHECK( !poppedItem );
-  DALI_TEST_CHECK( naviControl.GetItemCount() == 1 );
-  DALI_TEST_CHECK( firstItem.OnStage() );
-}
-
-static void UtcDaliNavigationControlGetItemCount()
-{
-  ToolkitTestApplication application;
-  tet_infoline( "UtcDaliNavigationControlGetItemCount" );
-
-  // Create a NavigationControl object
-  NavigationControl naviControl = NavigationControl::New();
-  // Create three NavigationItem objects
-  Page firstItem = Page::New();
-  Page secondItem = Page::New();
-  Page thirdItem = Page::New();
-
-  DALI_TEST_CHECK( naviControl.GetItemCount() == 0 );
-  naviControl.PushItem( firstItem );
-  DALI_TEST_CHECK( naviControl.GetItemCount() == 1 );
-  naviControl.PushItem( secondItem );
-  DALI_TEST_CHECK( naviControl.GetItemCount() == 2 );
-  naviControl.PushItem( thirdItem );
-  DALI_TEST_CHECK( naviControl.GetItemCount() == 3 );
-  naviControl.PopItem();
-  DALI_TEST_CHECK( naviControl.GetItemCount() == 2 );
-  naviControl.PopItem();
-  DALI_TEST_CHECK( naviControl.GetItemCount() == 1 );
-}
-
-static void UtcDaliNavigationControlGetItem()
-{
-  ToolkitTestApplication application;
-  tet_infoline( "UtcDaliNavigationControlGetItem" );
-
-  // Create a NavigationControl object
-  NavigationControl naviControl = NavigationControl::New();
-  // Create three NavigationItem objects and push them into stack
-  Page firstItem = Page::New();
-  Page secondItem = Page::New();
-  Page thirdItem = Page::New();
-  naviControl.PushItem( firstItem );
-  naviControl.PushItem( secondItem );
-  naviControl.PushItem( thirdItem );
-
-  // check every item by get it by index
-  DALI_TEST_CHECK( naviControl.GetItem(0) == firstItem );
-  DALI_TEST_CHECK( naviControl.GetItem(1) == secondItem );
-  DALI_TEST_CHECK( naviControl.GetItem(2) == thirdItem);
-}
-
-static void UtcDaliNavigationControlGetCurrentItem()
-{
-  ToolkitTestApplication application;
-  tet_infoline( "UtcDaliNavigationControlGetCurrentItem" );
-
-  // Create a NavigationControl object
-  NavigationControl naviControl = NavigationControl::New();
-  // Create three NavigationItem objects
-  Page firstItem = Page::New();
-  Page secondItem = Page::New();
-  Page thirdItem = Page::New();
-
-  naviControl.PushItem( firstItem );
-  DALI_TEST_CHECK( naviControl.GetCurrentItem() == firstItem );
-  naviControl.PushItem( secondItem );
-  DALI_TEST_CHECK( naviControl.GetCurrentItem() == secondItem );
-  naviControl.PushItem( thirdItem );
-  DALI_TEST_CHECK( naviControl.GetCurrentItem() == thirdItem );
-  naviControl.PopItem();
-  DALI_TEST_CHECK( naviControl.GetCurrentItem() == secondItem );
-  naviControl.PopItem();
-  DALI_TEST_CHECK( naviControl.GetCurrentItem() == firstItem );
-}
-
-static void UtcDaliNavigationControlSetBackground()
-{
-  ToolkitTestApplication application;
-  tet_infoline( "UtcDaliNavigationControlSetBackground" );
-
-  try
-  {
-    NavigationControl naviControl = NavigationControl::New();
-    Stage::GetCurrent().Add( naviControl );
-
-    ImageActor background = CreateSolidColorActor( Color::RED );
-    naviControl.SetBackground( background );
-  }
-  catch (Dali::DaliException& e)
-  {
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_EQUALS(e.mCondition, "segmentIndex+1 < mKnots.size() && segmentIndex < mKnots.size()", TEST_LOCATION);
-    tet_result(TET_FAIL);
-  }
-
-  tet_result(TET_PASS);
-}
-
-static void UtcDaliNavigationControlCreateNavigationToolBar()
-{
-  ToolkitTestApplication application;
-  tet_infoline( "UtcDaliNavigationControlCreateNavigationToolBar" );
-
-  ImageActor background = CreateSolidColorActor( Color::RED );
-  Stage stage = Stage::GetCurrent();
-
-  NavigationControl naviControl = NavigationControl::New();
-  stage.Add( naviControl );
-
-  Toolkit::NaviToolBarStyle toolbarStyle( background, 720, 98, 496, 182, 72, 16, 63, 26);
-
-  naviControl.CreateNavigationToolBar( toolbarStyle, toolbarStyle);
-
-  Page naviItem = Page::New();
-  PushButton firstControl = PushButton::New();
-  naviItem.AddControlToToolBar(firstControl, Alignment::HorizontalLeft);
-  PushButton secondControl = PushButton::New();
-  naviItem.AddControlToToolBar(secondControl, Alignment::HorizontalCenter);
-  PushButton thirdControl = PushButton::New();
-  naviItem.AddControlToToolBar(thirdControl, Alignment::HorizontalCenter);
-  PushButton fourthControl = PushButton::New();
-  naviItem.AddControlToToolBar(fourthControl, Alignment::HorizontalRight);
-  PushButton fifthControl = PushButton::New();
-  naviItem.AddControlToToolBar(fifthControl, Alignment::HorizontalRight);
-
-  naviControl.PushItem( naviItem );
-
-  DALI_TEST_CHECK( firstControl.OnStage() );
-  // Can add multiple controls to the central group
-  DALI_TEST_CHECK( secondControl.OnStage() );
-  DALI_TEST_CHECK( thirdControl.OnStage() );
-  // Can only have one control in the side groups
-  DALI_TEST_CHECK( !fourthControl.OnStage() );
-  DALI_TEST_CHECK( fifthControl.OnStage() );
-
-}
-
-static void UtcDaliNavigationControlCreateNavigationTitleBar()
-{
-  ToolkitTestApplication application;
-  tet_infoline( "UtcDaliNavigationControlCreateNavigationTitleBar" );
-
-  ImageActor background = CreateSolidColorActor( Color::RED );
-  TextStyle textStyle;
-  Stage stage = Stage::GetCurrent();
-
-  NavigationControl naviControl = NavigationControl::New();
-  stage.Add( naviControl );
-
-  Toolkit::NaviTitleBarStyle titleBarStyle( background, textStyle, textStyle, 720, 111, 68, 48, 34, 16, 11, 45, 63, 26, 14, 22 );
-  naviControl.CreateNavigationTitleBar( titleBarStyle, titleBarStyle );
-
-  Page naviItem = Page::New();
-
-  PushButton firstControl = PushButton::New();
-  naviItem.AddControlToTitleBar( firstControl );
-  PushButton secondControl = PushButton::New();
-  naviItem.AddControlToTitleBar( secondControl );
-
-  Actor titleIcon = Actor::New();
-  naviItem.SetTitleIcon( titleIcon );
-
-  naviControl.PushItem( naviItem );
-
-  DALI_TEST_CHECK( firstControl.OnStage() );
-  DALI_TEST_CHECK( secondControl.OnStage() );
-  DALI_TEST_CHECK( titleIcon.OnStage() );
-}
diff --git a/automated-tests/TET/dali-test-suite/navigation-frame/utc-Dali-Page.cpp b/automated-tests/TET/dali-test-suite/navigation-frame/utc-Dali-Page.cpp
deleted file mode 100644 (file)
index ce7d214..0000000
+++ /dev/null
@@ -1,262 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/public-api/controls/navigation-frame/page.h>
-#include <dali-toolkit/public-api/controls/buttons/push-button.h>
-#include <dali-toolkit/public-api/controls/popup/popup.h>
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-namespace
-{
-
-static bool gObjectCreatedCallBackCalled;
-static void TestCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-}
-
-}
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliPageNew();
-static void UtcDaliPageDownCast();
-static void UtcDaliPageSetGetTitle();
-static void UtcDaliPageSetGetSubTitle();
-static void UtcDaliPageSetGetTitleIcon();
-static void UtcDaliPageAddGetToolBarControl();
-static void UtcDaliPageAddGetTitleBarControl();
-static void UtcDaliPageSetGetPopupMenu();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliPageNew, POSITIVE_TC_IDX },
-    { UtcDaliPageDownCast, POSITIVE_TC_IDX },
-    { UtcDaliPageSetGetTitle, POSITIVE_TC_IDX },
-    { UtcDaliPageSetGetSubTitle, POSITIVE_TC_IDX },
-    { UtcDaliPageSetGetTitleIcon, POSITIVE_TC_IDX },
-    { UtcDaliPageAddGetToolBarControl, POSITIVE_TC_IDX },
-    { UtcDaliPageAddGetTitleBarControl, POSITIVE_TC_IDX },
-    { UtcDaliPageSetGetPopupMenu, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-
-static void UtcDaliPageNew()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliPageNew");
-
-  Page naviItem;
-  // Check that this handle is uninitialized
-  DALI_TEST_CHECK( !naviItem );
-
-  naviItem = Page::New();
-  // Check that the Dali resource is successfully created
-  DALI_TEST_CHECK( naviItem );
-
-  Page naviItem2( naviItem );
-  DALI_TEST_CHECK( naviItem2 == naviItem );
-
-  // Additional check to ensure the object is created by checking whether it is registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect( TestCallback );
-  {
-    Page naviItem = Page::New();
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-}
-
-static void UtcDaliPageDownCast()
-{
-  ToolkitTestApplication application;
-  tet_infoline( "UtcDaliPageDownCast" );
-
-  Page naviItem = Page::New();
-  BaseHandle handle( naviItem );
-
-  Page newNaviItem = Page::DownCast( handle );
-  DALI_TEST_CHECK( naviItem );
-  DALI_TEST_CHECK( newNaviItem == naviItem );
-}
-
-static void UtcDaliPageSetGetTitle()
-{
-  ToolkitTestApplication application;
-  tet_infoline( "UtcDaliPageSetGetTitle" );
-
-  Page naviItem = Page::New();
-  DALI_TEST_CHECK( naviItem.GetTitle().empty() );
-
-  std::string str( "ItemTitle" );
-  naviItem.SetTitle( str );
-  DALI_TEST_CHECK( naviItem.GetTitle() == str );
-}
-
-static void UtcDaliPageSetGetSubTitle()
-{
-  ToolkitTestApplication application;
-  tet_infoline( "UtcDaliPageSetGetSubTitle" );
-
-  Page naviItem = Page::New();
-  DALI_TEST_CHECK( naviItem.GetSubTitle().empty() );
-
-  std::string str( "ItemSubTitle" );
-  naviItem.SetSubTitle( str );
-  DALI_TEST_CHECK( naviItem.GetSubTitle() == str );
-}
-
-static void UtcDaliPageSetGetTitleIcon()
-{
-  ToolkitTestApplication application;
-  tet_infoline( "UtcDaliPageSetGetTitleIcon" );
-
-  Page naviItem = Page::New();
-  DALI_TEST_CHECK( !naviItem.GetTitleIcon() );
-
-  Actor titleIcon = Actor::New();
-  naviItem.SetTitleIcon( titleIcon );
-  DALI_TEST_CHECK( naviItem.GetTitleIcon() == titleIcon );
-}
-
-static void UtcDaliPageAddGetToolBarControl()
-{
-  ToolkitTestApplication application;
-  tet_infoline( "UtcDaliPageAddGetToolBarControl" );
-
-  Page naviItem = Page::New();
-  Page::ControlOnBarContainer container = naviItem.GetControlsOnToolBar();
-  // Check that the container is empty in the beginning
-  DALI_TEST_CHECK( container.empty() );
-
-  // Add control, check whether adding successfully, also check the container size
-  PushButton firstControl = PushButton::New();
-  DALI_TEST_CHECK( naviItem.AddControlToToolBar(firstControl, Alignment::HorizontalLeft) );
-  container = naviItem.GetControlsOnToolBar();
-  DALI_TEST_CHECK( container.size() == 1 );
-
-  // Add control, check whether adding successfully, also check the container size
-  PushButton secondControl = PushButton::New();
-  DALI_TEST_CHECK( naviItem.AddControlToToolBar(secondControl, Alignment::HorizontalCenter) );
-  container = naviItem.GetControlsOnToolBar();
-  DALI_TEST_CHECK( container.size() == 2 );
-
-  // The control adding fails, as the alignment is not HorizontalLeft/HorizontalCenter/HorizontalRight
-  PushButton thirdControl = PushButton::New();
-  DALI_TEST_CHECK( !naviItem.AddControlToToolBar(thirdControl, Alignment::VerticalCenter) );
-  container = naviItem.GetControlsOnToolBar();
-  DALI_TEST_CHECK( container.size() == 2 );
-
-  // Add control, check whether adding successfully, also check the container size
-  PushButton fourthControl = PushButton::New();
-  DALI_TEST_CHECK( naviItem.AddControlToToolBar(fourthControl, Alignment::HorizontalRight) );
-  container = naviItem.GetControlsOnToolBar();
-  DALI_TEST_CHECK( container.size() == 3 );
-
-  // The control adding fails, as the control itself is uninitialized
-  PushButton fifthControl;
-  DALI_TEST_CHECK( !naviItem.AddControlToToolBar(fifthControl, Alignment::HorizontalCenter) );
-  container = naviItem.GetControlsOnToolBar();
-  DALI_TEST_CHECK( container.size() == 3 );
-
-  // check the content of the three successfully added ControlOnBar objects
-  DALI_TEST_CHECK( container[0]->control == firstControl );
-  DALI_TEST_CHECK( container[0]->alignment == Alignment::HorizontalLeft );
-  DALI_TEST_CHECK( container[1]->control == secondControl );
-  DALI_TEST_CHECK( container[1]->alignment == Alignment::HorizontalCenter );
-  DALI_TEST_CHECK( container[2]->control == fourthControl );
-  DALI_TEST_CHECK( container[2]->alignment == Alignment::HorizontalRight );
-}
-
-static void UtcDaliPageAddGetTitleBarControl()
-{
-  ToolkitTestApplication application;
-  tet_infoline( "UtcDaliPageAddGetTitleBarControl" );
-
-  Page naviItem = Page::New();
-  ActorContainer container = naviItem.GetControlsOnTitleBar();
-  // Check that the container is empty in the beginning
-  DALI_TEST_CHECK( container.empty() );
-
-  // Add control, check whether adding successfully, also check the container size
-  PushButton firstControl = PushButton::New();
-  DALI_TEST_CHECK( naviItem.AddControlToTitleBar(firstControl) );
-  container = naviItem.GetControlsOnTitleBar();
-  DALI_TEST_CHECK( container.size() == 1 );
-
-  // The control adding fails, as the control itself is uninitialized
-  PushButton secondControl;
-  DALI_TEST_CHECK( !naviItem.AddControlToTitleBar(secondControl) );
-  container = naviItem.GetControlsOnTitleBar();
-  DALI_TEST_CHECK( container.size() == 1 );
-
-  // Add control, check whether adding successfully, also check the container size
-  PushButton thirdControl = PushButton::New();
-  DALI_TEST_CHECK( naviItem.AddControlToTitleBar(thirdControl) );
-  container = naviItem.GetControlsOnTitleBar();
-  DALI_TEST_CHECK( container.size() == 2 );
-
-  // check the content of the three successfully added Controls
-  DALI_TEST_CHECK( container[0] == firstControl );
-  DALI_TEST_CHECK( container[1] == thirdControl );
-}
-
-static void UtcDaliPageSetGetPopupMenu()
-{
-  ToolkitTestApplication application;
-  tet_infoline( "UtcDaliPageSetGetPopupMenu" );
-
-  Page naviItem = Page::New();
-  DALI_TEST_CHECK( !naviItem.GetPopupMenu() );
-
-  Toolkit::Popup menu = Toolkit::Popup::New();
-  naviItem.SetPopupMenu( menu );
-  DALI_TEST_CHECK( menu == naviItem.GetPopupMenu() );
-}
diff --git a/automated-tests/TET/dali-test-suite/page-turn-view/.gitignore b/automated-tests/TET/dali-test-suite/page-turn-view/.gitignore
deleted file mode 100644 (file)
index eb12504..0000000
+++ /dev/null
@@ -1 +0,0 @@
-utc-Dali-PageTurnView
diff --git a/automated-tests/TET/dali-test-suite/page-turn-view/Makefile b/automated-tests/TET/dali-test-suite/page-turn-view/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/page-turn-view/file.list b/automated-tests/TET/dali-test-suite/page-turn-view/file.list
deleted file mode 100644 (file)
index dfbf699..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGETS += \
-        utc-Dali-PageTurnView \
diff --git a/automated-tests/TET/dali-test-suite/page-turn-view/tslist b/automated-tests/TET/dali-test-suite/page-turn-view/tslist
deleted file mode 100644 (file)
index adceb9d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/dali-test-suite/page-turn-view/utc-Dali-PageTurnView
diff --git a/automated-tests/TET/dali-test-suite/page-turn-view/utc-Dali-PageTurnView.cpp b/automated-tests/TET/dali-test-suite/page-turn-view/utc-Dali-PageTurnView.cpp
deleted file mode 100644 (file)
index ba60f10..0000000
+++ /dev/null
@@ -1,664 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <string.h>
-#include <sstream>
-
-#include <dali/public-api/dali-core.h>
-
-#include <dali-toolkit/public-api/controls/page-turn-view/page-turn-view.h>
-#include <dali-toolkit/public-api/controls/page-turn-view/page-factory.h>
-#include <dali-toolkit/public-api/controls/page-turn-view/page-turn-portrait-view.h>
-#include <dali-toolkit/public-api/controls/page-turn-view/page-turn-landscape-view.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-namespace
-{
-const int RENDER_FRAME_INTERVAL = 16;                           ///< Duration of each frame in ms. (at approx 60FPS)
-const unsigned int TOTAL_PAGE_NUMBER = 20;
-const Vector2 PAGE_SIZE( 300.f,400.f );
-const unsigned int IMAGE_WIDTH = 30;
-const unsigned int IMAGE_HEIGHT = 30;
-const Vector2 IMAGE_SIZE( static_cast<float>( IMAGE_WIDTH ), static_cast<float>(IMAGE_HEIGHT) );
-const Vector2 SPINE_SHADOW_PARAMETER( 60.0f, 30.0f );
-
-static bool gObjectCreatedCallBackCalled;
-static void TestCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-}
-
-/*
- * Simulate time passed by.
- *
- * @note this will always process at least 1 frame (1/60 sec)
- *
- * @param application Test application instance
- * @param duration Time to pass in milliseconds.
- * @return The actual time passed in milliseconds
- */
-int Wait(ToolkitTestApplication& application, int duration = 0)
-{
-  int time = 0;
-
-  for(int i = 0; i <= ( duration / RENDER_FRAME_INTERVAL); i++)
-  {
-    application.SendNotification();
-    application.Render(RENDER_FRAME_INTERVAL);
-    time += RENDER_FRAME_INTERVAL;
-  }
-
-  return time;
-}
-
-// Generate a PanGestureEvent to send to Core
-Integration::PanGestureEvent GeneratePan(
-    Gesture::State state,
-    const Vector2& previousPosition,
-    const Vector2& currentPosition,
-    unsigned long timeDelta,
-    unsigned int numberOfTouches = 1)
-{
-  Integration::PanGestureEvent pan(state);
-
-  pan.previousPosition = previousPosition;
-  pan.currentPosition = currentPosition;
-  pan.timeDelta = timeDelta;
-  pan.numberOfTouches = numberOfTouches;
-
-  return pan;
-}
-
-/**
- * Helper to generate PanGestureEvent
- *
- * @param[in] application Application instance
- * @param[in] state The Gesture State
- * @param[in] pos The current position of touch.
- */
-static void SendPan(ToolkitTestApplication& application, Gesture::State state, const Vector2& pos)
-{
-  static Vector2 last;
-
-  if( (state == Gesture::Started) ||
-      (state == Gesture::Possible) )
-  {
-    last.x = pos.x;
-    last.y = pos.y;
-  }
-
-  application.ProcessEvent(GeneratePan(state, last, pos, RENDER_FRAME_INTERVAL));
-
-  last.x = pos.x;
-  last.y = pos.y;
-}
-
-static Vector2 PerformGestureDiagonalSwipe(ToolkitTestApplication& application, Vector2 start, Vector2 direction, int frames, bool toStart = true, bool toFinish = true)
-{
-  // Now do a pan starting from (start) and heading (direction)
-  Vector2 pos(start);
-
-  if( toStart )
-  {
-    SendPan(application, Gesture::Possible, pos);
-    Wait(application);
-    SendPan(application, Gesture::Started, pos);
-    Wait(application);
-  }
-
-  for(int i = 0;i<frames;i++)
-  {
-    pos += direction; // Move in this direction
-    SendPan(application, Gesture::Continuing, pos);
-    Wait(application);
-  }
-
-  if(toFinish)
-  {
-    pos += direction; // Move in this direction
-    SendPan(application, Gesture::Finished, pos);
-    Wait(application);
-  }
-
-  return pos;
-}
-
-ImageActor CreateSolidColorImageActor( ToolkitTestApplication& application, const Vector4& color, unsigned int width, unsigned int height )
-{
-  BitmapImage imageData = BitmapImage::New( width, height, Pixel::RGBA8888 );
-  ImageActor imageActor = ImageActor::New( imageData );
-  Stage::GetCurrent().Add( imageActor );
-
-  // Create the image
-  PixelBuffer* pixbuf = imageData.GetBuffer();
-  unsigned int size = width * height;
-
-  for( size_t i = 0; i < size; i++ )
-    {
-      pixbuf[i*4+0] = 0xFF * color.r;
-      pixbuf[i*4+1] = 0xFF * color.g;
-      pixbuf[i*4+2] = 0xFF * color.b;
-      pixbuf[i*4+3] = 0xFF * color.a;
-    }
-  imageData.Update();
-
-  application.GetGlAbstraction().SetCheckFramebufferStatusResult(GL_FRAMEBUFFER_COMPLETE );
-  application.SendNotification();
-  application.Render(RENDER_FRAME_INTERVAL);
-  application.Render(RENDER_FRAME_INTERVAL);
-  application.SendNotification();
-
-  return imageActor;
-}
-
-//Functor to test whether PageTurnSignal / PagePanSignal is emitted
-class PageSignalCallback : public Dali::ConnectionTracker
-{
-public:
-
-  PageSignalCallback( bool& signalReceived, PageTurnView& view, unsigned int& pageIndex, bool& isForwards )
-  : mSignalVerified( signalReceived ),
-    mView( view ),
-    mPageIndex( pageIndex ),
-    mIsTurningForwards( isForwards )
-  {
-  }
-
-  // callback to be connected to PageTurnSignal
-  void PageTurnSignalCallback( PageTurnView view, unsigned int pageIndex, bool isTurningForward )
-  {
-    tet_infoline( "Verifying PageTurnedSignal" );
-
-    if( mView == view && mPageIndex == pageIndex && mIsTurningForwards == isTurningForward )
-    {
-      mSignalVerified = true;
-    }
-  }
-
-  // callback to be connected to PagePanSignal
-  void PagePanSignalCallback( PageTurnView view )
-  {
-    tet_infoline( "Verifying PagePannedSignal" );
-
-    if( mView == view )
-    {
-      mSignalVerified = true;
-    }
-  }
-
-  void Reset()
-  {
-    mSignalVerified = false;
-  }
-
-  bool&         mSignalVerified;
-  PageTurnView& mView;
-  unsigned int& mPageIndex;
-  bool&         mIsTurningForwards;
-
-};
-
-}// namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliPageTurnPortraitViewNew, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPageTurnLandscapeViewNew, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPageTurnViewSetAndGetSpineShadowParameter, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPageTurnViewGoToPageAndGetCurrentPage, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPageTurnViewEnterLeaveEditMode, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPageTurnViewGetHitActor, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPageTurnViewRefresh, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPageTurnViewSignals, POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-//Implementation of PageFactory for providing page actors to PageTurnView
-class TestPageFactory : public PageFactory
-{
-public:
-
-  TestPageFactory(ToolkitTestApplication& application)
-  : mApplication( application )
-  {
-    mSourceActors.resize(TOTAL_PAGE_NUMBER);
-    mTotalPageNumber = TOTAL_PAGE_NUMBER;
-  }
-
-  /**
-   * Query the number of pages available from the factory.
-   * The maximum available page has an ID of GetNumberOfPages()-1.
-   */
-  virtual unsigned int GetNumberOfPages()
-  {
-    return mTotalPageNumber;
-  }
-
-  /**
-   * Create an image actor to represent a page.
-   * @param[in] pageId The ID of the page to create.
-   * @return An image actor, or an uninitialized pointer if the ID is out of range.
-   */
-  virtual Actor NewPage( unsigned int pageId )
-  {
-    if(!mSourceActors[pageId])
-    {
-      Actor actor = CreateSolidColorImageActor(mApplication, Color::BLUE,IMAGE_WIDTH,IMAGE_HEIGHT);
-      actor.SetName( static_cast<std::ostringstream*>( &(std::ostringstream() << pageId) )->str()  );
-
-      actor.SetParentOrigin( ParentOrigin::CENTER );
-      actor.SetAnchorPoint( AnchorPoint::CENTER );
-
-      SetActorHittability( actor, true );
-
-      mSourceActors[pageId] = actor;
-    }
-
-    return mSourceActors[pageId];
-  }
-
-  void DeletePage( unsigned int pageId )
-  {
-    mSourceActors.erase( mSourceActors.begin() + pageId );
-    mTotalPageNumber--;
-  }
-
-private:
-  ToolkitTestApplication& mApplication;
-  std::vector<Actor>      mSourceActors;
-  unsigned int            mTotalPageNumber;
-};
-
-
-static void UtcDaliPageTurnPortraitViewNew()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliPageTurnViewNew ");
-
-  // Test default constructor
-  PageTurnView portraitView;
-  DALI_TEST_CHECK( !portraitView );
-
-  // Test object creation
-  TestPageFactory factory(application);
-  portraitView = PageTurnPortraitView::New( factory, PAGE_SIZE );
-  DALI_TEST_CHECK( portraitView );
-
-  //Additional check to ensure object is created by checking if it's registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect( &TestCallback );
-  {
-    TestPageFactory factory(application);
-    PageTurnView PortraitView = PageTurnPortraitView::New( factory, PAGE_SIZE );
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-
-  // Test copy constructor
-  PageTurnView viewCopy( portraitView );
-  DALI_TEST_CHECK( viewCopy );
-
-  // Test down cast
-  Handle handleView;
-  handleView = portraitView;
-  PageTurnView downCastView = PageTurnView::DownCast( handleView );
-  DALI_TEST_CHECK( downCastView );
-}
-
-static void UtcDaliPageTurnLandscapeViewNew()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliPageTurnViewNew ");
-
-  //Test default constructor
-  PageTurnView landscapeView;
-  DALI_TEST_CHECK( !landscapeView );
-
-  // Test object creation
-  TestPageFactory factory(application);
-  landscapeView = PageTurnLandscapeView::New( factory, PAGE_SIZE );
-  DALI_TEST_CHECK( landscapeView );
-
-  //Additional check to ensure object is created by checking if it's registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect( &TestCallback );
-  {
-    TestPageFactory factory(application);
-    PageTurnView landscapeView = PageTurnLandscapeView::New( factory, PAGE_SIZE );
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-
-  // Test copy constructor
-  PageTurnView viewCopy( landscapeView );
-  DALI_TEST_CHECK( viewCopy );
-
-  // Test down cast
-  Handle handleView;
-  handleView = landscapeView;
-  PageTurnView downCastView = PageTurnView::DownCast( handleView );
-  DALI_TEST_CHECK( downCastView );
-
-}
-
-static void UtcDaliPageTurnViewSetAndGetSpineShadowParameter()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliPageTurnViewSetAndGetSpineShadowParameter ");
-
-  TestPageFactory factory(application);
-  PageTurnView landscapeView = PageTurnLandscapeView::New( factory, PAGE_SIZE );
-  DALI_TEST_CHECK( landscapeView.GetSpineShadowParameter() !=  SPINE_SHADOW_PARAMETER);
-  landscapeView.SetSpineShadowParameter(SPINE_SHADOW_PARAMETER);
-  DALI_TEST_CHECK( landscapeView.GetSpineShadowParameter() ==  SPINE_SHADOW_PARAMETER);
-}
-
-static void UtcDaliPageTurnViewGoToPageAndGetCurrentPage()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliPageTurnViewGoToPageAndGetCurrentPage ");
-
-  TestPageFactory factory(application);
-  PageTurnView portraitView = PageTurnPortraitView::New( factory, PAGE_SIZE );
-  DALI_TEST_CHECK( portraitView.GetCurrentPage() == 0 );
-
-  portraitView.GoToPage( 10 );
-  DALI_TEST_CHECK( portraitView.GetCurrentPage() == 10 );
-
-  portraitView.GoToPage( 5 );
-  DALI_TEST_CHECK( portraitView.GetCurrentPage() == 5 );
-}
-
-static void UtcDaliPageTurnViewEnterLeaveEditMode()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline( " UtcDaliPageTurnViewEnterLeaveEditMode " );
-
-  TestPageFactory factory(application);
-  factory.EnableOffscreenRendering( );
-
-  PageTurnView pageTurnView = PageTurnLandscapeView::New( factory, PAGE_SIZE );
-  pageTurnView.SetPositionInheritanceMode( USE_PARENT_POSITION );
-  Stage::GetCurrent().Add( pageTurnView );
-
-  Vector2 size = Stage::GetCurrent().GetSize();
-
-  pageTurnView.GoToPage(5);
-
-  // Render and notify
-  application.SendNotification();
-  application.Render(RENDER_FRAME_INTERVAL);
-
-  Actor actor = pageTurnView.EnterEditMode();
-  // Test that when entering edit mode, current page source actor is returned.
-  unsigned int pageId;
-  std::istringstream( actor.GetName() ) >> pageId;
-  DALI_TEST_CHECK( pageId == 5 );
-
-  bool signalVerified;
-  PageTurnView currentView;
-  unsigned int pageIndex;
-  bool isTurningForwards;
-  PageSignalCallback callbackPanStarted( signalVerified, currentView, pageIndex, isTurningForwards );
-  pageTurnView.PagePanStartedSignal().Connect( &callbackPanStarted, &PageSignalCallback::PagePanSignalCallback );
-
-  currentView = pageTurnView;
-  pageIndex = 5;
-  DALI_TEST_CHECK( !callbackPanStarted.mSignalVerified );
-
-  // Test that the control does not receive pan gesture in edit-mode
-  PerformGestureDiagonalSwipe( application, Vector2(size*0.75f), Vector2(size*0.01f), 10, true, true);
-  DALI_TEST_CHECK( !callbackPanStarted.mSignalVerified );
-
-  pageTurnView.LeaveEditMode();
-  // Test that the control receives pan gesture after leaving edit-mode
-  PerformGestureDiagonalSwipe( application, Vector2(size*0.75f), Vector2(size*0.01f), 10, true, true);
-  DALI_TEST_CHECK( callbackPanStarted.mSignalVerified );
-}
-
-static void UtcDaliPageTurnViewGetHitActor()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliPageTurnViewGetHitActor ");
-
-  TestPageFactory factory(application);
-  factory.EnableOffscreenRendering( );
-
-  PageTurnView pageTurnView = PageTurnPortraitView::New( factory, PAGE_SIZE );
-  pageTurnView.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  pageTurnView.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  Stage::GetCurrent().Add( pageTurnView );
-
-  // Render and notify
-  application.SendNotification();
-  application.Render(RENDER_FRAME_INTERVAL);
-
-  pageTurnView.GoToPage(3);
-
-  Vector2 localCoordinate = Vector2();
-  Vector2 screenCoordinate = PAGE_SIZE*0.5f+Vector2(7.f,8.f);
-  Actor hitActor = pageTurnView.GetHitActor( screenCoordinate, localCoordinate );
-  DALI_TEST_CHECK( hitActor );
-  unsigned int pageId;
-  std::istringstream( hitActor.GetName() ) >> pageId;
-  DALI_TEST_CHECK( pageId == 3 );
-  DALI_TEST_EQUALS(  localCoordinate, IMAGE_SIZE*0.5f+Vector2(7.f,8.f), 0.1f, TEST_LOCATION  );
-
-  screenCoordinate = PAGE_SIZE*0.5f+IMAGE_SIZE;
-  hitActor = pageTurnView.GetHitActor( screenCoordinate, localCoordinate );
-  DALI_TEST_CHECK( !hitActor );
-}
-
-static void UtcDaliPageTurnViewRefresh()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliPageTurnViewRefresh ");
-
-  TestPageFactory factory(application);
-  factory.EnableOffscreenRendering( );
-  PageTurnView pageTurnView = PageTurnPortraitView::New( factory, PAGE_SIZE );
-  pageTurnView.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  pageTurnView.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  Stage::GetCurrent().Add( pageTurnView );
-
-  // Render and notify
-  application.SendNotification();
-  application.Render(RENDER_FRAME_INTERVAL);
-  application.Render(RENDER_FRAME_INTERVAL);
-  application.SendNotification();
-
-  factory.DeletePage( 0 );
-
-  pageTurnView.RefreshCurrentPage();
-  // simply calls the certain off screen render task to refresh
-  Vector2 localCoordinate = Vector2();
-  Vector2 screenCoordinate = PAGE_SIZE*0.5f;
-  Actor hitActor = pageTurnView.GetHitActor( screenCoordinate, localCoordinate );
-  unsigned int pageId;
-  std::istringstream( hitActor.GetName() ) >> pageId;
-  DALI_TEST_CHECK( pageId == 0 );
-
-  pageTurnView.RefreshAll();
-  // re-parent all the source actors and refresh
-  hitActor = pageTurnView.GetHitActor( screenCoordinate, localCoordinate );
-  std::istringstream( hitActor.GetName() ) >> pageId;
-  DALI_TEST_CHECK( pageId == 1 );
-}
-
-static void UtcDaliPageTurnViewSignals()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliPageTurnViewSignals ");
-
-  TestPageFactory factory(application);
-  Vector2 size = Stage::GetCurrent().GetSize();
-  PageTurnView portraitView = PageTurnPortraitView::New( factory, size );
-  portraitView.SetPositionInheritanceMode( USE_PARENT_POSITION );
-  Stage::GetCurrent().Add( portraitView );
-
-  // Render and notify
-  application.SendNotification();
-  application.Render(RENDER_FRAME_INTERVAL);
-
-  // [0]: testing PageTurnStartedSignal;  [1]: testing PageTurnFinishedSignal
-  // [2]: testing PagePanStartedSignal;   [3]: testing PagePanFinishedSignal
-  bool signalVerified[4];
-  PageTurnView currentView;
-  unsigned int pageIndex;
-  bool isTurningForwards;
-
-  PageSignalCallback callbackTurnStarted( signalVerified[0], currentView, pageIndex, isTurningForwards );
-  portraitView.PageTurnStartedSignal().Connect( &callbackTurnStarted, &PageSignalCallback::PageTurnSignalCallback );
-
-  PageSignalCallback callbackTurnFinished( signalVerified[1], currentView, pageIndex, isTurningForwards );
-  portraitView.PageTurnFinishedSignal().Connect( &callbackTurnFinished, &PageSignalCallback::PageTurnSignalCallback );
-
-  PageSignalCallback callbackPanStarted( signalVerified[2], currentView, pageIndex, isTurningForwards );
-  portraitView.PagePanStartedSignal().Connect( &callbackPanStarted, &PageSignalCallback::PagePanSignalCallback );
-
-  PageSignalCallback callbackPanFinished( signalVerified[3], currentView, pageIndex, isTurningForwards );
-  portraitView.PagePanFinishedSignal().Connect( &callbackPanFinished, &PageSignalCallback::PagePanSignalCallback );
-
-  DALI_TEST_CHECK( !callbackTurnStarted.mSignalVerified );
-  DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
-  DALI_TEST_CHECK( !callbackPanStarted.mSignalVerified );
-  DALI_TEST_CHECK( !callbackPanFinished.mSignalVerified );
-
-  currentView = portraitView;
-
-  //-----Test 1: pan 10 frames from position(size * 0.75f) to position(size * 0.25f), page 0 will be turned forward----
-  pageIndex = 0;
-  isTurningForwards = true;
-  // Do a pan moving up diagonally.
-  Vector2 start = size * 0.75f;
-  Vector2 direction = -size*0.05f; //-size*0.5f/10.f;
-
-  DALI_TEST_CHECK( portraitView.GetCurrentPage() == 0);
-  PerformGestureDiagonalSwipe( application, start, direction, 5, true, false);
-  DALI_TEST_CHECK( callbackTurnStarted.mSignalVerified );
-  DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
-  DALI_TEST_CHECK( callbackPanStarted.mSignalVerified );
-  DALI_TEST_CHECK( !callbackPanFinished.mSignalVerified );
-
-  PerformGestureDiagonalSwipe( application, start+direction*5.f, direction, 5, false, true);
-  DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
-  DALI_TEST_CHECK( callbackPanFinished.mSignalVerified );
-
-  Wait(application, 1000);
-  DALI_TEST_CHECK( callbackTurnFinished.mSignalVerified );
-  DALI_TEST_CHECK( portraitView.GetCurrentPage() == pageIndex+1); // the page is turn over
-
-  //---Test 2: pan from position( size*0.5f ) to position( size.width, size.height*0.5f ) to position( size * 0.75f ), page 1 will bent then slid back---
-  callbackTurnStarted.Reset();
-  callbackTurnFinished.Reset();
-  callbackPanStarted.Reset();
-  callbackPanFinished.Reset();
-  portraitView.GoToPage(5);
-  pageIndex = 5;
-  isTurningForwards = true;
-
-  //pan 10 frames from position( size.width, size.height*0.5f ) to position( size * 0.75f )
-  start = Vector2( size.width, size.height*0.5f );
-  direction = Vector2(-size.width*0.025f, size.height*0.025f);
-  PerformGestureDiagonalSwipe( application, start, direction, 5, true, false);
-  DALI_TEST_CHECK( callbackPanStarted.mSignalVerified );
-  DALI_TEST_CHECK( callbackTurnStarted.mSignalVerified );
-  DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
-  DALI_TEST_CHECK( !callbackPanFinished.mSignalVerified );
-
-  signalVerified[0] = false;
-  isTurningForwards = false;
-  PerformGestureDiagonalSwipe( application, start + direction*2 , direction, 5, false, true);
-  DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
-  DALI_TEST_CHECK( callbackPanFinished.mSignalVerified );
-  DALI_TEST_CHECK( callbackTurnStarted.mSignalVerified ); // start the sliding back
-
-  Wait(application, 1000);
-  DALI_TEST_CHECK( callbackTurnFinished.mSignalVerified );
-  DALI_TEST_CHECK( portraitView.GetCurrentPage() == pageIndex); // the page is not turned over
-
-  // ----Test 3: pan 10 frames from position( size*0.25f ) to position( size.width*0.75f, size.height*0.25f ), the previous page will be turned backwards---
-  callbackTurnStarted.Reset();
-  callbackTurnFinished.Reset();
-  callbackPanStarted.Reset();
-  callbackPanFinished.Reset();
-  portraitView.GoToPage(10);
-  pageIndex = 9; // will turn the previous page back
-  isTurningForwards = false;
-  start = size*0.25f;
-  direction = Vector2(size.x*0.05f, 0.f);
-  PerformGestureDiagonalSwipe( application, start, direction, 5, true, false);
-  DALI_TEST_CHECK( callbackPanStarted.mSignalVerified );
-  DALI_TEST_CHECK( !callbackTurnStarted.mSignalVerified );
-  DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
-  DALI_TEST_CHECK( !callbackPanFinished.mSignalVerified );
-
-  PerformGestureDiagonalSwipe( application, start+direction*5.f, direction, 5, false, true);
-  DALI_TEST_CHECK( callbackTurnStarted.mSignalVerified );
-  DALI_TEST_CHECK( callbackPanFinished.mSignalVerified );
-  DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
-
-  Wait( application, 1000 );
-
-  DALI_TEST_CHECK( callbackTurnFinished.mSignalVerified );
-  DALI_TEST_CHECK( portraitView.GetCurrentPage() == 9);
-}
diff --git a/automated-tests/TET/dali-test-suite/popup/.gitignore b/automated-tests/TET/dali-test-suite/popup/.gitignore
deleted file mode 100644 (file)
index 914e48c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-utc-Dali-Popup
diff --git a/automated-tests/TET/dali-test-suite/popup/Makefile b/automated-tests/TET/dali-test-suite/popup/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/popup/file.list b/automated-tests/TET/dali-test-suite/popup/file.list
deleted file mode 100644 (file)
index 3a915c1..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGETS += \
-       utc-Dali-Popup \
diff --git a/automated-tests/TET/dali-test-suite/popup/tslist b/automated-tests/TET/dali-test-suite/popup/tslist
deleted file mode 100644 (file)
index d1d8cf6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/dali-test-suite/popup/utc-Dali-Popup
diff --git a/automated-tests/TET/dali-test-suite/popup/utc-Dali-Popup.cpp b/automated-tests/TET/dali-test-suite/popup/utc-Dali-Popup.cpp
deleted file mode 100644 (file)
index 5e33985..0000000
+++ /dev/null
@@ -1,470 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali/integration-api/events/touch-event-integ.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-namespace
-{
-static bool gObjectCreatedCallBackCalled;
-
-static void TestCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-}
-} // namespace
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliPopupNew, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPopupDestructor, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPopupDownCast, POSITIVE_TC_IDX  );
-TEST_FUNCTION( UtcDaliPopoupSetProperty, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPopupSetBackgroundImage, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPopupSetTitle, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPopupSetTitleText, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPopupAddButton, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPopupSetState, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPopupSetStateSlow, POSITIVE_TC_IDX  );
-TEST_FUNCTION( UtcDaliPopupShowHide, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPopupShowHideTail, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPopupOnTouchedOutside, POSITIVE_TC_IDX );
-
-
-namespace
-{
-const int RENDER_FRAME_INTERVAL = 10;                          ///< Duration of each frame in ms.
-const int RENDER_ANIMATION_TEST_DURATION_MS = 1000;            ///< 1000ms to test animation
-const int RENDER_ANIMATION_TEST_DURATION_FRAMES = RENDER_ANIMATION_TEST_DURATION_MS / RENDER_FRAME_INTERVAL; ///< equivalent frames.
-const Vector3 DEFAULT_BUTTON_SIZE(100.0f, 50.0f, 0.0f);
-const Dali::TouchPoint pointDownOutside( 0, TouchPoint::Down, 10.0f, 10.0f );
-const Dali::TouchPoint pointUpOutside( 0, TouchPoint::Up, 10.0f, 10.0f );
-
-/**
- * Counts how many descendents root Actor has, including
- * itself.
- *
- * @param[in] root The root actor to count from.
- * @return The number of descendents including root actor itself.
- */
-int DescendentCount(const Actor& root)
-{
-  unsigned int numChildren = root.GetChildCount();
-
-  int count = 1;
-
-  for(unsigned int i=0; i<numChildren; ++i)
-  {
-    count += DescendentCount(root.GetChildAt(i));
-  }
-
-  return count;
-}
-
-bool HasAncestor(Actor child, Actor ancestor)
-{
-  while(child && child != ancestor)
-  {
-    child = child.GetParent();
-  }
-
-  return (child == ancestor);
-}
-
-}
-
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliPopupNew()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliPopupNew");
-
-  // Create the Popup actor
-  Popup popup;
-
-  DALI_TEST_CHECK( !popup );
-
-  popup = Popup::New();
-
-  DALI_TEST_CHECK( popup );
-
-  Popup popup2(popup);
-
-  DALI_TEST_CHECK( popup2 == popup );
-
-  //Additional check to ensure object is created by checking if it's registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect( &TestCallback );
-  {
-    Popup popup = Popup::New();
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-}
-
-static void UtcDaliPopupDestructor()
-{
-  ToolkitTestApplication application;
-
-  Popup* popup = new Popup();
-  delete popup;
-
-  DALI_TEST_CHECK( true );
-}
-
-static void UtcDaliPopupDownCast()
-{
-  ToolkitTestApplication application;
-
-  Handle handle = Popup::New();
-
-  Popup popup = Popup::DownCast( handle );
-
-  DALI_TEST_CHECK( popup == handle );
-}
-
-static void UtcDaliPopoupSetProperty()
-{
-  tet_infoline("UtcDaliPopoupSetProperty: ");
-  ToolkitTestApplication application;
-
-  Popup popup = Popup::New();
-
-  //Test properties
-  std::string testString = "Hello World";
-  popup.SetProperty(popup.GetPropertyIndex("title"), testString);
-  DALI_TEST_EQUALS( testString, popup.GetTitle().GetText(), TEST_LOCATION );
-}
-
-
-static void UtcDaliPopupSetBackgroundImage()
-{
-  ToolkitTestApplication application;  // Exceptions require ToolkitTestApplication
-  tet_infoline(" UtcDaliPopupSetBackgroundImage");
-
-  // Create the Popup actor
-  Popup popup = Popup::New();
-  Stage::GetCurrent().Add( popup );
-
-  ImageActor image = CreateSolidColorActor( Color::RED );
-  DALI_TEST_CHECK( !image.GetParent() );
-  popup.SetBackgroundImage(image);
-  DALI_TEST_CHECK( image.GetParent() );
-}
-
-static void UtcDaliPopupSetTitle()
-{
-  ToolkitTestApplication application;  // Exceptions require ToolkitTestApplication
-  tet_infoline(" UtcDaliPopupSetTitle");
-
-  // Create the Popup actor
-  Popup popup = Popup::New();
-  Stage::GetCurrent().Add( popup );
-  // Put in show state so it's layer is connected to popup (for ancestor check).
-  popup.SetState(Popup::POPUP_SHOW, 0.0f);
-
-  TextView titleActor = TextView::New();
-  titleActor.SetText("title");
-
-  DALI_TEST_CHECK( !popup.GetTitle() );
-  popup.SetTitle(titleActor);
-  DALI_TEST_CHECK( popup.GetTitle() == titleActor );
-  DALI_TEST_CHECK( (popup.GetTitle()) && (popup.GetTitle().GetText() == "title") );
-  // verify titleActor is actually inside popup, and not elsewhere on stage, or off even.
-  DALI_TEST_CHECK( HasAncestor(titleActor, popup) );
-
-  TextView titleActor2 = TextView::New();
-  titleActor2.SetText("anothertitle");
-  popup.SetTitle(titleActor2);
-  DALI_TEST_CHECK( popup.GetTitle() != titleActor );
-  DALI_TEST_CHECK( popup.GetTitle() == titleActor2 );
-  DALI_TEST_CHECK( (popup.GetTitle()) && (popup.GetTitle().GetText() == "anothertitle") );
-  // verify titleActor is actually inside popup, and not elsewhere on stage, or off even.
-  DALI_TEST_CHECK( HasAncestor(titleActor2, popup) );
-}
-
-static void UtcDaliPopupSetTitleText()
-{
-  ToolkitTestApplication application;  // Exceptions require ToolkitTestApplication
-  tet_infoline(" UtcDaliPopupSetTitleText");
-
-  // Create the Popup actor
-  Popup popup = Popup::New();
-  Stage::GetCurrent().Add( popup );
-  // Put in show state so it's layer is connected to popup (for ancestor check).
-  popup.SetState(Popup::POPUP_SHOW, 0.0f);
-
-  TextView titleActor = TextView::New();
-  titleActor.SetText("title");
-
-  DALI_TEST_CHECK( !popup.GetTitle() );
-  popup.SetTitle(titleActor);
-  DALI_TEST_CHECK( popup.GetTitle() == titleActor );
-  DALI_TEST_CHECK( (popup.GetTitle()) && (popup.GetTitle().GetText() == "title") );
-  // verify titleActor is actually inside popup, and not elsewhere on stage, or off even.
-  DALI_TEST_CHECK( HasAncestor(titleActor, popup) );
-
-  // this text should replace titleImage actor.
-  popup.SetTitle("newtext");
-  DALI_TEST_CHECK( popup.GetTitle() != titleActor );
-  DALI_TEST_CHECK( (popup.GetTitle()) && (popup.GetTitle().GetText() == "newtext") );
-  // verify titleActor is no longer inside popup. (been displaced by newtext actor)
-  DALI_TEST_CHECK( !HasAncestor(titleActor, popup) );
-}
-
-static void UtcDaliPopupAddButton()
-{
-  ToolkitTestApplication application;  // Exceptions require ToolkitTestApplication
-  tet_infoline(" UtcDaliPopupAddButton");
-
-  // Create the Popup actor
-  Popup popup = Popup::New();
-  Stage::GetCurrent().Add( popup );
-  // Put in show state so it's layer is connected to popup (for ancestor check).
-  popup.SetState(Popup::POPUP_SHOW, 0.0f);
-
-  PushButton button = PushButton::New();
-  DALI_TEST_CHECK( !HasAncestor(button, popup) );
-  popup.AddButton(button);
-  // Hide and then re-show popup to cause button to be rearranged and added to popup.
-  popup.SetState( Popup::POPUP_HIDE, 0.0f );
-  popup.SetState( Popup::POPUP_SHOW, 0.0f );
-  DALI_TEST_CHECK( HasAncestor(button, popup) );
-}
-
-static void UtcDaliPopupSetState()
-{
-  ToolkitTestApplication application;  // Exceptions require ToolkitTestApplication
-  tet_infoline(" UtcDaliPopupSetState");
-
-  // Create the Popup actor
-  Popup popup = Popup::New();
-  Stage::GetCurrent().Add( popup );
-
-  ImageActor backgroundImage = CreateSolidColorActor( Color::RED );
-  popup.SetBackgroundImage(backgroundImage);
-
-  // Showing/Hiding popup, results in all child Actors being
-  // connected/disconnected from the stage.
-  DALI_TEST_CHECK( !backgroundImage.OnStage() );
-  popup.SetState(Popup::POPUP_SHOW, 0.0f);
-  DALI_TEST_CHECK( backgroundImage.OnStage() );
-  DALI_TEST_EQUALS( Popup::POPUP_SHOW, popup.GetState(), TEST_LOCATION );
-  popup.SetState(Popup::POPUP_HIDE, 0.0f);
-  DALI_TEST_CHECK( !backgroundImage.OnStage() );
-  DALI_TEST_EQUALS( Popup::POPUP_HIDE, popup.GetState(), TEST_LOCATION );
-}
-
-static void UtcDaliPopupSetStateSlow()
-{
-  ToolkitTestApplication application;  // Exceptions require ToolkitTestApplication
-  tet_infoline(" UtcDaliPopupSetStateSlow");
-
-  // Create the Popup actor
-  Popup popup = Popup::New();
-  Stage::GetCurrent().Add( popup );
-
-  ImageActor backgroundImage = CreateSolidColorActor( Color::RED );
-  popup.SetBackgroundImage(backgroundImage);
-
-  // Showing/Hiding popup, results in all child Actors being
-  // connected/disconnected from the stage.
-  DALI_TEST_CHECK( !backgroundImage.OnStage() );
-  popup.SetState(Popup::POPUP_SHOW, 0.0f);
-  DALI_TEST_CHECK( backgroundImage.OnStage() );
-
-  // Hide slowly
-  popup.SetState(Popup::POPUP_HIDE);
-
-  // Wait for a while (allow animation to complete), and then check state.
-  for(int i = 0; i < RENDER_ANIMATION_TEST_DURATION_FRAMES; i++)
-  {
-    application.SendNotification();
-    application.Render(RENDER_FRAME_INTERVAL);
-  }
-
-  DALI_TEST_CHECK( !backgroundImage.OnStage() );
-}
-
-static bool gHidden = false;
-
-static void OnPopupHidden()
-{
-  gHidden = true;
-}
-
-static void UtcDaliPopupShowHide()
-{
-  ToolkitTestApplication application;  // Exceptions require ToolkitTestApplication
-  tet_infoline(" UtcDaliPopupShowHide");
-
-  // Create the Popup actor
-  Popup popup = Popup::New();
-  Stage::GetCurrent().Add( popup );
-  popup.HiddenSignal().Connect( &OnPopupHidden );
-
-  ImageActor backgroundImage = CreateSolidColorActor( Color::RED );
-  popup.SetBackgroundImage(backgroundImage);
-
-  PushButton button1 = PushButton::New();
-  PushButton button2 = PushButton::New();
-  button1.SetSize(DEFAULT_BUTTON_SIZE);
-  popup.AddButton(button1);
-  button2.SetSize(DEFAULT_BUTTON_SIZE);
-  popup.AddButton(button2);
-
-  // Showing/Hiding popup, results in all child Actors being
-  // connected/disconnected from the stage.
-  DALI_TEST_CHECK( !backgroundImage.OnStage() );
-
-  // Show
-  // Note: in most popup animation implementations show would result in
-  // popup being onstage immediately following Show(). However we can't
-  // assume for all. e.g. If one creates a animation with a delay.
-  popup.Show();
-
-  // Wait for a while (allow animation to complete), and then check state.
-  for(int i = 0; i < RENDER_ANIMATION_TEST_DURATION_FRAMES; i++)
-  {
-    application.SendNotification();
-    application.Render(RENDER_FRAME_INTERVAL);
-  }
-
-  DALI_TEST_CHECK( backgroundImage.OnStage() );
-
-  // Hide
-  gHidden = false;
-  popup.Hide();
-
-  // Wait for a while (allow animation to complete), and then check state.
-  for(int i = 0; i < RENDER_ANIMATION_TEST_DURATION_FRAMES; i++)
-  {
-    application.SendNotification();
-    application.Render(RENDER_FRAME_INTERVAL);
-  }
-
-  DALI_TEST_CHECK( !backgroundImage.OnStage() );
-  DALI_TEST_CHECK( gHidden );
-}
-
-static void UtcDaliPopupShowHideTail()
-{
-  ToolkitTestApplication application;  // Exceptions require ToolkitTestApplication
-  tet_infoline(" UtcDaliPopupShowHideTail");
-
-  // Create the Popup actor
-  Popup popup = Popup::New();
-  Stage::GetCurrent().Add( popup );
-  popup.SetState(Popup::POPUP_SHOW, 0.0f);
-
-  popup.HideTail();
-  int withoutTailCount = DescendentCount(popup);
-
-  popup.ShowTail(ParentOrigin::BOTTOM_CENTER);
-  int withTailCount = DescendentCount(popup);
-
-  // There should be more actors if the Tail has been added.
-  DALI_TEST_CHECK( withTailCount > withoutTailCount );
-
-  // Hide again
-  popup.HideTail();
-  int withoutTailCount2 = DescendentCount(popup);
-
-  DALI_TEST_CHECK( withTailCount > withoutTailCount2 );
-}
-
-static bool gTouchedOutside;
-
-static void OnPopupTouchedOutside()
-{
-  gTouchedOutside = true;
-}
-
-static void UtcDaliPopupOnTouchedOutside()
-{
-  ToolkitTestApplication application;  // Exceptions require ToolkitTestApplication
-  tet_infoline(" UtcDaliPopupOnTouchedOutside");
-
-  // Create the Popup actor
-  Popup popup = Popup::New();
-  Stage::GetCurrent().Add( popup );
-  popup.SetParentOrigin(ParentOrigin::CENTER);
-  popup.SetAnchorPoint(ParentOrigin::CENTER);
-  popup.SetState(Popup::POPUP_SHOW, 0.0f);
-  popup.OutsideTouchedSignal().Connect( &OnPopupTouchedOutside );
-
-  application.SendNotification();
-  application.Render();
-
-  gTouchedOutside = false;
-  Dali::Integration::TouchEvent event;
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownOutside );
-  application.ProcessEvent( event );
-
-  application.SendNotification();
-  application.Render();
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpOutside );
-  application.ProcessEvent( event );
-
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_CHECK(gTouchedOutside);
-}
diff --git a/automated-tests/TET/dali-test-suite/scroll-view/.gitignore b/automated-tests/TET/dali-test-suite/scroll-view/.gitignore
deleted file mode 100644 (file)
index d0282f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-utc-Dali-ScrollView
diff --git a/automated-tests/TET/dali-test-suite/scroll-view/Makefile b/automated-tests/TET/dali-test-suite/scroll-view/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/scroll-view/file.list b/automated-tests/TET/dali-test-suite/scroll-view/file.list
deleted file mode 100644 (file)
index f6ae037..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-TARGETS += \
-       utc-Dali-ScrollView \
-       utc-Dali-ScrollViewEffect \
diff --git a/automated-tests/TET/dali-test-suite/scroll-view/tslist b/automated-tests/TET/dali-test-suite/scroll-view/tslist
deleted file mode 100644 (file)
index 74541a9..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-/dali-test-suite/scroll-view/utc-Dali-ScrollView
-/dali-test-suite/scroll-view/utc-Dali-ScrollViewEffect
diff --git a/automated-tests/TET/dali-test-suite/scroll-view/utc-Dali-ScrollView.cpp b/automated-tests/TET/dali-test-suite/scroll-view/utc-Dali-ScrollView.cpp
deleted file mode 100644 (file)
index ed5dfe5..0000000
+++ /dev/null
@@ -1,1578 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/integration-api/events/touch-event-integ.h>
-#include <dali/integration-api/events/pan-gesture-event.h>
-#include <dali/dali.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-namespace
-{
-static bool gObjectCreatedCallBackCalled;
-
-static void TestCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-}
-} // namespace
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-TEST_FUNCTION( UtcDaliScrollViewNew, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewDownCast, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewScrollToPosition, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewScrollToPage, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewScrollToActor, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewScrollToSnapPoint, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewRulerScale, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewTransformTo, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewRefreshInterval, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewWrapMode, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewActorAutoSnap, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewSignalsStartComplete, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewSignalsUpdate, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewSignalsClamped, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewSignalsSnapStart, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewScrollSensitive, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewTouchesRequired, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewAxisAutoLock, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewAxisAutoLockGradient, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewConstraints, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewBind, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewOvershoot, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewSnapAlphaFunction, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewSnapDuration, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliRulerEnableDisable, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliRulerDomainEnableDisable, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliRulerSnapAndClamp, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliRulerFixedRulerSpacing, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewUIComponent, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewSetMouseWheelScrollDistanceStep, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliScrollViewGetSet, POSITIVE_TC_IDX );
-
-
-namespace // unnamed namespace
-{
-
-const int MILLISECONDS_PER_SECOND = 1000;
-const int RENDER_FRAME_INTERVAL = 16;                           ///< Duration of each frame in ms. (at approx 60FPS)
-const int RENDER_ANIMATION_TEST_DURATION_MS = 1000;             ///< 1000ms to test animation
-const int RENDER_DELAY_SCROLL = 1000;                           ///< duration to wait for any scroll to complete.
-
-// For Clamp Signal testing...
-const float CLAMP_EXCESS_WIDTH = 200.0f;                        ///< Amount of width that can be panned outside scrollview
-const float CLAMP_EXCESS_HEIGHT = 200.0f;                       ///< Amount of height that can be panned outside scrollview
-const int CLAMP_STEP_0_CHECK_NOTCLAMPED = 0;                    ///< FSM: "First check that scrollview isn't clamped"
-const int CLAMP_STEP_1_CHECK_CLAMPED_WEST = 1;                  ///< FSM: "Next check that scrollview clamps against left side"
-const int CLAMP_STEP_2_CHECK_CLAMPED_SOUTH_WEST = 2;            ///< FSM: "Then check that scrollview clamps against bottom-left side"
-const int CLAMP_STEP_3_SUCCESS = 3;                             ///< FSM: "Finished (Success)"
-const Vector3 CLAMP_START_SCROLL_POSITION(30.0f, 100.0f, 0.0f); ///< Scroll start position for the Clamping tests.
-const Vector2 CLAMP_TOUCH_START( 100.0f, 100.0f );              ///< Start point to touch from for the Clamping tests.
-const Vector2 CLAMP_TOUCH_MOVEMENT( 5.0f, -5.0f );              ///< Amount to move touch for each frame for the Clamping tests.
-const int CLAMP_GESTURE_FRAMES = 100;                           ///< Number of Frames to synthesize a gesture for the Clamping tests.
-const Vector3 TEST_ACTOR_POSITION(100.0f, 100.0f, 0.0f);        ///< A Test actor position offset (arbitrary value)
-const Vector3 TEST_CONSTRAINT_OFFSET(1.0f, 2.0f, 0.0f);         ///< A Test constraint offset (arbitrary value to test effects)
-const float TEST_RATIO_TOLERANCE = 0.05;                        ///< +/-5% tolerance for ratio comparisons.
-
-const int MAX_FRAMES_TO_TEST_OVERSHOOT = 600;                         ///< 10 seconds (at 60 frames per second).
-const Vector3 OVERSHOOT_START_SCROLL_POSITION(100.0f, 100.0f, 0.0f);  ///< Scroll start position for the Overshoot tests.
-const float TEST_DEFAULT_SNAP_OVERSHOOT_DURATION = 0.25f;             ///< 0.25 seconds should be default snap overshoot duration
-const float TEST_CUSTOM1_SNAP_OVERSHOOT_DURATION = 0.05f;             ///< a Test duration
-const float TEST_CUSTOM2_SNAP_OVERSHOOT_DURATION = 1.5f;              ///< another Test duration
-const float TEST_CUSTOM3_SNAP_OVERSHOOT_DURATION = TEST_CUSTOM2_SNAP_OVERSHOOT_DURATION * 0.5f; // Same as above, but different alpha function.
-const float TIME_TOLERANCE = 0.05f;                                   ///< Allow testing tolerance between a 10th of second (+/- 3 frames)
-
-// Create bitmap image
-BitmapImage CreateBitmapImage()
-{
-  BitmapImage image = BitmapImage::New(4,4,Pixel::RGBA8888);
-
-  PixelBuffer* pixbuf = image.GetBuffer();
-
-  // Using a 4x4 image gives a better blend with the GL implementation
-  // than a 3x3 image
-  for(size_t i=0; i<16; i++)
-  {
-    pixbuf[i*4+0] = 0xFF;
-    pixbuf[i*4+1] = 0xFF;
-    pixbuf[i*4+2] = 0xFF;
-    pixbuf[i*4+3] = 0xFF;
-  }
-
-  return image;
-}
-
-// Generate a PanGestureEvent to send to Core
-Integration::PanGestureEvent GeneratePan(
-    Gesture::State state,
-    const Vector2& previousPosition,
-    const Vector2& currentPosition,
-    unsigned long timeDelta,
-    unsigned int numberOfTouches = 1)
-{
-  Integration::PanGestureEvent pan(state);
-
-  pan.previousPosition = previousPosition;
-  pan.currentPosition = currentPosition;
-  pan.timeDelta = timeDelta;
-  pan.numberOfTouches = numberOfTouches;
-
-  return pan;
-}
-
-/**
- * Helper to generate PanGestureEvent
- *
- * @param[in] application Application instance
- * @param[in] state The Gesture State
- * @param[in] pos The current position of touch.
- */
-static void SendPan(ToolkitTestApplication& application, Gesture::State state, const Vector2& pos)
-{
-  static Vector2 last;
-
-  if( (state == Gesture::Started) ||
-      (state == Gesture::Possible) )
-  {
-    last.x = pos.x;
-    last.y = pos.y;
-  }
-
-  application.ProcessEvent(GeneratePan(state, last, pos, RENDER_FRAME_INTERVAL));
-
-  last.x = pos.x;
-  last.y = pos.y;
-}
-
-/*
- * Simulate time passed by.
- *
- * @note this will always process at least 1 frame (1/60 sec)
- *
- * @param application Test application instance
- * @param duration Time to pass in milliseconds.
- * @return The actual time passed in milliseconds
- */
-int Wait(ToolkitTestApplication& application, int duration = 0)
-{
-  int time = 0;
-
-  for(int i = 0; i <= ( duration / RENDER_FRAME_INTERVAL); i++)
-  {
-    application.SendNotification();
-    application.Render(RENDER_FRAME_INTERVAL);
-    time += RENDER_FRAME_INTERVAL;
-  }
-
-  return time;
-}
-
-// Callback probes.
-
-static bool gOnScrollStartCalled;                       ///< Whether the OnScrollStart signal was invoked.
-static bool gOnScrollUpdateCalled;                      ///< Whether the OnScrollUpdate signal was invoked.
-static bool gOnScrollCompleteCalled;                    ///< Whether the OnScrollComplete signal was invoked.
-static bool gOnScrollClampedCalled;                     ///< Whether the OnScrollClamped signal was invoked.
-static bool gOnSnapStartCalled;                         ///< Whether the OnSnapStart signal was invoked.
-static ClampState3 gLastClampPosition;                  ///< Clamping information from OnScrollClampedEvent.
-static SnapType gLastSnapType;                          ///< Snaping information from SnapEvent.
-static Vector3 gConstraintResult;                       ///< Result from constraint.
-
-/**
- * Invoked when scrolling starts.
- *
- * @param[in] position The current scroll position.
- */
-static void OnScrollStart( const Vector3& position )
-{
-  gOnScrollStartCalled = true;
-}
-
-/**
- * Invoked when scrolling updates (via dragging)
- *
- * @param[in] position The current scroll position.
- */
-static void OnScrollUpdate( const Vector3& position )
-{
-  gOnScrollUpdateCalled = true;
-}
-
-/**
- * Invoked when scrolling finishes
- *
- * @param[in] position The current scroll position.
- */
-static void OnScrollComplete( const Vector3& position )
-{
-  gOnScrollCompleteCalled = true;
-}
-
-/**
- * Invoked when scrolling clamped.
- *
- * @param[in] event The position/scale/rotation axes that were clamped.
- */
-static void OnScrollClamped( const ScrollView::ClampEvent& event )
-{
-  gOnScrollClampedCalled = true;
-  gLastClampPosition = event.position;
-}
-
-/**
- * Invoked when a snap or flick started.
- *
- * @param[in] event The type of snap and the target position/scale/rotation.
- */
-static void OnSnapStart( const ScrollView::SnapEvent& event )
-{
-  gOnSnapStartCalled = true;
-  gLastSnapType = event.type;
-}
-
-/**
- * TestSumConstraint
- *
- * Summation of current value, property, and offset.
- *
- * current' = current + mOffset + property;
- */
-struct TestSumConstraint
-{
-  /**
-   * @param[in] offset The offset to be added to current.
-   */
-  TestSumConstraint(const Vector3& offset)
-  :mOffset(offset)
-  {
-  }
-
-  /**
-   * @param[in] current The current base value
-   * @param[in] property The property to be added to current.
-   * @return The new current Vector.
-   */
-  Vector3 operator()(const Vector3& current)
-  {
-    gConstraintResult = current + mOffset;
-    return gConstraintResult;
-  }
-
-  /**
-   * @param[in] current The current base value
-   * @param[in] property The property to be added to current.
-   * @return The new current Vector.
-   */
-  Vector3 operator()(const Vector3&    current,
-                    const PropertyInput& property)
-  {
-    gConstraintResult = current + property.GetVector3() + mOffset;
-    return gConstraintResult;
-  }
-
-  Vector3 mOffset;
-
-};
-
-/**
- * @param[in] application The application instance
- * @param[in] scrollView The scrollView instance
- * @return The time taken for the overshoot to reach origin (zero)
- */
-static float TestOvershootSnapDuration(ToolkitTestApplication &application, ScrollView scrollView)
-{
-  Property::Index overshootPropertyX = scrollView.GetPropertyIndex(ScrollView::SCROLL_OVERSHOOT_X_PROPERTY_NAME);
-  Property::Index overshootPropertyY = scrollView.GetPropertyIndex(ScrollView::SCROLL_OVERSHOOT_Y_PROPERTY_NAME);
-
-  int timeToReachOrigin = -1;
-  for(int i = 0;i<MAX_FRAMES_TO_TEST_OVERSHOOT;i++)
-  {
-    float overshootXValue = scrollView.GetProperty<float>(overshootPropertyX);
-    float overshootYValue = scrollView.GetProperty<float>(overshootPropertyY);
-    if(overshootXValue == 0.0f && overshootYValue == 0.0f)
-    {
-      break;
-    }
-
-    timeToReachOrigin += Wait(application);
-  }
-
-  return static_cast<float>(timeToReachOrigin) * 0.001f; // return in seconds not ms.
-}
-
-/**
- * y = 2x alpha function, which is clamped between 0.0f - 1.0f
- *
- * Animations should appear to finish (reach 100% point)
- * at just half the time of a regular Linear AlphaFunction.
- *
- * @param[in] progress value (ranges from 0.0f - 1.0f)
- * @return interpolation value (ranges from 0.0f - 1.0f)
- */
-float TestAlphaFunction(float progress)
-{
-  return std::min( progress * 2.0f, 1.0f );
-}
-
-} // unnamed namespace
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliScrollViewNew()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewNew");
-
-  ScrollView scrollView;
-
-  DALI_TEST_CHECK( !scrollView );
-
-  scrollView = ScrollView::New();
-
-  DALI_TEST_CHECK( scrollView );
-
-  ScrollView scrollView2(scrollView);
-
-  DALI_TEST_CHECK( scrollView2 == scrollView );
-
-  //Additional check to ensure object is created by checking if it's registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect( &TestCallback );
-  {
-    ScrollView scrollView = ScrollView::New();
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-}
-
-static void UtcDaliScrollViewDownCast()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewDownCast");
-
-  ScrollView scrollView = ScrollView::New();
-  BaseHandle handle(scrollView);
-
-  ScrollView newScrollView = ScrollView::DownCast( handle );
-  DALI_TEST_CHECK( scrollView );
-  DALI_TEST_CHECK( newScrollView == scrollView );
-}
-
-static void UtcDaliScrollViewScrollToPosition()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewScrollToPosition");
-
-  // Create the ScrollView actor
-  ScrollView scrollView = ScrollView::New();
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-  Stage::GetCurrent().Add( scrollView );
-
-  const Vector3 target = Vector3(100.0f, 200.0f, 0.0f);
-  const Vector3 target2 = Vector3(300.0f, 100.0f, 0.0f);
-
-  scrollView.ScrollTo( target, 0.0f );
-  Wait(application);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), target, TEST_LOCATION );
-  scrollView.ScrollTo( target2 );
-  Wait(application, RENDER_DELAY_SCROLL);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), target2, TEST_LOCATION );
-
-  Wait(application);
-}
-
-static void UtcDaliScrollViewScrollToPage()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewScrollToPage");
-
-  ScrollView scrollView = ScrollView::New();
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-  Stage::GetCurrent().Add( scrollView );
-  RulerPtr rulerX = new FixedRuler( 100.0f );
-  rulerX->SetDomain( RulerDomain(0.0f, 800.0f, true) );
-  RulerPtr rulerY = new FixedRuler( 100.0f );
-  rulerY->SetDomain( RulerDomain(0.0f, 400.0f, true) );
-
-  scrollView.SetRulerX( rulerX );
-  scrollView.SetRulerY( rulerY );
-
-  scrollView.ScrollTo( 1, 0.0f );
-  Wait(application);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), Vector3(100.0f, 0.0f, 0.0f), TEST_LOCATION );
-
-  scrollView.ScrollTo( 5, 0.0f );
-  Wait(application);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), Vector3(500.0f, 0.0f, 0.0f), TEST_LOCATION );
-
-  scrollView.ScrollTo( 10, 0.0f );
-  Wait(application);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), Vector3(200.0f, 100.0f, 0.0f), TEST_LOCATION );
-
-  scrollView.ScrollTo( 15, 0.0f );
-  Wait(application);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), Vector3(700.0f, 100.0f, 0.0f), TEST_LOCATION );
-  DALI_TEST_EQUALS( static_cast<int>(scrollView.GetCurrentPage()), 15, TEST_LOCATION );
-
-  scrollView.ScrollTo( 3 );
-  Wait(application, RENDER_DELAY_SCROLL);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), Vector3(300.0f, 0.0f, 0.0f), TEST_LOCATION );
-  DALI_TEST_EQUALS( static_cast<int>(scrollView.GetCurrentPage()), 3, TEST_LOCATION );
-
-  scrollView.ScrollTo( 9 );
-  Wait(application, RENDER_DELAY_SCROLL);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), Vector3(100.0f, 100.0f, 0.0f), TEST_LOCATION );
-  DALI_TEST_EQUALS( static_cast<int>(scrollView.GetCurrentPage()), 9, TEST_LOCATION );
-
-  // Apply DefaultRulers instead and see what happens.
-  rulerX = new DefaultRuler();
-  rulerX->SetDomain( RulerDomain(0.0f, 800.0f, true) );
-  rulerY = new DefaultRuler();
-  rulerY->SetDomain( RulerDomain(0.0f, 400.0f, true) );
-
-  scrollView.SetRulerX( rulerX );
-  scrollView.SetRulerY( rulerY );
-
-  // This time should always scroll to origin (0.0f, 0.0f)
-  scrollView.ScrollTo( 1, 0.0f );
-  Wait(application);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION );
-  DALI_TEST_EQUALS( static_cast<int>(scrollView.GetCurrentPage()), 0, TEST_LOCATION );
-
-  Wait(application);
-}
-
-static void UtcDaliScrollViewScrollToActor()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewScrollToActor");
-
-  ScrollView scrollView = ScrollView::New();
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-  Stage::GetCurrent().Add( scrollView );
-
-  Actor actorA = Actor::New();
-  const Vector3 positionA = Vector3(100.0f, 400.0f, 0.0f);
-  actorA.SetPosition(positionA);
-  scrollView.Add(actorA);
-
-  Actor actorB = Actor::New();
-  const Vector3 positionB = Vector3(500.0f, 200.0f, 0.0f);
-  actorB.SetPosition(positionB);
-  scrollView.Add(actorB);
-
-  Wait(application);
-
-  scrollView.ScrollTo(actorA, 0.0f);
-  Wait(application);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), positionA, TEST_LOCATION );
-
-  Wait(application);
-  scrollView.ScrollTo(actorB, 0.0f);
-  Wait(application);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), positionB, TEST_LOCATION );
-
-  scrollView.ScrollTo(actorA);
-  Wait(application, RENDER_DELAY_SCROLL);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), positionA, TEST_LOCATION );
-
-  scrollView.ScrollTo(actorB);
-  Wait(application, RENDER_DELAY_SCROLL);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), positionB, TEST_LOCATION );
-}
-
-static void UtcDaliScrollViewScrollToSnapPoint()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewScrollToSnapPoint");
-
-  ScrollView scrollView = ScrollView::New();
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-  Stage::GetCurrent().Add( scrollView );
-  RulerPtr rulerX = new FixedRuler( 100.0f );
-  rulerX->SetDomain( RulerDomain(0.0f, 800.0f, true) );
-  RulerPtr rulerY = new FixedRuler( 100.0f );
-  rulerY->SetDomain( RulerDomain(0.0f, 400.0f, true) );
-
-  scrollView.SetRulerX( rulerX );
-  scrollView.SetRulerY( rulerY );
-
-  scrollView.ScrollTo( Vector3(120.0f, 190.0f, 0.0f), 0.0f );
-  Wait(application);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), Vector3(120.0f, 190.0f, 0.0f), TEST_LOCATION );
-
-  scrollView.ScrollToSnapPoint();
-
-  Wait(application, RENDER_DELAY_SCROLL);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), Vector3(100.0f, 200.0f, 0.0f), TEST_LOCATION );
-}
-
-static void UtcDaliScrollViewRulerScale()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewRulerScale");
-
-  ScrollView scrollView = ScrollView::New();
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-  Stage::GetCurrent().Add( scrollView );
-
-  RulerPtr rulerScaleX = new FixedRuler(0.25f);
-  RulerPtr rulerScaleY = new DefaultRuler();
-  rulerScaleX->SetDomain( RulerDomain(0.1f, 0.9f, true) );
-  rulerScaleY->SetDomain( RulerDomain(0.1f, 2.0f, true) );
-  scrollView.SetRulerScaleX(rulerScaleX);
-  scrollView.SetRulerScaleY(rulerScaleY);
-
-  scrollView.Add(Actor::New());
-
-  // Scroll to a position, and then snap.
-  scrollView.ScaleTo(Vector3(1.95f, 1.4f, 1.0f), 0.0f);
-  scrollView.ScrollToSnapPoint();
-  Wait(application, RENDER_DELAY_SCROLL);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollScale(), Vector3(0.9f, 1.4f, 1.0f), TEST_LOCATION );
-
-  // Scroll SLOWLY to another position, and then snap.
-  scrollView.ScaleTo(Vector3(0.45f, -1.0f, 1.0f));
-  Wait(application, RENDER_DELAY_SCROLL);
-  scrollView.ScrollToSnapPoint();
-  Wait(application, RENDER_DELAY_SCROLL);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollScale(), Vector3(0.5f, 0.1f, 1.0f), TEST_LOCATION );
-
-  // Scroll to another position, and then snap.
-  scrollView.ScaleTo(Vector3(0.71f, 0.71f, 1.0f), 0.0f);
-  scrollView.ScrollToSnapPoint();
-  Wait(application, RENDER_DELAY_SCROLL);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollScale(), Vector3(0.75f, 0.71f, 1.0f), TEST_LOCATION );
-}
-
-static void UtcDaliScrollViewTransformTo()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewTransformTo");
-
-  ScrollView scrollView = ScrollView::New();
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-  Stage::GetCurrent().Add( scrollView );
-
-  // Position rulers.
-  RulerPtr rulerX = new FixedRuler(50.0f);
-  RulerPtr rulerY = new FixedRuler(50.0f);
-  rulerX->SetDomain( RulerDomain(0.0f, 200.0f, true) );
-  rulerY->SetDomain( RulerDomain(0.0f, 200.0f, true) );
-  scrollView.SetRulerX(rulerX);
-  scrollView.SetRulerY(rulerY);
-
-  // Scale rulers.
-  RulerPtr rulerScaleX = new FixedRuler(0.1f);
-  RulerPtr rulerScaleY = new FixedRuler(0.1f);
-  rulerScaleX->SetDomain( RulerDomain(0.0f, 1.0f, true) );
-  rulerScaleY->SetDomain( RulerDomain(0.0f, 1.0f, true) );
-  scrollView.SetRulerScaleX(rulerScaleX);
-  scrollView.SetRulerScaleY(rulerScaleY);
-
-  // transform to a random position/scale
-  Vector3 targetPosition = Vector3(100.0f, 200.0f, 0.0f);
-  Vector3 targetScale = Vector3(0.44f, 0.58f, 1.0f);
-  float targetRotation = 0.0f;
-  scrollView.TransformTo(targetPosition, targetScale, targetRotation, 0.0f);
-  Wait(application);
-
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), targetPosition, TEST_LOCATION );
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollScale(), targetScale, TEST_LOCATION );
-
-  // transform to another random position/scale (SLOWLY)
-  targetPosition = Vector3(60.0f, 40.0f, 0.0f);
-  targetScale = Vector3(0.4f, 0.6f, 1.0f);
-  targetRotation = 0.0f;
-  scrollView.TransformTo(targetPosition, targetScale, targetRotation);
-  Wait(application, RENDER_DELAY_SCROLL);
-
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), targetPosition, TEST_LOCATION );
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollScale(), targetScale, TEST_LOCATION );
-}
-
-static void UtcDaliScrollViewRefreshInterval()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewRefreshInterval");
-
-  ScrollView scrollView = ScrollView::New();
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-  DALI_TEST_EQUALS( scrollView.GetRefreshInterval(), 0, TEST_LOCATION);
-  scrollView.SetRefreshInterval(10);
-  DALI_TEST_EQUALS( scrollView.GetRefreshInterval(), 10, TEST_LOCATION);
-  scrollView.SetRefreshInterval(1000);
-  DALI_TEST_EQUALS( scrollView.GetRefreshInterval(), 1000, TEST_LOCATION);
-}
-
-static void UtcDaliScrollViewWrapMode()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewWrapMode");
-
-  ScrollView scrollView = ScrollView::New();
-  Stage::GetCurrent().Add( scrollView );
-
-  // Position rulers. 4x4 grid.
-  RulerPtr rulerX = new FixedRuler(50.0f);
-  RulerPtr rulerY = new FixedRuler(50.0f);
-  rulerX->SetDomain( RulerDomain(0.0f, 200.0f, false) );
-  rulerY->SetDomain( RulerDomain(0.0f, 200.0f, false) );
-  scrollView.SetRulerX(rulerX);
-  scrollView.SetRulerY(rulerY);
-
-  scrollView.SetWrapMode(false);
-  scrollView.ScrollTo(Vector3(225.0f, 125.0f, 0.0f), 0.0f); // 5th (1st) page across, and 3rd (3rd) page down. (wrapped)
-  Wait(application);
-  DALI_TEST_EQUALS( static_cast<int>(scrollView.GetCurrentPage()), 17, TEST_LOCATION );
-  scrollView.SetWrapMode(true);
-  DALI_TEST_EQUALS( static_cast<int>(scrollView.GetCurrentPage()), 13, TEST_LOCATION );
-}
-
-static void UtcDaliScrollViewActorAutoSnap()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewActorAutoSnap");
-
-  ScrollView scrollView = ScrollView::New();
-  Stage::GetCurrent().Add( scrollView );
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-
-  // Position rulers.
-  RulerPtr rulerX = new DefaultRuler();
-  RulerPtr rulerY = new DefaultRuler();
-  rulerX->SetDomain( RulerDomain(0.0f, 1000.0f, false) );
-  rulerY->SetDomain( RulerDomain(0.0f, 1000.0f, false) );
-  scrollView.SetRulerX(rulerX);
-  scrollView.SetRulerY(rulerY);
-
-  const Vector3 aPosition = Vector3(200.0f, 50.0f, 0.0f);
-  Actor a = Actor::New();
-  scrollView.Add(a);
-  a.SetPosition(aPosition);
-
-  const Vector3 bPosition = Vector3(600.0f, 600.0f, 0.0f);
-  Actor b = Actor::New();
-  scrollView.Add(b);
-  b.SetPosition(bPosition);
-
-  // Goto a random position, and execute snap (should not move)
-  Vector3 targetScroll = Vector3(500.0f, 500.0f, 0.0f);
-  scrollView.ScrollTo(targetScroll, 0.0f);
-  Wait(application);
-  scrollView.ScrollToSnapPoint();
-  Wait(application, RENDER_DELAY_SCROLL);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), targetScroll, TEST_LOCATION );
-
-  // Enable ActorAutoSnap, and now try snapping.
-  scrollView.SetActorAutoSnap(true);
-  scrollView.ScrollToSnapPoint();
-  Wait(application, RENDER_DELAY_SCROLL);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), bPosition, TEST_LOCATION );
-
-  scrollView.ScrollTo(Vector3(0.0f, 0.0f, 0.0f), 0.0f);
-  Wait(application);
-  scrollView.ScrollToSnapPoint();
-  Wait(application, RENDER_DELAY_SCROLL);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), aPosition, TEST_LOCATION );
-}
-
-static void UtcDaliScrollViewSignalsStartComplete()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewSignalsStartComplete");
-
-  gOnScrollStartCalled = false;
-  gOnScrollCompleteCalled = false;
-
-  ScrollView scrollView = ScrollView::New();
-  Stage::GetCurrent().Add( scrollView );
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-
-  // Position rulers.
-  RulerPtr rulerX = new DefaultRuler();
-  RulerPtr rulerY = new DefaultRuler();
-  rulerX->SetDomain( RulerDomain(0.0f, 1000.0f, false) );
-  rulerY->SetDomain( RulerDomain(0.0f, 1000.0f, false) );
-  scrollView.SetRulerX(rulerX);
-  scrollView.SetRulerY(rulerY);
-  scrollView.ScrollStartedSignal().Connect( &OnScrollStart );
-  scrollView.ScrollUpdatedSignal().Connect( &OnScrollUpdate );
-  scrollView.ScrollCompletedSignal().Connect( &OnScrollComplete );
-  scrollView.ScrollTo( 100.0f, 100.0f );
-  Wait(application, RENDER_DELAY_SCROLL);
-
-  DALI_TEST_CHECK(gOnScrollStartCalled);
-  DALI_TEST_CHECK(gOnScrollCompleteCalled);
-}
-
-static void UtcDaliScrollViewSignalsUpdate()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewSignalsUpdate");
-
-  gOnScrollStartCalled = false;
-  gOnScrollUpdateCalled = false;
-  gOnScrollCompleteCalled = false;
-
-  ScrollView scrollView = ScrollView::New();
-  Stage::GetCurrent().Add( scrollView );
-  Vector2 stageSize = Stage::GetCurrent().GetSize();
-  scrollView.SetSize(stageSize);
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-  scrollView.SetParentOrigin(ParentOrigin::TOP_LEFT);
-  scrollView.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-
-  // Position rulers.
-  RulerPtr rulerX = new DefaultRuler();
-  RulerPtr rulerY = new DefaultRuler();
-  rulerX->SetDomain( RulerDomain(0.0f, 1000.0f, false) );
-  rulerY->SetDomain( RulerDomain(0.0f, 1000.0f, false) );
-  scrollView.SetRulerX(rulerX);
-  scrollView.SetRulerY(rulerY);
-  scrollView.ScrollStartedSignal().Connect( &OnScrollStart );
-  scrollView.ScrollUpdatedSignal().Connect( &OnScrollUpdate );
-  scrollView.ScrollCompletedSignal().Connect( &OnScrollComplete );
-
-  ImageActor image = CreateSolidColorActor( Color::RED );
-  image.SetSize(stageSize);
-  image.SetParentOrigin(ParentOrigin::TOP_LEFT);
-  image.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-  scrollView.Add(image);
-
-  Wait(application);
-
-  // Do a pan starting from 100,100 and moving down diagonally.
-  Vector2 pos(100.0f, 100.0f);
-  SendPan(application, Gesture::Possible, pos);
-  SendPan(application, Gesture::Started, pos);
-  pos.x += 5.0f;
-  pos.y += 5.0f;
-  Wait(application, 100);
-
-  for(int i = 0;i<20;i++)
-  {
-    SendPan(application, Gesture::Continuing, pos);
-    pos.x += 5.0f;
-    pos.y += 5.0f;
-    Wait(application);
-  }
-
-  SendPan(application, Gesture::Finished, pos);
-  Wait(application, RENDER_DELAY_SCROLL);
-
-  DALI_TEST_CHECK(gOnScrollStartCalled);
-  DALI_TEST_CHECK(gOnScrollUpdateCalled);
-  DALI_TEST_CHECK(gOnScrollCompleteCalled);
-}
-
-// Creates a scroll domain slightly bigger than the stage size.
-// ScrollView is scrolled to center, slightly to the left.
-// Then a pan gesture is carried out causing the scrollview
-// to pan South-West direction. Resulting in ClampEvents
-// to fire (first Western boundary, then both Western and
-// Southern boundary).
-static void UtcDaliScrollViewSignalsClamped()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewSignalsClamped");
-
-  gOnScrollUpdateCalled = false;
-  gOnScrollCompleteCalled = false;
-
-  // Set up a scrollView...
-  ScrollView scrollView = ScrollView::New();
-  Stage::GetCurrent().Add( scrollView );
-  Vector2 stageSize = Stage::GetCurrent().GetSize();
-  scrollView.SetSize(stageSize);
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-  scrollView.SetParentOrigin(ParentOrigin::TOP_LEFT);
-  scrollView.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-
-  // Position rulers.
-  RulerPtr rulerX = new DefaultRuler();
-  RulerPtr rulerY = new DefaultRuler();
-  rulerX->SetDomain( RulerDomain(0.0f, stageSize.width + CLAMP_EXCESS_WIDTH, true) );
-  rulerY->SetDomain( RulerDomain(0.0f, stageSize.height + CLAMP_EXCESS_HEIGHT, true) );
-  scrollView.SetRulerX(rulerX);
-  scrollView.SetRulerY(rulerY);
-  scrollView.ScrollUpdatedSignal().Connect( &OnScrollUpdate );
-  scrollView.ScrollClampedSignal().Connect( &OnScrollClamped );
-
-  scrollView.ScrollTo(CLAMP_START_SCROLL_POSITION, 0.0f); // move in a little.
-  Wait(application);
-
-  // Now do a pan starting from 100,100 and heading South-West
-  Vector2 pos(CLAMP_TOUCH_START);
-  SendPan(application, Gesture::Possible, pos);
-  SendPan(application, Gesture::Started, pos);
-  pos += CLAMP_TOUCH_MOVEMENT; // Move South-West a little
-  Wait(application);
-
-  int step = CLAMP_STEP_0_CHECK_NOTCLAMPED;
-  // Move 500,500 pixels South-West
-  // should be initially not clamped (0)
-  // then it should clamp against West boundary (X Min) (1)
-  // then it should clamp against South-West boundary (X Min, Y Max) (2)
-  gLastClampPosition.x = Toolkit::NotClamped;
-  gLastClampPosition.y = Toolkit::NotClamped;
-
-  for(int i = 0;i<CLAMP_GESTURE_FRAMES;i++)
-  {
-    SendPan(application, Gesture::Continuing, pos);
-    pos += CLAMP_TOUCH_MOVEMENT; // Move South-West a little
-    Wait(application);
-
-    if((gLastClampPosition.x == Toolkit::NotClamped) && (gLastClampPosition.y == Toolkit::NotClamped) && (step==CLAMP_STEP_0_CHECK_NOTCLAMPED))
-    {
-      step = CLAMP_STEP_1_CHECK_CLAMPED_WEST;
-    }
-    else if((gLastClampPosition.x == Toolkit::ClampedToMin) && (gLastClampPosition.y == Toolkit::NotClamped) && (step==CLAMP_STEP_1_CHECK_CLAMPED_WEST))
-    {
-      step = CLAMP_STEP_2_CHECK_CLAMPED_SOUTH_WEST;
-    }
-    else if((gLastClampPosition.x == Toolkit::ClampedToMin) && (gLastClampPosition.y == Toolkit::ClampedToMax) && (step==CLAMP_STEP_2_CHECK_CLAMPED_SOUTH_WEST))
-    {
-      step = CLAMP_STEP_3_SUCCESS;
-    }
-  }
-
-  SendPan(application, Gesture::Finished, pos);
-  Wait(application);
-
-  DALI_TEST_CHECK( gOnScrollClampedCalled );
-  DALI_TEST_EQUALS( step, CLAMP_STEP_3_SUCCESS, TEST_LOCATION );
-}
-
-static Vector2 PerformGestureDiagonalSwipe(ToolkitTestApplication& application, Vector2 start, Vector2 direction, int frames, bool finish = true)
-{
-  gOnScrollStartCalled = false;
-  gOnScrollUpdateCalled = false;
-  gOnScrollCompleteCalled = false;
-  gOnSnapStartCalled = false;
-
-  // Now do a pan starting from (start) and heading (direction)
-  Vector2 pos(start);
-  SendPan(application, Gesture::Possible, pos);
-  SendPan(application, Gesture::Started, pos);
-  Wait(application);
-
-  for(int i = 0;i<frames;i++)
-  {
-    pos += direction; // Move in this direction
-    SendPan(application, Gesture::Continuing, pos);
-    Wait(application);
-  }
-
-  if(finish)
-  {
-    pos += direction; // Move in this direction.
-    SendPan(application, Gesture::Finished, pos);
-    Wait(application, RENDER_DELAY_SCROLL);
-  }
-
-  return pos;
-}
-
-static void UtcDaliScrollViewScrollSensitive()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewScrollSensitive");
-
-  // Set up a scrollView...
-  ScrollView scrollView = ScrollView::New();
-  Stage::GetCurrent().Add( scrollView );
-  Vector2 stageSize = Stage::GetCurrent().GetSize();
-  scrollView.SetSize(stageSize);
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-  scrollView.SetParentOrigin(ParentOrigin::TOP_LEFT);
-  scrollView.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-
-  // Position rulers.
-  RulerPtr rulerX = new DefaultRuler();
-  RulerPtr rulerY = new DefaultRuler();
-  rulerX->SetDomain( RulerDomain(0.0f, stageSize.width + CLAMP_EXCESS_WIDTH, true) );
-  rulerY->SetDomain( RulerDomain(0.0f, stageSize.height + CLAMP_EXCESS_HEIGHT, true) );
-  scrollView.SetRulerX(rulerX);
-  scrollView.SetRulerY(rulerY);
-  scrollView.ScrollStartedSignal().Connect( &OnScrollStart );
-  scrollView.ScrollUpdatedSignal().Connect( &OnScrollUpdate );
-  scrollView.ScrollCompletedSignal().Connect( &OnScrollComplete );
-  scrollView.SnapStartedSignal().Connect( &OnSnapStart );
-
-  scrollView.ScrollTo(CLAMP_START_SCROLL_POSITION, 0.0f); // move in a little.
-  Wait(application);
-
-  // First try insensitive swipe.
-  scrollView.SetScrollSensitive(false);
-  PerformGestureDiagonalSwipe(application, CLAMP_TOUCH_START, CLAMP_TOUCH_MOVEMENT, CLAMP_GESTURE_FRAMES, true);
-
-  DALI_TEST_CHECK( !gOnScrollStartCalled );
-  DALI_TEST_CHECK( !gOnScrollUpdateCalled );
-  DALI_TEST_CHECK( !gOnScrollCompleteCalled );
-  DALI_TEST_CHECK( !gOnSnapStartCalled );
-
-  // Second try sensitive swipe.
-  scrollView.SetScrollSensitive(true);
-  PerformGestureDiagonalSwipe(application, CLAMP_TOUCH_START, CLAMP_TOUCH_MOVEMENT, CLAMP_GESTURE_FRAMES, true);
-
-  DALI_TEST_CHECK( gOnScrollStartCalled );
-  DALI_TEST_CHECK( gOnScrollUpdateCalled );
-  DALI_TEST_CHECK( gOnScrollCompleteCalled );
-  DALI_TEST_CHECK( gOnSnapStartCalled );
-}
-
-static void UtcDaliScrollViewTouchesRequired()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewTouchesRequired");
-
-  // Set up a scrollView...
-  ScrollView scrollView = ScrollView::New();
-  Stage::GetCurrent().Add( scrollView );
-  Vector2 stageSize = Stage::GetCurrent().GetSize();
-  scrollView.SetSize(stageSize);
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-  scrollView.SetParentOrigin(ParentOrigin::TOP_LEFT);
-  scrollView.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-
-  // Position rulers.
-  RulerPtr rulerX = new DefaultRuler();
-  RulerPtr rulerY = new DefaultRuler();
-  rulerX->SetDomain( RulerDomain(0.0f, stageSize.width + CLAMP_EXCESS_WIDTH, true) );
-  rulerY->SetDomain( RulerDomain(0.0f, stageSize.height + CLAMP_EXCESS_HEIGHT, true) );
-  scrollView.SetRulerX(rulerX);
-  scrollView.SetRulerY(rulerY);
-  scrollView.ScrollStartedSignal().Connect( &OnScrollStart );
-  scrollView.ScrollUpdatedSignal().Connect( &OnScrollUpdate );
-  scrollView.ScrollCompletedSignal().Connect( &OnScrollComplete );
-  scrollView.SnapStartedSignal().Connect( &OnSnapStart );
-
-  scrollView.ScrollTo(CLAMP_START_SCROLL_POSITION, 0.0f); // move in a little.
-  Wait(application);
-
-  // First try touches required being a minimum and maximum of 2.
-  scrollView.SetTouchesRequiredForPanning(2, 2, true);
-  PerformGestureDiagonalSwipe(application, CLAMP_TOUCH_START, CLAMP_TOUCH_MOVEMENT, CLAMP_GESTURE_FRAMES, true);
-
-  DALI_TEST_CHECK( !gOnScrollStartCalled );
-  DALI_TEST_CHECK( !gOnScrollUpdateCalled );
-  DALI_TEST_CHECK( !gOnScrollCompleteCalled );
-  DALI_TEST_CHECK( !gOnSnapStartCalled );
-
-  // Second try touches required being a minimum and maximum of 1.
-  scrollView.SetTouchesRequiredForPanning(1, 1, true);
-  PerformGestureDiagonalSwipe(application, CLAMP_TOUCH_START, CLAMP_TOUCH_MOVEMENT, CLAMP_GESTURE_FRAMES, true);
-
-  DALI_TEST_CHECK( gOnScrollStartCalled );
-  DALI_TEST_CHECK( gOnScrollUpdateCalled );
-  DALI_TEST_CHECK( gOnScrollCompleteCalled );
-  DALI_TEST_CHECK( gOnSnapStartCalled );
-}
-
-static void UtcDaliScrollViewAxisAutoLock()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewAxisAutoLock");
-
-  // Set up a scrollView...
-  ScrollView scrollView = ScrollView::New();
-  Stage::GetCurrent().Add( scrollView );
-  Vector2 stageSize = Stage::GetCurrent().GetSize();
-  scrollView.SetSize(stageSize);
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-  scrollView.SetParentOrigin(ParentOrigin::TOP_LEFT);
-  scrollView.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-
-  // Position rulers.
-  RulerPtr rulerX = new DefaultRuler();
-  RulerPtr rulerY = new DefaultRuler();
-  rulerX->SetDomain( RulerDomain(0.0f, stageSize.width + CLAMP_EXCESS_WIDTH, true) );
-  rulerY->SetDomain( RulerDomain(0.0f, stageSize.height + CLAMP_EXCESS_HEIGHT, true) );
-  scrollView.SetRulerX(rulerX);
-  scrollView.SetRulerY(rulerY);
-  scrollView.ScrollStartedSignal().Connect( &OnScrollStart );
-  scrollView.ScrollUpdatedSignal().Connect( &OnScrollUpdate );
-  scrollView.ScrollCompletedSignal().Connect( &OnScrollComplete );
-
-  // Normal
-  scrollView.ScrollTo(Vector3(100.0f, 100.0f, 0.0f), 0.0f); // move in a little.
-  Wait(application);
-  Vector3 startPosition = scrollView.GetCurrentScrollPosition();
-  PerformGestureDiagonalSwipe(application, CLAMP_TOUCH_START, Vector2(5.0f, 1.0f), 50, true); // mostly horizontal
-  const Vector3 positionAfterNormal = scrollView.GetCurrentScrollPosition();
-
-  // Autolock
-  scrollView.SetAxisAutoLock(true);
-  DALI_TEST_CHECK(scrollView.GetAxisAutoLock());
-
-  scrollView.ScrollTo(Vector3(100.0f, 100.0f, 0.0f), 0.0f); // move in a little.
-  Wait(application);
-  PerformGestureDiagonalSwipe(application, CLAMP_TOUCH_START, Vector2(5.0f, 1.0f), 50, true); // mostly horizontal
-  const Vector3 positionAfterAutoLock = scrollView.GetCurrentScrollPosition();
-
-  // compare how much the Y position has deviated for normal and autolock.
-  const float devianceNormal = fabsf(startPosition.y - positionAfterNormal.y);
-  const float devianceAutoLock = fabsf(startPosition.y - positionAfterAutoLock.y);
-
-  // in auto-lock it should be a mostly horizontal pan (thus deviance should be much lower)
-  DALI_TEST_CHECK(devianceAutoLock < devianceNormal);
-
-  scrollView.SetAxisAutoLock(false);
-  DALI_TEST_CHECK(!scrollView.GetAxisAutoLock());
-}
-
-static void UtcDaliScrollViewAxisAutoLockGradient()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewAxisAutoLockGradient");
-
-  // Set up a scrollView...
-  ScrollView scrollView = ScrollView::New();
-  scrollView.SetAxisAutoLockGradient(0.5f);
-  DALI_TEST_EQUALS(scrollView.GetAxisAutoLockGradient(), 0.5f, TEST_LOCATION);
-  scrollView.SetAxisAutoLockGradient(1.0f);
-  DALI_TEST_EQUALS(scrollView.GetAxisAutoLockGradient(), 1.0f, TEST_LOCATION);
-}
-
-static void UtcDaliScrollViewConstraints()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewConstraints");
-
-  // Set up a scrollView...
-  ScrollView scrollView = ScrollView::New();
-  Stage::GetCurrent().Add( scrollView );
-  Vector2 stageSize = Stage::GetCurrent().GetSize();
-  scrollView.SetSize(stageSize);
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-  scrollView.SetParentOrigin(ParentOrigin::TOP_LEFT);
-  scrollView.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-
-  // Position rulers.
-  RulerPtr rulerX = new DefaultRuler();
-  RulerPtr rulerY = new DefaultRuler();
-  rulerX->SetDomain( RulerDomain(0.0f, stageSize.width + CLAMP_EXCESS_WIDTH, true) );
-  rulerY->SetDomain( RulerDomain(0.0f, stageSize.height + CLAMP_EXCESS_HEIGHT, true) );
-  scrollView.SetRulerX(rulerX);
-  scrollView.SetRulerY(rulerY);
-
-  // Add an Actor to ScrollView,
-  // Apply TestSumConstraint to ScrollView's children (includes this Actor)
-  gConstraintResult = Vector3::ZERO;
-  Actor a = Actor::New();
-  scrollView.Add(a);
-  a.SetPosition( TEST_ACTOR_POSITION );
-  Wait(application);
-
-  Property::Index scrollPositionProperty = scrollView.GetPropertyIndex(ScrollView::SCROLL_POSITION_PROPERTY_NAME);
-  Constraint constraint = Constraint::New<Vector3>( Actor::POSITION,
-                                                       Source(scrollView, scrollPositionProperty),
-                                                       TestSumConstraint( TEST_CONSTRAINT_OFFSET ) );
-  constraint.SetRemoveAction(Constraint::Discard);
-  scrollView.ApplyConstraintToChildren(constraint);
-  Wait(application);
-
-  DALI_TEST_EQUALS( gConstraintResult, TEST_ACTOR_POSITION + TEST_CONSTRAINT_OFFSET, TEST_LOCATION );
-
-  gConstraintResult = Vector3::ZERO;
-  scrollView.RemoveConstraintsFromChildren();
-  Wait(application);
-
-  DALI_TEST_EQUALS( gConstraintResult, Vector3::ZERO, TEST_LOCATION );
-}
-
-static void UtcDaliScrollViewBind()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewBind");
-
-  // Set up a scrollView...
-  ScrollView scrollView = ScrollView::New();
-  Stage::GetCurrent().Add( scrollView );
-  Vector2 stageSize = Stage::GetCurrent().GetSize();
-  scrollView.SetSize(stageSize);
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-  scrollView.SetParentOrigin(ParentOrigin::TOP_LEFT);
-  scrollView.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-
-  // Position rulers.
-  RulerPtr rulerX = new DefaultRuler();
-  RulerPtr rulerY = new DefaultRuler();
-  rulerX->SetDomain( RulerDomain(0.0f, stageSize.width + CLAMP_EXCESS_WIDTH, true) );
-  rulerY->SetDomain( RulerDomain(0.0f, stageSize.height + CLAMP_EXCESS_HEIGHT, true) );
-  scrollView.SetRulerX(rulerX);
-  scrollView.SetRulerY(rulerY);
-
-  // Add an Actor to ScrollView,
-  // Apply TestSumConstraint to ScrollView's children (includes this Actor)
-
-  gConstraintResult = Vector3::ZERO;
-  Actor a = Actor::New();
-  scrollView.Add(a);
-  a.SetPosition( TEST_ACTOR_POSITION );
-  Wait(application);
-
-  Property::Index scrollPositionProperty = scrollView.GetPropertyIndex(ScrollView::SCROLL_POSITION_PROPERTY_NAME);
-  // apply this constraint to scrollview
-  Constraint constraint = Constraint::New<Vector3>( Actor::POSITION,
-                                                       Source(scrollView, scrollPositionProperty),
-                                                       TestSumConstraint( TEST_CONSTRAINT_OFFSET ) );
-
-  constraint.SetRemoveAction(Constraint::Discard);
-  scrollView.ApplyConstraintToChildren(constraint);
-
-  Wait(application);
-  // Defaulty Bound.
-  DALI_TEST_EQUALS( gConstraintResult, TEST_ACTOR_POSITION + TEST_CONSTRAINT_OFFSET, TEST_LOCATION );
-
-  // UnBind
-  gConstraintResult = Vector3::ZERO;
-  scrollView.UnbindActor( a );
-  Wait(application);
-  DALI_TEST_EQUALS( gConstraintResult, Vector3::ZERO, TEST_LOCATION );
-
-  // Bind
-  gConstraintResult = Vector3::ZERO;
-  scrollView.BindActor( a );
-  Wait(application);
-  DALI_TEST_EQUALS( gConstraintResult, TEST_ACTOR_POSITION + TEST_CONSTRAINT_OFFSET, TEST_LOCATION );
-}
-
-static void UtcDaliRulerEnableDisable()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliRulerEnableDisable");
-
-  RulerPtr ruler = new DefaultRuler();
-
-  DALI_TEST_CHECK( ruler->IsEnabled() );
-  ruler->Disable();
-  DALI_TEST_CHECK( !ruler->IsEnabled() );
-  ruler->Enable();
-  DALI_TEST_CHECK( ruler->IsEnabled() );
-}
-
-static void UtcDaliRulerDomainEnableDisable()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliRulerDomainEnableDisable");
-
-  RulerPtr ruler = new DefaultRuler();
-  DALI_TEST_EQUALS( ruler->GetDomain().GetSize(), 1.0f, TEST_LOCATION );
-
-
-  ruler->SetDomain( RulerDomain(0.0f, 100.0f, true) );
-  DALI_TEST_EQUALS( ruler->GetDomain().GetSize(), 100.0f, TEST_LOCATION );
-  DALI_TEST_EQUALS( ruler->Clamp(-200.0f), 0.0f, TEST_LOCATION );
-  DALI_TEST_EQUALS( ruler->Clamp(200.0f), 100.0f, TEST_LOCATION );
-
-  ruler->DisableDomain();
-  DALI_TEST_EQUALS( ruler->GetDomain().GetSize(), 1.0f, TEST_LOCATION );
-  DALI_TEST_EQUALS( ruler->Clamp(-200.0f), -200.0f, TEST_LOCATION );
-  DALI_TEST_EQUALS( ruler->Clamp(200.0f), 200.0f, TEST_LOCATION );
-}
-
-static void UtcDaliRulerSnapAndClamp()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliRulerSnapAndClamp");
-
-  RulerPtr ruler = new FixedRuler( 50.0f );
-  ruler->SetDomain( RulerDomain(0.0f, 400.0f, true) );
-
-  // default testing. (snap and clamp)
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(50.0f), 50.0f, TEST_LOCATION);
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(30.0f), 50.0f, TEST_LOCATION);
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(10.0f), 0.0f, TEST_LOCATION);
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(-40.0f), 0.0f, TEST_LOCATION);
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(390.0f), 400.0f, TEST_LOCATION);
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(430.0f), 400.0f, TEST_LOCATION);
-
-  // bias testing.
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(40.0f, 0.0f), 0.0f, TEST_LOCATION); // Flick Left
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(40.0f, 0.5f), 50.0f, TEST_LOCATION); // No Flick
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(40.0f, 1.0f), 50.0f, TEST_LOCATION); // Flick Right
-
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(20.0f, 0.0f), 0.0f, TEST_LOCATION); // Flick Left
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(20.0f, 0.5f), 0.0f, TEST_LOCATION); // No Flick
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(20.0f, 1.0f), 50.0f, TEST_LOCATION); // Flick Right
-
-  // length testing.
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(-10.0f, 0.5f, 10.0f), 0.0f, TEST_LOCATION); // 10 units long (over left boundary)
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(-5.0f, 0.5f, 10.0f), 0.0f, TEST_LOCATION); // 10 units long (slightly ovr left boundary)
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(300.0f, 0.5f, 10.0f), 300.0f, TEST_LOCATION); // 10 units long (not over a boundary)
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(395.0f, 0.5f, 10.0f), 390.0f, TEST_LOCATION); // 10 units long (slightly over right boundary)
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(500.0f, 0.5f, 10.0f), 390.0f, TEST_LOCATION); // 10 units long (over right boundary)
-
-  // scale testing.
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(-100.0f, 0.5f, 0.0f, 2.0f), 0.0f, TEST_LOCATION);
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(50.0f, 0.5f, 0.0f, 2.0f), 50.0f, TEST_LOCATION);
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(700.0f, 0.5f, 0.0f, 2.0f), 700.0f, TEST_LOCATION);
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(850.0f, 0.5f, 0.0f, 2.0f), 800.0f, TEST_LOCATION);
-
-  // clamp state testing.
-  ClampState clamped;
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(50.0f, 0.5f, 0.0f, 1.0f, clamped), 50.0f, TEST_LOCATION);
-  DALI_TEST_EQUALS( clamped, NotClamped, TEST_LOCATION );
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(30.0f, 0.5f, 0.0f, 1.0f, clamped), 50.0f, TEST_LOCATION);
-  DALI_TEST_EQUALS( clamped, NotClamped, TEST_LOCATION );
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(10.0f, 0.5f, 0.0f, 1.0f, clamped), 0.0f, TEST_LOCATION);
-  DALI_TEST_EQUALS( clamped, NotClamped, TEST_LOCATION );
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(-40.0f, 0.5f, 0.0f, 1.0f, clamped), 0.0f, TEST_LOCATION);
-  DALI_TEST_EQUALS( clamped, ClampedToMin, TEST_LOCATION );
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(390.0f, 0.5f, 0.0f, 1.0f, clamped), 400.0f, TEST_LOCATION);
-  DALI_TEST_EQUALS( clamped, NotClamped, TEST_LOCATION );
-  DALI_TEST_EQUALS( ruler->SnapAndClamp(430.0f, 0.5f, 0.0f, 1.0f, clamped), 400.0f, TEST_LOCATION);
-  DALI_TEST_EQUALS( clamped, ClampedToMax, TEST_LOCATION );
-}
-
-static void UtcDaliRulerFixedRulerSpacing()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliRulerFixedRulerSpacing");
-
-  RulerPtr rulerZero = new FixedRuler( 0.0f );
-  rulerZero->SetDomain( RulerDomain(10.0f, 90.0f, true) );
-
-  RulerPtr rulerNormal = new FixedRuler( 25.0f );
-  rulerNormal->SetDomain( RulerDomain(10.0f, 90.0f, true) );
-
-  unsigned int volume;
-  float position;
-
-  position = rulerZero->GetPositionFromPage(1, volume, true);
-  DALI_TEST_EQUALS( position, 10.0f, TEST_LOCATION );
-  DALI_TEST_EQUALS( volume, 1u, TEST_LOCATION );
-
-  position = rulerNormal->GetPositionFromPage(1, volume, true);
-  DALI_TEST_EQUALS( position, 35.0f, TEST_LOCATION );
-  DALI_TEST_EQUALS( volume, 0u, TEST_LOCATION );
-
-  position = rulerZero->GetPositionFromPage(2, volume, true);
-  DALI_TEST_EQUALS( position, 10.0f, TEST_LOCATION );
-  DALI_TEST_EQUALS( volume, 2u, TEST_LOCATION );
-
-  position = rulerNormal->GetPositionFromPage(2, volume, true);
-  DALI_TEST_EQUALS( position, 60.0f, TEST_LOCATION );
-  DALI_TEST_EQUALS( volume, 0u, TEST_LOCATION );
-}
-
-static void UtcDaliScrollViewOvershoot()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewOvershoot");
-
-  // Set up a scrollView...
-  ScrollView scrollView = ScrollView::New();
-  Stage::GetCurrent().Add( scrollView );
-  Vector2 stageSize = Stage::GetCurrent().GetSize();
-  scrollView.SetSize(stageSize);
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-  scrollView.SetParentOrigin(ParentOrigin::TOP_LEFT);
-  scrollView.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-
-  // Position rulers.
-  RulerPtr rulerX = new DefaultRuler();
-  RulerPtr rulerY = new DefaultRuler();
-  rulerX->SetDomain( RulerDomain(0.0f, stageSize.width + CLAMP_EXCESS_WIDTH, true) );
-  rulerY->SetDomain( RulerDomain(0.0f, stageSize.height + CLAMP_EXCESS_HEIGHT, true) );
-  scrollView.SetRulerX(rulerX);
-  scrollView.SetRulerY(rulerY);
-  scrollView.ScrollStartedSignal().Connect( &OnScrollStart );
-  scrollView.ScrollUpdatedSignal().Connect( &OnScrollUpdate );
-  scrollView.ScrollCompletedSignal().Connect( &OnScrollComplete );
-
-  scrollView.ScrollTo(OVERSHOOT_START_SCROLL_POSITION, 0.0f); // move in a little.
-  Wait(application);
-
-  // 1. Scroll page in NW (-500,-500 pixels), then inspect overshoot. (don't release touch)
-  Vector2 currentPos = Vector2(100.0f, 100.0f);
-  currentPos = PerformGestureDiagonalSwipe(application, currentPos, Vector2(5.0f, 5.0f), 100, false);
-  Property::Index overshootXProperty = scrollView.GetPropertyIndex(ScrollView::SCROLL_OVERSHOOT_X_PROPERTY_NAME);
-  Property::Index overshootYProperty = scrollView.GetPropertyIndex(ScrollView::SCROLL_OVERSHOOT_Y_PROPERTY_NAME);
-  Property::Index scrollPositionProperty = scrollView.GetPropertyIndex(ScrollView::SCROLL_POSITION_PROPERTY_NAME);
-  float overshootXValue = scrollView.GetProperty<float>(overshootXProperty);
-  float overshootYValue = scrollView.GetProperty<float>(overshootYProperty);
-  Vector3 positionValue = scrollView.GetProperty<Vector3>(scrollPositionProperty);
-  DALI_TEST_EQUALS(overshootXValue, -1.0f, TEST_LOCATION);
-  DALI_TEST_EQUALS(overshootYValue, -1.0f, TEST_LOCATION);
-  DALI_TEST_EQUALS(positionValue, Vector3::ZERO, TEST_LOCATION);
-
-  float timeToReachOrigin;
-
-  // Now release touch. Overshoot should snap back to zero.
-  SendPan(application, Gesture::Finished, currentPos);
-  timeToReachOrigin = TestOvershootSnapDuration(application, scrollView);
-
-  DALI_TEST_CHECK( (timeToReachOrigin > TEST_DEFAULT_SNAP_OVERSHOOT_DURATION - TIME_TOLERANCE) &&
-                   (timeToReachOrigin < TEST_DEFAULT_SNAP_OVERSHOOT_DURATION + TIME_TOLERANCE) );
-
-  // 2. Repeat Scroll, but this time change overshoot snap duration to shorter time
-  scrollView.SetSnapOvershootDuration(TEST_CUSTOM1_SNAP_OVERSHOOT_DURATION);
-
-  currentPos = PerformGestureDiagonalSwipe(application, Vector2(100.0f, 100.0f), Vector2(5.0f, 5.0f), 100, false);
-  // Now release touch. Overshoot should snap back to zero.
-  SendPan(application, Gesture::Finished, currentPos);
-  timeToReachOrigin = TestOvershootSnapDuration(application, scrollView);
-
-  DALI_TEST_CHECK( (timeToReachOrigin > TEST_CUSTOM1_SNAP_OVERSHOOT_DURATION - TIME_TOLERANCE) &&
-                   (timeToReachOrigin < TEST_CUSTOM1_SNAP_OVERSHOOT_DURATION + TIME_TOLERANCE) );
-
-  // 3. Repeat Scroll, but this time change overshoot snap duration to longer time.
-  scrollView.SetSnapOvershootDuration(TEST_CUSTOM2_SNAP_OVERSHOOT_DURATION);
-
-  currentPos = PerformGestureDiagonalSwipe(application, Vector2(100.0f, 100.0f), Vector2(5.0f, 5.0f), 100, false);
-  // Now release touch. Overshoot should snap back to zero.
-  SendPan(application, Gesture::Finished, currentPos);
-  timeToReachOrigin = TestOvershootSnapDuration(application, scrollView);
-
-  DALI_TEST_CHECK( (timeToReachOrigin > TEST_CUSTOM2_SNAP_OVERSHOOT_DURATION - TIME_TOLERANCE) &&
-                   (timeToReachOrigin < TEST_CUSTOM2_SNAP_OVERSHOOT_DURATION + TIME_TOLERANCE) );
-
-  // 4. Repeat Scroll, but this time change overshoot function.
-  scrollView.SetSnapOvershootAlphaFunction(TestAlphaFunction);
-
-  currentPos = PerformGestureDiagonalSwipe(application, Vector2(100.0f, 100.0f), Vector2(5.0f, 5.0f), 100, false);
-  // Now release touch. Overshoot should snap back to zero.
-  SendPan(application, Gesture::Finished, currentPos);
-  timeToReachOrigin = TestOvershootSnapDuration(application, scrollView);
-
-  DALI_TEST_CHECK( (timeToReachOrigin > TEST_CUSTOM3_SNAP_OVERSHOOT_DURATION - TIME_TOLERANCE) &&
-                   (timeToReachOrigin < TEST_CUSTOM3_SNAP_OVERSHOOT_DURATION + TIME_TOLERANCE) );
-}
-
-static void UtcDaliScrollViewSnapAlphaFunction()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewSnapAlphaFunction");
-
-  // Set up a scrollView...
-  ScrollView scrollView = ScrollView::New();
-  scrollView.SetScrollSnapAlphaFunction( AlphaFunctions::EaseIn );
-  DALI_TEST_CHECK( scrollView.GetScrollSnapAlphaFunction() == AlphaFunctions::EaseIn );
-  scrollView.SetScrollSnapAlphaFunction( AlphaFunctions::EaseOut );
-  DALI_TEST_CHECK( scrollView.GetScrollSnapAlphaFunction() == AlphaFunctions::EaseOut );
-
-  scrollView.SetScrollFlickAlphaFunction( AlphaFunctions::Bounce );
-  DALI_TEST_CHECK( scrollView.GetScrollFlickAlphaFunction() == AlphaFunctions::Bounce );
-  scrollView.SetScrollFlickAlphaFunction( AlphaFunctions::BounceBack );
-  DALI_TEST_CHECK( scrollView.GetScrollFlickAlphaFunction() == AlphaFunctions::BounceBack );
-}
-
-static void UtcDaliScrollViewSnapDuration()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewSnapDuration");
-
-  // Set up a scrollView...
-  ScrollView scrollView = ScrollView::New();
-  scrollView.SetScrollSnapDuration( 1.0f );
-  DALI_TEST_EQUALS( scrollView.GetScrollSnapDuration(), 1.0f, TEST_LOCATION );
-  scrollView.SetScrollSnapDuration( 0.5f );
-  DALI_TEST_EQUALS( scrollView.GetScrollSnapDuration(), 0.5f, TEST_LOCATION );
-
-  scrollView.SetScrollFlickDuration( 2.0f );
-  DALI_TEST_EQUALS( scrollView.GetScrollFlickDuration(), 2.0f, TEST_LOCATION );
-  scrollView.SetScrollFlickDuration( 1.5f );
-  DALI_TEST_EQUALS( scrollView.GetScrollFlickDuration(), 1.5f, TEST_LOCATION );
-}
-
-static void UtcDaliScrollViewSignalsSnapStart()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewSignalsSnapStart");
-
-  // Set up a scrollView...
-  ScrollView scrollView = ScrollView::New();
-  Stage::GetCurrent().Add( scrollView );
-  Vector2 stageSize = Stage::GetCurrent().GetSize();
-  scrollView.SetSize(stageSize);
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-  scrollView.SetParentOrigin(ParentOrigin::TOP_LEFT);
-  scrollView.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-
-  // Position rulers.
-  RulerPtr rulerX = new DefaultRuler();
-  RulerPtr rulerY = new DefaultRuler();
-  rulerX->SetDomain( RulerDomain(0.0f, stageSize.width + CLAMP_EXCESS_WIDTH, true) );
-  rulerY->SetDomain( RulerDomain(0.0f, stageSize.height + CLAMP_EXCESS_HEIGHT, true) );
-  scrollView.SetRulerX(rulerX);
-  scrollView.SetRulerY(rulerY);
-  scrollView.SnapStartedSignal().Connect( &OnSnapStart );
-
-  scrollView.ScrollTo(CLAMP_START_SCROLL_POSITION, 0.0f); // move in a little.
-  Wait(application);
-
-  DALI_TEST_CHECK( !gOnSnapStartCalled );
-
-  // First try a snap.
-  PerformGestureDiagonalSwipe(application, CLAMP_TOUCH_START, Vector2(0.5f, 0.0f), 60, true);
-
-  DALI_TEST_CHECK( gOnSnapStartCalled );
-  DALI_TEST_CHECK( gLastSnapType == Toolkit::Snap );
-
-  // Second try a swipe.
-  PerformGestureDiagonalSwipe(application, CLAMP_TOUCH_START, Vector2(20.0f, 0.0f), 60, true);
-
-  DALI_TEST_CHECK( gOnSnapStartCalled );
-  DALI_TEST_CHECK( gLastSnapType == Toolkit::Flick );
-}
-
-static void UtcDaliScrollViewUIComponent()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewUIComponent");
-
-  // Set up a scrollView...
-  ScrollView scrollView = ScrollView::New();
-  DALI_TEST_CHECK( !scrollView.IsScrollComponentEnabled(Scrollable::HorizontalScrollBar) );
-  DALI_TEST_CHECK( !scrollView.IsScrollComponentEnabled(Scrollable::VerticalScrollBar) );
-  DALI_TEST_CHECK( scrollView.IsScrollComponentEnabled(Scrollable::OvershootIndicator) );
-
-  scrollView.EnableScrollComponent( Scrollable::VerticalScrollBar );
-  DALI_TEST_CHECK( !scrollView.IsScrollComponentEnabled(Scrollable::HorizontalScrollBar) );
-  DALI_TEST_CHECK( scrollView.IsScrollComponentEnabled(Scrollable::VerticalScrollBar) );
-  DALI_TEST_CHECK( scrollView.IsScrollComponentEnabled(Scrollable::OvershootIndicator) );
-
-  scrollView.EnableScrollComponent( Scrollable::HorizontalScrollBar );
-  DALI_TEST_CHECK( scrollView.IsScrollComponentEnabled(Scrollable::HorizontalScrollBar) );
-  DALI_TEST_CHECK( scrollView.IsScrollComponentEnabled(Scrollable::VerticalScrollBar) );
-  DALI_TEST_CHECK( scrollView.IsScrollComponentEnabled(Scrollable::OvershootIndicator) );
-
-  scrollView.EnableScrollComponent( Scrollable::OvershootIndicator );
-  DALI_TEST_CHECK( scrollView.IsScrollComponentEnabled(Scrollable::HorizontalScrollBar) );
-  DALI_TEST_CHECK( scrollView.IsScrollComponentEnabled(Scrollable::VerticalScrollBar) );
-  DALI_TEST_CHECK( scrollView.IsScrollComponentEnabled(Scrollable::OvershootIndicator) );
-
-  scrollView.DisableScrollComponent( Scrollable::VerticalScrollBar );
-  DALI_TEST_CHECK( scrollView.IsScrollComponentEnabled(Scrollable::HorizontalScrollBar) );
-  DALI_TEST_CHECK( !scrollView.IsScrollComponentEnabled(Scrollable::VerticalScrollBar) );
-  DALI_TEST_CHECK( scrollView.IsScrollComponentEnabled(Scrollable::OvershootIndicator) );
-
-  scrollView.DisableScrollComponent( Scrollable::HorizontalScrollBar );
-  DALI_TEST_CHECK( !scrollView.IsScrollComponentEnabled(Scrollable::HorizontalScrollBar) );
-  DALI_TEST_CHECK( !scrollView.IsScrollComponentEnabled(Scrollable::VerticalScrollBar) );
-  DALI_TEST_CHECK( scrollView.IsScrollComponentEnabled(Scrollable::OvershootIndicator) );
-
-  scrollView.DisableScrollComponent( Scrollable::OvershootIndicator );
-  DALI_TEST_CHECK( !scrollView.IsScrollComponentEnabled(Scrollable::HorizontalScrollBar) );
-  DALI_TEST_CHECK( !scrollView.IsScrollComponentEnabled(Scrollable::VerticalScrollBar) );
-  DALI_TEST_CHECK( !scrollView.IsScrollComponentEnabled(Scrollable::OvershootIndicator) );
-
-  // Create scroll bar
-  ScrollBar scrollBar = ScrollBar::New(scrollView, true);
-  scrollBar.Show();
-  scrollBar.Hide();
-
-  // Check downcast
-  const ScrollBar scrollBarVertical = ScrollBar(scrollBar);
-  BaseHandle handle(scrollBarVertical);
-
-  ScrollBar newScrollBar = ScrollBar::DownCast( handle );
-  DALI_TEST_CHECK( scrollBarVertical );
-  DALI_TEST_CHECK( newScrollBar == scrollBarVertical );
-
-  ScrollComponent scrollComponent = ScrollComponent(scrollBarVertical);
-  handle = scrollComponent;
-
-  ScrollComponent newScrollComponent = ScrollComponent::DownCast( handle );
-  DALI_TEST_CHECK( scrollComponent );
-  DALI_TEST_CHECK( scrollComponent == scrollComponent );
-}
-
-static void UtcDaliScrollViewSetMouseWheelScrollDistanceStep()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewSetMouseWheelScrollDistanceStep");
-
-  ScrollView scrollView = ScrollView::New();
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetMouseWheelScrollDistanceStep(Vector2(30.0f, 15.0f));
-  DALI_TEST_EQUALS( scrollView.GetMouseWheelScrollDistanceStep(), Vector2(30.0f, 15.0f), TEST_LOCATION );
-  scrollView.SetMouseWheelScrollDistanceStep(Vector2(60.0f, 30.0f));
-  DALI_TEST_EQUALS( scrollView.GetMouseWheelScrollDistanceStep(), Vector2(60.0f, 30.0f), TEST_LOCATION);
-}
-
-static void UtcDaliScrollViewGetSet()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewGetSet");
-  ScrollView scrollView = ScrollView::New();
-  scrollView.SetMaxOvershoot(50.0f, 50.0f);
-  scrollView.SetMaxFlickSpeed(0.5f);
-  DALI_TEST_EQUALS(scrollView.GetMaxFlickSpeed(), 0.5f, Math::MACHINE_EPSILON_0, TEST_LOCATION);
-  scrollView.SetFrictionCoefficient(0.6f);
-  DALI_TEST_EQUALS(scrollView.GetFrictionCoefficient(), 0.6f, Math::MACHINE_EPSILON_0, TEST_LOCATION);
-  scrollView.SetFlickSpeedCoefficient(0.7f);
-  DALI_TEST_EQUALS(scrollView.GetFlickSpeedCoefficient(), 0.7f, Math::MACHINE_EPSILON_0, TEST_LOCATION);
-}
diff --git a/automated-tests/TET/dali-test-suite/scroll-view/utc-Dali-ScrollViewEffect.cpp b/automated-tests/TET/dali-test-suite/scroll-view/utc-Dali-ScrollViewEffect.cpp
deleted file mode 100644 (file)
index 0d0aa90..0000000
+++ /dev/null
@@ -1,934 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-#include <dali/integration-api/events/touch-event-integ.h>
-#include <dali/integration-api/events/pan-gesture-event.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-namespace
-{
-static bool gObjectCreatedCallBackCalled;
-
-static void TestCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-}
-} // namespace
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliScrollViewCustomEffectSetup();
-static void UtcDaliScrollViewCubeEffectSetup();
-static void UtcDaliScrollViewPageCubeEffectSetup();
-static void UtcDaliScrollViewSpiralEffectSetup();
-static void UtcDaliScrollViewPageCarouselEffectSetup();
-static void UtcDaliScrollViewCarouselEffectSetup();
-static void UtcDaliScrollViewDepthEffectSetup();
-static void UtcDaliScrollViewSlideEffectSetup();
-static void UtcDaliScrollViewTwistEffectSetup();
-
-static void UtcDaliScrollViewCubeEffectTest();
-static void UtcDaliScrollViewPageCubeEffectTest();
-static void UtcDaliScrollViewSpiralEffectTest();
-static void UtcDaliScrollViewPageCarouselEffectTest();
-static void UtcDaliScrollViewCarouselEffectTest();
-static void UtcDaliScrollViewDepthEffectTest();
-static void UtcDaliScrollViewSlideEffectTest();
-static void UtcDaliScrollViewTwistEffectTest();
-static void UtcDaliScrollViewCustomEffectTest();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliScrollViewCustomEffectSetup, POSITIVE_TC_IDX },
-    { UtcDaliScrollViewCubeEffectSetup, POSITIVE_TC_IDX },
-    { UtcDaliScrollViewPageCubeEffectSetup, POSITIVE_TC_IDX },
-    { UtcDaliScrollViewSpiralEffectSetup, POSITIVE_TC_IDX },
-    { UtcDaliScrollViewPageCarouselEffectSetup, POSITIVE_TC_IDX },
-    { UtcDaliScrollViewCarouselEffectSetup, POSITIVE_TC_IDX },
-    { UtcDaliScrollViewDepthEffectSetup, POSITIVE_TC_IDX },
-    { UtcDaliScrollViewSlideEffectSetup, POSITIVE_TC_IDX },
-    { UtcDaliScrollViewTwistEffectSetup, POSITIVE_TC_IDX },
-    { UtcDaliScrollViewCubeEffectTest, POSITIVE_TC_IDX },
-    { UtcDaliScrollViewPageCubeEffectTest, POSITIVE_TC_IDX },
-    { UtcDaliScrollViewSpiralEffectTest, POSITIVE_TC_IDX },
-    { UtcDaliScrollViewPageCarouselEffectTest, POSITIVE_TC_IDX },
-    { UtcDaliScrollViewCarouselEffectTest, POSITIVE_TC_IDX },
-    { UtcDaliScrollViewDepthEffectTest, POSITIVE_TC_IDX },
-    { UtcDaliScrollViewSlideEffectTest, POSITIVE_TC_IDX },
-    { UtcDaliScrollViewTwistEffectTest, POSITIVE_TC_IDX },
-    { UtcDaliScrollViewCustomEffectTest, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-namespace // unnamed namespace
-{
-
-const int MILLISECONDS_PER_SECOND = 1000;
-const int RENDER_FRAME_INTERVAL = 16;                           ///< Duration of each frame in ms. (at approx 60FPS)
-const int RENDER_ANIMATION_TEST_DURATION_MS = 1000;             ///< 1000ms to test animation
-const int RENDER_DELAY_SCROLL = 1000;                           ///< duration to wait for any scroll to complete.
-
-/*
- * Simulate time passed by.
- *
- * @note this will always process at least 1 frame (1/60 sec)
- *
- * @param application Test application instance
- * @param duration Time to pass in milliseconds.
- * @return The actual time passed in milliseconds
- */
-int Wait(ToolkitTestApplication& application, int duration = 0)
-{
-  int time = 0;
-
-  for(int i = 0; i <= ( duration / RENDER_FRAME_INTERVAL); i++)
-  {
-    application.SendNotification();
-    application.Render(RENDER_FRAME_INTERVAL);
-    time += RENDER_FRAME_INTERVAL;
-  }
-
-  return time;
-}
-
-/**
- * Creates a Ruler that snaps to a specified grid size.
- * If that grid size is 0.0 then this ruler does not
- * snap.
- *
- * @param[in] gridSize (optional) The grid size for the ruler,
- * (Default = 0.0 i.e. no snapping)
- * @return The ruler is returned.
- */
-RulerPtr CreateRuler(float gridSize = 0.0f)
-{
-  if(gridSize <= Math::MACHINE_EPSILON_0)
-  {
-      return new DefaultRuler();
-  }
-  return new FixedRuler(gridSize);
-}
-
-// Callback probes.
-
-static bool gOnScrollStartCalled;                       ///< Whether the OnScrollStart signal was invoked.
-static bool gOnScrollUpdateCalled;                      ///< Whether the OnScrollUpdate signal was invoked.
-static bool gOnScrollCompleteCalled;                    ///< Whether the OnScrollComplete signal was invoked.
-static bool gOnScrollClampedCalled;                     ///< Whether the OnScrollClamped signal was invoked.
-static bool gOnSnapStartCalled;                         ///< Whether the OnSnapStart signal was invoked.
-static ClampState3 gLastClampPosition;                  ///< Clamping information from OnScrollClampedEvent.
-static SnapType gLastSnapType;                          ///< Snaping information from SnapEvent.
-static Vector3 gConstraintResult;                       ///< Result from constraint.
-
-static ActorContainer gPages;                                ///< Keeps track of all the pages for applying effects.
-
-static void ResetScrollCallbackResults()
-{
-  gOnScrollStartCalled = false;
-  gOnScrollUpdateCalled = false;
-  gOnScrollCompleteCalled = false;
-}
-
-/**
- * Invoked when scrolling starts.
- *
- * @param[in] position The current scroll position.
- */
-static void OnScrollStart( const Vector3& position )
-{
-  gOnScrollStartCalled = true;
-}
-
-/**
- * Invoked when scrolling updates (via dragging)
- *
- * @param[in] position The current scroll position.
- */
-static void OnScrollUpdate( const Vector3& position )
-{
-  gOnScrollUpdateCalled = true;
-}
-
-/**
- * Invoked when scrolling finishes
- *
- * @param[in] position The current scroll position.
- */
-static void OnScrollComplete( const Vector3& position )
-{
-  gOnScrollCompleteCalled = true;
-}
-
-/**
- * Invoked when scrolling clamped.
- *
- * @param[in] event The position/scale/rotation axes that were clamped.
- */
-static void OnScrollClamped( const ScrollView::ClampEvent& event )
-{
-  gOnScrollClampedCalled = true;
-  gLastClampPosition = event.position;
-}
-
-/**
- * Invoked when a snap or flick started.
- *
- * @param[in] event The type of snap and the target position/scale/rotation.
- */
-static void OnSnapStart( const ScrollView::SnapEvent& event )
-{
-  gOnSnapStartCalled = true;
-  gLastSnapType = event.type;
-}
-
-ScrollView SetupTestScrollView(int rows, int columns, Vector2 size)
-{
-  ScrollView scrollView = ScrollView::New();
-  scrollView.SetSize(size);
-  scrollView.SetAnchorPoint(AnchorPoint::CENTER);
-  scrollView.SetParentOrigin(ParentOrigin::CENTER);
-  scrollView.ApplyConstraint( Constraint::New<Dali::Vector3>( Dali::Actor::SIZE, Dali::ParentSource( Dali::Actor::SIZE ), Dali::EqualToConstraint() ) );
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetWrapMode(false);
-  scrollView.SetRefreshInterval(0);
-  scrollView.ScrollStartedSignal().Connect( &OnScrollStart );
-  scrollView.ScrollUpdatedSignal().Connect( &OnScrollUpdate );
-  scrollView.ScrollCompletedSignal().Connect( &OnScrollComplete );
-  Stage::GetCurrent().Add( scrollView );
-  RulerPtr rulerX = CreateRuler(size.width);
-  RulerPtr rulerY = CreateRuler(size.height);
-  if(columns > 1)
-  {
-    rulerX->SetDomain(RulerDomain(0.0f, size.width * columns));
-  }
-  else
-  {
-    rulerX->Disable();
-  }
-  if(rows > 1)
-  {
-    rulerY->SetDomain(RulerDomain(0.0f, size.width * rows));
-  }
-  else
-  {
-    rulerY->Disable();
-  }
-
-  scrollView.SetRulerX( rulerX );
-  scrollView.SetRulerY( rulerY );
-  Stage::GetCurrent().Add( scrollView );
-
-  Actor container = Actor::New();
-  container.SetParentOrigin(ParentOrigin::CENTER);
-  container.SetAnchorPoint(AnchorPoint::CENTER);
-  container.SetSize( size );
-  scrollView.Add( container );
-  container.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) );
-
-  gPages.clear();
-  for(int row = 0;row<rows;row++)
-  {
-    for(int column = 0;column<columns;column++)
-    {
-      Actor page = Actor::New();
-      page.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) );
-      page.SetParentOrigin( ParentOrigin::CENTER );
-      page.SetAnchorPoint( AnchorPoint::CENTER );
-      page.SetPosition( column * size.x, row * size.y );
-      container.Add(page);
-
-      gPages.push_back(page);
-    }
-  }
-
-  ResetScrollCallbackResults();
-  return scrollView;
-}
-
-void CleanupTest()
-{
-  gPages.clear();
-  ResetScrollCallbackResults();
-}
-
-Actor AddActorToPage(Actor page, float x, float y, float cols, float rows)
-{
-  Stage stage = Stage::GetCurrent();
-  Vector2 stageSize = stage.GetSize();
-
-  const float margin = 10.0f;
-  const Vector2 actorSize((stageSize.x / cols) - margin, (stageSize.y / rows) - margin);
-
-  Actor actor = Actor::New();
-  actor.SetParentOrigin( ParentOrigin::CENTER );
-  actor.SetAnchorPoint( AnchorPoint::CENTER );
-
-  Vector3 position( margin * 0.5f + (actorSize.x + margin) * x - stageSize.width * 0.5f,
-                    margin * 0.5f + (actorSize.y + margin) * y - stageSize.height * 0.5f,
-                    0.0f);
-  Vector3 positionEnd( margin * 0.5f + (actorSize.x + margin) * (x + cols) - stageSize.width * 0.5f - margin,
-                       margin * 0.5f + (actorSize.y + margin) * (y + rows) - stageSize.height * 0.5f - margin,
-                       0.0f);
-  Vector3 size(positionEnd - position);
-  actor.SetPosition( position + size * 0.5f);
-  actor.SetSize( positionEnd - position );
-  page.Add(actor);
-  return actor;
-}
-
-} // unnamed namespace
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliScrollViewCustomEffectSetup()
-{
-  tet_infoline(" UtcDaliScrollViewCustomEffectSetup");
-
-  ScrollViewCustomEffect effect;
-
-  DALI_TEST_CHECK( !effect );
-
-  BaseHandle handle = ScrollViewCustomEffect::New();
-
-  DALI_TEST_CHECK( handle );
-
-  effect = ScrollViewCustomEffect::DownCast(handle);
-
-  DALI_TEST_CHECK( effect );
-
-}
-
-static void UtcDaliScrollViewCubeEffectSetup()
-{
-  tet_infoline(" UtcDaliScrollViewCubeEffectSetup");
-
-  ScrollViewCubeEffect effect;
-
-  DALI_TEST_CHECK( !effect );
-
-  BaseHandle handle = ScrollViewCubeEffect::New();
-
-  DALI_TEST_CHECK( handle );
-
-  effect = ScrollViewCubeEffect::DownCast(handle);
-
-  DALI_TEST_CHECK( effect );
-}
-
-static void UtcDaliScrollViewPageCubeEffectSetup()
-{
-  tet_infoline(" UtcDaliScrollViewPageCubeEffectSetup");
-
-  ScrollViewPageCubeEffect effect;
-
-  DALI_TEST_CHECK( !effect );
-
-  BaseHandle handle = ScrollViewPageCubeEffect::New();
-
-  DALI_TEST_CHECK( handle );
-
-  effect = ScrollViewPageCubeEffect::DownCast(handle);
-
-  DALI_TEST_CHECK( effect );
-}
-
-static void UtcDaliScrollViewSpiralEffectSetup()
-{
-  tet_infoline(" UtcDaliScrollViewSpiralEffectSetup");
-
-  ScrollViewPageSpiralEffect effect;
-
-  DALI_TEST_CHECK( !effect );
-
-  BaseHandle handle = ScrollViewPageSpiralEffect::New();
-
-  DALI_TEST_CHECK( handle );
-
-  effect = ScrollViewPageSpiralEffect::DownCast(handle);
-
-  DALI_TEST_CHECK( effect );
-}
-
-static void UtcDaliScrollViewPageCarouselEffectSetup()
-{
-  tet_infoline(" UtcDaliScrollViewCarouselEffectSetup");
-
-  ScrollViewPageCarouselEffect effect;
-
-  DALI_TEST_CHECK( !effect );
-
-  BaseHandle handle = ScrollViewPageCarouselEffect::New();
-
-  DALI_TEST_CHECK( handle );
-
-  effect = ScrollViewPageCarouselEffect::DownCast(handle);
-
-  DALI_TEST_CHECK( effect );
-}
-
-static void UtcDaliScrollViewCarouselEffectSetup()
-{
-  tet_infoline(" UtcDaliScrollViewCarouselEffectSetup");
-
-  ScrollViewCarouselEffect effect;
-
-  DALI_TEST_CHECK( !effect );
-
-  BaseHandle handle = ScrollViewCarouselEffect::New();
-
-  DALI_TEST_CHECK( handle );
-
-  effect = ScrollViewCarouselEffect::DownCast(handle);
-
-  DALI_TEST_CHECK( effect );
-}
-
-static void UtcDaliScrollViewDepthEffectSetup()
-{
-  tet_infoline(" UtcDaliScrollViewDepthEffectSetup");
-
-  ScrollViewDepthEffect effect;
-
-  DALI_TEST_CHECK( !effect );
-
-  BaseHandle handle = ScrollViewDepthEffect::New();
-
-  DALI_TEST_CHECK( handle );
-
-  effect = ScrollViewDepthEffect::DownCast(handle);
-
-  DALI_TEST_CHECK( effect );
-}
-
-static void UtcDaliScrollViewSlideEffectSetup()
-{
-  tet_infoline(" UtcDaliScrollViewSlideEffectSetup");
-
-  ScrollViewSlideEffect effect;
-
-  DALI_TEST_CHECK( !effect );
-
-  BaseHandle handle = ScrollViewSlideEffect::New();
-
-  DALI_TEST_CHECK( handle );
-
-  effect = ScrollViewSlideEffect::DownCast(handle);
-
-  DALI_TEST_CHECK( effect );
-}
-
-static void UtcDaliScrollViewTwistEffectSetup()
-{
-  tet_infoline(" UtcDaliScrollViewTwistEffectSetup");
-
-  ScrollViewTwistEffect effect;
-
-  DALI_TEST_CHECK( !effect );
-
-  BaseHandle handle = ScrollViewTwistEffect::New();
-
-  DALI_TEST_CHECK( handle );
-
-  effect = ScrollViewTwistEffect::DownCast(handle);
-
-  DALI_TEST_CHECK( effect );
-}
-
-static void UtcDaliScrollViewCubeEffectTest()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewCubeEffectTest");
-
-  Vector2 size = Stage::GetCurrent().GetSize();
-
-  ScrollView scrollView = SetupTestScrollView(1, 3, size);
-  Actor page = gPages[1];
-  Wait(application, 500);
-
-  ScrollViewCubeEffect effect = ScrollViewCubeEffect::New();
-  scrollView.ApplyEffect(effect);
-
-  Actor actor = AddActorToPage(page, 0.5f, 0.5f, 3, 3);
-  Wait(application);
-  Vector3 actorPrePosition = actor.GetCurrentPosition();
-
-  effect.ApplyToActor(actor, page, Vector3(-105.0f, 30.0f, -240.0f), Vector2(Math::PI * 0.5f, Math::PI * 0.5f), Vector2(0.25f, 0.25f) * size);
-
-  Actor actor2 = AddActorToPage(page, 0.5f, 0.5f, 3, 3);
-  effect.ApplyToActor(actor2, Vector3(-105.0f, 30.0f, -240.0f), Vector2(Math::PI * 0.5f, Math::PI * 0.5f), Vector2(0.25f, 0.25f) * size);
-
-  scrollView.ScrollTo(1);
-  while(!gOnScrollCompleteCalled)
-  {
-    Wait(application);
-  }
-  // test that the first page has reached centre of screen
-  Vector3 actorPostPosition = actor.GetCurrentPosition();
-  // just check the actor has moved
-  DALI_TEST_CHECK((actorPostPosition - actorPrePosition).Length() > Math::MACHINE_EPSILON_1);
-  CleanupTest();
-}
-
-static void UtcDaliScrollViewPageCubeEffectTest()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewPageCubeEffectTest");
-
-  Vector2 size = Stage::GetCurrent().GetSize();
-
-  ScrollView scrollView = SetupTestScrollView(1, 3, size);
-  Actor testPage = gPages[1];
-  Wait(application, 500);
-
-  ScrollViewPageCubeEffect effect = ScrollViewPageCubeEffect::New();
-  scrollView.ApplyEffect(effect);
-
-  for(ActorIter pageIter = gPages.begin(); pageIter != gPages.end(); ++pageIter)
-  {
-    Actor page = *pageIter;
-    page.RemoveConstraints();
-    page.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) );
-    effect.ApplyToPage(page, Vector2(Math::PI_2, 0.0f));
-  }
-  Wait(application);
-
-  scrollView.ScrollTo(1);
-  while(!gOnScrollCompleteCalled)
-  {
-    Wait(application);
-  }
-  // test that the first page has reached centre of screen
-  Vector3 pagePos = testPage.GetCurrentPosition();
-  DALI_TEST_EQUALS(pagePos, Vector3::ZERO, Math::MACHINE_EPSILON_0, TEST_LOCATION);
-  CleanupTest();
-}
-
-static void UtcDaliScrollViewSpiralEffectTest()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewSpiralEffectTest");
-
-  Vector2 size = Stage::GetCurrent().GetSize();
-
-  ScrollView scrollView = SetupTestScrollView(1, 3, size);
-  Actor testPage = gPages[1];
-  Wait(application, 500);
-
-  ScrollViewPageSpiralEffect effect = ScrollViewPageSpiralEffect::New();
-  scrollView.ApplyEffect(effect);
-
-  for(ActorIter pageIter = gPages.begin(); pageIter != gPages.end(); ++pageIter)
-  {
-    Actor page = *pageIter;
-    page.RemoveConstraints();
-    page.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) );
-    effect.ApplyToPage(page, Vector2(Math::PI_2, 0.0f));
-  }
-  Wait(application);
-
-  scrollView.ScrollTo(1);
-  while(!gOnScrollCompleteCalled)
-  {
-    Wait(application);
-  }
-  // test that the first page has reached centre of screen
-  Vector3 pagePos = testPage.GetCurrentPosition();
-  DALI_TEST_EQUALS(pagePos, Vector3::ZERO, Math::MACHINE_EPSILON_0, TEST_LOCATION);
-  CleanupTest();
-}
-
-static void UtcDaliScrollViewPageCarouselEffectTest()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewPageCarouselEffectTest");
-
-  Vector2 size = Stage::GetCurrent().GetSize();
-
-  ScrollView scrollView = SetupTestScrollView(1, 3, size);
-  Actor testPage = gPages[1];
-  Wait(application, 500);
-
-  ScrollViewPageCarouselEffect effect = ScrollViewPageCarouselEffect::New();
-  scrollView.ApplyEffect(effect);
-
-  for(ActorIter pageIter = gPages.begin(); pageIter != gPages.end(); ++pageIter)
-  {
-    Actor page = *pageIter;
-    page.RemoveConstraints();
-    page.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) );
-    effect.ApplyToPage(page);
-  }
-  Wait(application);
-
-  scrollView.ScrollTo(1, 0.5f, DirectionBiasNone);
-  while(!gOnScrollCompleteCalled)
-  {
-    Wait(application);
-  }
-  // test that the first page has reached centre of screen
-  Vector3 pagePos = testPage.GetCurrentPosition();
-  DALI_TEST_EQUALS(pagePos, Vector3::ZERO, Math::MACHINE_EPSILON_0, TEST_LOCATION);
-  CleanupTest();
-}
-
-static void UtcDaliScrollViewCarouselEffectTest()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewCarouselEffectTest");
-
-  Vector2 size = Stage::GetCurrent().GetSize();
-
-  ScrollView scrollView = SetupTestScrollView(1, 3, size);
-  Actor testPage = gPages[1];
-  Wait(application, 500);
-
-  ScrollViewCarouselEffect effect = ScrollViewCarouselEffect::New();
-  scrollView.ApplyEffect(effect);
-
-  Actor actor = AddActorToPage(testPage, 0.5f, 0.5f, 3, 3);
-  Wait(application);
-  Vector3 actorPrePosition = actor.GetCurrentPosition();
-
-  effect.ApplyToActor( actor, Vector2(1.2f, 1.2f) );
-
-  scrollView.ScrollTo(Vector3(size.x, 0.0f, 0.0f), 0.5f, DirectionBiasNone, DirectionBiasNone);
-  while(!gOnScrollCompleteCalled)
-  {
-    Wait(application);
-  }
-  // test that the first page has reached centre of screen
-  Vector3 actorPostPosition = actor.GetCurrentPosition();
-  // just check the actor has moved
-  DALI_TEST_CHECK((actorPostPosition - actorPrePosition).Length() > Math::MACHINE_EPSILON_1);
-  CleanupTest();
-}
-
-static void UtcDaliScrollViewDepthEffectTest()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewDepthEffectTest");
-
-  Vector2 size = Stage::GetCurrent().GetSize();
-
-  ScrollView scrollView = SetupTestScrollView(1, 3, size);
-  Actor testPage = gPages[1];
-  Wait(application, 500);
-
-  ScrollViewDepthEffect effect = ScrollViewDepthEffect::New();
-  scrollView.ApplyEffect(effect);
-
-  Actor actor = AddActorToPage(testPage, 0.5f, 0.5f, 3, 3);
-  Wait(application);
-  Vector3 actorPrePosition = actor.GetCurrentPosition();
-
-  const Vector2 positionExtent(0.5f, 2.5f);
-  const Vector2 offsetExtent(1.0f, 1.0f);
-  const float positionScale(1.5f);
-  const float scaleExtent(0.5f);
-
-  effect.ApplyToActor( actor, positionExtent, offsetExtent, positionScale, scaleExtent );
-
-  scrollView.ScrollTo(1);
-  while(!gOnScrollCompleteCalled)
-  {
-    Wait(application);
-  }
-  // test that the first page has reached centre of screen
-  Vector3 actorPostPosition = actor.GetCurrentPosition();
-  // just check the actor has moved
-  DALI_TEST_CHECK((actorPostPosition - actorPrePosition).Length() > Math::MACHINE_EPSILON_1);
-  CleanupTest();
-}
-
-static void UtcDaliScrollViewSlideEffectTest()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewSlideEffectTest");
-
-  Vector2 size = Stage::GetCurrent().GetSize();
-  Vector3 pageSize(size.x, size.y, 0.0f);
-
-  ScrollView scrollView = SetupTestScrollView(1, 3, size);
-  Actor testPage = gPages[1];
-  Wait(application, 500);
-
-  ScrollViewSlideEffect effect = ScrollViewSlideEffect::New();
-  effect.SetDelayReferenceOffset(pageSize * 0.25);
-  DALI_TEST_EQUALS(effect.GetDelayReferenceOffset(), pageSize * 0.25, Math::MACHINE_EPSILON_0, TEST_LOCATION);
-  effect.SetMaxDelayDuration(0.5f);
-  DALI_TEST_EQUALS(effect.GetMaxDelayDuration(), 0.5f, Math::MACHINE_EPSILON_0, TEST_LOCATION);
-  effect.SetSlideDirection(false);
-  DALI_TEST_CHECK(!effect.GetSlideDirection());
-
-  scrollView.ApplyEffect(effect);
-
-  Actor actor = AddActorToPage(testPage, 0.5f, 0.5f, 3, 3);
-  Wait(application);
-  Vector3 actorPrePosition = actor.GetCurrentPosition();
-
-  effect.ApplyToActor(actor, 0.0f, 0.5f);
-
-  scrollView.ScrollTo(1);
-  while(!gOnScrollCompleteCalled)
-  {
-    Wait(application);
-  }
-  // test that the first page has reached centre of screen
-  Vector3 actorPostPosition = actor.GetCurrentPosition();
-  // just check the actor has moved
-  DALI_TEST_CHECK((actorPostPosition - actorPrePosition).Length() > Math::MACHINE_EPSILON_1);
-  CleanupTest();
-}
-
-static void UtcDaliScrollViewTwistEffectTest()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewTwistEffectTest");
-
-  Vector2 size = Stage::GetCurrent().GetSize();
-
-  ScrollView scrollView = SetupTestScrollView(1, 3, size);
-  Actor testPage = gPages[1];
-  Wait(application, 500);
-
-  ScrollViewTwistEffect effect = ScrollViewTwistEffect::New();
-  float shrinkDist = 0.2f;
-  effect.SetMinimumDistanceForShrink(shrinkDist);
-  DALI_TEST_CHECK((shrinkDist - effect.GetMinimumDistanceForShrink()) < Math::MACHINE_EPSILON_0);
-  effect.EnableEffect(true);
-  scrollView.ApplyEffect(effect);
-
-  Actor actor = AddActorToPage(testPage, 0.5f, 0.5f, 3, 3);
-  Wait(application);
-  Vector3 actorPrePosition = actor.GetCurrentPosition();
-
-  effect.ApplyToActor( actor,
-      true,
-      Vector2(Math::PI_2, Math::PI_2),
-      0.0f);
-
-  scrollView.ScrollTo(1);
-  while(!gOnScrollCompleteCalled)
-  {
-    Wait(application);
-  }
-  // test that the first page has reached centre of screen
-  Vector3 actorPostPosition = actor.GetCurrentPosition();
-  // just check the actor has moved
-  DALI_TEST_CHECK((actorPostPosition - actorPrePosition).Length() > Math::MACHINE_EPSILON_1);
-  CleanupTest();
-}
-
-static void UtcDaliScrollViewCustomEffectTest()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewCustomEffectTest");
-
-  Vector2 size = Stage::GetCurrent().GetSize();
-  Vector3 pageSize(size.x, size.y, 0.0f);
-
-  ScrollView scrollView = SetupTestScrollView(1, 3, size);
-  Actor testPage = gPages[1];
-  Wait(application, 500);
-  Vector3 pageStartPos, pagePos;
-  pageStartPos = pagePos = testPage.GetCurrentPosition();
-  //scrollView.RemoveConstraintsFromChildren();
-
-  ScrollViewCustomEffect effect = ScrollViewCustomEffect::DownCast(scrollView.ApplyEffect(ScrollView::PageEffectCarousel));
-
-  for(ActorIter pageIter = gPages.begin(); pageIter != gPages.end(); ++pageIter)
-  {
-    Actor page = *pageIter;
-    page.RemoveConstraints();
-    page.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) );
-    effect.ApplyToPage(page, pageSize);
-  }
-  Wait(application);
-  pagePos = testPage.GetCurrentPosition();
-  DALI_TEST_EQUALS(pagePos, pageStartPos, Math::MACHINE_EPSILON_0, TEST_LOCATION);
-
-  scrollView.ScrollTo(1);
-  while(!gOnScrollCompleteCalled)
-  {
-    Wait(application);
-  }
-  ResetScrollCallbackResults();
-  // test that the first page has reached centre of screen
-  pagePos = testPage.GetCurrentPosition();
-  DALI_TEST_EQUALS(pagePos, Vector3::ZERO, Math::MACHINE_EPSILON_0, TEST_LOCATION);
-
-  // scroll back to page 0
-  scrollView.ScrollTo(0);
-  while(!gOnScrollCompleteCalled)
-  {
-    Wait(application);
-  }
-  ResetScrollCallbackResults();
-  pagePos = testPage.GetCurrentPosition();
-  DALI_TEST_EQUALS(pagePos, pageStartPos, Math::MACHINE_EPSILON_0, TEST_LOCATION);
-
-  scrollView.RemoveEffect(effect);
-
-  effect = ScrollViewCustomEffect::New();
-  effect.SetPageTranslation(Vector3(20.0f, 20.0f, 5.0f));
-  effect.SetPageTranslation(Vector3(20.0f, 20.0f, 5.0f), Vector3(20.0f, 20.0f, -5.0f));
-  effect.SetPageTranslationIn(Vector3(20.0f, 20.0f, 5.0f));
-  effect.SetPageTranslationOut(Vector3(20.0f, 20.0f, -5.0f));
-  effect.SetPageTranslation(Vector3(20.0f, 0.0f, 0.0f));
-  effect.SetSwingAngle(Math::PI, Vector3::YAXIS);
-  effect.SetPageSpacing(Vector2(20.0f, 20.0f));
-  scrollView.ApplyEffect(effect);
-
-  for(ActorIter pageIter = gPages.begin(); pageIter != gPages.end(); ++pageIter)
-  {
-    Actor page = *pageIter;
-    page.RemoveConstraints();
-    page.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) );
-    effect.ApplyToPage(page, pageSize);
-  }
-  Wait(application);
-  pagePos = testPage.GetCurrentPosition();
-  DALI_TEST_EQUALS(pagePos, pageStartPos, Math::MACHINE_EPSILON_0, TEST_LOCATION);
-
-  scrollView.ScrollTo(1);
-  while(!gOnScrollCompleteCalled)
-  {
-    Wait(application);
-  }
-  ResetScrollCallbackResults();
-  // test that the first page has reached centre of screen
-  pagePos = testPage.GetCurrentPosition();
-  DALI_TEST_EQUALS(pagePos, Vector3::ZERO, Math::MACHINE_EPSILON_0, TEST_LOCATION);
-
-  // scroll back to page 0
-  scrollView.ScrollTo(0);
-  while(!gOnScrollCompleteCalled)
-  {
-    Wait(application);
-  }
-  ResetScrollCallbackResults();
-  pagePos = testPage.GetCurrentPosition();
-  DALI_TEST_EQUALS(pagePos, pageStartPos, Math::MACHINE_EPSILON_0, TEST_LOCATION);
-
-  scrollView.RemoveEffect(effect);
-  effect = ScrollViewCustomEffect::New();
-  effect.SetSwingAngle(Math::PI, Vector3::YAXIS);
-  effect.SetSwingAnchor(AnchorPoint::CENTER_LEFT);
-  effect.SetPageTranslation(Vector3(size.x, size.y, 0));
-  effect.SetOpacityThreshold(0.66f);
-  scrollView.ApplyEffect(effect);
-
-  for(ActorIter pageIter = gPages.begin(); pageIter != gPages.end(); ++pageIter)
-  {
-    Actor page = *pageIter;
-    page.RemoveConstraints();
-    page.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) );
-    effect.ApplyToPage(page, pageSize);
-  }
-  Wait(application);
-
-  scrollView.ScrollTo(1);
-  while(!gOnScrollCompleteCalled)
-  {
-    Wait(application);
-  }
-  ResetScrollCallbackResults();
-  // test that the first page has reached centre of screen
-  pagePos = testPage.GetCurrentPosition();
-  DALI_TEST_EQUALS(pagePos, Vector3::ZERO, Math::MACHINE_EPSILON_0, TEST_LOCATION);
-
-  // scroll back to page 0
-  scrollView.ScrollTo(0);
-  while(!gOnScrollCompleteCalled)
-  {
-    Wait(application);
-  }
-  ResetScrollCallbackResults();
-  pagePos = testPage.GetCurrentPosition();
-  DALI_TEST_EQUALS(pagePos, pageStartPos, Math::MACHINE_EPSILON_0, TEST_LOCATION);
-  scrollView.RemoveEffect(effect);
-
-
-  effect.SetPageTranslateAlphaFunction(AlphaFunctions::Linear);
-  effect.SetPageTranslateAlphaFunction(AlphaFunctions::Linear, AlphaFunctions::Linear);
-  effect.SetPageTranslateAlphaFunctionIn(AlphaFunctions::Linear);
-  effect.SetPageTranslateAlphaFunctionOut(AlphaFunctions::Linear);
-  effect.SetGlobalPageRotation(Math::PI, Vector3::YAXIS);
-  effect.SetAngledOriginPageRotation(Vector3(Math::PI, Math::PI, 0.0f));
-  effect.SetGlobalPageRotation(Math::PI, Vector3::YAXIS, Math::PI, Vector3::YAXIS);
-  effect.SetGlobalPageRotationIn(Math::PI, Vector3::YAXIS);
-  effect.SetGlobalPageRotationOut(Math::PI, Vector3::YAXIS);
-  effect.SetGlobalPageRotationOrigin(Vector3::ZERO);
-  effect.SetGlobalPageRotationOrigin(Vector3::ZERO, Vector3::ZERO);
-  effect.SetGlobalPageRotationOriginIn(Vector3::ZERO);
-  effect.SetGlobalPageRotationOriginOut(Vector3::ZERO);
-  effect.SetSwingAngle(Math::PI, Vector3::YAXIS);
-  effect.SetSwingAngle(Math::PI, Vector3::YAXIS, Math::PI, Vector3::YAXIS);
-  effect.SetSwingAngleIn(Math::PI, Vector3::YAXIS);
-  effect.SetSwingAngleOut(Math::PI, Vector3::YAXIS);
-  effect.SetSwingAngleAlphaFunction(AlphaFunctions::Linear);
-  effect.SetSwingAngleAlphaFunction(AlphaFunctions::Linear, AlphaFunctions::Linear);
-  effect.SetSwingAngleAlphaFunctionIn(AlphaFunctions::Linear);
-  effect.SetSwingAngleAlphaFunctionOut(AlphaFunctions::Linear);
-  effect.SetSwingAnchor(AnchorPoint::CENTER, AnchorPoint::CENTER_LEFT);
-  effect.SetSwingAnchorIn(AnchorPoint::CENTER);
-  effect.SetSwingAnchorOut(AnchorPoint::CENTER);
-  effect.SetSwingAnchorAlphaFunction(AlphaFunctions::Linear);
-  effect.SetSwingAnchorAlphaFunction(AlphaFunctions::Linear, AlphaFunctions::Linear);
-  effect.SetSwingAnchorAlphaFunctionIn(AlphaFunctions::Linear);
-  effect.SetSwingAnchorAlphaFunctionOut(AlphaFunctions::Linear);
-  effect.SetOpacityThreshold(0.5f);
-  effect.SetOpacityThreshold(0.5f, 0.5f);
-  effect.SetOpacityThresholdIn(0.5f);
-  effect.SetOpacityThresholdOut(0.5f);
-  effect.SetOpacityAlphaFunction(AlphaFunctions::Linear);
-  effect.SetOpacityAlphaFunction(AlphaFunctions::Linear, AlphaFunctions::Linear);
-  effect.SetOpacityAlphaFunctionIn(AlphaFunctions::Linear);
-  effect.SetOpacityAlphaFunctionOut(AlphaFunctions::Linear);
-  CleanupTest();
-}
diff --git a/automated-tests/TET/dali-test-suite/selectors/.gitignore b/automated-tests/TET/dali-test-suite/selectors/.gitignore
deleted file mode 100644 (file)
index 7113688..0000000
+++ /dev/null
@@ -1 +0,0 @@
-utc-Dali-RotatingSelector
diff --git a/automated-tests/TET/dali-test-suite/selectors/Makefile b/automated-tests/TET/dali-test-suite/selectors/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/selectors/file.list b/automated-tests/TET/dali-test-suite/selectors/file.list
deleted file mode 100644 (file)
index 58ab7be..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGETS += \
-       utc-Dali-RotatingSelector \
diff --git a/automated-tests/TET/dali-test-suite/selectors/tslist b/automated-tests/TET/dali-test-suite/selectors/tslist
deleted file mode 100644 (file)
index 6301f5a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/dali-test-suite/selectors/utc-Dali-RotatingSelector
diff --git a/automated-tests/TET/dali-test-suite/selectors/utc-Dali-RotatingSelector.cpp b/automated-tests/TET/dali-test-suite/selectors/utc-Dali-RotatingSelector.cpp
deleted file mode 100644 (file)
index 3509065..0000000
+++ /dev/null
@@ -1,277 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali/integration-api/events/touch-event-integ.h>
-#include <dali-toolkit-test-suite-utils.h>
-
-#include <dali-toolkit/public-api/controls/selectors/rotating-selector.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-namespace
-{
-static bool gObjectCreatedCallBackCalled;
-
-static void TestCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-}
-} // namespace
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliRotatingSelectorNew();
-static void UtcDaliRotatingSelectorSetSelected();
-static void UtcDaliRotatingSelectorSetSelectedAndUnSelectedActor();
-static void UtcDaliRotatingSelectorSetSelectable();
-static void UtcDaliRotatingSelectorSignalSelected();
-
-static bool gSelectedSignalReceived = false;
-static bool gSelected = false;
-
-const Dali::TouchPoint pointDownInside( 0, TouchPoint::Down, 240, 400 );
-const Dali::TouchPoint pointUpInside( 0, TouchPoint::Up, 240, 400 );
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliRotatingSelectorNew, POSITIVE_TC_IDX },
-    { UtcDaliRotatingSelectorSetSelected, POSITIVE_TC_IDX },
-    { UtcDaliRotatingSelectorSetSelectedAndUnSelectedActor, POSITIVE_TC_IDX },
-    { UtcDaliRotatingSelectorSetSelectable, POSITIVE_TC_IDX },
-    { UtcDaliRotatingSelectorSignalSelected, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-
-static void UtcDaliRotatingSelectorNew()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliRotatingSelectorNew");
-  RotatingSelector selector;
-
-  DALI_TEST_CHECK(!selector);
-
-  Actor unSelectedActor = Actor::New();
-  Actor selectedActor = Actor::New();
-
-  selector = RotatingSelector::New(unSelectedActor, selectedActor);
-
-  DALI_TEST_CHECK(selector);
-
-  //Additional check to ensure object is created by checking if it's registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect(&TestCallback);
-  {
-    RotatingSelector selector = RotatingSelector::New(unSelectedActor, selectedActor);
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-}
-
-// Callback test function
-void OnSelectedSignal(RotatingSelector actor, bool selected)
-{
-  gSelectedSignalReceived = true;
-  gSelected = selected;
-}
-
-static void UtcDaliRotatingSelectorSetSelected()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliRotatingSelectorSetSelected");
-
-  BitmapImage img = BitmapImage::New( 1,1 );
-  ImageActor unSelectedActor = ImageActor::New( img );
-  ImageActor selectedActor = ImageActor::New( img );
-
-  RotatingSelector selector = RotatingSelector::New(unSelectedActor, selectedActor);
-
-  selector.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  selector.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  selector.SetPosition( 240, 400 );
-  selector.SetSize( 100, 100 );
-
-  // connect to its selected signal
-  selector.SelectedSignal().Connect( &OnSelectedSignal );
-
-  Stage::GetCurrent().Add( selector );
-
-  gSelectedSignalReceived = false;
-  gSelected = false;
-
-  selector.SetSelected(true);
-  application.SendNotification();
-  application.Render(1000);
-  application.SendNotification();
-  application.Render(1000);
-  application.SendNotification();
-  application.Render(1000);
-
-  DALI_TEST_CHECK( selector.IsSelected() );
-  DALI_TEST_CHECK( gSelectedSignalReceived );
-  DALI_TEST_CHECK( gSelected );
-
-  gSelectedSignalReceived = false;
-  gSelected = false;
-
-  selector.SetSelected(false);
-  application.SendNotification();
-  application.Render(1000);
-  application.SendNotification();
-  application.Render(1000);
-  application.SendNotification();
-  application.Render(1000);
-
-  DALI_TEST_CHECK( gSelectedSignalReceived );
-  DALI_TEST_CHECK( !gSelected );
-  DALI_TEST_CHECK( !selector.IsSelected() );
-}
-
-static void UtcDaliRotatingSelectorSetSelectedAndUnSelectedActor()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliRotatingSelectorSetSelectedAndUnSelectedActor");
-
-  BitmapImage img = BitmapImage::New( 1,1 );
-  ImageActor actor1 = ImageActor::New( img );
-  ImageActor actor2 = ImageActor::New( img );
-
-  RotatingSelector selector = RotatingSelector::New(actor1, actor2);
-  Stage::GetCurrent().Add( selector );
-
-  ImageActor unSelectedActor = ImageActor::New( img );
-  ImageActor selectedActor = ImageActor::New( img );
-
-  selector.SetSelectedActor(selectedActor);
-
-  Actor actor3 = selector.GetSelectedActor();
-  DALI_TEST_CHECK( selectedActor == actor3 );
-
-  selector.SetUnSelectedActor(unSelectedActor);
-
-  Actor actor4 = selector.GetUnSelectedActor();
-  DALI_TEST_CHECK( unSelectedActor == actor4 );
-
-}
-
-
-static void UtcDaliRotatingSelectorSetSelectable()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliRotatingSelectorSetSelectable");
-
-  BitmapImage img = BitmapImage::New( 1,1 );
-  ImageActor unSelectedActor = ImageActor::New( img );
-  ImageActor selectedActor = ImageActor::New( img );
-
-  RotatingSelector selector = RotatingSelector::New(unSelectedActor, selectedActor);
-
-  selector.SetSelectable(true);
-  DALI_TEST_CHECK( selector.IsSelectable() );
-
-  selector.SetSelectable(false);
-  DALI_TEST_CHECK( !selector.IsSelectable() );
-}
-
-static void UtcDaliRotatingSelectorSignalSelected()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliRotatingSelectorSignalSelected");
-
-  BitmapImage img = BitmapImage::New( 1,1 );
-  ImageActor unSelectedActor = ImageActor::New( img );
-  ImageActor selectedActor = ImageActor::New( img );
-
-  RotatingSelector selector = RotatingSelector::New(unSelectedActor, selectedActor);
-
-  selector.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  selector.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  selector.SetPosition( 240, 400 );
-  selector.SetSize( 100, 100 );
-
-  // connect to its selected signal
-  selector.SelectedSignal().Connect( &OnSelectedSignal );
-
-  Stage::GetCurrent().Add( selector );
-
-  DALI_TEST_CHECK( !selector.IsSelected() );
-
-  gSelectedSignalReceived = false;
-  gSelected = false;
-
-  application.SendNotification();
-  application.Render(1000);
-  application.SendNotification();
-  application.Render(1000);
-
-  //Test using touch event simulation
-  Dali::Integration::TouchEvent event;
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownInside );
-  application.ProcessEvent( event );
-
-  event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpInside );
-  application.ProcessEvent( event );
-
-  application.SendNotification();
-  application.Render(1000);
-  application.SendNotification();
-  application.Render(1000);
-
-  DALI_TEST_CHECK( selector.IsSelected() );
-  DALI_TEST_CHECK( gSelectedSignalReceived );
-  DALI_TEST_CHECK( gSelected );
-
-}
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/.gitignore b/automated-tests/TET/dali-test-suite/shader-effects/.gitignore
deleted file mode 100644 (file)
index 7d83a0c..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-utc-Dali-BendyEffect
-utc-Dali-DissolveEffect
-utc-Dali-RippleEffect
-utc-Dali-Ripple2DEffect
-utc-Dali-SpotEffect
-utc-Dali-SwirlEffect
-utc-Dali-WaterEffect
-utc-Dali-BlindEffect
-utc-Dali-IrisEffect
-utc-Dali-DissolveEffect
-utc-Dali-DistanceFieldEffect
-utc-Dali-SquareDissolveEffect
-utc-Dali-CarouselEffect
-utc-Dali-ShearEffect
-utc-Dali-BloomView
-utc-Dali-GaussianBlurView
-utc-Dali-ShadowView
-utc-Dali-SoftButtonEffect
-utc-Dali-DisplacementEffect
-utc-Dali-OverlayEffect
-utc-Dali-MaskEffect
-utc-Dali-NinePatchMaskEffect
-utc-Dali-PageTurnEffect
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/Makefile b/automated-tests/TET/dali-test-suite/shader-effects/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/file.list b/automated-tests/TET/dali-test-suite/shader-effects/file.list
deleted file mode 100644 (file)
index b7a9acd..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-TARGETS += \
-  utc-Dali-BendyEffect \
-  utc-Dali-DissolveEffect \
-  utc-Dali-RippleEffect \
-  utc-Dali-Ripple2DEffect \
-  utc-Dali-SpotEffect \
-  utc-Dali-SwirlEffect \
-  utc-Dali-WaterEffect \
-  utc-Dali-BlindEffect \
-  utc-Dali-IrisEffect \
-  utc-Dali-SquareDissolveEffect \
-  utc-Dali-CarouselEffect \
-  utc-Dali-DistanceFieldEffect \
-  utc-Dali-ShearEffect \
-  utc-Dali-BloomView \
-  utc-Dali-GaussianBlurView \
-  utc-Dali-ShadowView \
-  utc-Dali-SoftButtonEffect \
-  utc-Dali-DisplacementEffect \
-  utc-Dali-OverlayEffect \
-  utc-Dali-MaskEffect \
-  utc-Dali-NinePatchMaskEffect \
-  utc-Dali-PageTurnEffect \
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/tslist b/automated-tests/TET/dali-test-suite/shader-effects/tslist
deleted file mode 100644 (file)
index c9268e2..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-/dali-test-suite/shader-effects/utc-Dali-BendyEffect
-/dali-test-suite/shader-effects/utc-Dali-DissolveEffect
-/dali-test-suite/shader-effects/utc-Dali-RippleEffect
-/dali-test-suite/shader-effects/utc-Dali-Ripple2DEffect
-/dali-test-suite/shader-effects/utc-Dali-SpotEffect
-/dali-test-suite/shader-effects/utc-Dali-SwirlEffect
-/dali-test-suite/shader-effects/utc-Dali-WaterEffect
-/dali-test-suite/shader-effects/utc-Dali-BlindEffect
-/dali-test-suite/shader-effects/utc-Dali-IrisEffect
-/dali-test-suite/shader-effects/utc-Dali-SquareDissolveEffect
-/dali-test-suite/shader-effects/utc-Dali-CarouselEffect
-/dali-test-suite/shader-effects/utc-Dali-ShearEffect
-/dali-test-suite/shader-effects/utc-Dali-DistanceFieldEffect
-/dali-test-suite/shader-effects/utc-Dali-BloomView
-/dali-test-suite/shader-effects/utc-Dali-GaussianBlurView
-/dali-test-suite/shader-effects/utc-Dali-ShadowView
-/dali-test-suite/shader-effects/utc-Dali-SoftButtonEffect
-/dali-test-suite/shader-effects/utc-Dali-DisplacementEffect
-/dali-test-suite/shader-effects/utc-Dali-OverlayEffect
-/dali-test-suite/shader-effects/utc-Dali-MaskEffect
-/dali-test-suite/shader-effects/utc-Dali-NinePatchMaskEffect
-/dali-test-suite/shader-effects/utc-Dali-PageTurnEffect
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-BendyEffect.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-BendyEffect.cpp
deleted file mode 100644 (file)
index 7823b8f..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliBendyUninitializedEffect, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliBendyPropertyNamesEffect, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliBendyDefaultValuesEffect, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliBendyCustomValuesEffect, POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Create bitmap image
-BitmapImage CreateBitmapImage()
-{
-  BitmapImage image = BitmapImage::New(4,4,Pixel::RGBA8888);
-
-  PixelBuffer* pixbuf = image.GetBuffer();
-
-  // Using a 4x4 image gives a better blend with the GL implementation
-  // than a 3x3 image
-  for(size_t i=0; i<16; i++)
-  {
-    pixbuf[i*4+0] = 0xFF;
-    pixbuf[i*4+1] = 0xFF;
-    pixbuf[i*4+2] = 0xFF;
-    pixbuf[i*4+3] = 0xFF;
-  }
-
-  return image;
-}
-
-static void UtcDaliBendyUninitializedEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::BendyEffect effect;
-
-  try
-  {
-    // New() must be called to create a BendyEffect or it wont be valid.
-    effect.SetRadius( 2.0f );
-    DALI_TEST_CHECK( false );
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_CHECK(!effect);
-  }
-}
-
-static void UtcDaliBendyPropertyNamesEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::BendyEffect effect = Toolkit::BendyEffect::New();
-
-  // Check the names, this names are used in the shaders code,
-  // if they change the shader code has to be updated
-  DALI_TEST_EQUALS( effect.GetCenterPropertyName(), "uCenter", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetDirectionPropertyName(), "uDirection", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetRadiusPropertyName(), "uRadius", TEST_LOCATION );
-}
-
-static void UtcDaliBendyDefaultValuesEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::BendyEffect effect = Toolkit::BendyEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  Vector2 topLeft( Stage::GetCurrent().GetSize() * 0.5f );
-  topLeft.y = -topLeft.y;
-
-  // Gets converted to opengl view space
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetCenterPropertyName().c_str(),
-          topLeft ) );
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetDirectionPropertyName().c_str(),
-          Vector2(0.0f, 0.0f) ) );
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetRadiusPropertyName().c_str(),
-          0.0f ) );
-}
-
-static void UtcDaliBendyCustomValuesEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::BendyEffect effect = Toolkit::BendyEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-
-  Vector2 direction(1.0f, 1.0f);
-  effect.SetCenter( Vector2(480.0f, 800.0f) );
-  effect.SetDirection( direction );
-  effect.SetRadius( 2.0f );
-
-  actor.SetShaderEffect(effect);
-  Stage::GetCurrent().Add(actor);
-
-  application.SendNotification();
-  application.Render();
-
-  Vector2 bottomRight( Stage::GetCurrent().GetSize() * 0.5f );
-  bottomRight.x = -bottomRight.x;
-
-  // Gets converted to opengl viewport coordinates
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetCenterPropertyName().c_str(),
-          bottomRight ) );
-
-  direction.Normalize();
-  direction.x *= -1.0f;
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetDirectionPropertyName().c_str(),
-          direction ) );
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetRadiusPropertyName().c_str(),
-          2.0f ) );
-}
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-BlindEffect.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-BlindEffect.cpp
deleted file mode 100644 (file)
index 11089e8..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliBlindEffectUninitialized();
-static void UtcDaliBlindEffectPropertyNames();
-static void UtcDaliBlindEffectDefaultValues();
-static void UtcDaliBlindEffectCustomValues();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliBlindEffectUninitialized, NEGATIVE_TC_IDX },
-    { UtcDaliBlindEffectPropertyNames, POSITIVE_TC_IDX },
-    { UtcDaliBlindEffectDefaultValues, POSITIVE_TC_IDX },
-    { UtcDaliBlindEffectCustomValues, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Create bitmap image
-BitmapImage CreateBitmapImage()
-{
-  BitmapImage image = BitmapImage::New(4,4,Pixel::RGBA8888);
-
-  PixelBuffer* pixbuf = image.GetBuffer();
-
-  // Using a 4x4 image gives a better blend with the GL implementation
-  // than a 3x3 image
-  for(size_t i=0; i<16; i++)
-  {
-    pixbuf[i*4+0] = 0xFF;
-    pixbuf[i*4+1] = 0xFF;
-    pixbuf[i*4+2] = 0xFF;
-    pixbuf[i*4+3] = 0xFF;
-  }
-
-  return image;
-}
-
-static void UtcDaliBlindEffectUninitialized()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::BlindEffect effect;
-
-  try
-  {
-    // New() must be called to create a BlindEffect or it wont be valid.
-    effect.SetStep( 2.0f );
-    DALI_TEST_CHECK( false );
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_CHECK(!effect);
-  }
-}
-
-static void UtcDaliBlindEffectPropertyNames()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::BlindEffect effect = Toolkit::BlindEffect::New();
-
-  // Check the names, this names are used in the shaders code,
-  // if they change the shader code has to be updated
-  DALI_TEST_EQUALS( effect.GetStepPropertyName(), "uStep", TEST_LOCATION );
-}
-
-static void UtcDaliBlindEffectDefaultValues()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::BlindEffect effect = Toolkit::BlindEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  // Gets converted to opengl viewport coordinates
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetStepPropertyName().c_str(),
-          0.0f ) );
-}
-
-static void UtcDaliBlindEffectCustomValues()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::BlindEffect effect = Toolkit::BlindEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-
-  effect.SetStep( 2.0f );
-
-  actor.SetShaderEffect(effect);
-  Stage::GetCurrent().Add(actor);
-
-  application.SendNotification();
-  application.Render();
-
-  // Gets converted to opengl viewport coordinates
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetStepPropertyName().c_str(),
-          2.0f ) );
-}
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-BloomView.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-BloomView.cpp
deleted file mode 100644 (file)
index 706b1ff..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliBloomViewUninitialized();
-static void UtcDaliBloomViewNew();
-static void UtcDaliBloomViewDownCast();
-static void UtcDaliBloomViewPropertyNames();
-static void UtcDaliBloomViewAddRemove();
-static void UtcDaliBloomActivateDeactivate();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliBloomViewUninitialized, NEGATIVE_TC_IDX },
-    { UtcDaliBloomViewNew, POSITIVE_TC_IDX },
-    { UtcDaliBloomViewDownCast, POSITIVE_TC_IDX },
-    { UtcDaliBloomViewPropertyNames, POSITIVE_TC_IDX },
-    { UtcDaliBloomViewAddRemove, POSITIVE_TC_IDX },
-    { UtcDaliBloomActivateDeactivate, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Negative test case for a method
-static void UtcDaliBloomViewUninitialized()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliBloomViewUninitialized");
-
-  Toolkit::BloomView view;
-
-  try
-  {
-    // New() must be called to create a BloomView or it wont be valid.
-    Actor a = Actor::New();
-    view.Add( a );
-    DALI_TEST_CHECK( false );
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_CHECK(!view);
-  }
-}
-
-// Positive test case for a method
-static void UtcDaliBloomViewNew()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliBloomViewNew");
-
-  Toolkit::BloomView view = Toolkit::BloomView::New();
-  DALI_TEST_CHECK( view );
-
-  Toolkit::BloomView view2 = Toolkit::BloomView::New(10, 1.0f, Pixel::RGB888, 0.5f, 0.5f);
-  DALI_TEST_CHECK( view2 );
-}
-
-// Positive test case for a method
-static void UtcDaliBloomViewDownCast()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliBloomViewDownCast");
-
-  Toolkit::BloomView view = Toolkit::BloomView::New();
-  BaseHandle handle(view);
-
-  Toolkit::BloomView bloomView = Toolkit::BloomView::DownCast( handle );
-  DALI_TEST_CHECK( view );
-  DALI_TEST_CHECK( bloomView );
-  DALI_TEST_CHECK( bloomView == view );
-}
-
-
-// Positive test case for a method
-static void UtcDaliBloomViewPropertyNames()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliBloomViewPropertyNames");
-
-  Toolkit::BloomView view = Toolkit::BloomView::New();
-  DALI_TEST_CHECK( view );
-
-  // Check the names, this names are used in the shader code,
-  // if they change in the shader code, then it has to be updated here.
-  DALI_TEST_EQUALS( view.GetBloomThresholdPropertyIndex(), view.GetPropertyIndex("uBloomThreshold"), TEST_LOCATION );
-  DALI_TEST_EQUALS( view.GetBlurStrengthPropertyIndex(), view.GetPropertyIndex("BlurStrengthProperty"), TEST_LOCATION );
-  DALI_TEST_EQUALS( view.GetBloomIntensityPropertyIndex(), view.GetPropertyIndex("uBloomIntensity"), TEST_LOCATION );
-  DALI_TEST_EQUALS( view.GetBloomSaturationPropertyIndex(), view.GetPropertyIndex("uBloomSaturation"), TEST_LOCATION );
-  DALI_TEST_EQUALS( view.GetImageIntensityPropertyIndex(), view.GetPropertyIndex("uImageIntensity"), TEST_LOCATION );
-  DALI_TEST_EQUALS( view.GetImageSaturationPropertyIndex(), view.GetPropertyIndex("uImageSaturation"), TEST_LOCATION );
-}
-
-// Positive test case for a method
-static void UtcDaliBloomViewAddRemove()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliBloomViewAddRemove");
-
-  Toolkit::BloomView view = Toolkit::BloomView::New();
-  DALI_TEST_CHECK( view );
-
-  Actor actor = Actor::New();
-  DALI_TEST_CHECK( !actor.OnStage() );
-
-
-  view.SetParentOrigin(ParentOrigin::CENTER);
-  view.SetSize(Stage::GetCurrent().GetSize());
-  view.Add(actor);
-  Stage::GetCurrent().Add(view);
-
-  DALI_TEST_CHECK( actor.OnStage() );
-
-  view.Remove(actor);
-
-  DALI_TEST_CHECK( !actor.OnStage() );
-}
-
-// Positive test case for a method
-static void UtcDaliBloomActivateDeactivate()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliBloomActivateDeactivate");
-
-  Toolkit::BloomView view = Toolkit::BloomView::New();
-  DALI_TEST_CHECK( view );
-
-  RenderTaskList taskList = Stage::GetCurrent().GetRenderTaskList();
-  DALI_TEST_CHECK( 1u == taskList.GetTaskCount() );
-
-  view.SetParentOrigin(ParentOrigin::CENTER);
-  view.SetSize(Stage::GetCurrent().GetSize());
-  view.Add(Actor::New());
-  Stage::GetCurrent().Add(view);
-  view.Activate();
-
-  RenderTaskList taskList2 = Stage::GetCurrent().GetRenderTaskList();
-  DALI_TEST_CHECK( 1u != taskList2.GetTaskCount() );
-
-  view.Deactivate();
-
-  RenderTaskList taskList3 = Stage::GetCurrent().GetRenderTaskList();
-  DALI_TEST_CHECK( 1u == taskList3.GetTaskCount() );
-}
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-CarouselEffect.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-CarouselEffect.cpp
deleted file mode 100644 (file)
index 881ac64..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliCarouselEffectUninitialized();
-static void UtcDaliCarouselEffectPropertyNames();
-static void UtcDaliCarouselEffectDefaultValues();
-static void UtcDaliCarouselEffectCustomValues();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliCarouselEffectUninitialized, NEGATIVE_TC_IDX },
-    { UtcDaliCarouselEffectPropertyNames, POSITIVE_TC_IDX },
-    { UtcDaliCarouselEffectDefaultValues, POSITIVE_TC_IDX },
-    { UtcDaliCarouselEffectCustomValues, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Create bitmap image
-BitmapImage CreateBitmapImage()
-{
-  BitmapImage image = BitmapImage::New(4,4,Pixel::RGBA8888);
-
-  PixelBuffer* pixbuf = image.GetBuffer();
-
-  // Using a 4x4 image gives a better blend with the GL implementation
-  // than a 3x3 image
-  for(size_t i=0; i<16; i++)
-  {
-    pixbuf[i*4+0] = 0xFF;
-    pixbuf[i*4+1] = 0xFF;
-    pixbuf[i*4+2] = 0xFF;
-    pixbuf[i*4+3] = 0xFF;
-  }
-
-  return image;
-}
-
-static void UtcDaliCarouselEffectUninitialized()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::CarouselEffect effect;
-
-  try
-  {
-    // New() must be called to create a CarouselEffect or it wont be valid.
-    effect.SetRadius( 100.0f );
-    DALI_TEST_CHECK( false );
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_CHECK(!effect);
-  }
-}
-
-static void UtcDaliCarouselEffectPropertyNames()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::CarouselEffect effect = Toolkit::CarouselEffect::New();
-
-  // Check the names, these names are used in the shaders code,
-  // if they change the shader code has to be updated
-  DALI_TEST_EQUALS( effect.GetRadiusPropertyName(), "uRadius", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetCenterPropertyName(), "uCenter", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetAnglePerUnitPropertyName(), "uAnglePerUnit", TEST_LOCATION );
-}
-
-static void UtcDaliCarouselEffectDefaultValues()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::CarouselEffect effect = Toolkit::CarouselEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-
-  const float radiusValue(0.0f);
-  const Vector2 centerValue(0.0f, 0.0f);
-  const Vector2 anglePerUnitValue(0.0f, 0.0f);
-
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  TestGlAbstraction& gl = application.GetGlAbstraction();
-  DALI_TEST_CHECK( gl.CheckUniformValue( effect.GetRadiusPropertyName().c_str(), radiusValue ) );
-  DALI_TEST_CHECK( gl.CheckUniformValue( effect.GetCenterPropertyName().c_str(), centerValue ) );
-  DALI_TEST_CHECK( gl.CheckUniformValue( effect.GetAnglePerUnitPropertyName().c_str(), anglePerUnitValue ) );
-}
-
-static void UtcDaliCarouselEffectCustomValues()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::CarouselEffect effect = Toolkit::CarouselEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-
-  const float radiusValue(100.0f);
-  const Vector2 centerValue(150.0f, 200.0f);
-  const Vector2 anglePerUnitValue(0.1f, 0.25f);
-
-  effect.SetRadius( radiusValue );
-  effect.SetCenter( centerValue );
-  effect.SetAnglePerUnit( anglePerUnitValue );
-
-  actor.SetShaderEffect(effect);
-  Stage::GetCurrent().Add(actor);
-
-  application.SendNotification();
-  application.Render();
-
-  TestGlAbstraction& gl = application.GetGlAbstraction();
-  DALI_TEST_CHECK( gl.CheckUniformValue( effect.GetRadiusPropertyName().c_str(), radiusValue ) );
-  DALI_TEST_CHECK( gl.CheckUniformValue( effect.GetCenterPropertyName().c_str(), centerValue ) );
-  DALI_TEST_CHECK( gl.CheckUniformValue( effect.GetAnglePerUnitPropertyName().c_str(), anglePerUnitValue ) );
-}
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-DisplacementEffect.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-DisplacementEffect.cpp
deleted file mode 100644 (file)
index 86100f8..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-namespace
-{
-const char* TEST_IMAGE_FILE_NAME = DALI_IMAGE_DIR "gallery_image_01.jpg";
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliDisplacementEffectUninitialized();
-static void UtcDaliDisplacementEffectNew();
-static void UtcDaliDisplacementEffectPropertyNames();
-static void UtcDaliDisplacementEffectTestSetProperty();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-      { UtcDaliDisplacementEffectUninitialized, NEGATIVE_TC_IDX },
-      { UtcDaliDisplacementEffectNew, POSITIVE_TC_IDX },
-      { UtcDaliDisplacementEffectPropertyNames, POSITIVE_TC_IDX },
-      { UtcDaliDisplacementEffectTestSetProperty, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Negative test case for a method
-static void UtcDaliDisplacementEffectUninitialized()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliDisplacementEffectUninitialized");
-
-  Toolkit::DisplacementEffect effect;
-
-  try
-  {
-    // New() must be called to create a GaussianBlurView or it wont be valid.
-    effect.SetStateProperty( 1.0f );
-    DALI_TEST_CHECK( false );
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_CHECK(!effect);
-  }
-}
-
-// Positive test case for a method
-static void UtcDaliDisplacementEffectNew()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliDisplacementEffectNew");
-
-  Toolkit::DisplacementEffect effect = Toolkit::DisplacementEffect::New(Toolkit::DisplacementEffect::DISPLACED);
-  DALI_TEST_CHECK( effect );
-
-  Toolkit::DisplacementEffect effect2 = Toolkit::DisplacementEffect::New(Toolkit::DisplacementEffect::FIXED);
-  DALI_TEST_CHECK( effect2 );
-}
-
-// Positive test case for a method
-static void UtcDaliDisplacementEffectPropertyNames()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliDisplacementEffectPropertyNames");
-
-  Toolkit::DisplacementEffect effect = Toolkit::DisplacementEffect::New(Toolkit::DisplacementEffect::DISPLACED);
-  DALI_TEST_CHECK( effect );
-
-  // Check the names, this names are used in the shaders code,
-  // if they change the shader code has to be updated
-  DALI_TEST_EQUALS( effect.GetLightDirectionPropertyName(), "uLightDirection", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetAmbientLightColorPropertyName(), "uAmbientLightColor", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetDiffuseLightColorPropertyName(), "uDiffuseLightColor", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetLightingMultiplierPropertyName(), "uLightMultiplier", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetStatePropertyName(), "uState", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetHeightScalePropertyName(), "uHightScale", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetFixedNormalPropertyName(), "uFixedNormal", TEST_LOCATION );
-}
-
-// Positive test case for a method
-static void UtcDaliDisplacementEffectTestSetProperty()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliDisplacementEffectTestSetProperty");
-
-  Toolkit::DisplacementEffect effect = Toolkit::DisplacementEffect::New(Toolkit::DisplacementEffect::DISPLACED);
-  DALI_TEST_CHECK( effect );
-
-  ImageActor actor = ImageActor::New( Image::New(TEST_IMAGE_FILE_NAME) );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  Toolkit::DisplacementEffect effect2 = Toolkit::DisplacementEffect::New(Toolkit::DisplacementEffect::FIXED);
-  DALI_TEST_CHECK( effect );
-
-  ImageActor actor2 = ImageActor::New( Image::New(TEST_IMAGE_FILE_NAME) );
-  actor2.SetSize( 100.0f, 100.0f );
-  actor2.SetShaderEffect( effect2 );
-  Stage::GetCurrent().Add( actor2 );
-
-  Vector3 testVector3 = Vector3(45.0f, 55.0f, 65.0f);
-  float testFloat = 0.623f;
-  effect.SetLightDirection(testVector3);
-  effect.SetAmbientLightColorProperty(testVector3);
-  effect.SetDiffuseLightColorProperty(testVector3);
-  effect.SetStateProperty(testFloat);
-  effect.SetLightingMultiplierProperty(testFloat);
-  effect.SetHeightScaleProperty(testFloat);
-
-  effect2.SetFixedNormalProperty(testVector3);
-
-  application.SendNotification();
-  application.Render(0);
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_EQUALS( effect.GetProperty( effect.GetPropertyIndex( effect.GetLightDirectionPropertyName() ) ).Get<Vector3>(), testVector3, TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetProperty( effect.GetPropertyIndex( effect.GetAmbientLightColorPropertyName() ) ).Get<Vector3>(), testVector3, TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetProperty( effect.GetPropertyIndex( effect.GetDiffuseLightColorPropertyName() ) ).Get<Vector3>(), testVector3, TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetProperty( effect.GetPropertyIndex( effect.GetStatePropertyName().c_str() ) ).Get<float>(), testFloat, TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetProperty( effect.GetPropertyIndex( effect.GetLightingMultiplierPropertyName().c_str() ) ).Get<float>(), testFloat, TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetProperty( effect.GetPropertyIndex( effect.GetHeightScalePropertyName().c_str() ) ).Get<float>(), testFloat, TEST_LOCATION );
-
-  Vector3 normalizedVector3(testVector3);
-  normalizedVector3.Normalize();
-  DALI_TEST_EQUALS( effect2.GetProperty( effect2.GetPropertyIndex( effect2.GetFixedNormalPropertyName() ) ).Get<Vector3>(), normalizedVector3, TEST_LOCATION );
-}
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-DissolveEffect.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-DissolveEffect.cpp
deleted file mode 100644 (file)
index 13a6391..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliDissolveUninitializedEffect();
-static void UtcDaliDissolvePropertyNamesEffect();
-static void UtcDaliDissolveDefaultValuesEffect();
-static void UtcDaliDissolveCustomValuesEffect();
-static void UtcDaliSetEffectImageEffect();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliDissolveUninitializedEffect, NEGATIVE_TC_IDX },
-    { UtcDaliDissolvePropertyNamesEffect, POSITIVE_TC_IDX },
-    { UtcDaliDissolveDefaultValuesEffect, POSITIVE_TC_IDX },
-    { UtcDaliDissolveCustomValuesEffect, POSITIVE_TC_IDX },
-    { UtcDaliSetEffectImageEffect, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Create bitmap image
-BitmapImage CreateBitmapImage()
-{
-  BitmapImage image = BitmapImage::New(4,4,Pixel::RGBA8888);
-
-  PixelBuffer* pixbuf = image.GetBuffer();
-
-  // Using a 4x4 image gives a better blend with the GL implementation
-  // than a 3x3 image
-  for(size_t i=0; i<16; i++)
-  {
-    pixbuf[i*4+0] = 0xFF;
-    pixbuf[i*4+1] = 0xFF;
-    pixbuf[i*4+2] = 0xFF;
-    pixbuf[i*4+3] = 0xFF;
-  }
-
-  return image;
-}
-
-static void UtcDaliDissolveUninitializedEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::DissolveEffect effect;
-
-  try
-  {
-    // New() must be called to create a DissolveEffect or it wont be valid.
-    effect.SetDistortion( 2.0f );
-    DALI_TEST_CHECK( false );
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_CHECK(!effect);
-  }
-}
-
-static void UtcDaliDissolvePropertyNamesEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::DissolveEffect effectHighPrecision = Toolkit::DissolveEffect::New();
-  Toolkit::DissolveEffect effectMediumPrecision = Toolkit::DissolveEffect::New( false );
-
-  // Check the names, this names are used in the shaders code,
-  // if they change the shader code has to be updated
-  DALI_TEST_EQUALS( effectHighPrecision.GetDistortionPropertyName(), "uPercentage", TEST_LOCATION );
-  DALI_TEST_EQUALS( effectMediumPrecision.GetDistortionPropertyName(), "uPercentage", TEST_LOCATION );
-}
-
-static void UtcDaliDissolveDefaultValuesEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::DissolveEffect effect = Toolkit::DissolveEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-  effect.SetCentralLine( Vector2(0.0,0.5), Vector2(1.0, -0.1) );
-  Stage::GetCurrent().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  Property::Index index = effect.GetPropertyIndex( effect.GetDistortionPropertyName());
-  float value;
-  (effect.GetProperty(index)).Get( value );
-  DALI_TEST_EQUALS(value, 0.f, TEST_LOCATION );
-}
-
-static void UtcDaliDissolveCustomValuesEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::DissolveEffect effect = Toolkit::DissolveEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-
-  effect.SetDistortion( 0.5f );
-
-  actor.SetShaderEffect(effect);
-  Stage::GetCurrent().Add(actor);
-
-  application.SendNotification();
-  application.Render();
-
-  Property::Index index = effect.GetPropertyIndex( effect.GetDistortionPropertyName());
-  float value;
-  (effect.GetProperty(index)).Get( value );
-  DALI_TEST_EQUALS(value, 0.5f, TEST_LOCATION );
-}
-
-static void UtcDaliSetEffectImageEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::DissolveEffect effect = Toolkit::DissolveEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  Image effectImage = CreateBitmapImage();
-  effect.SetEffectImage(effectImage);
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  Property::Index index = effect.GetPropertyIndex( effect.GetDistortionPropertyName());
-  float value;
-  (effect.GetProperty(index)).Get( value );
-  DALI_TEST_EQUALS(value, 0.f, TEST_LOCATION );
-}
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-DistanceFieldEffect.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-DistanceFieldEffect.cpp
deleted file mode 100644 (file)
index 6cbd1d1..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/public-api/shader-effects/distance-field-effect.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliDistanceFieldEffectUninitialized();
-static void UtcDaliDistanceFieldEffectPropertyNames();
-static void UtcDaliDistanceFieldEffectDefaultValues();
-static void UtcDaliDistanceFieldEffectCustomValues();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliDistanceFieldEffectUninitialized, NEGATIVE_TC_IDX },
-    { UtcDaliDistanceFieldEffectPropertyNames, POSITIVE_TC_IDX },
-    { UtcDaliDistanceFieldEffectDefaultValues, POSITIVE_TC_IDX },
-    { UtcDaliDistanceFieldEffectCustomValues, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Create bitmap image
-BitmapImage CreateDistanceField()
-{
-  BitmapImage image = BitmapImage::New(256, 256, Pixel::RGBA8888);
-  BitmapImage distanceFieldImage = BitmapImage::New(256, 256, Pixel::L8);
-
-  PixelBuffer* pixbuf = image.GetBuffer();
-
-  for(size_t i=0; i<16; i++)
-  {
-    pixbuf[i*4+0] = 0xFF;
-    pixbuf[i*4+1] = 0xFF;
-    pixbuf[i*4+2] = 0xFF;
-    pixbuf[i*4+3] = 0xFF;
-  }
-
-  // GenerateDistanceFieldMap(distanceFieldImage.GetBuffer(), Size(256, 256), pixbuf, Size(256, 256), 8, 4);
-
-  return distanceFieldImage;
-}
-
-static void UtcDaliDistanceFieldEffectUninitialized()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::DistanceFieldEffect effect;
-
-  try
-  {
-    // New() must be called to create a DistanceField effect or it wont be valid.
-    effect.SetShadow( true );
-    DALI_TEST_CHECK( false );
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_CHECK(!effect);
-  }
-}
-
-static void UtcDaliDistanceFieldEffectPropertyNames()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::DistanceFieldEffect effect = Toolkit::DistanceFieldEffect::New();
-
-  // Check the names, this names are used in the shaders code,
-  // if they change the shader code has to be updated
-  DALI_TEST_EQUALS( effect.GetColorPropertyName(), "uColor", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetSmoothingPropertyName(), "uSmoothing", TEST_LOCATION );
-
-  // control flags
-  DALI_TEST_EQUALS( effect.GetOutlineEnablePropertyName(), "uDoOutline", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetGlowEnablePropertyName(), "uDoGlow", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetShadowEnablePropertyName(), "uDoShadow", TEST_LOCATION );
-
-  DALI_TEST_EQUALS( effect.GetGlowBoundaryPropertyName(), "uGlowBoundary", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetGlowColorPropertyName(), "uGlowColor", TEST_LOCATION );
-
-  DALI_TEST_EQUALS( effect.GetOutlineColorPropertyName(), "uOutlineColor", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetOutlineSizePropertyName(), "uOutlineParams", TEST_LOCATION );
-
-  DALI_TEST_EQUALS( effect.GetShadowColorPropertyName(), "uShadowColor", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetShadowOffsetPropertyName(), "uShadowOffset", TEST_LOCATION );
-
-}
-
-static void UtcDaliDistanceFieldEffectDefaultValues()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::DistanceFieldEffect effect = Toolkit::DistanceFieldEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateDistanceField();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetOutlineEnablePropertyName().c_str(),
-          0.0f ));
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetGlowEnablePropertyName().c_str(),
-          0.0f ));
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetShadowEnablePropertyName().c_str(),
-          0.0f ));
-}
-
-static void UtcDaliDistanceFieldEffectCustomValues()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::DistanceFieldEffect effect = Toolkit::DistanceFieldEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateDistanceField();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-
-  effect.SetShadowColor(Color::YELLOW);
-  effect.SetGlowColor(Color::BLUE);
-
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  // Gets converted to opengl viewport coordinates
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetShadowColorPropertyName().c_str(),
-          Color::YELLOW ) );
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetGlowColorPropertyName().c_str(),
-          Color::BLUE ) );
-}
-
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-GaussianBlurView.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-GaussianBlurView.cpp
deleted file mode 100644 (file)
index 96aace7..0000000
+++ /dev/null
@@ -1,232 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-namespace
-{
-const char* TEST_IMAGE_FILE_NAME = DALI_IMAGE_DIR "gallery_image_01.jpg";
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliGaussianBlurViewUninitialized();
-static void UtcDaliGaussianBlurViewNew();
-static void UtcDaliGaussianBlurViewDownCast();
-static void UtcDaliGaussianBlurViewPropertyNames();
-static void UtcDaliGaussianBlurViewAddRemove();
-static void UtcDaliGaussianBlurActivateDeactivate();
-static void UtcDaliGaussianBlurViewSetGetBackgroundColor();
-static void UtcDaliGaussianBlurViewSetGetRenderTarget();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-      { UtcDaliGaussianBlurViewUninitialized, NEGATIVE_TC_IDX },
-      { UtcDaliGaussianBlurViewNew, POSITIVE_TC_IDX },
-      { UtcDaliGaussianBlurViewDownCast, POSITIVE_TC_IDX },
-      { UtcDaliGaussianBlurViewPropertyNames, POSITIVE_TC_IDX },
-      { UtcDaliGaussianBlurViewAddRemove, POSITIVE_TC_IDX },
-      { UtcDaliGaussianBlurActivateDeactivate, POSITIVE_TC_IDX },
-      { UtcDaliGaussianBlurViewSetGetBackgroundColor, POSITIVE_TC_IDX },
-      { UtcDaliGaussianBlurViewSetGetRenderTarget, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Negative test case for a method
-static void UtcDaliGaussianBlurViewUninitialized()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliGaussianBlurViewUninitialized");
-
-  Toolkit::GaussianBlurView view;
-
-  try
-  {
-    // New() must be called to create a GaussianBlurView or it wont be valid.
-    Actor a = Actor::New();
-    view.Add( a );
-    DALI_TEST_CHECK( false );
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_CHECK(!view);
-  }
-}
-
-// Positive test case for a method
-static void UtcDaliGaussianBlurViewNew()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliGaussianBlurViewNew");
-
-  Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
-  DALI_TEST_CHECK( view );
-
-  Toolkit::GaussianBlurView view2 = Toolkit::GaussianBlurView::New(5, 1.5f, Pixel::RGB888, 0.5f, 0.5f, false);
-  DALI_TEST_CHECK( view2 );
-}
-
-// Positive test case for a method
-static void UtcDaliGaussianBlurViewDownCast()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliGaussianBlurViewDownCast");
-
-  Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
-  BaseHandle handle(view);
-
-  Toolkit::GaussianBlurView gaussianBlurView = Toolkit::GaussianBlurView::DownCast( handle );
-  DALI_TEST_CHECK( view );
-  DALI_TEST_CHECK( gaussianBlurView );
-  DALI_TEST_CHECK( gaussianBlurView == view );
-}
-
-
-// Positive test case for a method
-static void UtcDaliGaussianBlurViewPropertyNames()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliGaussianBlurViewPropertyNames");
-
-  Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
-  DALI_TEST_CHECK( view );
-
-  // Check the names, this names are used in the shader code,
-  // if they change in the shader code, then it has to be updated here.
-  DALI_TEST_EQUALS( view.GetBlurStrengthPropertyIndex(), view.GetPropertyIndex("GaussianBlurStrengthPropertyName"), TEST_LOCATION );
-}
-
-// Positive test case for a method
-static void UtcDaliGaussianBlurViewAddRemove()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliGaussianBlurViewAddRemove");
-
-  Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
-  DALI_TEST_CHECK( view );
-
-  Actor actor = Actor::New();
-  DALI_TEST_CHECK( !actor.OnStage() );
-
-
-  view.SetParentOrigin(ParentOrigin::CENTER);
-  view.SetSize(Stage::GetCurrent().GetSize());
-  view.Add(actor);
-  Stage::GetCurrent().Add(view);
-
-  DALI_TEST_CHECK( actor.OnStage() );
-
-  view.Remove(actor);
-
-  DALI_TEST_CHECK( !actor.OnStage() );
-}
-
-// Positive test case for a method
-static void UtcDaliGaussianBlurActivateDeactivate()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliGaussianBlurActivateDeactivate");
-
-  Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
-  DALI_TEST_CHECK( view );
-
-  RenderTaskList taskList = Stage::GetCurrent().GetRenderTaskList();
-  DALI_TEST_CHECK( 1u == taskList.GetTaskCount() );
-
-  view.SetParentOrigin(ParentOrigin::CENTER);
-  view.SetSize(Stage::GetCurrent().GetSize());
-  view.Add(Actor::New());
-  Stage::GetCurrent().Add(view);
-  view.Activate();
-
-  RenderTaskList taskList2 = Stage::GetCurrent().GetRenderTaskList();
-  DALI_TEST_CHECK( 1u != taskList2.GetTaskCount() );
-
-  view.Deactivate();
-
-  RenderTaskList taskList3 = Stage::GetCurrent().GetRenderTaskList();
-  DALI_TEST_CHECK( 1u == taskList3.GetTaskCount() );
-}
-
-// Positive test case for a method
-static void UtcDaliGaussianBlurViewSetGetBackgroundColor()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliGaussianBlurViewSetGetBackgroundColor");
-
-  Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
-  DALI_TEST_CHECK( view );
-
-  view.SetBackgroundColor(Dali::Color::RED);
-  Vector4 color = view.GetBackgroundColor();
-  DALI_TEST_CHECK( color == Dali::Color::RED );
-}
-
-// Positive test case for a method
-static void UtcDaliGaussianBlurViewSetGetRenderTarget()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliGaussianBlurViewSetGetRenderTarget");
-
-  Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New(5, 1.5f, Pixel::RGB888, 0.5f, 0.5f, true);
-  DALI_TEST_CHECK( view );
-
-  view.SetParentOrigin(ParentOrigin::CENTER);
-  view.SetSize(Stage::GetCurrent().GetSize());
-  view.Add(Actor::New());
-  Stage::GetCurrent().Add(view);
-  view.Activate();
-
-  FrameBufferImage renderTarget = FrameBufferImage::New( 480.0f, 800.0f, Pixel::RGB888 );
-  view.SetUserImageAndOutputRenderTarget(Image::New(TEST_IMAGE_FILE_NAME), renderTarget);
-  DALI_TEST_CHECK( view.GetBlurredRenderTarget() == renderTarget );
-}
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-IrisEffect.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-IrisEffect.cpp
deleted file mode 100644 (file)
index f458d72..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliIrisEffectUninitialized();
-static void UtcDaliIrisEffectPropertyNames();
-static void UtcDaliIrisEffectDefaultValues();
-static void UtcDaliIrisEffectCustomValues();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliIrisEffectUninitialized, NEGATIVE_TC_IDX },
-    { UtcDaliIrisEffectPropertyNames, POSITIVE_TC_IDX },
-    { UtcDaliIrisEffectDefaultValues, POSITIVE_TC_IDX },
-    { UtcDaliIrisEffectCustomValues, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Create bitmap image
-BitmapImage CreateBitmapImage()
-{
-  BitmapImage image = BitmapImage::New(4,4,Pixel::RGBA8888);
-
-  PixelBuffer* pixbuf = image.GetBuffer();
-
-  // Using a 4x4 image gives a better blend with the GL implementation
-  // than a 3x3 image
-  for(size_t i=0; i<16; i++)
-  {
-    pixbuf[i*4+0] = 0xFF;
-    pixbuf[i*4+1] = 0xFF;
-    pixbuf[i*4+2] = 0xFF;
-    pixbuf[i*4+3] = 0xFF;
-  }
-
-  return image;
-}
-
-static void UtcDaliIrisEffectUninitialized()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::IrisEffect effect;
-
-  try
-  {
-    // New() must be called to create a IrisEffect or it wont be valid.
-    effect.SetRadius( 2.0f );
-    DALI_TEST_CHECK( false );
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_CHECK(!effect);
-  }
-}
-
-static void UtcDaliIrisEffectPropertyNames()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::IrisEffect effect = Toolkit::IrisEffect::New();
-
-  // Check the names, this names are used in the shaders code,
-  // if they change the shader code has to be updated
-  DALI_TEST_EQUALS( effect.GetRadiusPropertyName(), "uRadius", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetCenterPropertyName(), "uCenter", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetBlendFactorPropertyName(), "uBlendFactor", TEST_LOCATION );
-}
-
-static void UtcDaliIrisEffectDefaultValues()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::IrisEffect effect = Toolkit::IrisEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-
-  const float radiusValue(0.0f);
-  const Vector2 centerValue(0.5f, 0.5f);
-  const float blendFactorValue(100.0f);
-
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  TestGlAbstraction& gl = application.GetGlAbstraction();
-  DALI_TEST_CHECK( gl.CheckUniformValue( effect.GetRadiusPropertyName().c_str(), radiusValue ) );
-  DALI_TEST_CHECK( gl.CheckUniformValue( effect.GetCenterPropertyName().c_str(), centerValue ) );
-  DALI_TEST_CHECK( gl.CheckUniformValue( effect.GetBlendFactorPropertyName().c_str(), blendFactorValue ) );
-}
-
-static void UtcDaliIrisEffectCustomValues()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::IrisEffect effect = Toolkit::IrisEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-
-  const float radiusValue(23.0f);
-  const Vector2 centerValue(0.2f, 0.7f);
-  const float blendFactorValue(10.0f);
-
-  effect.SetRadius( radiusValue );
-  effect.SetCenter( centerValue );
-  effect.SetBlendFactor( blendFactorValue );
-
-  actor.SetShaderEffect(effect);
-  Stage::GetCurrent().Add(actor);
-
-  application.SendNotification();
-  application.Render();
-
-  TestGlAbstraction& gl = application.GetGlAbstraction();
-  DALI_TEST_CHECK( gl.CheckUniformValue( effect.GetRadiusPropertyName().c_str(), radiusValue ) );
-  DALI_TEST_CHECK( gl.CheckUniformValue( effect.GetCenterPropertyName().c_str(), centerValue ) );
-  DALI_TEST_CHECK( gl.CheckUniformValue( effect.GetBlendFactorPropertyName().c_str(), blendFactorValue ) );
-}
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-MaskEffect.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-MaskEffect.cpp
deleted file mode 100644 (file)
index 3e7d279..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliMaskEffectCreateEffect, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliMaskEffectDestructor, POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Create bitmap image
-static BitmapImage CreateBitmapImage()
-{
-  BitmapImage image = BitmapImage::New(4,4,Pixel::RGBA8888);
-
-  PixelBuffer* pixbuf = image.GetBuffer();
-
-  // Using a 4x4 image gives a better blend with the GL implementation
-  // than a 3x3 image
-  for(size_t i=0; i<16; i++)
-  {
-    pixbuf[i*4+0] = 0xFF;
-    pixbuf[i*4+1] = 0xFF;
-    pixbuf[i*4+2] = 0xFF;
-    pixbuf[i*4+3] = 0xFF;
-  }
-
-  return image;
-}
-
-static void UtcDaliMaskEffectCreateEffect()
-{
-  ToolkitTestApplication application;
-
-  BitmapImage image = CreateBitmapImage();
-
-  ShaderEffect effect = Toolkit::MaskEffect::New( image );
-  DALI_TEST_CHECK( effect );
-}
-
-static void UtcDaliMaskEffectDestructor()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::MaskEffect* effect = new Toolkit::MaskEffect();
-  delete effect;
-
-  DALI_TEST_CHECK( true );
-}
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-NinePatchMaskEffect.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-NinePatchMaskEffect.cpp
deleted file mode 100644 (file)
index 09e8251..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliNinePatchMaskEffectApply, POSITIVE_TC_IDX );
-
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Create bitmap image
-static BitmapImage CreateBitmapImage()
-{
-  BitmapImage image = BitmapImage::New(4,4,Pixel::RGBA8888);
-
-  PixelBuffer* pixbuf = image.GetBuffer();
-
-  // Using a 4x4 image gives a better blend with the GL implementation
-  // than a 3x3 image
-  for(size_t i=0; i<16; i++)
-  {
-    pixbuf[i*4+0] = 0xFF;
-    pixbuf[i*4+1] = 0xFF;
-    pixbuf[i*4+2] = 0xFF;
-    pixbuf[i*4+3] = 0xFF;
-  }
-
-  return image;
-}
-
-static void UtcDaliNinePatchMaskEffectApply()
-{
-  ToolkitTestApplication application;
-
-  BitmapImage image = CreateBitmapImage();
-  ImageActor actor0 = ImageActor::New( image );
-  Toolkit::NinePatchMaskEffect::Apply( actor0, "" );
-
-  Stage::GetCurrent().Add( actor0 );
-
-  application.SendNotification();   // Force usage of constraint
-  application.Render();
-
-  DALI_TEST_CHECK( actor0.GetStyle() == ImageActor::STYLE_NINE_PATCH );
-
-  ImageActor actor1 = ImageActor::New( image );
-  Vector4 border( 0, 0, 0, 0 );
-  Toolkit::NinePatchMaskEffect::Apply( actor1, "", border );
-
-  Stage::GetCurrent().Add( actor1 );
-
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_CHECK( actor1.GetStyle() == ImageActor::STYLE_NINE_PATCH );
-}
-
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-OverlayEffect.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-OverlayEffect.cpp
deleted file mode 100644 (file)
index 5b84680..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliOverlayConstructor();
-static void UtcDaliOverlayUninitializedEffect();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliOverlayConstructor, POSITIVE_TC_IDX },
-    { UtcDaliOverlayUninitializedEffect, NEGATIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Create bitmap image
-BitmapImage CreateBitmapImage()
-{
-  BitmapImage image = BitmapImage::New(4,4,Pixel::RGBA8888);
-
-  PixelBuffer* pixbuf = image.GetBuffer();
-
-  // Using a 4x4 image gives a better blend with the GL implementation
-  // than a 3x3 image
-  for(size_t i=0; i<16; i++)
-  {
-    pixbuf[i*4+0] = 0xFF;
-    pixbuf[i*4+1] = 0xFF;
-    pixbuf[i*4+2] = 0xFF;
-    pixbuf[i*4+3] = 0xFF;
-  }
-
-  return image;
-}
-
-static void UtcDaliOverlayConstructor()
-{
-  ToolkitTestApplication application;
-
-  BitmapImage image = CreateBitmapImage();
-
-  Toolkit::OverlayEffect effect = Toolkit::OverlayEffect::New( image );
-  DALI_TEST_CHECK( effect );
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-}
-
-static void UtcDaliOverlayUninitializedEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::OverlayEffect effect;
-
-  try
-  {
-    BitmapImage image = CreateBitmapImage();
-
-    // New() must be called to create a OverlayEffect or it wont be valid.
-    effect.SetEffectImage( image );
-    DALI_TEST_CHECK( false );
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_CHECK(!effect);
-  }
-}
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-PageTurnEffect.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-PageTurnEffect.cpp
deleted file mode 100644 (file)
index 94c0e9a..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliPageTurnEffectApply, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliPageTurnEffectConstruct, POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Create bitmap image
-static BitmapImage CreateBitmapImage()
-{
-  BitmapImage image = BitmapImage::New(4,4,Pixel::RGBA8888);
-
-  PixelBuffer* pixbuf = image.GetBuffer();
-
-  // Using a 4x4 image gives a better blend with the GL implementation
-  // than a 3x3 image
-  for(size_t i=0; i<16; i++)
-  {
-    pixbuf[i*4+0] = 0xFF;
-    pixbuf[i*4+1] = 0xFF;
-    pixbuf[i*4+2] = 0xFF;
-    pixbuf[i*4+3] = 0xFF;
-  }
-
-  return image;
-}
-
-static void UtcDaliPageTurnEffectApply()
-{
-  ToolkitTestApplication application;
-
-  BitmapImage image = CreateBitmapImage();
-
-  Toolkit::PageTurnEffect pageTurnEffect = Toolkit::PageTurnEffect::New();
-  Toolkit::PageTurnEffect pageTurnEffect2 = Toolkit::PageTurnEffect::New(false);
-
-  ImageActor pageActor = ImageActor::New( image );
-  ImageActor backPageActor = ImageActor::New( image );
-  pageActor.Add( backPageActor );
-
-  pageTurnEffect.SetIsTurningBack( true );
-  pageTurnEffect.SetShadowWidth( 0.0f );
-  pageTurnEffect.SetSpineShadowParameter( Vector2( 0.0f, 0.0f ) );
-
-  pageActor.SetShaderEffect( pageTurnEffect );
-  Stage::GetCurrent().Add( pageActor );
-
-  application.SendNotification();
-  application.Render();
-
-  const Vector2 pageSize( 0.0f, 0.0f );
-  pageTurnEffect.SetPageSize( pageSize );
-
-  const Vector2 originalCenter( 0.0f, 0.0f );
-  pageTurnEffect.SetOriginalCenter( originalCenter );
-
-  const Vector2 currentCenter( 0.0f, 0.0f );
-  pageTurnEffect.SetCurrentCenter( currentCenter );
-
-  application.SendNotification();
-  application.Render();
-
-  TestGlAbstraction& gl = application.GetGlAbstraction();
-  DALI_TEST_CHECK( gl.CheckUniformValue( pageTurnEffect.GetPageSizePropertyName().c_str(), pageSize ) );
-  DALI_TEST_CHECK( gl.CheckUniformValue( pageTurnEffect.GetOriginalCenterPropertyName().c_str(), originalCenter ) );
-  DALI_TEST_CHECK( gl.CheckUniformValue( pageTurnEffect.GetCurrentCenterPropertyName().c_str(), currentCenter ) );
-}
-
-static void UtcDaliPageTurnEffectConstruct()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::PageTurnEffect* effect = new Toolkit::PageTurnEffect();
-  delete effect;
-
-  DALI_TEST_CHECK( true );
-}
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-Ripple2DEffect.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-Ripple2DEffect.cpp
deleted file mode 100644 (file)
index 191a1aa..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliRipple2DEffectUninitialized();
-static void UtcDaliRipple2DEffectPropertyNames();
-static void UtcDaliRipple2DEffectDefaultValues();
-static void UtcDaliRipple2DEffectCustomValues();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliRipple2DEffectUninitialized, NEGATIVE_TC_IDX },
-    { UtcDaliRipple2DEffectPropertyNames, POSITIVE_TC_IDX },
-    { UtcDaliRipple2DEffectDefaultValues, POSITIVE_TC_IDX },
-    { UtcDaliRipple2DEffectCustomValues, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Create bitmap image
-BitmapImage CreateBitmapImage()
-{
-  BitmapImage image = BitmapImage::New(4,4,Pixel::RGBA8888);
-
-  PixelBuffer* pixbuf = image.GetBuffer();
-
-  // Using a 4x4 image gives a better blend with the GL implementation
-  // than a 3x3 image
-  for(size_t i=0; i<16; i++)
-  {
-    pixbuf[i*4+0] = 0xFF;
-    pixbuf[i*4+1] = 0xFF;
-    pixbuf[i*4+2] = 0xFF;
-    pixbuf[i*4+3] = 0xFF;
-  }
-
-  return image;
-}
-
-static void UtcDaliRipple2DEffectUninitialized()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::Ripple2DEffect effect;
-
-  try
-  {
-    // New() must be called to create a Ripple2DEffect or it wont be valid.
-    effect.SetAmplitude( 0.5f );
-    DALI_TEST_CHECK( false );
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_CHECK(!effect);
-  }
-}
-
-static void UtcDaliRipple2DEffectPropertyNames()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::Ripple2DEffect effect = Toolkit::Ripple2DEffect::New();
-
-  // Check the names, this names are used in the shaders code,
-  // if they change the shader code has to be updated
-  DALI_TEST_EQUALS( effect.GetAmplitudePropertyName(), "uAmplitude", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetTimePropertyName(), "uTime", TEST_LOCATION );
-}
-
-static void UtcDaliRipple2DEffectDefaultValues()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::Ripple2DEffect effect = Toolkit::Ripple2DEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetAmplitudePropertyName().c_str(),
-          0.0f ) );
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetTimePropertyName().c_str(),
-          0.0f ) );
-}
-
-static void UtcDaliRipple2DEffectCustomValues()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::Ripple2DEffect effect = Toolkit::Ripple2DEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-
-  effect.SetAmplitude( 5.0f );
-  effect.SetTime( 2.0f );
-
-  Stage::GetCurrent().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetAmplitudePropertyName().c_str(),
-          5.0f ) );
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetTimePropertyName().c_str(),
-          2.0f ) );
-}
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-RippleEffect.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-RippleEffect.cpp
deleted file mode 100644 (file)
index e71b820..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliRippleUninitializedEffect();
-static void UtcDaliRipplePropertyNamesEffect();
-static void UtcDaliRippleDefaultValuesEffect();
-static void UtcDaliRippleCustomValuesEffect();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliRippleUninitializedEffect, NEGATIVE_TC_IDX },
-    { UtcDaliRipplePropertyNamesEffect, POSITIVE_TC_IDX },
-    { UtcDaliRippleDefaultValuesEffect, POSITIVE_TC_IDX },
-    { UtcDaliRippleCustomValuesEffect, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Create bitmap image
-BitmapImage CreateBitmapImage()
-{
-  BitmapImage image = BitmapImage::New(4,4,Pixel::RGBA8888);
-
-  PixelBuffer* pixbuf = image.GetBuffer();
-
-  // Using a 4x4 image gives a better blend with the GL implementation
-  // than a 3x3 image
-  for(size_t i=0; i<16; i++)
-  {
-    pixbuf[i*4+0] = 0xFF;
-    pixbuf[i*4+1] = 0xFF;
-    pixbuf[i*4+2] = 0xFF;
-    pixbuf[i*4+3] = 0xFF;
-  }
-
-  return image;
-}
-
-static void UtcDaliRippleUninitializedEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::RippleEffect effect;
-
-  try
-  {
-    // New() must be called to create a RippleEffect or it wont be valid.
-    effect.SetAmplitude( 0.5f );
-    DALI_TEST_CHECK( false );
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_CHECK(!effect);
-  }
-}
-
-static void UtcDaliRipplePropertyNamesEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::RippleEffect effect = Toolkit::RippleEffect::New();
-
-  // Check the names, this names are used in the shaders code,
-  // if they change the shader code has to be updated
-  DALI_TEST_EQUALS( effect.GetAmplitudePropertyName(), "uAmplitude", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetCenterPropertyName(), "uCenter", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetTimePropertyName(), "uTime", TEST_LOCATION );
-
-}
-
-static void UtcDaliRippleDefaultValuesEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::RippleEffect effect = Toolkit::RippleEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetAmplitudePropertyName().c_str(),
-          0.0f ) );
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetCenterPropertyName().c_str(),
-          Vector2( 0.0f, 0.0f ) ) );
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetTimePropertyName().c_str(),
-          0.0f ) );
-}
-
-static void UtcDaliRippleCustomValuesEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::RippleEffect effect = Toolkit::RippleEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-
-  effect.SetAmplitude( 0.5f );
-  effect.SetCenter( Vector2( 10.0f, 10.0f ) );
-  effect.SetTime( 2.0f );
-
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetAmplitudePropertyName().c_str(),
-          0.5f ) );
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetCenterPropertyName().c_str(),
-          Vector2( 10.0f, 10.0f ) ) );
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetTimePropertyName().c_str(),
-          2.0f ) );
-}
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-ShadowView.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-ShadowView.cpp
deleted file mode 100644 (file)
index 385a569..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliShadowViewUninitialized();
-static void UtcDaliShadowViewNew();
-static void UtcDaliShadowViewDownCast();
-static void UtcDaliShadowViewPropertyNames();
-static void UtcDaliShadowViewAddRemove();
-static void UtcDaliShadowViewActivateDeactivate();
-
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-      { UtcDaliShadowViewUninitialized, NEGATIVE_TC_IDX },
-      { UtcDaliShadowViewNew, POSITIVE_TC_IDX },
-      { UtcDaliShadowViewDownCast, POSITIVE_TC_IDX },
-      { UtcDaliShadowViewPropertyNames, POSITIVE_TC_IDX },
-      { UtcDaliShadowViewAddRemove, POSITIVE_TC_IDX },
-      { UtcDaliShadowViewActivateDeactivate, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Negative test case for a method
-static void UtcDaliShadowViewUninitialized()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliShadowViewUninitialized");
-
-  Toolkit::ShadowView view;
-  try
-  {
-    // New() must be called to create a GaussianBlurView or it wont be valid.
-    Actor a = Actor::New();
-    view.Add( a );
-    DALI_TEST_CHECK( false );
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_CHECK(!view);
-  }
-}
-
-// Positive test case for a method
-static void UtcDaliShadowViewNew()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliShadowViewNew");
-
-  Toolkit::ShadowView view = Toolkit::ShadowView::New();
-  DALI_TEST_CHECK( view );
-
-  Toolkit::ShadowView view2 = Toolkit::ShadowView::New(1.0f, 1.0f);
-  DALI_TEST_CHECK( view2 );
-}
-
-// Positive test case for a method
-static void UtcDaliShadowViewDownCast()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliShadowViewDownCast");
-
-  Toolkit::ShadowView view = Toolkit::ShadowView::New();
-  BaseHandle handle(view);
-
-  Toolkit::ShadowView shadowView = Toolkit::ShadowView::DownCast( handle );
-  DALI_TEST_CHECK( view );
-  DALI_TEST_CHECK( shadowView );
-  DALI_TEST_CHECK( shadowView == view );
-}
-
-// Positive test case for a method
-static void UtcDaliShadowViewPropertyNames()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliShadowViewPropertyNames");
-
-  Toolkit::ShadowView view = Toolkit::ShadowView::New();
-  DALI_TEST_CHECK( view );
-
-  // Check the names, this names are used in the shader code,
-  // if they change in the shader code, then it has to be updated here.
-  DALI_TEST_EQUALS( view.GetBlurStrengthPropertyIndex(), view.GetPropertyIndex("BlurStrengthProperty"), TEST_LOCATION );
-  DALI_TEST_EQUALS( view.GetShadowColorPropertyIndex(), view.GetPropertyIndex("ShadowColorProperty"), TEST_LOCATION );
-}
-
-// Positive test case for a method
-static void UtcDaliShadowViewAddRemove()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliShadowViewAddRemove");
-
-  Toolkit::ShadowView view = Toolkit::ShadowView::New();
-  DALI_TEST_CHECK( view );
-
-  Actor actor = Actor::New();
-  DALI_TEST_CHECK( !actor.OnStage() );
-
-
-  view.SetParentOrigin(ParentOrigin::CENTER);
-  view.SetSize(Stage::GetCurrent().GetSize());
-  view.Add(actor);
-  Stage::GetCurrent().Add(view);
-
-  DALI_TEST_CHECK( actor.OnStage() );
-
-  view.Remove(actor);
-
-  DALI_TEST_CHECK( !actor.OnStage() );
-}
-
-// Positive test case for a method
-static void UtcDaliShadowViewActivateDeactivate()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliShadowViewActivateDeactivate");
-
-  Toolkit::ShadowView view = Toolkit::ShadowView::New();
-  DALI_TEST_CHECK( view );
-
-  RenderTaskList taskList = Stage::GetCurrent().GetRenderTaskList();
-  DALI_TEST_CHECK( 1u == taskList.GetTaskCount() );
-
-  view.SetParentOrigin(ParentOrigin::CENTER);
-  view.SetSize(Stage::GetCurrent().GetSize());
-  view.Add(Actor::New());
-  Stage::GetCurrent().Add(view);
-  view.Activate();
-
-  RenderTaskList taskList2 = Stage::GetCurrent().GetRenderTaskList();
-  DALI_TEST_CHECK( 1u != taskList2.GetTaskCount() );
-
-  view.Deactivate();
-
-  RenderTaskList taskList3 = Stage::GetCurrent().GetRenderTaskList();
-  DALI_TEST_CHECK( 1u == taskList3.GetTaskCount() );
-}
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-ShearEffect.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-ShearEffect.cpp
deleted file mode 100644 (file)
index 8eddd88..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliShearEffectUninitialized();
-static void UtcDaliShearEffectPropertyNames();
-static void UtcDaliShearEffectDefaultValues();
-static void UtcDaliShearEffectCustomValues();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliShearEffectUninitialized, NEGATIVE_TC_IDX },
-    { UtcDaliShearEffectPropertyNames, POSITIVE_TC_IDX },
-    { UtcDaliShearEffectDefaultValues, POSITIVE_TC_IDX },
-    { UtcDaliShearEffectCustomValues, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Create bitmap image
-BitmapImage CreateBitmapImage()
-{
-  BitmapImage image = BitmapImage::New(4,4,Pixel::RGBA8888);
-
-  PixelBuffer* pixbuf = image.GetBuffer();
-
-  // Using a 4x4 image gives a better blend with the GL implementation
-  // than a 3x3 image
-  for(size_t i=0; i<16; i++)
-  {
-    pixbuf[i*4+0] = 0xFF;
-    pixbuf[i*4+1] = 0xFF;
-    pixbuf[i*4+2] = 0xFF;
-    pixbuf[i*4+3] = 0xFF;
-  }
-
-  return image;
-}
-
-static void UtcDaliShearEffectUninitialized()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::ShearEffect effect;
-
-  try
-  {
-    // New() must be called to create a ShearEffect or it wont be valid.
-    effect.SetAngleXAxis( 45.0f );
-    DALI_TEST_CHECK( false );
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_CHECK(!effect);
-  }
-}
-
-static void UtcDaliShearEffectPropertyNames()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::ShearEffect effect = Toolkit::ShearEffect::New();
-
-  // Check the names, these names are used in the shaders code,
-  // if they change the shader code has to be updated
-  DALI_TEST_EQUALS( effect.GetAngleXAxisPropertyName(), "uAngleXAxis", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetAngleYAxisPropertyName(), "uAngleYAxis", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetCenterPropertyName(), "uCenter", TEST_LOCATION );
-}
-
-/**
- * Converts value to screen position in the same way that
- * the core does under COORDINATE_TYPE_SCREEN_POSITION
- *
- * @param[in] value the input position value.
- * @return The translated position value ready for gl.
- */
-Vector2 ToScreenPosition(Vector2 value)
-{
-  Vector2 stageSize = Dali::Stage::GetCurrent().GetSize();
-  value.x = stageSize.x * 0.5f - value.x;
-  value.y = value.y - stageSize.y * 0.5f;
-
-  return value;
-}
-
-static void UtcDaliShearEffectDefaultValues()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::ShearEffect effect = Toolkit::ShearEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-
-  const float angleXAxis(0.0f);
-  const float angleYAxis(0.0f);
-  const Vector2 centerValue(0.0f, 0.0f);
-
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  TestGlAbstraction& gl = application.GetGlAbstraction();
-  DALI_TEST_CHECK( gl.CheckUniformValue( effect.GetAngleXAxisPropertyName().c_str(), angleXAxis ) );
-  DALI_TEST_CHECK( gl.CheckUniformValue( effect.GetAngleYAxisPropertyName().c_str(), angleYAxis ) );
-  DALI_TEST_CHECK( gl.CheckUniformValue( effect.GetCenterPropertyName().c_str(), ToScreenPosition(centerValue) ) );
-}
-
-static void UtcDaliShearEffectCustomValues()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::ShearEffect effect = Toolkit::ShearEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-
-  const float angleXAxis(10.0f);
-  const float angleYAxis(22.5f);
-  const Vector2 centerValue(50.0f, 100.0f);
-
-  effect.SetAngleXAxis( angleXAxis );
-  effect.SetAngleYAxis( angleYAxis );
-  effect.SetCenter( centerValue );
-
-  actor.SetShaderEffect(effect);
-  Stage::GetCurrent().Add(actor);
-
-  application.SendNotification();
-  application.Render();
-
-  TestGlAbstraction& gl = application.GetGlAbstraction();
-  DALI_TEST_CHECK( gl.CheckUniformValue( effect.GetAngleXAxisPropertyName().c_str(), angleXAxis ) );
-  DALI_TEST_CHECK( gl.CheckUniformValue( effect.GetAngleYAxisPropertyName().c_str(), angleYAxis ) );
-  DALI_TEST_CHECK( gl.CheckUniformValue( effect.GetCenterPropertyName().c_str(), ToScreenPosition(centerValue) ) );
-}
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-SoftButtonEffect.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-SoftButtonEffect.cpp
deleted file mode 100644 (file)
index 3f26c51..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliSoftButtonEffectUninitialized();
-static void UtcDaliSoftButtonEffectNew();
-static void UtcDaliSoftButtonEffectPropertyNames();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-      { UtcDaliSoftButtonEffectUninitialized, NEGATIVE_TC_IDX },
-      { UtcDaliSoftButtonEffectNew, POSITIVE_TC_IDX },
-      { UtcDaliSoftButtonEffectPropertyNames, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Negative test case for a method
-static void UtcDaliSoftButtonEffectUninitialized()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliSoftButtonEffectUninitialized");
-
-  Toolkit::SoftButtonEffect effect;
-
-  // New() must be called to create a SoftButtonEffect or it wont be valid.
-
-  DALI_TEST_CHECK(!effect);
-}
-
-// Positive test case for a method
-static void UtcDaliSoftButtonEffectNew()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliGaussianBlurViewNew");
-
-  Toolkit::SoftButtonEffect effect = Toolkit::SoftButtonEffect::New(Toolkit::SoftButtonEffect::ELLIPTICAL);
-  DALI_TEST_CHECK( effect );
-}
-
-// Positive test case for a method
-static void UtcDaliSoftButtonEffectPropertyNames()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliSoftButtonEffectPropertyNames");
-
-  Toolkit::SoftButtonEffect effect = Toolkit::SoftButtonEffect::New(Toolkit::SoftButtonEffect::ELLIPTICAL);
-  DALI_TEST_CHECK( effect );
-
-  // Check the names, this names are used in the shader code,
-  // if they change in the shader code, then it has to be updated here.
-  DALI_TEST_EQUALS( effect.GetLightingIndentationAmountPropertyName(), "uLightingIndentationAmount", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetTextureDistortionAmountPropertyName(), "uTextureDistortAmount", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetAmbientLightAmountPropertyName(), "uAmbientLight", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetDiffuseLightPropertyName(), "uDiffuseLight", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetLightingMultiplierPropertyName(), "uLightMultiplier", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetInsideShapeSizeScalePropertyName(), "uInsideCircleSizeScale", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetOutsideShapeDepthPropertyName(), "uOutsideCircleDepth", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetEffectPixelAreaPropertyName(), "uEffectRegion", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetRectangleSizeScalePropertyName(), "uRectangleSizeScale", TEST_LOCATION );
-}
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-SpotEffect.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-SpotEffect.cpp
deleted file mode 100644 (file)
index dd60bbb..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliSpotUninitializedEffect();
-static void UtcDaliSpotPropertyNamesEffect();
-static void UtcDaliSpotDefaultValuesEffect();
-static void UtcDaliSpotCustomValuesEffect();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliSpotUninitializedEffect, NEGATIVE_TC_IDX },
-    { UtcDaliSpotPropertyNamesEffect, POSITIVE_TC_IDX },
-    { UtcDaliSpotDefaultValuesEffect, POSITIVE_TC_IDX },
-    { UtcDaliSpotCustomValuesEffect, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Create bitmap image
-BitmapImage CreateBitmapImage()
-{
-  BitmapImage image = BitmapImage::New(4,4,Pixel::RGBA8888);
-
-  PixelBuffer* pixbuf = image.GetBuffer();
-
-  // Using a 4x4 image gives a better blend with the GL implementation
-  // than a 3x3 image
-  for(size_t i=0; i<16; i++)
-  {
-    pixbuf[i*4+0] = 0xFF;
-    pixbuf[i*4+1] = 0xFF;
-    pixbuf[i*4+2] = 0xFF;
-    pixbuf[i*4+3] = 0xFF;
-  }
-
-  return image;
-}
-
-static void UtcDaliSpotUninitializedEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::SpotEffect effect;
-
-  try
-  {
-    // New() must be called to create a SpotEffect or it wont be valid.
-    effect.SetRadius( 0.5f );
-    DALI_TEST_CHECK( false );
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_CHECK(!effect);
-  }
-}
-
-static void UtcDaliSpotPropertyNamesEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::SpotEffect effect = Toolkit::SpotEffect::New();
-
-  // Check the names, this names are used in the shaders code,
-  // if they change the shader code has to be updated
-  DALI_TEST_EQUALS( effect.GetCenterPropertyName(), "uCenter", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetRadiusPropertyName(), "uRadius", TEST_LOCATION );
-}
-
-static void UtcDaliSpotDefaultValuesEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::SpotEffect effect = Toolkit::SpotEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  // Gets converted to opengl viewport coordinates
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetCenterPropertyName().c_str(),
-          Vector2(0.0f, 0.0f) ) );
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetRadiusPropertyName().c_str(),
-          0.0f ) );
-}
-
-static void UtcDaliSpotCustomValuesEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::SpotEffect effect = Toolkit::SpotEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-
-  effect.SetCenter( Vector2(480.0f, 800.0f) );
-  effect.SetRadius( 5.0f );
-
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  // Gets converted to opengl viewport coordinates
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetCenterPropertyName().c_str(),
-          Vector2(480.0f, 800.0f) ) );
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetRadiusPropertyName().c_str(),
-          5.0f ) );
-}
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-SquareDissolveEffect.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-SquareDissolveEffect.cpp
deleted file mode 100644 (file)
index 57fb6ab..0000000
+++ /dev/null
@@ -1,204 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliSquareDissolveEffectUninitialized();
-static void UtcDaliSquareDissolveEffectPropertyNames();
-static void UtcDaliSquareDissolveEffectDefaultValues();
-static void UtcDaliSquareDissolveEffectCustomValues();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliSquareDissolveEffectUninitialized, NEGATIVE_TC_IDX },
-    { UtcDaliSquareDissolveEffectPropertyNames, POSITIVE_TC_IDX },
-    { UtcDaliSquareDissolveEffectDefaultValues, POSITIVE_TC_IDX },
-    { UtcDaliSquareDissolveEffectCustomValues, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Create bitmap image
-BitmapImage CreateBitmapImage()
-{
-  BitmapImage image = BitmapImage::New(4,4,Pixel::RGBA8888);
-
-  PixelBuffer* pixbuf = image.GetBuffer();
-
-  // Using a 4x4 image gives a better blend with the GL implementation
-  // than a 3x3 image
-  for(size_t i=0; i<16; i++)
-  {
-    pixbuf[i*4+0] = 0xFF;
-    pixbuf[i*4+1] = 0xFF;
-    pixbuf[i*4+2] = 0xFF;
-    pixbuf[i*4+3] = 0xFF;
-  }
-
-  return image;
-}
-
-static void UtcDaliSquareDissolveEffectUninitialized()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::SquareDissolveEffect effect;
-
-  try
-  {
-    // New() must be called to create a SquareDissolveEffect or it wont be valid.
-    effect.SetStep( 2.0f );
-    DALI_TEST_CHECK( false );
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_CHECK(!effect);
-  }
-}
-
-static void UtcDaliSquareDissolveEffectPropertyNames()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::SquareDissolveEffect effect = Toolkit::SquareDissolveEffect::New();
-
-  // Check the names, this names are used in the shaders code,
-  // if they change the shader code has to be updated
-  DALI_TEST_EQUALS( effect.GetStepPropertyName(), "uStep", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetRowsPropertyName(), "uRows", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetColumnsPropertyName(), "uColumns", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetTexSizePropertyName(), "texSize", TEST_LOCATION );
-}
-
-static void UtcDaliSquareDissolveEffectDefaultValues()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::SquareDissolveEffect effect = Toolkit::SquareDissolveEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  // Gets converted to opengl viewport coordinates
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetStepPropertyName().c_str(),
-          0.1f ) );
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetRowsPropertyName().c_str(),
-          25.0f ) );
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetColumnsPropertyName().c_str(),
-          25.0f ) );
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetTexSizePropertyName().c_str(),
-          Vector2(1.0f, 1.0f) ) );
-}
-
-static void UtcDaliSquareDissolveEffectCustomValues()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::SquareDissolveEffect effect = Toolkit::SquareDissolveEffect::New();
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-
-  effect.SetStep( 2.0f );
-  effect.SetRows( 3.0f );
-  effect.SetColumns( 4.0f );
-  effect.SetTextureSize( Vector2(12.0f, 13.0f) );
-
-  actor.SetShaderEffect(effect);
-  Stage::GetCurrent().Add(actor);
-
-  application.SendNotification();
-  application.Render();
-
-  // Gets converted to opengl viewport coordinates
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetStepPropertyName().c_str(),
-          2.0f ) );
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetRowsPropertyName().c_str(),
-          3.0f ) );
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetColumnsPropertyName().c_str(),
-          4.0f ) );
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetTexSizePropertyName().c_str(),
-          Vector2(12.0f, 13.0f) ) );
-}
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-SwirlEffect.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-SwirlEffect.cpp
deleted file mode 100644 (file)
index ab2ec1e..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliSwirlUninitializedEffect();
-static void UtcDaliSwirlPropertyNamesEffect();
-static void UtcDaliSwirlDefaultValuesEffect();
-static void UtcDaliSwirlCustomValuesEffect();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliSwirlUninitializedEffect, NEGATIVE_TC_IDX },
-    { UtcDaliSwirlPropertyNamesEffect, POSITIVE_TC_IDX },
-    { UtcDaliSwirlDefaultValuesEffect, POSITIVE_TC_IDX },
-    { UtcDaliSwirlCustomValuesEffect, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Create bitmap image
-BitmapImage CreateBitmapImage()
-{
-  BitmapImage image = BitmapImage::New(4,4,Pixel::RGBA8888);
-
-  PixelBuffer* pixbuf = image.GetBuffer();
-
-  // Using a 4x4 image gives a better blend with the GL implementation
-  // than a 3x3 image
-  for(size_t i=0; i<16; i++)
-  {
-    pixbuf[i*4+0] = 0xFF;
-    pixbuf[i*4+1] = 0xFF;
-    pixbuf[i*4+2] = 0xFF;
-    pixbuf[i*4+3] = 0xFF;
-  }
-
-  return image;
-}
-
-static void UtcDaliSwirlUninitializedEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::SwirlEffect effect;
-
-  try
-  {
-    // New() must be called to create a SwirlEffect or it wont be valid.
-    effect.SetRadius( 0.5f );
-    DALI_TEST_CHECK( false );
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_CHECK(!effect);
-  }
-}
-
-static void UtcDaliSwirlPropertyNamesEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::SwirlEffect effect = Toolkit::SwirlEffect::New(false);
-
-  // Check the names, this names are used in the shaders code,
-  // if they change the shader code has to be updated
-  DALI_TEST_EQUALS( effect.GetAnglePropertyName(), "uAngle", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetCenterPropertyName(), "uCenter", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetRadiusPropertyName(), "uRadius", TEST_LOCATION );
-}
-
-static void UtcDaliSwirlDefaultValuesEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::SwirlEffect effect = Toolkit::SwirlEffect::New(true);
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  // Gets converted to opengl viewport coordinates
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetAnglePropertyName().c_str(),
-          0.0f ) );
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetCenterPropertyName().c_str(),
-          Vector2(0.5f, 0.5f) ) );
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetRadiusPropertyName().c_str(),
-          1.0f ) );
-}
-
-static void UtcDaliSwirlCustomValuesEffect()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::SwirlEffect effect = Toolkit::SwirlEffect::New(false);
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-
-  effect.SetAngle( 1.0f );
-  effect.SetCenter( Vector2(0.3f, 0.7f) );
-  effect.SetRadius( 2.0f );
-
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  // Gets converted to opengl viewport coordinates
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetAnglePropertyName().c_str(),
-          1.0f ) );
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetCenterPropertyName().c_str(),
-          Vector2(0.3f, 0.7f) ) );
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetRadiusPropertyName().c_str(),
-          2.0f ) );
-}
diff --git a/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-WaterEffect.cpp b/automated-tests/TET/dali-test-suite/shader-effects/utc-Dali-WaterEffect.cpp
deleted file mode 100644 (file)
index 9f6314e..0000000
+++ /dev/null
@@ -1,378 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliWaterEffectUninitialized, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliWaterEffectPropertyNames, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliWaterEffectOutOfBounds, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliWaterEffectDefaultValues, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliWaterEffectCustomValues, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliWaterEffectGetAmplitudePositive, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliWaterEffectGetAmplitudeNegative, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliWaterEffectGetCenterPositive, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliWaterEffectGetCenterNegative, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliWaterEffectGetPropagationPositive, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliWaterEffectGetPropagationNegative, NEGATIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-// Create bitmap image
-BitmapImage CreateBitmapImage()
-{
-  BitmapImage image = BitmapImage::New(4,4,Pixel::RGBA8888);
-
-  PixelBuffer* pixbuf = image.GetBuffer();
-
-  // Using a 4x4 image gives a better blend with the GL implementation
-  // than a 3x3 image
-  for(size_t i=0; i<16; i++)
-  {
-    pixbuf[i*4+0] = 0xFF;
-    pixbuf[i*4+1] = 0xFF;
-    pixbuf[i*4+2] = 0xFF;
-    pixbuf[i*4+3] = 0xFF;
-  }
-
-  return image;
-}
-
-static void UtcDaliWaterEffectUninitialized()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::WaterEffect effect;
-
-  try
-  {
-    // New() must be called to create a RippleEffect or it wont be valid.
-    effect.SetAmplitude( 0, 0.5f );
-    DALI_TEST_CHECK( false );
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_CHECK(!effect);
-  }
-}
-
-static void UtcDaliWaterEffectPropertyNames()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::WaterEffect effect = Toolkit::WaterEffect::New(4);
-  DALI_TEST_CHECK( effect );
-
-  // Check the names, this names are used in the shaders code,
-  // if they change the shader code has to be updated
-  DALI_TEST_EQUALS( effect.GetAmplitudePropertyName( 0 ), "uDrops[0].amplitude", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetCenterPropertyName( 0 ), "uDrops[0].center", TEST_LOCATION );
-  DALI_TEST_EQUALS( effect.GetPropagationPropertyName( 0 ), "uDrops[0].radius", TEST_LOCATION );
-}
-
-static void UtcDaliWaterEffectOutOfBounds()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::WaterEffect effect = Toolkit::WaterEffect::New(4);
-  DALI_TEST_CHECK( effect );
-
-  try
-  {
-    // the highest index acceptable is (GetNumberOfWaves() - 1)
-    effect.SetAmplitude( effect.GetNumberOfWaves(), 0 );
-    DALI_TEST_CHECK( false );
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_CHECK( true );
-  }
-}
-
-static void UtcDaliWaterEffectDefaultValues()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::WaterEffect effect = Toolkit::WaterEffect::New(4);
-  DALI_TEST_CHECK( effect );
-
-  // Check that the effect has the number of waves it was requested
-  DALI_TEST_CHECK( effect.GetNumberOfWaves() == 4 );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  Vector2 topLeft( Stage::GetCurrent().GetSize() * 0.5f );
-  topLeft.y = -topLeft.y;
-
-  for ( unsigned int i = 0; i < effect.GetNumberOfWaves(); ++i )
-  {
-    DALI_TEST_CHECK(
-        application.GetGlAbstraction().CheckUniformValue(
-            effect.GetAmplitudePropertyName(i).c_str(),
-            0.0f ) );
-    DALI_TEST_CHECK(
-        application.GetGlAbstraction().CheckUniformValue(
-            effect.GetCenterPropertyName(i).c_str(),
-            topLeft ) );
-    DALI_TEST_CHECK(
-        application.GetGlAbstraction().CheckUniformValue(
-            effect.GetPropagationPropertyName(i).c_str(),
-            0.0f ) );
-  }
-}
-
-static void UtcDaliWaterEffectCustomValues()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::WaterEffect effect = Toolkit::WaterEffect::New(4);
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  effect.SetAmplitude( 0, 0.5f );
-  effect.SetCenter( 0, Vector2 ( 10.0f, 10.0f ) );
-  effect.SetPropagation( 0, 2.0f );
-
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetAmplitudePropertyName(0).c_str(),
-          0.5f ) );
-
-  Vector2 centerPoint( Stage::GetCurrent().GetSize() * 0.5f );
-  centerPoint.y = -centerPoint.y;
-
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetCenterPropertyName(0).c_str(),
-          Vector2( centerPoint.x - 10.0f, centerPoint.y + 10.0f ) ) );
-  DALI_TEST_CHECK(
-      application.GetGlAbstraction().CheckUniformValue(
-          effect.GetPropagationPropertyName(0).c_str(),
-          2.0f ) );
-}
-
-static void UtcDaliWaterEffectGetAmplitudePositive()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::WaterEffect effect = Toolkit::WaterEffect::New(4);
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  float amplitude(0.5f);
-  DALI_TEST_CHECK(effect.GetAmplitude(0) != amplitude);
-  effect.SetAmplitude( 0, amplitude );
-
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_EQUALS(amplitude, effect.GetAmplitude(0), TEST_LOCATION);
-}
-
-static void UtcDaliWaterEffectGetAmplitudeNegative()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::WaterEffect effect = Toolkit::WaterEffect::New(4);
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  try
-  {
-    effect.GetAmplitude(9999);
-    tet_result(TET_FAIL);
-  }
-  catch(DaliException& exception)
-  {
-    if (exception.mCondition == "index < mNumberOfWaves")
-    {
-      tet_result(TET_PASS);
-    }
-  }
-}
-
-static void UtcDaliWaterEffectGetCenterPositive()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::WaterEffect effect = Toolkit::WaterEffect::New(4);
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  Vector2 center(10.0f, 20.0f);
-  DALI_TEST_CHECK(effect.GetCenter(0) != center);
-  effect.SetCenter( 0, center );
-
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_EQUALS(center, effect.GetCenter(0), TEST_LOCATION);
-}
-
-static void UtcDaliWaterEffectGetCenterNegative()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::WaterEffect effect = Toolkit::WaterEffect::New(4);
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  try
-  {
-    effect.GetCenter(9999);
-    tet_result(TET_FAIL);
-  }
-  catch(DaliException& exception)
-  {
-    if (exception.mCondition == "index < mNumberOfWaves")
-    {
-      tet_result(TET_PASS);
-    }
-  }
-}
-
-static void UtcDaliWaterEffectGetPropagationPositive()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::WaterEffect effect = Toolkit::WaterEffect::New(4);
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  float propagation(0.5f);
-  DALI_TEST_CHECK(effect.GetPropagation(0) != propagation);
-  effect.SetPropagation( 0, propagation );
-
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_EQUALS(propagation, effect.GetPropagation(0), TEST_LOCATION);
-}
-
-static void UtcDaliWaterEffectGetPropagationNegative()
-{
-  ToolkitTestApplication application;
-
-  Toolkit::WaterEffect effect = Toolkit::WaterEffect::New(4);
-  DALI_TEST_CHECK( effect );
-
-  BitmapImage image = CreateBitmapImage();
-
-  ImageActor actor = ImageActor::New( image );
-  actor.SetSize( 100.0f, 100.0f );
-  actor.SetShaderEffect( effect );
-  Stage::GetCurrent().Add( actor );
-
-  try
-  {
-    effect.GetPropagation(9999);
-    tet_result(TET_FAIL);
-  }
-  catch(DaliException& exception)
-  {
-    if (exception.mCondition == "index < mNumberOfWaves")
-    {
-      tet_result(TET_PASS);
-    }
-  }
-}
diff --git a/automated-tests/TET/dali-test-suite/slider/.gitignore b/automated-tests/TET/dali-test-suite/slider/.gitignore
deleted file mode 100644 (file)
index 1403d3c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-utc-Dali-Slider
diff --git a/automated-tests/TET/dali-test-suite/slider/Makefile b/automated-tests/TET/dali-test-suite/slider/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/slider/file.list b/automated-tests/TET/dali-test-suite/slider/file.list
deleted file mode 100644 (file)
index a7db699..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGETS += \
-        utc-Dali-Slider \
diff --git a/automated-tests/TET/dali-test-suite/slider/tslist b/automated-tests/TET/dali-test-suite/slider/tslist
deleted file mode 100644 (file)
index 976e985..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/dali-test-suite/slider/utc-Dali-Slider
diff --git a/automated-tests/TET/dali-test-suite/slider/utc-Dali-Slider.cpp b/automated-tests/TET/dali-test-suite/slider/utc-Dali-Slider.cpp
deleted file mode 100644 (file)
index 6028669..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-#include <dali/integration-api/events/touch-event-integ.h>
-#include <dali-toolkit/public-api/controls/slider/slider.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliSliderNew();
-static void UtcDaliSliderDestructor();
-static void UtcDaliSliderDownCast();
-static void UtcDaliSliderSignals();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliSliderNew, POSITIVE_TC_IDX },
-    { UtcDaliSliderDestructor, POSITIVE_TC_IDX },
-    { UtcDaliSliderDownCast, POSITIVE_TC_IDX },
-    { UtcDaliSliderSignals, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static bool gObjectCreatedCallBackCalled;
-
-static void TestCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-}
-
-static void UtcDaliSliderNew()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliSliderNew");
-
-  // Create the Slider actor
-  Slider slider;
-
-  DALI_TEST_CHECK( !slider );
-
-  slider = Slider::New();
-
-  DALI_TEST_CHECK( slider );
-
-  Slider slider2(slider);
-
-  DALI_TEST_CHECK( slider2 == slider );
-
-  //Additional check to ensure object is created by checking if it's registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect( &TestCallback );
-  {
-    Slider slider = Slider::New();
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-}
-
-static void UtcDaliSliderDestructor()
-{
-  ToolkitTestApplication application;
-
-  Slider* slider = new Slider();
-  delete slider;
-
-  DALI_TEST_CHECK( true );
-}
-
-static void UtcDaliSliderDownCast()
-{
-  ToolkitTestApplication application;
-
-  Handle handle = Slider::New();
-
-  Slider slider = Slider::DownCast( handle );
-
-  DALI_TEST_CHECK( slider == handle );
-}
-
-static bool gSliderValueChangedCallBackCalled;
-static bool OnSliderValueChanged( Slider slider, float value )
-{
-  gSliderValueChangedCallBackCalled = true;
-  return true;
-}
-
-static bool gSliderMarkCallBackCalled;
-static bool OnSliderMark( Slider slider, int value )
-{
-  gSliderMarkCallBackCalled = true;
-  return true;
-}
-
-static void UtcDaliSliderSignals()
-{
-  ToolkitTestApplication application;  // Exceptions require ToolkitTestApplication
-  tet_infoline(" UtcDaliSliderSignals");
-
-  // Create the Popup actor
-  Slider slider = Slider::New();
-  Stage::GetCurrent().Add( slider );
-  slider.SetParentOrigin(ParentOrigin::TOP_LEFT);
-  slider.SetAnchorPoint(ParentOrigin::TOP_LEFT);
-  slider.SetSize( Stage::GetCurrent().GetSize().x, 20.0f );
-  slider.SetPosition( 0.0f, 0.0f );
-
-  const float MIN_BOUND = 0.0f;
-  const float MAX_BOUND = 1.0f;
-  const int NUM_MARKS = 5;
-  Property::Array marks;
-  for( int i = 0; i < NUM_MARKS; ++i )
-  {
-    marks.push_back( MIN_BOUND + ( static_cast<float>(i) / ( NUM_MARKS - 1) ) * ( MAX_BOUND - MIN_BOUND ) );
-  }
-  slider.SetProperty( Slider::MARKS_PROPERTY, marks );
-  slider.SetProperty( Slider::MARK_TOLERANCE_PROPERTY, 0.1f );
-
-  slider.ValueChangedSignal().Connect( &OnSliderValueChanged );
-  slider.MarkSignal().Connect( &OnSliderMark );
-
-  application.SendNotification();
-  application.Render();
-
-  gSliderValueChangedCallBackCalled = false;
-  gSliderMarkCallBackCalled = false;
-
-  Dali::Integration::TouchEvent event;
-
-  event = Dali::Integration::TouchEvent();
-
-  const Dali::TouchPoint pointDown( 0, TouchPoint::Down, 10.0f, 10.0f );
-  event.AddPoint( pointDown );
-
-  for( int i = 0; i < 5; ++i )
-  {
-    const Dali::TouchPoint pointDown( 0, TouchPoint::Motion, 10.0f + i * 10.0f, 10.0f );
-    event.AddPoint( pointDown );
-  }
-
-  const Dali::TouchPoint pointUp( 0, TouchPoint::Up, 50.0f, 10.0f );
-  event.AddPoint( pointUp );
-
-  application.ProcessEvent( event );
-
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_CHECK(gSliderValueChangedCallBackCalled);
-  DALI_TEST_CHECK(gSliderMarkCallBackCalled);
-}
diff --git a/automated-tests/TET/dali-test-suite/super-blur-view/.gitignore b/automated-tests/TET/dali-test-suite/super-blur-view/.gitignore
deleted file mode 100644 (file)
index 7e95e96..0000000
+++ /dev/null
@@ -1 +0,0 @@
-utc-Dali-SuperBlurView
diff --git a/automated-tests/TET/dali-test-suite/super-blur-view/Makefile b/automated-tests/TET/dali-test-suite/super-blur-view/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/super-blur-view/file.list b/automated-tests/TET/dali-test-suite/super-blur-view/file.list
deleted file mode 100644 (file)
index 7e2bf9e..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGETS += \
-        utc-Dali-SuperBlurView \
diff --git a/automated-tests/TET/dali-test-suite/super-blur-view/tslist b/automated-tests/TET/dali-test-suite/super-blur-view/tslist
deleted file mode 100644 (file)
index 7095b08..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/dali-test-suite/super-blur-view/utc-Dali-SuperBlurView
diff --git a/automated-tests/TET/dali-test-suite/super-blur-view/utc-Dali-SuperBlurView.cpp b/automated-tests/TET/dali-test-suite/super-blur-view/utc-Dali-SuperBlurView.cpp
deleted file mode 100644 (file)
index 99d0781..0000000
+++ /dev/null
@@ -1,240 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/public-api/controls/super-blur-view/super-blur-view.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-namespace
-{
-const int BLUR_LEVELS = 3;
-const int RENDER_FRAME_INTERVAL = 16;
-
-static bool gObjectCreatedCallBackCalled;
-static void TestCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-}
-
-/*
- * Simulate time passed by.
- *
- * @note this will always process at least 1 frame (1/60 sec)
- *
- * @param application Test application instance
- * @param duration Time to pass in milliseconds.
- * @return The actual time passed in milliseconds
- */
-int Wait(ToolkitTestApplication& application, int duration = 0)
-{
-  int time = 0;
-
-  for(int i = 0; i <= ( duration / RENDER_FRAME_INTERVAL); i++)
-  {
-    application.SendNotification();
-    application.Render(RENDER_FRAME_INTERVAL);
-    time += RENDER_FRAME_INTERVAL;
-  }
-
-  return time;
-}
-
-Image CreateSolidColorImage( ToolkitTestApplication& application, const Vector4& color, unsigned int width, unsigned int height )
-{
-  BitmapImage imageData = BitmapImage::New( width, height, Pixel::RGBA8888 );
-
-  // Create the image
-  PixelBuffer* pixbuf = imageData.GetBuffer();
-  unsigned int size = width * height;
-
-  for( size_t i = 0; i < size; i++ )
-    {
-      pixbuf[i*4+0] = 0xFF * color.r;
-      pixbuf[i*4+1] = 0xFF * color.g;
-      pixbuf[i*4+2] = 0xFF * color.b;
-      pixbuf[i*4+3] = 0xFF * color.a;
-    }
-  imageData.Update();
-
-  application.GetGlAbstraction().SetCheckFramebufferStatusResult(GL_FRAMEBUFFER_COMPLETE );
-  application.SendNotification();
-  application.Render(RENDER_FRAME_INTERVAL);
-  application.Render(RENDER_FRAME_INTERVAL);
-  application.SendNotification();
-
-  return imageData;
-}
-}//namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliSuperBlurViewNew();
-static void UtcDaliSuperBlurViewSetImage();
-static void UtcDaliSuperBlurViewSetGetBlurStrength();
-static void UtcDaliSuperBlurViewGetBlurStrengthPropertyIndex();
-static void UtcDaliSuperBlurViewGetBlurredImage();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliSuperBlurViewNew, POSITIVE_TC_IDX },
-    { UtcDaliSuperBlurViewSetImage, POSITIVE_TC_IDX },
-    { UtcDaliSuperBlurViewSetGetBlurStrength, POSITIVE_TC_IDX },
-    { UtcDaliSuperBlurViewGetBlurStrengthPropertyIndex, POSITIVE_TC_IDX },
-    { UtcDaliSuperBlurViewGetBlurredImage, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliSuperBlurViewNew()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliSuperBlurViewNew ");
-
-  // Test default constructor.
-  SuperBlurView blurView;
-  DALI_TEST_CHECK( !blurView );
-
-  // Test object creation
-  blurView = SuperBlurView::New( BLUR_LEVELS );
-  DALI_TEST_CHECK( blurView );
-
-  //Additional check to ensure object is created by checking if it's registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect( &TestCallback );
-  {
-    SuperBlurView blurView = SuperBlurView::New( BLUR_LEVELS );
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-
-  // Test copy constructor
-  SuperBlurView blurViewCopy2( blurView );
-  DALI_TEST_CHECK( blurViewCopy2 );
-
-  // Test down cast
-  Actor actorView;
-  actorView = blurView;
-  SuperBlurView downCastView = SuperBlurView::DownCast( actorView );
-  DALI_TEST_CHECK( downCastView );
-}
-
-static void UtcDaliSuperBlurViewSetImage()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliSuperBlurViewSetImage ");
-
-  SuperBlurView blurView = SuperBlurView::New( BLUR_LEVELS );
-  // create image actors for the original image and each blurred image
-  DALI_TEST_CHECK( blurView.GetChildCount() == BLUR_LEVELS+1 );
-
-  Image inputImage = CreateSolidColorImage( application, Color::GREEN, 50, 50 );
-  blurView.SetImage( inputImage );
-  // start multiple guassian blur call, each guassian blur creates two render tasks
-  DALI_TEST_CHECK( Stage::GetCurrent().GetRenderTaskList().GetTaskCount() ==  BLUR_LEVELS*2 + 1);
-}
-
-static void UtcDaliSuperBlurViewSetGetBlurStrength()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliSuperBlurViewSetGetBlurStrength ");
-
-  SuperBlurView blurView = SuperBlurView::New( BLUR_LEVELS );
-  DALI_TEST_EQUALS(blurView.GetCurrentBlurStrength(), 0.f, TEST_LOCATION );
-
-  blurView.SetBlurStrength( 0.65f );
-  Wait(application);
-  DALI_TEST_EQUALS(blurView.GetCurrentBlurStrength(), 0.65f, TEST_LOCATION );
-}
-
-static void UtcDaliSuperBlurViewGetBlurStrengthPropertyIndex()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliSuperBlurViewGetBlurStrengthPropertyIndex ");
-
-  SuperBlurView blurView = SuperBlurView::New( BLUR_LEVELS );
-  Property::Index blurPropertyIdx = blurView.GetBlurStrengthPropertyIndex();
-
-  float blurStrength;
-  (blurView.GetProperty( blurPropertyIdx )).Get(blurStrength);
-  DALI_TEST_EQUALS(blurStrength, 0.f, TEST_LOCATION );
-
-  blurView.SetBlurStrength( 0.65f );
-  Wait(application);
-  (blurView.GetProperty( blurPropertyIdx )).Get(blurStrength);
-  DALI_TEST_EQUALS(blurStrength, 0.65f, TEST_LOCATION );
-}
-
-static void UtcDaliSuperBlurViewGetBlurredImage()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline( "UtcDaliSuperBlurViewGetBlurredImage" );
-
-  SuperBlurView blurView = SuperBlurView::New( BLUR_LEVELS );
-  blurView.SetSize( 100.f,100.f );
-  Image inputImage = CreateSolidColorImage( application, Color::GREEN, 100, 100 );
-  blurView.SetImage( inputImage );
-
-  Wait(application, 200); // Make sure all the gaussian blur finished
-
-  Image image1 = blurView.GetBlurredImage( 1 );
-  DALI_TEST_CHECK( image1 );
-
-  Image image2 = blurView.GetBlurredImage( 2 );
-  DALI_TEST_CHECK( image2.GetWidth() == 25 );
-  DALI_TEST_CHECK( image2.GetHeight() == 25 );
-
-  Image image3 = blurView.GetBlurredImage( 3 );
-  DALI_TEST_CHECK( FrameBufferImage::DownCast( image2 ) );
-
-}
diff --git a/automated-tests/TET/dali-test-suite/table-view/.gitignore b/automated-tests/TET/dali-test-suite/table-view/.gitignore
deleted file mode 100644 (file)
index 98a4fb6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-utc-Dali-TableView
diff --git a/automated-tests/TET/dali-test-suite/table-view/Makefile b/automated-tests/TET/dali-test-suite/table-view/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/table-view/file.list b/automated-tests/TET/dali-test-suite/table-view/file.list
deleted file mode 100644 (file)
index 8ad8d0f..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGETS += \
-       utc-Dali-TableView \
diff --git a/automated-tests/TET/dali-test-suite/table-view/tslist b/automated-tests/TET/dali-test-suite/table-view/tslist
deleted file mode 100644 (file)
index 9543070..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/dali-test-suite/table-view/utc-Dali-TableView
diff --git a/automated-tests/TET/dali-test-suite/table-view/utc-Dali-TableView.cpp b/automated-tests/TET/dali-test-suite/table-view/utc-Dali-TableView.cpp
deleted file mode 100644 (file)
index 21cad20..0000000
+++ /dev/null
@@ -1,575 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/public-api/controls/table-view/table-view.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-namespace
-{
-static bool gObjectCreatedCallBackCalled;
-
-static void TestCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-}
-} // namespace
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void UtcDaliTableViewNew();
-static void UtcDaliTableViewMetricsPadding();
-static void UtcDaliTableViewMetricsFixed();
-static void UtcDaliTableViewMetricsRelative();
-static void UtcDaliTableViewAnimation();
-static void UtcDaliTableViewChild();
-static void UtcDaliTableViewAdd();
-static void UtcDaliTableViewCells();
-static void UtcDaliTableViewChildAssert();
-static void UtcDaliTableViewMetricsAssert();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { UtcDaliTableViewNew, POSITIVE_TC_IDX },
-    { UtcDaliTableViewMetricsPadding, POSITIVE_TC_IDX },
-    { UtcDaliTableViewMetricsFixed, POSITIVE_TC_IDX },
-    { UtcDaliTableViewMetricsRelative, POSITIVE_TC_IDX },
-    { UtcDaliTableViewAnimation, POSITIVE_TC_IDX },
-    { UtcDaliTableViewChild, POSITIVE_TC_IDX },
-    { UtcDaliTableViewAdd, POSITIVE_TC_IDX },
-    { UtcDaliTableViewCells, POSITIVE_TC_IDX },
-    { UtcDaliTableViewChildAssert, POSITIVE_TC_IDX },
-    { UtcDaliTableViewMetricsAssert, POSITIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-struct Constraint100
-{
-  Constraint100( )
-  {
-  }
-
-  /**
-   * function operator to apply the parent size
-   */
-  Dali::Vector3 operator()(const Dali::Vector3& current)
-  {
-    return Dali::Vector3( 100.0f, 100.0f, 100.0f );
-  }
-};
-
-// Convenience function to quickly set up a 10x10 table with each cell being 10x10 pixels in size by default.
-static void SetupTableViewAndActors(TableView& tableView, Actor& actor1, Actor& actor2, Actor& actor3)
-{
-  tableView = TableView::New(10,10); // 10 by 10 grid.
-  DALI_TEST_CHECK(tableView);
-
-  Stage::GetCurrent().Add( tableView );
-  tableView.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, Constraint100() ) );
-  tableView.SetLayoutAnimationDuration(0.0f);
-
-  actor1 = Actor::New();
-  actor2 = Actor::New();
-  actor3 = Actor::New();
-
-  actor1.SetSize(10,10);
-  actor2.SetSize(10,10);
-  actor3.SetSize(10,10);
-
-  tableView.AddChild(actor1, TableView::CellPosition(0,0));
-  tableView.AddChild(actor2, TableView::CellPosition(0,1));
-  tableView.AddChild(actor3, TableView::CellPosition(1,0));
-}
-
-static void UtcDaliTableViewNew()
-{
-  ToolkitTestApplication application;
-
-  TableView tableView = TableView::New(10,10);
-  DALI_TEST_CHECK(tableView);
-
-  //Additional check to ensure object is created by checking if it's registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect(&TestCallback);
-  {
-    TableView tableView = TableView::New(10,10);
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-}
-
-// Test adjusting the metric values for the cell.
-static void UtcDaliTableViewMetricsPadding()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTableViewMetricsPadding");
-
-  TableView tableView;
-  Actor actor1;
-  Actor actor2;
-  Actor actor3;
-
-  SetupTableViewAndActors(tableView, actor1, actor2, actor3);
-
-  // 1. check that padding works. no padding:
-  tableView.SetCellPadding(Size(0.0f, 0.0f));
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_EQUALS( tableView.GetCellPadding(), Size(0.0f, 0.0f), TEST_LOCATION );
-  DALI_TEST_EQUALS( actor1.GetCurrentPosition(), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION );
-  DALI_TEST_EQUALS( actor2.GetCurrentPosition(), Vector3(10.0f, 0.0f, 0.0f), TEST_LOCATION );
-  DALI_TEST_EQUALS( actor3.GetCurrentPosition(), Vector3(0.0f, 10.0f, 0.0f), TEST_LOCATION );
-
-  // 1. check that padding works. some padding:
-  tableView.SetCellPadding(Size(5.0f, 10.0f));
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_EQUALS( tableView.GetCellPadding(), Size(5.0f, 10.0f), TEST_LOCATION );
-  DALI_TEST_EQUALS( actor1.GetCurrentPosition(), Vector3(5.0f, 10.0f, 0.0f), TEST_LOCATION );
-}
-
-// Test adjusting the metric values for the cell.
-static void UtcDaliTableViewMetricsFixed()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTableViewMetricsFixed");
-
-  TableView tableView;
-  Actor actor1;
-  Actor actor2;
-  Actor actor3;
-
-  SetupTableViewAndActors(tableView, actor1, actor2, actor3);
-  application.SendNotification();
-  application.Render();
-
-  // 1. check that with no fixed width/heights, actors are in default position.
-  DALI_TEST_EQUALS( actor1.GetCurrentPosition(), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION );
-  DALI_TEST_EQUALS( actor2.GetCurrentPosition(), Vector3(10.0f, 0.0f, 0.0f), TEST_LOCATION );
-  DALI_TEST_EQUALS( actor3.GetCurrentPosition(), Vector3(0.0f, 10.0f, 0.0f), TEST_LOCATION );
-
-  // 2. check that with a fixed width & height, actors to the right and below are offsetted.
-  tableView.SetFixedWidth(0, 20.0f);
-  tableView.SetFixedHeight(0, 50.0f);
-  DALI_TEST_EQUALS( tableView.GetFixedWidth(0), 20.0f, TEST_LOCATION );
-  DALI_TEST_EQUALS( tableView.GetFixedHeight(0), 50.0f, TEST_LOCATION );
-
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_EQUALS( actor1.GetCurrentPosition(), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION );
-  DALI_TEST_EQUALS( actor2.GetCurrentPosition(), Vector3(20.0f, 0.0f, 0.0f), TEST_LOCATION );
-  DALI_TEST_EQUALS( actor3.GetCurrentPosition(), Vector3(0.0f, 50.0f, 0.0f), TEST_LOCATION );
-}
-
-// Test adjusting the metric values for the cell.
-static void UtcDaliTableViewMetricsRelative()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTableViewMetricsRelative");
-
-  TableView tableView;
-  Actor actor1;
-  Actor actor2;
-  Actor actor3;
-
-  SetupTableViewAndActors(tableView, actor1, actor2, actor3);
-  application.SendNotification();
-  application.Render();
-
-  // 1. check that with no relative width/heights, actors are in default position.
-  DALI_TEST_EQUALS( actor1.GetCurrentPosition(), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION );
-  DALI_TEST_EQUALS( actor2.GetCurrentPosition(), Vector3(10.0f, 0.0f, 0.0f), TEST_LOCATION );
-  DALI_TEST_EQUALS( actor3.GetCurrentPosition(), Vector3(0.0f, 10.0f, 0.0f), TEST_LOCATION );
-
-  // 2. check that with a relative width & height, actors to the right and below are offsetted.
-  tableView.SetRelativeWidth(0, 0.3f); // cell 0,0 occupies 30%x50% of the grid (i.e. 30x50 pixels)
-  tableView.SetRelativeHeight(0, 0.5f);
-  DALI_TEST_EQUALS( tableView.GetRelativeWidth(0), 0.3f, TEST_LOCATION );
-  DALI_TEST_EQUALS( tableView.GetRelativeHeight(0), 0.5f, TEST_LOCATION );
-
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_EQUALS( actor1.GetCurrentPosition(), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION );
-  DALI_TEST_EQUALS( actor2.GetCurrentPosition(), Vector3(30.0f, 0.0f, 0.0f), TEST_LOCATION );
-  DALI_TEST_EQUALS( actor3.GetCurrentPosition(), Vector3(0.0f, 50.0f, 0.0f), TEST_LOCATION );
-}
-
-
-// Test animation duration setting.
-static void UtcDaliTableViewAnimation()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTableViewAnimation");
-  TableView tableView = TableView::New(10,10);
-  DALI_TEST_CHECK(tableView);
-
-  tableView.SetLayoutAnimationDuration(5.0f);
-  DALI_TEST_EQUALS(tableView.GetLayoutAnimationDuration(), 5.0f, TEST_LOCATION);
-
-  tableView.SetLayoutAnimationDuration(2.5f);
-  DALI_TEST_EQUALS(tableView.GetLayoutAnimationDuration(), 2.5f, TEST_LOCATION);
-}
-
-// Test Adding/Removing/Finding Children.
-static void UtcDaliTableViewChild()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTableViewChild");
-
-  // Create a 10x10 table-view
-  TableView tableView = TableView::New(10,10);
-  DALI_TEST_CHECK( tableView );
-
-  // Check if actor doesn't exist.
-  DALI_TEST_CHECK( !tableView.GetChildAt(TableView::CellPosition(0,0)) );
-
-  // Add an actor to it at 0,0
-  Actor actor = Actor::New();
-  tableView.AddChild(actor, TableView::CellPosition());
-
-  // Check if exists.
-  DALI_TEST_CHECK( tableView.GetChildAt(TableView::CellPosition(0,0)) );
-
-  // Remove this actor
-  tableView.RemoveChildAt(TableView::CellPosition());
-
-  // Check if actor no longer exists.
-  DALI_TEST_CHECK( !tableView.GetChildAt(TableView::CellPosition(0,0)) );
-
-  // Add actor to it again, but at 2,5
-  tableView.AddChild(actor, TableView::CellPosition(2,5));
-
-  // Add another actor somewhere else 7,8
-  Actor actor2 = Actor::New();
-  tableView.AddChild(actor2, TableView::CellPosition(7,8));
-
-  Actor searchActor;
-
-  // Check that no actor exists in a few random places.
-  DALI_TEST_CHECK( !tableView.GetChildAt(TableView::CellPosition(0,0)) );
-  DALI_TEST_CHECK( !tableView.GetChildAt(TableView::CellPosition(2,1)) );
-  DALI_TEST_CHECK( !tableView.GetChildAt(TableView::CellPosition(6,3)) );
-  DALI_TEST_CHECK( !tableView.GetChildAt(TableView::CellPosition(9,5)) );
-
-  // Check for actors at actual positions.
-  searchActor = tableView.GetChildAt(TableView::CellPosition(2,5));
-  DALI_TEST_CHECK( searchActor == actor);
-
-  searchActor = tableView.GetChildAt(TableView::CellPosition(7,8));
-  DALI_TEST_CHECK( searchActor == actor2);
-
-  // Create a second table, and add already added Child to new one.
-  TableView tableView2 = TableView::New(5,5);
-  tableView2.AddChild(actor, TableView::CellPosition(2,2));
-  DALI_TEST_CHECK( tableView2.GetChildAt(TableView::CellPosition(2,2)) );
-}
-
-// Test calling Add on it's own (to invoke the OnChildAdd)
-static void UtcDaliTableViewAdd()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTableViewAdd");
-
-  // Create a 4x1 table-view, and just keep adding.
-  TableView tableView = TableView::New(1,4);
-  DALI_TEST_CHECK( tableView );
-
-  for(unsigned int i = 0;i<16;i++)
-  {
-    Actor currentActor = Actor::New();
-    TableView::CellPosition position = TableView::CellPosition();
-    tableView.Add( currentActor );
-    tableView.FindChildPosition(currentActor, position);
-    tet_printf("%dx%d (%d,%d)\n", tableView.GetColumns(), tableView.GetRows(), position.columnIndex, position.rowIndex);
-
-    DALI_TEST_EQUALS((position.rowIndex * 4 + position.columnIndex), i, TEST_LOCATION);
-  }
-}
-
-// Test cell modification.
-static void UtcDaliTableViewCells()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliTableViewCells");
-
-  // Create a 10x10 table-view
-  TableView tableView = TableView::New(10,10);
-  DALI_TEST_CHECK( tableView );
-
-  // Add a few actors to the table.
-  Actor actor1 = Actor::New();
-  Actor actor2 = Actor::New();
-  Actor actor3 = Actor::New();
-  actor1.SetName("Actor1");
-  actor2.SetName("Actor2");
-  actor3.SetName("Actor3");
-
-  // note: positions are specified in reversed cartesian coords - row,col (i.e. y,x)
-  tableView.AddChild(actor1, TableView::CellPosition(0,0));
-  tableView.AddChild(actor2, TableView::CellPosition(5,5));
-  tableView.AddChild(actor3, TableView::CellPosition(7,2));
-
-  DALI_TEST_CHECK( tableView.GetRows() == 10 && tableView.GetColumns() == 10 );
-
-  // Add a row between actor1 and actor2 | insert column on actor1 and see what happens...
-  tableView.InsertRow(3);
-  tableView.InsertColumn(0);
-  DALI_TEST_CHECK( tableView.GetRows() == 11 && tableView.GetColumns() == 11 );
-
-  TableView::CellPosition cellPosition;
-  bool result;
-
-  result = tableView.FindChildPosition(actor1, cellPosition);
-  DALI_TEST_CHECK( result && cellPosition.rowIndex == 0 && cellPosition.columnIndex == 1);
-  result = tableView.FindChildPosition(actor2, cellPosition);
-  DALI_TEST_CHECK( result && cellPosition.rowIndex == 6 && cellPosition.columnIndex == 6);
-  result = tableView.FindChildPosition(actor3, cellPosition);
-  DALI_TEST_CHECK( result && cellPosition.rowIndex == 8 && cellPosition.columnIndex == 3);
-
-  // Delete a row between actor2 and actor3 | delete column on actor2 and see what happens...
-  tableView.DeleteRow(7);
-  tableView.DeleteColumn(6);
-  DALI_TEST_CHECK( tableView.GetRows() == 10 && tableView.GetColumns() == 10 );
-
-  result = tableView.FindChildPosition(actor1, cellPosition);
-  DALI_TEST_CHECK( result && cellPosition.rowIndex == 0 && cellPosition.columnIndex == 1);
-  result = tableView.FindChildPosition(actor2, cellPosition);
-  DALI_TEST_CHECK( !result );
-  result = tableView.FindChildPosition(actor3, cellPosition);
-  DALI_TEST_CHECK( result && cellPosition.rowIndex == 7 && cellPosition.columnIndex == 3);
-
-  // Delete the other two remaining actors by a row delete and a column delete.
-  std::vector<Actor> actorsRemoved;
-  tableView.DeleteRow(0, actorsRemoved);
-  tet_printf("Row Delete >> Actors Removed: %d {", actorsRemoved.size());
-  for(size_t i = 0;i<actorsRemoved.size();i++) tet_printf("%d => %s, ", i, actorsRemoved[i].GetName().c_str());
-  tet_printf("}\n");
-  DALI_TEST_EQUALS( static_cast<int>(actorsRemoved.size()), 1, TEST_LOCATION );
-  DALI_TEST_CHECK( actorsRemoved[0] == actor1 );
-
-  actorsRemoved.clear();
-  tableView.DeleteColumn(3, actorsRemoved);
-  tet_printf("Column Delete >> Actors Removed: %d {", actorsRemoved.size());
-  for(size_t i = 0;i<actorsRemoved.size();i++) tet_printf("%d => %s, ", i, actorsRemoved[i].GetName().c_str());
-  tet_printf("}\n");
-  DALI_TEST_EQUALS( static_cast<int>(actorsRemoved.size()), 1, TEST_LOCATION );
-  DALI_TEST_CHECK( actorsRemoved[0] == actor3 );
-
-  DALI_TEST_CHECK( tableView.GetRows() == 9 && tableView.GetColumns() == 9 );
-
-  tableView.AddChild(actor1, TableView::CellPosition(5,8));
-  tableView.Resize(100,100);
-  DALI_TEST_CHECK( tableView.GetRows() == 100 && tableView.GetColumns() == 100 );
-
-  tableView.AddChild(actor2, TableView::CellPosition(69,57));
-  DALI_TEST_CHECK( tableView.FindChildPosition(actor1, cellPosition) && tableView.FindChildPosition(actor2, cellPosition) );
-
-  tableView.Resize(20,20);
-  DALI_TEST_CHECK( tableView.FindChildPosition(actor1, cellPosition) && !tableView.FindChildPosition(actor2, cellPosition) );
-
-  actorsRemoved.clear();
-  tableView.Resize(1,1, actorsRemoved);
-  DALI_TEST_CHECK( !tableView.FindChildPosition(actor1, cellPosition) && !tableView.FindChildPosition(actor2, cellPosition) );
-  DALI_TEST_EQUALS( static_cast<int>(actorsRemoved.size()), 1, TEST_LOCATION );
-  DALI_TEST_CHECK( actorsRemoved[0] == actor1 );
-
-  // Add child outside table size, forcing a resize.
-  tableView.AddChild(actor1, TableView::CellPosition(100, 100, 1, 1));
-  DALI_TEST_CHECK( tableView.GetRows() == 101 && tableView.GetColumns() == 101 );
-
-  // Add child outside table size, forcing a resize.
-  tableView.AddChild(actor1, TableView::CellPosition(110, 110, 5, 5));
-  DALI_TEST_CHECK( tableView.GetRows() == 115 && tableView.GetColumns() == 115 );
-
-  DALI_TEST_CHECK( true );
-}
-
-static void UtcDaliTableViewChildAssert()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliTableViewChildAssert");
-
-  // Create a 10x10 table-view
-  TableView tableView = TableView::New(10,10);
-  DALI_TEST_CHECK( tableView );
-  Actor childActor;
-
-  try
-  {
-    tableView.AddChild( childActor, TableView::CellPosition(0,0,5,5) );
-    // should assert
-    tet_result(TET_FAIL);
-  }
-  catch( Dali::DaliException &e )
-  {
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_EQUALS(e.mCondition, "child", TEST_LOCATION);
-  }
-}
-
-static void UtcDaliTableViewMetricsAssert()
-{
-  ToolkitTestApplication application;
-  tet_infoline("UtcDaliTableViewChildAssert");
-
-  // Create a 10x10 table-view
-  TableView tableView = TableView::New(10,10);
-  DALI_TEST_CHECK( tableView );
-
-  // fixeds...
-
-  try
-  {
-    tableView.SetFixedHeight( 10, 1.0f );
-
-    tet_result(TET_FAIL);
-  }
-  catch( Dali::DaliException &e)
-  {
-    tet_printf("1. Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_EQUALS(e.mCondition, "rowIndex < mFixedHeights.size()", TEST_LOCATION);
-  }
-
-  try
-  {
-    tableView.GetFixedHeight( 10 );
-
-    tet_result(TET_FAIL);
-  }
-  catch( Dali::DaliException &e)
-  {
-    tet_printf("2. Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_EQUALS(e.mCondition, "rowIndex < mFixedHeights.size()", TEST_LOCATION);
-  }
-
-  try
-  {
-    tableView.SetFixedWidth( 10, 1.0f );
-
-    tet_result(TET_FAIL);
-  }
-  catch( Dali::DaliException &e)
-  {
-    tet_printf("3. Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_EQUALS(e.mCondition, "columnIndex < mFixedWidths.size()", TEST_LOCATION);
-  }
-
-  try
-  {
-    tableView.GetFixedWidth( 10 );
-
-    tet_result(TET_FAIL);
-  }
-  catch( Dali::DaliException &e)
-  {
-    tet_printf("4. Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_EQUALS(e.mCondition, "columnIndex < mFixedWidths.size()", TEST_LOCATION);
-  }
-
-  // relatives...
-
-  try
-  {
-    tableView.SetRelativeHeight( 10, 0.1f );
-
-    tet_result(TET_FAIL);
-  }
-  catch( Dali::DaliException &e)
-  {
-    tet_printf("5. Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_EQUALS(e.mCondition, "rowIndex < mRelativeHeights.size()", TEST_LOCATION);
-  }
-
-  try
-  {
-    tableView.GetRelativeHeight( 10 );
-
-    tet_result(TET_FAIL);
-  }
-  catch( Dali::DaliException &e)
-  {
-    tet_printf("6. Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_EQUALS(e.mCondition, "rowIndex < mRelativeHeights.size()", TEST_LOCATION);
-  }
-
-  try
-  {
-    tableView.SetRelativeWidth( 10, 0.1f );
-
-    tet_result(TET_FAIL);
-  }
-  catch( Dali::DaliException &e)
-  {
-    tet_printf("7. Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_EQUALS(e.mCondition, "columnIndex < mRelativeWidths.size()", TEST_LOCATION);
-  }
-
-  try
-  {
-    tableView.GetRelativeWidth( 10 );
-
-    tet_result(TET_FAIL);
-  }
-  catch( Dali::DaliException &e)
-  {
-    tet_printf("8. Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_EQUALS(e.mCondition, "columnIndex < mRelativeWidths.size()", TEST_LOCATION);
-  }
-}
diff --git a/automated-tests/TET/dali-test-suite/tc-gen.sh b/automated-tests/TET/dali-test-suite/tc-gen.sh
deleted file mode 100755 (executable)
index 178f24d..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/bin/sh
-
-TMPSTR=$0
-SCRIPT=${TMPSTR##*/}
-
-if [ $# -ne 1 ]; then
-       echo "Usage) $SCRIPT ClassName"
-       exit 1
-fi
-
-MODULE="Dali"
-SECTION=${PWD##*/}
-CLASS=$1
-
-TESTSUITEPATH=`dirname $PWD`
-TESTSUITENAME=${TESTSUITEPATH##*/}
-
-TEMPLATE=../utc-MODULE-CLASS.cpp.in
-TESTCASE=utc-${MODULE}-${CLASS}
-
-# Create .cpp file
-if [ ! -e "$TESTCASE.cpp" ]; then
-       sed -e  '
-               s^@CLASS@^'"$CLASS"'^g
-               s^@MODULE@^'"$MODULE"'^g
-               ' $TEMPLATE > $TESTCASE.cpp
-fi
-
-if [ ! -e "$TESTCASE.cpp" ]; then
-       echo "Failed"
-       exit 1
-fi
-
-
-# file.list
-if ! [ -f file.list ]; then
-       touch file.list
-       echo "TARGETS += \\" >> file.list
-fi
-echo "        $TESTCASE \\" >> file.list
-
-# tslist
-if ! [ -f tslist ]; then
-       touch tslist
-fi
-echo "/$TESTSUITENAME/$SECTION/$TESTCASE" >> tslist
-
-# Makefile
-if ! [ -f Makefile ]; then
-       ln -s ../master-makefile.mk Makefile
-fi
-
-echo "$TESTCASE" >> .gitignore
-
-echo "Testcase file is $TESTCASE.cpp"
-echo "$TESTCASE is added to tslist"
-echo "$TESTCASE is added to file.list"
-echo "Done"
diff --git a/automated-tests/TET/dali-test-suite/text-input/.gitignore b/automated-tests/TET/dali-test-suite/text-input/.gitignore
deleted file mode 100644 (file)
index 0f77dca..0000000
+++ /dev/null
@@ -1 +0,0 @@
-utc-Dali-TextInput
diff --git a/automated-tests/TET/dali-test-suite/text-input/Makefile b/automated-tests/TET/dali-test-suite/text-input/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/text-input/file.list b/automated-tests/TET/dali-test-suite/text-input/file.list
deleted file mode 100644 (file)
index 3f0dba0..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGETS += \
-       utc-Dali-TextInput \
diff --git a/automated-tests/TET/dali-test-suite/text-input/tslist b/automated-tests/TET/dali-test-suite/text-input/tslist
deleted file mode 100644 (file)
index eace898..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/dali-test-suite/text-input/utc-Dali-TextInput
diff --git a/automated-tests/TET/dali-test-suite/text-input/utc-Dali-TextInput.cpp b/automated-tests/TET/dali-test-suite/text-input/utc-Dali-TextInput.cpp
deleted file mode 100644 (file)
index 6012e66..0000000
+++ /dev/null
@@ -1,983 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali/integration-api/events/key-event-integ.h>
-
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-namespace
-{
-static bool gObjectCreatedCallBackCalled;
-
-static void TestCallback(BaseHandle handle)
-{
-  Actor actor = Actor::DownCast(handle);
-
-  if(actor)
-  {
-    TextInput handle = TextInput::DownCast(actor);
-     if (handle)
-     {
-       gObjectCreatedCallBackCalled = true;
-     }
-  }
-}
-
-} // namespace
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-namespace
-{
-static bool gHasEndSignalBeenReceived;
-static bool gHasStartSignalBeenReceived;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliTextInputConstruction, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputDownCast, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputGetText, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputGetMarkupText, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputSetMaxCharacterLength, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputSetAndGetNumberOfLines, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputGetNumberOfCharacters, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputSetAndGetPlaceholderText, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputSetInitialText, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputSetEditableAndIsEditable, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputSetEditOnTouch, POSITIVE_TC_IDX );
-
-TEST_FUNCTION( UtcDaliTextInputSetTextSelectable, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputTextSelection, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputEnableGrabHandleAndIsGrabHandleEnabled, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputSetAndGetBoundingRectangle, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputSetActiveStyle, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputApplyStyleToSelectedText, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputApplyStyleToAll, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputGetStyleAtCursor, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputSetAndGetTextAlignment, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputSetAndGetMultilinePolicy, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputSetAndGetExceedEnabled, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputSetSortModifier, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputSetAndGetSnapshotModeEnabled, POSITIVE_TC_IDX );
-
-TEST_FUNCTION( UtcDaliTextInputEndSignalEmit, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputStartSignalEmit, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputExceedMaxCharacters, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputSetAndGetFadeBoundary, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputSetAndGetWidthExceedPolicy, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputSetAndGetHeightExceedPolicy, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextInputScroll, POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-
-// Positive test case for a method
-static void UtcDaliTextInputConstruction()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Testing New constructor");
-
-  TextInput textInput = TextInput::New();
-  DALI_TEST_CHECK(textInput);
-
-  //Additional check to ensure object is created by checking if it's registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect(&TestCallback);
-  {
-    TextInput textInput = TextInput::New();
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-}
-
-
-static bool downCastToTextInput(Dali::Actor actor)
-{
-  TextInput handle = TextInput::DownCast(actor);
-  if (handle)
-  {
-    tet_infoline("Downcasted to TextInput");
-    return true;
-  }
-  else
-  {
-    tet_infoline("Did not downcast to TextInput");
-    return false;
-  }
-}
-
-// Positive test case for a method
-static void UtcDaliTextInputDownCast()
-{
-  ToolkitTestApplication application;
-
-  TextInput textInput = TextInput::New();
-
-  tet_infoline("Testing Downcasting with a TextInput");
-  DALI_TEST_EQUALS(true,downCastToTextInput(textInput), TEST_LOCATION); // downcast a TextInput
-
-  Dali::TextActor badHandle = Dali::TextActor::New("test");
-
-  tet_infoline("Testing Downcasting with the wrong actor");
-  DALI_TEST_EQUALS(false, downCastToTextInput(badHandle), TEST_LOCATION); // downcast a TextActor to TextInput
-}
-
-// Positive test case for a method
-static void UtcDaliTextInputGetText()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Testing GetText");
-
-  const std::string teststring = "test";
-
-  TextInput textInput = TextInput::New();  // create empty TextInput
-
-  DALI_TEST_EQUALS("",textInput.GetText(), TEST_LOCATION); // Get text which should be empty
-
-  textInput.SetInitialText(teststring);
-
-  DALI_TEST_EQUALS(teststring,textInput.GetText(), TEST_LOCATION); // Get text which should be test string
-
-}
-
-static void UtcDaliTextInputGetMarkupText()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Testing retrieval of Markup text after style set");
-
-  const std::string markup = "<i>Text with italic style</i>" ;
-  const std::string teststring = "Text with italic style";
-
-  TextInput textInput = TextInput::New();
-
-  tet_infoline("Set initial text");
-
-  textInput.SetInitialText( teststring );
-
-  tet_infoline("Check initial text");
-  DALI_TEST_EQUALS( teststring,textInput.GetText(), TEST_LOCATION); // Get text which should be empty
-
-  TextStyle style;
-  style.SetItalics( true );
-
-  tet_infoline("Apply style to TextInput");
-  textInput.ApplyStyleToAll( style );
-
-  tet_infoline("Retreive Markup Text");
-  const std::string retreivedMarkupString = textInput.GetMarkupText();
-
-  tet_infoline("Test Retreived text and Markup text match");
-  DALI_TEST_EQUALS( retreivedMarkupString , retreivedMarkupString, TEST_LOCATION);
-}
-
-// Positive test case for a method
-static void UtcDaliTextInputSetMaxCharacterLength()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Testing Setting of max characters");
-
-  const int maxChars = 4;
-  const char* testChar  = "v";
-
-  TextInput textInput = TextInput::New();  // create empty TextInput
-
-  Stage::GetCurrent().Add(textInput);
-
-  application.SendNotification();
-  application.Render();
-
-  textInput.SetMaxCharacterLength(maxChars);
-
-  Integration::KeyEvent event(testChar, testChar, 0, 0, 0, Integration::KeyEvent::Down );
-
-  std::string testString = "";
-
-  tet_infoline("Starting editmode");
-  textInput.SetEditable( true );
-
-  tet_infoline("Sending Key Events");
-  // Send max number of characters
-  for (int i=0; i < maxChars; i++)
-  {
-    application.ProcessEvent( event );
-    testString.append(testChar);
-  }
-
-  tet_printf( "Get text result : %s\n", textInput.GetText().c_str());
-
-  DALI_TEST_EQUALS(testString, textInput.GetText(), TEST_LOCATION);
-
-  tet_infoline("Sending Key Event which exceeds max characters");
-
-  application.ProcessEvent(event); // try to append additional character
-
-  DALI_TEST_EQUALS(testString,textInput.GetText(), TEST_LOCATION);
-
-  tet_infoline("Increase max characters limit");
-
-  textInput.SetMaxCharacterLength(maxChars+1); // increment max characters by 1
-
-  tet_infoline("Send character again which should now fit");
-  application.ProcessEvent(event); // append additional character
-  testString.append(testChar);
-
-  DALI_TEST_EQUALS(testString,textInput.GetText(), TEST_LOCATION);
-}
-
-
-static void UtcDaliTextInputSetAndGetNumberOfLines()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Ensuring API for setting and getting max number of lines is correct");
-
-  TextInput textInput = TextInput::New();  // create empty TextInput
-
-  unsigned int numberOfLines = 1;
-
-  textInput.SetNumberOfLinesLimit( numberOfLines );
-
-  DALI_TEST_EQUALS(numberOfLines ,textInput.GetNumberOfLinesLimit(),  TEST_LOCATION);
-}
-
-static void UtcDaliTextInputGetNumberOfCharacters()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Testing Getting number of characters");
-
-  const std::string initialString = "initial text";
-  const std::string newInitialString = "initial text new";
-
-  TextInput textInput = TextInput::New();  // create empty TextInput
-
-  textInput.SetInitialText( initialString );
-
-  tet_infoline("Testing TextInput contains correct number of characters ");
-
-  DALI_TEST_EQUALS( initialString.size() , textInput.GetNumberOfCharacters(), TEST_LOCATION);
-
-  tet_infoline("Testing TextInput contains correct number of characters second phase ");
-
-  textInput.SetInitialText( newInitialString );
-
-  DALI_TEST_EQUALS( newInitialString.size() , textInput.GetNumberOfCharacters(), TEST_LOCATION);
-}
-
-static void UtcDaliTextInputSetAndGetPlaceholderText()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Testing Setting of PlaceholderText");
-
-  const std::string initialString = "initial text";
-  const std::string placeholderString = "placeholder";
-
-  TextInput textInput = TextInput::New();  // create empty TextInput
-
-  tet_infoline("Testing TextInput is empty at creation ");
-
-  DALI_TEST_EQUALS("",textInput.GetText(), TEST_LOCATION);
-
-  tet_infoline("Set placeholder text");
-
-  textInput.SetPlaceholderText( placeholderString );
-
-  tet_infoline("Testing TextInput contains placeholder text");
-
-  DALI_TEST_EQUALS( placeholderString , textInput.GetPlaceholderText(), TEST_LOCATION);
-
-  tet_infoline("Set initial text which should replace placeholder text");
-
-  textInput.SetInitialText( initialString );
-
-  tet_infoline("Testing TextInput contains initial text when placeholder text set");
-
-  DALI_TEST_EQUALS( initialString,textInput.GetText(), TEST_LOCATION);
-}
-
-// Positive test case for a method
-static void UtcDaliTextInputSetInitialText()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Testing Setting of Initial Text");
-
-  const std::string teststring = "test";
-
-  TextInput textInput = TextInput::New();  // create empty TextInput
-
-  tet_infoline("Testing TextInput is empty at creation ");
-
-  DALI_TEST_EQUALS("",textInput.GetText(), TEST_LOCATION);
-
-  tet_infoline("Set text to TextInput");
-
-  textInput.SetInitialText(teststring);
-
-  tet_infoline("Test TextInput contains set text");
-
-  DALI_TEST_EQUALS(teststring,textInput.GetText(), TEST_LOCATION);
-}
-
-static void UtcDaliTextInputSetEditableAndIsEditable()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Testing SetEditable And IsEditable");
-
-  const std::string initialString = "initial text";
-
-  TextInput textInput = TextInput::New();  // create empty TextInput
-
-  Stage::GetCurrent().Add(textInput);
-
-  textInput.SetInitialText( initialString );
-
-  application.SendNotification();
-  application.Render();
-
-  bool editableStateFalse ( false );
-  bool editableStateTrue ( true );
-
-  textInput.SetEditable ( editableStateFalse );
-  DALI_TEST_EQUALS( editableStateFalse, textInput.IsEditable() , TEST_LOCATION);
-
-  textInput.SetEditable ( editableStateTrue );
-  DALI_TEST_EQUALS( editableStateTrue, textInput.IsEditable() , TEST_LOCATION);
-}
-
-static void UtcDaliTextInputSetEditOnTouch()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Testing SetEditOnTouch And IsEditOnTouch");
-
-  TextInput textInput = TextInput::New();
-
-  bool editableOnTouchOn ( true );
-  bool editableOnTouchOff( false );
-
-  tet_infoline("Testing SetEditOnTouch disabled");
-  textInput.SetEditOnTouch ( editableOnTouchOff );
-  DALI_TEST_EQUALS( editableOnTouchOff, textInput.IsEditOnTouch() , TEST_LOCATION);
-
-  tet_infoline("Testing SetEditOnTouch enabled");
-  textInput.SetEditOnTouch ( editableOnTouchOn );
-  DALI_TEST_EQUALS( editableOnTouchOn, textInput.IsEditOnTouch() , TEST_LOCATION);
-}
-
-static void UtcDaliTextInputSetTextSelectable()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Testing SetTextSelectable and IsTextSelectable");
-
-  const std::string initialString = "initial text";
-
-  TextInput textInput = TextInput::New();
-  textInput.SetInitialText( initialString );
-
-  tet_infoline("Testing SetTextSelectable");
-  textInput.SetTextSelectable();
-  DALI_TEST_EQUALS( true, textInput.IsTextSelectable() , TEST_LOCATION);
-  textInput.SetTextSelectable( false );
-  DALI_TEST_EQUALS( false, textInput.IsTextSelectable() , TEST_LOCATION);
-}
-
-static void UtcDaliTextInputTextSelection()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Testing Text Selection");
-
-  const std::string initialString = "initial text";
-
-  TextInput textInput = TextInput::New();
-  textInput.SetInitialText( initialString );
-
-  Stage::GetCurrent().Add(textInput);
-
-  application.SendNotification();
-  application.Render();
-
-  textInput.SetEditable( true );
-
-  tet_infoline("Testing IsTextSelected negative");
-  DALI_TEST_EQUALS( false, textInput.IsTextSelected(), TEST_LOCATION);
-
-  textInput.SelectText(1,7);
-  DALI_TEST_EQUALS( true, textInput.IsTextSelected(), TEST_LOCATION);
-
-  textInput.DeSelectText();
-  DALI_TEST_EQUALS( false, textInput.IsTextSelected(), TEST_LOCATION);
-}
-
-
-static void UtcDaliTextInputEnableGrabHandleAndIsGrabHandleEnabled()
-{
-  ToolkitTestApplication application;
-
-  TextInput textInput = TextInput::New();
-
-  bool grabHandleState = false;
-
-  textInput.EnableGrabHandle( grabHandleState );
-
-  DALI_TEST_EQUALS( grabHandleState, textInput.IsGrabHandleEnabled(), TEST_LOCATION);
-
-  grabHandleState = true;
-  textInput.EnableGrabHandle( grabHandleState );
-
-  DALI_TEST_EQUALS( grabHandleState, textInput.IsGrabHandleEnabled(), TEST_LOCATION);
-
-}
-
-static void UtcDaliTextInputSetAndGetBoundingRectangle()
-{
-  ToolkitTestApplication application;
-
-  TextInput textInput = TextInput::New();
-
-  Stage::GetCurrent().Add(textInput);
-  Vector2 stageSize = Stage::GetCurrent().GetSize();
-
-  const Rect<float> boundingRectangle( 100.0f, 100.0f, stageSize.width, stageSize.height );
-
-  textInput.SetBoundingRectangle( boundingRectangle );
-
-  const Rect<float> retreievedBoundingRectangle = textInput.GetBoundingRectangle();
-
-  DALI_TEST_EQUALS( boundingRectangle.x, retreievedBoundingRectangle.x, TEST_LOCATION);
-  DALI_TEST_EQUALS( boundingRectangle.y, retreievedBoundingRectangle.y, TEST_LOCATION);
-  DALI_TEST_EQUALS( boundingRectangle.width, retreievedBoundingRectangle.width, TEST_LOCATION);
-  DALI_TEST_EQUALS( boundingRectangle.height, retreievedBoundingRectangle.height, TEST_LOCATION);
-}
-
-static void UtcDaliTextInputSetActiveStyle()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Testing Setting of Style to newly added text");
-
-  TextInput textInput = TextInput::New();  // create empty TextInput
-
-  Stage::GetCurrent().Add(textInput);
-
-  const std::string styledString = "Test String<i>ab</i>" ;
-  const std::string plainString = "Test String";
-  textInput.SetInitialText( plainString );
-
-  application.SendNotification();
-  application.Render();
-
-  textInput.SetEditable(true);
-
-  std::string retreivedMarkupString = textInput.GetMarkupText();
-
-  tet_infoline("Confirm markup text is a plain string ");
-  DALI_TEST_EQUALS( plainString,textInput.GetText(), TEST_LOCATION);
-
-  TextStyle style;
-  style.SetItalics( true );
-
-  tet_infoline("Apply style to TextInput");
-  textInput.SetActiveStyle( style );
-
-  Integration::KeyEvent eventA("a", "a", 0, 0, 0, Integration::KeyEvent::Down );
-  Integration::KeyEvent eventB("b", "b", 0, 0, 0, Integration::KeyEvent::Down );
-
-  application.SendNotification();
-  application.Render();
-
-  application.ProcessEvent(eventA);
-  application.SendNotification();
-  application.Render();
-
-  application.ProcessEvent(eventB);
-  application.SendNotification();
-  application.Render();
-
-  retreivedMarkupString = textInput.GetMarkupText();
-
-  DALI_TEST_EQUALS( styledString, retreivedMarkupString, TEST_LOCATION);
-}
-
-static void UtcDaliTextInputApplyStyleToSelectedText()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Testing application of style to selected text ");
-
-  TextInput textInput = TextInput::New();  // create empty TextInput
-
-  Stage::GetCurrent().Add(textInput);
-
-  const std::string styledString = "Test <i>String</i> to style";
-  const std::string plainString = "Test String to style";
-  textInput.SetInitialText( plainString );
-
-  application.SendNotification();
-  application.Render();
-
-  textInput.SetEditable(true);
-
-  std::string retreivedMarkupString = textInput.GetMarkupText();
-
-  tet_infoline("Confirm markup text is a plain string ");
-  DALI_TEST_EQUALS( plainString,textInput.GetText(), TEST_LOCATION);
-
-  TextStyle style;
-  style.SetItalics( true );
-
-  textInput.SelectText( 5, 11 );
-
-  tet_infoline("Apply style to selected text");
-  textInput.ApplyStyle( style );
-
-  application.Render();
-
-  retreivedMarkupString = textInput.GetMarkupText();
-
-  DALI_TEST_EQUALS( styledString, retreivedMarkupString, TEST_LOCATION);
-}
-
-static void UtcDaliTextInputApplyStyleToAll()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Testing application of style to all text ");
-
-  TextInput textInput = TextInput::New();  // create empty TextInput
-
-  Stage::GetCurrent().Add(textInput);
-
-  const std::string styledString = "<i>Test String to style</i>";
-  const std::string plainString = "Test String to style";
-  textInput.SetInitialText( plainString );
-
-  application.SendNotification();
-  application.Render();
-
-  textInput.SetEditable(true);
-
-  std::string retreivedMarkupString = textInput.GetMarkupText();
-
-  tet_infoline("Confirm markup text is a plain string ");
-  DALI_TEST_EQUALS( plainString,textInput.GetText(), TEST_LOCATION);
-
-  TextStyle style;
-  style.SetItalics( true );
-
-  tet_infoline("Apply style to all text");
-  textInput.ApplyStyleToAll( style );
-
-  application.Render();
-
-  retreivedMarkupString = textInput.GetMarkupText();
-
-  DALI_TEST_EQUALS( styledString, retreivedMarkupString, TEST_LOCATION);
-}
-
-static void UtcDaliTextInputGetStyleAtCursor()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Test getting style at cursor");
-
-  TextInput textInput = TextInput::New();  // create empty TextInput
-
-  Stage::GetCurrent().Add(textInput);
-
-  const std::string styledString = "Test Stringa<i>b</i>" ;
-  const std::string plainString = "Test String";
-  textInput.SetInitialText( plainString );
-
-  application.SendNotification();
-  application.Render();
-
-  textInput.SetEditable(true);
-
-  tet_infoline("Confirm style at cursor is default(plain)");
-  TextStyle style;
-  Integration::KeyEvent eventA("a", "a", 0, 0, 0, Integration::KeyEvent::Down );
-  application.ProcessEvent(eventA);
-  application.SendNotification();
-  application.Render();
-
-  TextStyle retreivedStyleAtCursor = textInput.GetStyleAtCursor();
-
-  DALI_TEST_CHECK( style == retreivedStyleAtCursor );
-  DALI_TEST_CHECK( !retreivedStyleAtCursor.GetItalics() );
-
-  tet_infoline("Set style before adding new character");
-  style.SetItalics( true );
-  textInput.SetActiveStyle( style );
-
-  Integration::KeyEvent eventB("b", "b", 0, 0, 0, Integration::KeyEvent::Down );
-  application.ProcessEvent(eventB);
-  application.SendNotification();
-  application.Render();
-
-  tet_infoline("Confirm style at cursor is correct style");
-  retreivedStyleAtCursor = textInput.GetStyleAtCursor();
-
-  DALI_TEST_CHECK( retreivedStyleAtCursor.GetItalics() );
-
-  tet_infoline("Confirm style at cursor is not a style that was not set");
-  DALI_TEST_CHECK( !retreivedStyleAtCursor.GetUnderline() );
-
-  tet_infoline("Confirm markup text is correct");
-  DALI_TEST_EQUALS( styledString, textInput.GetMarkupText(), TEST_LOCATION);
-
-
-
-}
-
-static void UtcDaliTextInputSetAndGetTextAlignment()
-{
-  ToolkitTestApplication application;
-
-  TextInput textInput = TextInput::New();
-  textInput.SetTextAlignment(static_cast<Alignment::Type>( Alignment::HorizontalCenter) );
-
-  bool result = ( textInput.GetTextAlignment() & Alignment::HorizontalCenter ) ;
-
-  DALI_TEST_CHECK( result );
-
-  result = ( textInput.GetTextAlignment() & Alignment::HorizontalRight );
-
-  DALI_TEST_CHECK( !result );
-}
-
-static void UtcDaliTextInputSetAndGetMultilinePolicy()
-{
-  ToolkitTestApplication application;
-
-  const TextView::MultilinePolicy MULTILINE_POLICIES[] = { TextView::SplitByNewLineChar, TextView::SplitByWord, TextView::SplitByChar };
-  const unsigned int NUM_MULTILINE_POLICIES = sizeof( MULTILINE_POLICIES ) / sizeof( unsigned int );
-
-  TextInput textInput = TextInput::New();
-  Stage::GetCurrent().Add(textInput);
-  textInput.SetInitialText( "Hello world!" );
-
-  for( unsigned int epIndex = 0; epIndex < NUM_MULTILINE_POLICIES; ++epIndex )
-  {
-    textInput.SetMultilinePolicy( MULTILINE_POLICIES[epIndex] );
-
-    DALI_TEST_EQUALS( textInput.GetMultilinePolicy(), MULTILINE_POLICIES[epIndex], TEST_LOCATION );
-  }
-}
-
-static void UtcDaliTextInputSetAndGetExceedEnabled()
-{
-  ToolkitTestApplication application;
-
-  const TextView::ExceedPolicy EXCEED_POLICIES[] = { TextView::Original, TextView::Fade, TextView::Split, TextView::ShrinkToFit };
-  const unsigned int NUM_EXCEED_POLICIES = sizeof( EXCEED_POLICIES ) / sizeof( unsigned int );
-
-  TextInput textInput = TextInput::New();
-  Stage::GetCurrent().Add(textInput);
-  textInput.SetInitialText( "Hello world!" );
-
-  for( unsigned int epIndex = 0; epIndex < NUM_EXCEED_POLICIES; ++epIndex )
-  {
-    textInput.SetWidthExceedPolicy( EXCEED_POLICIES[epIndex] );
-
-    DALI_TEST_EQUALS( textInput.GetWidthExceedPolicy(), EXCEED_POLICIES[epIndex], TEST_LOCATION );
-  }
-}
-
-static void UtcDaliTextInputSetSortModifier()
-{
-  tet_infoline("Testing SetSortModifier does not cause TextInput failure");
-
-  ToolkitTestApplication application;
-
-  TextInput textInput = TextInput::New();
-
-  const float offsetToUse = 1.5f;
-
-  textInput.SetSortModifier( offsetToUse );
-
-  DALI_TEST_CHECK( textInput );
-}
-
-static void UtcDaliTextInputSetAndGetSnapshotModeEnabled()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Testing SetSnapshotModeEnabled and IsSnapshotModeEnabled");
-
-  TextInput textInput = TextInput::New();  // create empty TextInput
-  bool snapshotMode( true );
-  textInput.SetSnapshotModeEnabled( snapshotMode );
-
-  DALI_TEST_EQUALS( snapshotMode, textInput.IsSnapshotModeEnabled(), TEST_LOCATION);
-
-  snapshotMode = false;
-  textInput.SetSnapshotModeEnabled( snapshotMode );
-
-  DALI_TEST_EQUALS( snapshotMode, textInput.IsSnapshotModeEnabled(), TEST_LOCATION);
-}
-
-// Callback test function
-void OnEndInput(TextInput textInput)
-{
-  gHasEndSignalBeenReceived = true;
-}
-
-static void UtcDaliTextInputEndSignalEmit()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Testing Set editable false emits end signal");
-
-  TextInput textInput = TextInput::New();  // create empty TextInput
-
-  Stage::GetCurrent().Add(textInput);
-
-  textInput.InputFinishedSignal().Connect( &OnEndInput );
-
-  textInput.SetEditable(true) ;
-
-  gHasEndSignalBeenReceived = false;
-
-  textInput.SetEditable(false) ;
-
-  DALI_TEST_EQUALS(true, gHasEndSignalBeenReceived, TEST_LOCATION);
-}
-
-
-// Callback test function
-void OnStartInput(TextInput textInput)
-{
-  gHasStartSignalBeenReceived = true;
-}
-
-static void UtcDaliTextInputStartSignalEmit()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Testing SetEditable emits start signal");
-
-  TextInput textInput = TextInput::New();  // create empty TextInput
-
-  Stage::GetCurrent().Add(textInput);
-
-  textInput.InputStartedSignal().Connect( &OnStartInput );
-
-  gHasStartSignalBeenReceived = false;
-
-  textInput.SetEditable(true);  // Set editable first time
-
-  DALI_TEST_EQUALS(true, gHasStartSignalBeenReceived, TEST_LOCATION);
-
-  gHasStartSignalBeenReceived = false;
-
-  textInput.SetEditable(true); // Set editable second time, signal should not be sent again.
-
-  DALI_TEST_EQUALS(false, gHasStartSignalBeenReceived, TEST_LOCATION);
-
-  textInput.SetEditable(false);
-
-  gHasStartSignalBeenReceived = false;
-
-  textInput.SetEditable(true);  // Set editable again
-
-  DALI_TEST_EQUALS(true, gHasStartSignalBeenReceived, TEST_LOCATION);
-}
-
-
-
-static void UtcDaliTextInputExceedMaxCharacters()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Testing Max characters is obeyed when inputting key events ");
-
-  TextInput textInput = TextInput::New();  // create empty TextInput
-
-  Stage::GetCurrent().Add(textInput);
-
-  textInput.SetMaxCharacterLength(4);
-
-  textInput.SetInitialText("");
-
-  textInput.SetEditable(true);
-
-  Integration::KeyEvent eventA("a", "a", 0, 0, 0, Integration::KeyEvent::Down );
-  Integration::KeyEvent eventB("b", "b", 0, 0, 0, Integration::KeyEvent::Down );
-
-  application.SendNotification();
-  application.Render();
-
-  application.ProcessEvent(eventA);
-  application.ProcessEvent(eventB);
-  application.ProcessEvent(eventA);
-  application.ProcessEvent(eventB);
-
-  application.ProcessEvent(eventA);
-  application.ProcessEvent(eventB);
-
-  tet_printf( "Get text result : %s\n", textInput.GetText().c_str());
-
-  DALI_TEST_EQUALS("abab",textInput.GetText(), TEST_LOCATION); // Get text which should be only 4 characters
-}
-
-
-
-static void UtcDaliTextInputSetAndGetFadeBoundary()
-{
-  tet_infoline("UtcDaliTextViewSetAndGetFadeBoundary: ");
-
-  ToolkitTestApplication application;
-
-  TextView::FadeBoundary fadeBoundary( PixelSize( 0 ), PixelSize( 20 ), PixelSize( 0 ), PixelSize( 10 ) );
-
-  TextInput textInput = TextInput::New();
-  textInput.SetInitialText( "Hello world!" );
-
-  textInput.SetFadeBoundary( fadeBoundary );
-
-  TextView::FadeBoundary fadeBoundary2 = textInput.GetFadeBoundary();
-
-  DALI_TEST_EQUALS( fadeBoundary.mLeft, fadeBoundary2.mLeft, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeBoundary.mRight, fadeBoundary2.mRight, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeBoundary.mTop, fadeBoundary2.mTop, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeBoundary.mBottom, fadeBoundary2.mBottom, TEST_LOCATION );
-}
-
-static void UtcDaliTextInputSetAndGetWidthExceedPolicy()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextInputSetAndGetWidthExceedPolicy: ");
-
-  const TextView::ExceedPolicy EXCEED_POLICIES[] = { TextView::Original, TextView::Fade, TextView::Split, TextView::ShrinkToFit };
-  const unsigned int NUM_EXCEED_POLICIES = sizeof( EXCEED_POLICIES ) / sizeof( unsigned int );
-
-  TextInput textInput = TextInput::New();
-  textInput.SetInitialText( "Hello world!" );
-
-  for( unsigned int epIndex = 0; epIndex < NUM_EXCEED_POLICIES; ++epIndex )
-  {
-    textInput.SetWidthExceedPolicy( EXCEED_POLICIES[epIndex] );
-
-    DALI_TEST_EQUALS( textInput.GetWidthExceedPolicy(), EXCEED_POLICIES[epIndex], TEST_LOCATION );
-  }
-}
-
-static void UtcDaliTextInputSetAndGetHeightExceedPolicy()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliTextInputSetAndGetHeightExceedPolicy: ");
-
-  const TextView::ExceedPolicy EXCEED_POLICIES[] = { TextView::Original, TextView::Fade, TextView::ShrinkToFit };
-  const unsigned int NUM_EXCEED_POLICIES = sizeof( EXCEED_POLICIES ) / sizeof( unsigned int );
-
-  TextInput textInput = TextInput::New();
-  textInput.SetInitialText( "Hello world!" );
-
-  for( unsigned int epIndex = 0; epIndex < NUM_EXCEED_POLICIES; ++epIndex )
-  {
-    textInput.SetHeightExceedPolicy( EXCEED_POLICIES[epIndex] );
-
-    DALI_TEST_EQUALS( textInput.GetHeightExceedPolicy(), EXCEED_POLICIES[epIndex], TEST_LOCATION );
-  }
-}
-
-static void UtcDaliTextInputScroll()
-{
-  tet_infoline("UtcDaliTextInputScroll: ");
-  ToolkitTestApplication application;
-
-  // Avoids the frame buffer texture to throw an exception.
-  application.GetGlAbstraction().SetCheckFramebufferStatusResult( GL_FRAMEBUFFER_COMPLETE );
-
-  TextInput view = TextInput::New();
-  view.SetMultilinePolicy( TextView::SplitByNewLineChar );
-  view.SetWidthExceedPolicy( TextView::Original );
-  view.SetHeightExceedPolicy( TextView::Original );
-  view.SetTextAlignment( static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ) );
-  view.SetInitialText( "Hello world! This is a scroll test." );
-  view.SetSize( 100.f, 100.f );
-  view.SetSnapshotModeEnabled( false );
-
-  Stage::GetCurrent().Add( view );
-
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_CHECK( !view.IsScrollEnabled() ); // Scroll should be disabled by default.
-
-  view.SetScrollEnabled( true );
-
-  DALI_TEST_CHECK( view.IsScrollEnabled() );
-  DALI_TEST_CHECK( view.IsSnapshotModeEnabled() ); // Scroll should enable snapshot mode.
-
-  view.SetScrollPosition( Vector2( 400.f, 400.f ) );
-
-  application.SendNotification();
-  application.Render();
-
-  const Vector2& scrollPosition = view.GetScrollPosition();
-  DALI_TEST_EQUALS( scrollPosition, Vector2( 149.153656f, 0.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-}
diff --git a/automated-tests/TET/dali-test-suite/text-view/.gitignore b/automated-tests/TET/dali-test-suite/text-view/.gitignore
deleted file mode 100644 (file)
index bd332d7..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-utc-Dali-TextView
-utc-Dali-MarkupProcessor
diff --git a/automated-tests/TET/dali-test-suite/text-view/Makefile b/automated-tests/TET/dali-test-suite/text-view/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/text-view/file.list b/automated-tests/TET/dali-test-suite/text-view/file.list
deleted file mode 100644 (file)
index 006e1f5..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-TARGETS += \
-       utc-Dali-TextView \
-       utc-Dali-MarkupProcessor \
diff --git a/automated-tests/TET/dali-test-suite/text-view/tslist b/automated-tests/TET/dali-test-suite/text-view/tslist
deleted file mode 100644 (file)
index b37b02d..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-/dali-test-suite/text-view/utc-Dali-TextView
-/dali-test-suite/text-view/utc-Dali-MarkupProcessor
diff --git a/automated-tests/TET/dali-test-suite/text-view/utc-Dali-MarkupProcessor.cpp b/automated-tests/TET/dali-test-suite/text-view/utc-Dali-MarkupProcessor.cpp
deleted file mode 100644 (file)
index 74116f7..0000000
+++ /dev/null
@@ -1,418 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/public-api/markup-processor/markup-processor.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-
-namespace
-{
-
-struct MarkupStringTest
-{
-  std::string input;
-  std::string expectedResult;
-};
-
-bool TestMarkupString( const std::string& input, const std::string& expectedResult, std::string& result )
-{
-  Toolkit::MarkupProcessor::StyledTextArray styledTextArray;
-
-  GetStyledTextArray( input, styledTextArray, true );
-  GetMarkupString( styledTextArray, result );
-
-  return expectedResult == result;
-}
-
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliMarkupProcessor, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliMarkupProcessorSetTextStyle01, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliMarkupProcessorSetTextStyle02, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliMarkupProcessorTestColors, POSITIVE_TC_IDX );
-
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-
-// Positive test case for a method
-static void UtcDaliMarkupProcessor()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliMarkupProcessor ");
-
-  const std::string text1( "Text" );
-  const std::string text2( "< font  face ='FreeSerif'  color= 'green' >t< / font >" );
-  const std::string text3( "<  font face =  'FreeSerif' size=  '16' style = 'Bold' color='red'>< i><u >Styled< / u> Text< /i >< / font >< br / >" );
-  const std::string text4( "<font face='FreeSerif' size='14' color='0xaadd8744'><b><u>Styled</u> Te<font size='20'>x</font>t</b></font>< br/>" );
-  const std::string text5( "< shadow color   =   'blue' paramx =   '1' paramy = '0.75'  >Shadow< / shadow><br />" );
-  const std::string text6( "<smooth     param=  '0.75'  >< glow   color =   'red' param  = '0.1'  >Glow</glow></smooth>< br />" );
-  const std::string text7( "<font color='green''><   outline color = 'red'   paramx  =  '0.7' paramy  =  '0.7' >Outline< / outline  >< /font  ><  br  /  >" );
-  const std::string text8( "<smooth param='0.75'>Smooth</smooth><  br /   >" );
-  const std::string text9( "\\<" );
-  const std::string text10( "\\>" );
-
-  char crlf[2];
-  crlf[0] = 0x0D;
-  crlf[1] = 0x0A;
-  const std::string text11( crlf, 2 );
-
-  const std::string result1( text1 );
-  const std::string result2( "<font face='FreeSerif' color='green'>t</font>" );
-  const std::string result3( "<font face='FreeSerif' style='Bold' size='16' color='red'><i><u>Styled</u></i></font><font face='FreeSerif' style='Bold' size='16' color='red'><i> Text</i></font><br />" );
-  const std::string result4( "<font face='FreeSerif' size='14' color='0xaadd8744'><b><u>Styled</u></b></font><font face='FreeSerif' size='14' color='0xaadd8744'><b> Te</b></font><font face='FreeSerif' size='20' color='0xaadd8744'><b>x</b></font><font face='FreeSerif' size='14' color='0xaadd8744'><b>t</b></font><br />" );
-  const std::string result5( "<shadow color='blue' paramx='1' paramy='0.75'>Shadow</shadow><br />" );
-  const std::string result6( "<smooth param='0.75'><glow color='red' param='0.1'>Glow</glow></smooth><br />" );
-  const std::string result7( "<font color='green'><outline color='red' paramx='0.7' paramy='0.7'>Outline</outline></font><br />" );
-  const std::string result8( "<smooth param='0.75'>Smooth</smooth><br />" );
-  const std::string result9( text9 );
-  const std::string result10( text10 );
-  const std::string result11( "<br />" );
-
-  std::string markupString;
-  Toolkit::MarkupProcessor::StyledTextArray styledTextArray;
-
-  GetStyledTextArray( text1, styledTextArray, true );
-  GetMarkupString( styledTextArray, markupString );
-  DALI_TEST_EQUALS( result1, markupString, TEST_LOCATION );
-
-  GetStyledTextArray( text2, styledTextArray, true );
-  GetMarkupString( styledTextArray, markupString );
-  DALI_TEST_EQUALS( result2, markupString, TEST_LOCATION );
-
-  GetStyledTextArray( text3, styledTextArray, true );
-  GetMarkupString( styledTextArray, markupString );
-  DALI_TEST_EQUALS( result3, markupString, TEST_LOCATION );
-
-  GetStyledTextArray( text4, styledTextArray, true );
-  GetMarkupString( styledTextArray, markupString );
-  DALI_TEST_EQUALS( result4, markupString, TEST_LOCATION );
-
-  GetStyledTextArray( text5, styledTextArray, true );
-  GetMarkupString( styledTextArray, markupString );
-  DALI_TEST_EQUALS( result5, markupString, TEST_LOCATION );
-
-  GetStyledTextArray( text6, styledTextArray, true );
-  GetMarkupString( styledTextArray, markupString );
-  DALI_TEST_EQUALS( result6, markupString, TEST_LOCATION );
-
-  GetStyledTextArray( text7, styledTextArray, true );
-  GetMarkupString( styledTextArray, markupString );
-  DALI_TEST_EQUALS( result7, markupString, TEST_LOCATION );
-
-  GetStyledTextArray( text8, styledTextArray, true );
-  GetMarkupString( styledTextArray, markupString );
-  DALI_TEST_EQUALS( result8, markupString, TEST_LOCATION );
-
-  GetStyledTextArray( text9, styledTextArray, true );
-  GetMarkupString( styledTextArray, markupString );
-  DALI_TEST_EQUALS( result9, markupString, TEST_LOCATION );
-
-  GetStyledTextArray( text10, styledTextArray, true );
-  GetMarkupString( styledTextArray, markupString );
-
-  DALI_TEST_EQUALS( result10, markupString, TEST_LOCATION );
-
-  GetStyledTextArray( text11, styledTextArray, true );
-  GetMarkupString( styledTextArray, markupString );
-
-  DALI_TEST_EQUALS( result11, markupString, TEST_LOCATION );
-}
-
-static void UtcDaliMarkupProcessorSetTextStyle01()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliMarkupProcessorSetTextStyle01 ");
-
-  const std::string text1( "Text with no defined style" );
-  const std::string result1( "<font color='green'><i>Text with no defined style</i></font>" );
-  const std::string result2( "Text with <font color='green'><i>no defined</i></font> style" );
-
-  std::string markupString;
-  Toolkit::MarkupProcessor::StyledTextArray styledTextArray;
-
-  GetStyledTextArray( text1, styledTextArray, true );
-
-  TextStyle style;
-  style.SetItalics( true );
-  style.SetTextColor( Color::GREEN );
-
-  SetTextStyle( styledTextArray, style );
-  GetMarkupString( styledTextArray, markupString );
-
-  DALI_TEST_EQUALS( result1, markupString, TEST_LOCATION );
-
-  styledTextArray.clear();
-  SetTextStyle( text1, styledTextArray, style );
-  GetMarkupString( styledTextArray, markupString );
-
-  DALI_TEST_EQUALS( result1, markupString, TEST_LOCATION );
-
-  GetStyledTextArray( text1, styledTextArray, true );
-  SetTextStyleToRange( styledTextArray, style, TextStyle::ALL, 0, text1.size() - 1 );
-  GetMarkupString( styledTextArray, markupString );
-
-  DALI_TEST_EQUALS( result1, markupString, TEST_LOCATION );
-
-  GetStyledTextArray( text1, styledTextArray, true );
-  SetTextStyleToRange( styledTextArray, style, TextStyle::ALL, 10, 19 );
-  GetMarkupString( styledTextArray, markupString );
-
-  DALI_TEST_EQUALS( result2, markupString, TEST_LOCATION );
-
-  std::string plainString;
-  GetPlainString( styledTextArray, plainString );
-
-  DALI_TEST_EQUALS( text1, plainString, TEST_LOCATION );
-}
-
-static void UtcDaliMarkupProcessorSetTextStyle02()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliMarkupProcessorSetTextStyle02 ");
-
-  Toolkit::MarkupProcessor::StyledTextArray styledTextArray;
-
-  // Test style applied to and empty string doesn't crash
-
-  TextStyle style;
-  style.SetItalics( true );
-  style.SetTextColor( Color::GREEN );
-
-  bool fails = false;
-  try
-  {
-    SetTextStyle( styledTextArray, style );
-  }
-  catch( ... )
-  {
-    fails = true;
-  }
-
-  DALI_TEST_CHECK( !fails );
-}
-
-static void UtcDaliMarkupProcessorTestColors()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("UtcDaliMarkupProcessorTestColors  ");
-
-  struct MarkupStringTest colorTests[] =
-  {
-    {
-      std::string( "<font color='0xFF000000'>black</font>" ),
-      std::string( "<font color='black'>black</font>" )
-    },
-    {
-      std::string( "<font color='0xFFFFFFFF'>white</font>" ),
-      std::string( "white" )
-    },
-    {
-      std::string( "<font color='0xFFFF0000'>red</font>" ),
-      std::string( "<font color='red'>red</font>" )
-    },
-    {
-      std::string( "<font color='0xFF00FF00'>green</font>" ),
-      std::string( "<font color='green'>green</font>" )
-    },
-    {
-      std::string( "<font color='0xFF0000FF'>blue</font>" ),
-      std::string( "<font color='blue'>blue</font>" )
-    },
-    {
-      std::string( "<font color='0xFFFFFF00'>yellow</font>" ),
-      std::string( "<font color='yellow'>yellow</font>" )
-    },
-    {
-      std::string( "<font color='0xFFFF00FF'>magenta</font>" ),
-      std::string( "<font color='magenta'>magenta</font>" )
-    },
-    {
-      std::string( "<font color='0xFF00FFFF'>cyan</font>" ),
-      std::string( "<font color='cyan'>cyan</font>" )
-    },
-    {
-      std::string( "<font color='0x00000000'>transparent</font>" ),
-      std::string( "<font color='transparent'>transparent</font>" )
-    },
-    {
-      std::string( "<font color='#000000'>black</font>" ),
-      std::string( "<font color='black'>black</font>" )
-    },
-    {
-      std::string( "<font color='#FFFFFF'>white</font>" ),
-      std::string( "white" )
-    },
-    {
-      std::string( "<font color='#FF0000'>red</font>" ),
-      std::string( "<font color='red'>red</font>" )
-    },
-    {
-      std::string( "<font color='#00FF00'>green</font>" ),
-      std::string( "<font color='green'>green</font>" )
-    },
-    {
-      std::string( "<font color='#0000FF'>blue</font>" ),
-      std::string( "<font color='blue'>blue</font>" )
-    },
-    {
-      std::string( "<font color='#FFFF00'>yellow</font>" ),
-      std::string( "<font color='yellow'>yellow</font>" )
-    },
-    {
-      std::string( "<font color='#FF00FF'>magenta</font>" ),
-      std::string( "<font color='magenta'>magenta</font>" )
-    },
-    {
-      std::string( "<font color='#00FFFF'>cyan</font>" ),
-      std::string( "<font color='cyan'>cyan</font>" )
-    },
-    {
-      std::string( "<font color='#000'>black</font>" ),
-      std::string( "<font color='black'>black</font>" )
-    },
-    {
-      std::string( "<font color='#FFF'>white</font>" ),
-      std::string( "white" )
-    },
-    {
-      std::string( "<font color='#F00'>red</font>" ),
-      std::string( "<font color='red'>red</font>" )
-    },
-    {
-      std::string( "<font color='#0F0'>green</font>" ),
-      std::string( "<font color='green'>green</font>" )
-    },
-    {
-      std::string( "<font color='#00F'>blue</font>" ),
-      std::string( "<font color='blue'>blue</font>" )
-    },
-    {
-      std::string( "<font color='#FF0'>yellow</font>" ),
-      std::string( "<font color='yellow'>yellow</font>" )
-    },
-    {
-      std::string( "<font color='#F0F'>magenta</font>" ),
-      std::string( "<font color='magenta'>magenta</font>" )
-    },
-    {
-      std::string( "<font color='#0FF'>cyan</font>" ),
-      std::string( "<font color='cyan'>cyan</font>" )
-    },
-    {
-      std::string( "<font color='0x000000'>black</font>" ),
-      std::string( "<font color='black'>black</font>" )
-    },
-    {
-      std::string( "<font color='black'>black</font>" ),
-      std::string( "<font color='black'>black</font>" )
-    },
-    {
-      std::string( "<font color='white'>white</font>" ),
-      std::string( "white" )
-    },
-    {
-      std::string( "<font color='red'>red</font>" ),
-      std::string( "<font color='red'>red</font>" )
-    },
-    {
-      std::string( "<font color='0xFF00FF00'>green</font>" ),
-      std::string( "<font color='green'>green</font>" )
-    },
-    {
-      std::string( "<font color='blue'>blue</font>" ),
-      std::string( "<font color='blue'>blue</font>" )
-    },
-    {
-      std::string( "<font color='yellow'>yellow</font>" ),
-      std::string( "<font color='yellow'>yellow</font>" )
-    },
-    {
-      std::string( "<font color='magenta'>magenta</font>" ),
-      std::string( "<font color='magenta'>magenta</font>" )
-    },
-    {
-      std::string( "<font color='cyan'>cyan</font>" ),
-      std::string( "<font color='cyan'>cyan</font>" )
-    },
-    {
-      std::string( "<font color='transparent'>transparent</font>" ),
-      std::string( "<font color='transparent'>transparent</font>" )
-    },
-    {
-      std::string( "<outline color='white'>outline</outline>" ),
-      std::string( "<outline color='white'>outline</outline>" )
-    },
-  };
-
-  const std::size_t numberOfTests( 36 );
-
-  bool fails = false;
-  for( std::size_t index = 0; index < numberOfTests; ++index )
-  {
-    const MarkupStringTest& test = colorTests[index];
-
-    std::string result;
-    if( !TestMarkupString( test.input, test.expectedResult, result ) )
-    {
-      TestMarkupString( test.input, test.expectedResult, result );
-      tet_printf( "%s\n          input : %s\nexpected result : %s\n         result : %s\n", TEST_LOCATION, test.input.c_str(), test.expectedResult.c_str(), result.c_str() );
-
-      fails = true;
-    }
-  }
-
-  DALI_TEST_CHECK( !fails );
-}
diff --git a/automated-tests/TET/dali-test-suite/text-view/utc-Dali-TextView.cpp b/automated-tests/TET/dali-test-suite/text-view/utc-Dali-TextView.cpp
deleted file mode 100644 (file)
index d5e8f3b..0000000
+++ /dev/null
@@ -1,852 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-#include <dali-toolkit/public-api/controls/text-view/text-view.h>
-#include <dali-toolkit/public-api/controls/alignment/alignment.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-namespace
-{
-
-const char* const PROPERTY_TEXT = "text";
-const char* const PROPERTY_MULTILINE_POLICY = "multiline-policy";
-const char* const PROPERTY_WIDTH_EXCEED_POLICY = "width-exceed-policy";
-const char* const PROPERTY_HEIGHT_EXCEED_POLICY = "height-exceed-policy";
-const char* const PROPERTY_LINE_JUSTIFICATION = "line-justification";
-const char* const PROPERTY_FADE_BOUNDARY_LEFT = "fade-boundary-left";
-const char* const PROPERTY_FADE_BOUNDARY_RIGHT = "fade-boundary-right";
-const char* const PROPERTY_FADE_BOUNDARY_TOP = "fade-boundary-top";
-const char* const PROPERTY_FADE_BOUNDARY_BOTTOM = "fade-boundary-bottom";
-const char* const PROPERTY_LINE_HEIGHT_OFFSET = "line-height-offset";
-const char* const PROPERTY_HORIZONTAL_ALIGNMENT = "horizontal-alignment";
-const char* const PROPERTY_VERTICAL_ALIGNMENT = "vertical-alignment";
-
-bool TestEqual( float x, float y )
-{
-  return !( fabsf( x - y ) > Math::MACHINE_EPSILON_1000 );
-}
-
-static bool gObjectCreatedCallBackCalled;
-static unsigned int gNumberObjectCreated;
-
-static void TestCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-  ++gNumberObjectCreated;
-}
-
-static bool gTextScrolled;
-static Vector2 gScrollDelta;
-static void TestTextScrolled( TextView textView, Vector2 scrollDelta )
-{
-  gTextScrolled = true;
-  gScrollDelta = scrollDelta;
-}
-
-} // namespace
-
-static void Startup();
-static void Cleanup();
-
-extern "C"
-{
-void (*tet_startup)() = Startup;
-void (*tet_cleanup)() = Cleanup;
-}
-
-enum
-{
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliTextViewNew, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewSetAndGetText, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewSetStyleToCurrentText, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewSetAndGetLineHeight, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewSetAndGetFadeBoundary, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewSetAndGetEllipsizeText, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewSetAndGetWidthExceedPolicy, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewSetAndGetHeightExceedPolicy, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewTestLayoutOptions01, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewTestLayoutOptions02, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewInsertRemoveText, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewSnapshotEnable, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewScroll, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewSetProperty, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewSetSortModifier, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliTextViewUnderlineText, POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-
-static void Cleanup()
-{
-}
-
-static void UtcDaliTextViewNew()
-{
-  tet_infoline("UtcDaliTextViewNew: ");
-  ToolkitTestApplication application;
-
-  // Test default constructor.
-  TextView view;
-
-  DALI_TEST_CHECK( !view );
-
-  // Test default initialization.
-  view = TextView::New();
-
-  DALI_TEST_CHECK( view );
-
-  // Test copy constructor and asignment operator.
-  TextView viewCopy1;
-
-  viewCopy1 = view;
-
-  DALI_TEST_CHECK( viewCopy1 );
-
-  TextView viewCopy2( view );
-
-  DALI_TEST_CHECK( viewCopy2 );
-
-  // Test down cast.
-  Actor actorView;
-
-  actorView = view;
-
-  TextView downCastView = TextView::DownCast( actorView );
-
-  DALI_TEST_CHECK( downCastView );
-
-  // Test constructor with a given text.
-
-  const std::string text( "Hello world!" );
-
-  const float DESCENDER = 8.0f;
-
-  TextView view1 = TextView::New( text );
-
-  DALI_TEST_EQUALS( view1.GetText(), text, TEST_LOCATION );
-
-  MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( text, styledText, true );
-
-  TextView view2 = TextView::New( styledText );
-
-  DALI_TEST_EQUALS( view2.GetText(), text, TEST_LOCATION );
-
-  // Check the default Toolkit::TextView::CharacterLayoutInfo::CharacterLayoutInfo() to increase coverage.
-  TextView::CharacterLayoutInfo characterLayoutInfo;
-
-  DALI_TEST_EQUALS( characterLayoutInfo.mSize, Vector2::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo.mPosition, Vector3::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo.mIsNewLineChar, false, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo.mIsRightToLeftCharacter, false, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo.mIsVisible, true, TEST_LOCATION );
-
-  TextView::CharacterLayoutInfo characterLayoutInfo2( Size( 2.f, 2.f ),
-                                                      Vector3( 3.f, 4.f, 5.f ),
-                                                      true,
-                                                      true,
-                                                      false,
-                                                      DESCENDER );
-
-  characterLayoutInfo = characterLayoutInfo2;
-
-  DALI_TEST_EQUALS( characterLayoutInfo.mSize, Size( 2.f, 2.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo.mPosition, Vector3( 3.f, 4.f, 5.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo.mIsNewLineChar, true, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo.mIsRightToLeftCharacter, true, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo.mIsVisible, false, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo.mDescender, DESCENDER , TEST_LOCATION );
-
-
-  TextView::CharacterLayoutInfo characterLayoutInfo3( characterLayoutInfo );
-
-  DALI_TEST_EQUALS( characterLayoutInfo3.mSize, Size( 2.f, 2.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo3.mPosition, Vector3( 3.f, 4.f, 5.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo3.mIsNewLineChar, true, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo3.mIsRightToLeftCharacter, true, TEST_LOCATION );
-  DALI_TEST_EQUALS( characterLayoutInfo3.mIsVisible, false, TEST_LOCATION );
-
-  // Check the default Toolkit::TextView::TextLayoutInfo::TextLayoutInfo() to increase coverage.
-
-  TextView::TextLayoutInfo textLayoutInfo;
-  DALI_TEST_EQUALS( textLayoutInfo.mCharacterLayoutInfoTable.size(), 0u, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo.mCharacterLogicalToVisualMap.size(), 0u, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo.mCharacterVisualToLogicalMap.size(), 0u, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo.mTextSize, Size::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo.mScrollOffset, Vector2::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-
-  textLayoutInfo.mCharacterLayoutInfoTable.push_back( characterLayoutInfo );
-  textLayoutInfo.mCharacterLogicalToVisualMap.push_back( 1 );
-  textLayoutInfo.mCharacterVisualToLogicalMap.push_back( 1 );
-  textLayoutInfo.mTextSize = Size( 10.f, 10.f );
-  textLayoutInfo.mScrollOffset = Vector2( 5.f, 5.f );
-
-  TextView::TextLayoutInfo textLayoutInfo2( textLayoutInfo );
-
-  DALI_TEST_EQUALS( textLayoutInfo2.mCharacterLayoutInfoTable.size(), 1u, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo2.mCharacterLogicalToVisualMap.size(), 1u, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo2.mCharacterVisualToLogicalMap.size(), 1u, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo2.mTextSize, Size( 10.f, 10.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo2.mScrollOffset, Vector2( 5.f, 5.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-
-  TextView::TextLayoutInfo textLayoutInfo3;
-
-  textLayoutInfo3 = textLayoutInfo2;
-
-  DALI_TEST_EQUALS( textLayoutInfo3.mCharacterLayoutInfoTable.size(), 1u, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo3.mCharacterLogicalToVisualMap.size(), 1u, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo3.mCharacterVisualToLogicalMap.size(), 1u, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo3.mTextSize, Size( 10.f, 10.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  DALI_TEST_EQUALS( textLayoutInfo3.mScrollOffset, Vector2( 5.f, 5.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-
-  //Additional check to ensure object is created by checking if it's registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect(&TestCallback);
-  {
-    TextView view = TextView::New();
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-}
-
-static void UtcDaliTextViewSetAndGetText()
-{
-  tet_infoline("UtcDaliTextViewSetAndGetText: ");
-  ToolkitTestApplication application;
-
-  TextView view = TextView::New();
-  view.SetSnapshotModeEnabled( false ); // Disables offscreen rendering.
-
-  std::string str( "Text with differing aCeNdEr and dEcEnDeR" );
-
-  view.SetText( str );
-  DALI_TEST_EQUALS( view.GetText(), str, TEST_LOCATION );
-
-  MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( str, styledText, true );
-
-  view.SetText( styledText );
-  DALI_TEST_EQUALS( view.GetText(), str, TEST_LOCATION );
-
-  // Test the number of text actor created.
-
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gNumberObjectCreated = 0;
-  registry.ObjectCreatedSignal().Connect(&TestCallback);
-
-  // Following string should create three text-actors ([Hel], [lo wo] and [rld]).
-  std::string text( "Hel<font size='10'>lo wo</font>rld!\n"
-                    "\n" );
-
-  Stage::GetCurrent().Add( view );
-  view.SetText( text );
-
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_EQUALS( 3u, gNumberObjectCreated, TEST_LOCATION );
-}
-
-static void UtcDaliTextViewSetStyleToCurrentText()
-{
-  tet_infoline("UtcDaliTextViewSetStyleToCurrentText: ");
-  ToolkitTestApplication application;
-
-  TextStyle style;
-  style.SetItalics( true );
-
-  const std::string text( "앞서 농식품부 주이석 검역검사본부\n"
-                          "동물방역부장을 단장으로 하는\n"
-                          "민관합동조사단은 지난달 30일부터\n"
-                          "12일간의 현지 조사활동을 마치고\n"
-                          "11일 새벽 귀국했습니다." );
-  TextView view = TextView::New( text );
-
-  bool fail = false;
-  try
-  {
-    view.SetStyleToCurrentText( style );
-  }
-  catch( ... )
-  {
-    tet_printf( "Tet case fails\n" );
-    fail = true;
-    tet_result(TET_FAIL);
-  }
-
-  DALI_TEST_CHECK( !fail );
-}
-
-static void UtcDaliTextViewSetAndGetLineHeight()
-{
-  tet_infoline("UtcDaliTextViewSetAndGetLineHeight: ");
-
-  ToolkitTestApplication application;
-
-  const float lineHeightOffset( 9.f );
-
-  TextView textView = TextView::New();
-
-  textView.SetLineHeightOffset( PointSize( lineHeightOffset ) );
-
-  DALI_TEST_EQUALS( float(textView.GetLineHeightOffset()), lineHeightOffset, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-}
-
-static void UtcDaliTextViewSetAndGetFadeBoundary()
-{
-  tet_infoline("UtcDaliTextViewSetAndGetFadeBoundary: ");
-
-  ToolkitTestApplication application;
-
-  TextView::FadeBoundary fadeBoundary( PixelSize( 0 ), PixelSize( 20 ), PixelSize( 0 ), PixelSize( 10 ) );
-
-  TextView textView = TextView::New( "Hello world!" );
-
-  textView.SetFadeBoundary( fadeBoundary );
-
-  TextView::FadeBoundary fadeBoundary2 = textView.GetFadeBoundary();
-
-  DALI_TEST_EQUALS( fadeBoundary.mLeft, fadeBoundary2.mLeft, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeBoundary.mRight, fadeBoundary2.mRight, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeBoundary.mTop, fadeBoundary2.mTop, TEST_LOCATION );
-  DALI_TEST_EQUALS( fadeBoundary.mBottom, fadeBoundary2.mBottom, TEST_LOCATION );
-}
-
-static void UtcDaliTextViewSetAndGetEllipsizeText()
-{
-  tet_infoline("UtcDaliTextViewSetAndGetEllipsizeText: ");
-
-  ToolkitTestApplication application;
-
-  TextView textView = TextView::New( "Hello world!" );
-
-  textView.SetEllipsizeText( std::string( "..." ) );
-
-  DALI_TEST_EQUALS( std::string( "..." ), textView.GetEllipsizeText(), TEST_LOCATION );
-
-  Toolkit::MarkupProcessor::StyledTextArray styledTextArray;
-
-  GetStyledTextArray( std::string( "..." ), styledTextArray, true );
-
-  textView.SetEllipsizeText( styledTextArray );
-
-  DALI_TEST_EQUALS( std::string( "..." ), textView.GetEllipsizeText(), TEST_LOCATION );
-
-}
-
-static void UtcDaliTextViewSetAndGetWidthExceedPolicy()
-{
-  tet_infoline("UtcDaliTextViewSetAndGetWidthExceedPolicy: ");
-
-  ToolkitTestApplication application;
-
-  const TextView::ExceedPolicy EXCEED_POLICIES[] = { TextView::Original, TextView::Fade, TextView::Split, TextView::ShrinkToFit };
-  const unsigned int NUM_EXCEED_POLICIES = sizeof( EXCEED_POLICIES ) / sizeof( unsigned int );
-
-  TextView textView = TextView::New( "Hello world!" );
-
-  for( unsigned int epIndex = 0; epIndex < NUM_EXCEED_POLICIES; ++epIndex )
-  {
-    textView.SetWidthExceedPolicy( EXCEED_POLICIES[epIndex] );
-
-    DALI_TEST_EQUALS( textView.GetWidthExceedPolicy(), EXCEED_POLICIES[epIndex], TEST_LOCATION );
-  }
-}
-
-static void UtcDaliTextViewSetAndGetHeightExceedPolicy()
-{
-  tet_infoline("UtcDaliTextViewSetAndGetHeightExceedPolicy: ");
-
-  ToolkitTestApplication application;
-
-  const TextView::ExceedPolicy EXCEED_POLICIES[] = { TextView::Original, TextView::Fade, TextView::ShrinkToFit };
-  const unsigned int NUM_EXCEED_POLICIES = sizeof( EXCEED_POLICIES ) / sizeof( unsigned int );
-
-  TextView textView = TextView::New( "Hello world!" );
-
-  for( unsigned int epIndex = 0; epIndex < NUM_EXCEED_POLICIES; ++epIndex )
-  {
-    textView.SetHeightExceedPolicy( EXCEED_POLICIES[epIndex] );
-
-    DALI_TEST_EQUALS( textView.GetHeightExceedPolicy(), EXCEED_POLICIES[epIndex], TEST_LOCATION );
-  }
-}
-
-static void UtcDaliTextViewTestLayoutOptions01()
-{
-  tet_infoline("UtcDaliTextViewTestLayoutOptions01: ");
-
-  ToolkitTestApplication application;
-
-  const std::string text( "앞서 농식품부 주이석 검역검사본부\n"
-                          "동물방역부장을 단장으로 하는\n"
-                          "민관합동조사단은 지난달 30일부터\n"
-                          "12일간의 현지 조사활동을 마치고\n"
-                          "11일 새벽 귀국했습니다." );
-
-  const TextView::MultilinePolicy MULTILINE_POLICIES[] = { TextView::SplitByNewLineChar, TextView::SplitByWord, TextView::SplitByChar };
-  const TextView::ExceedPolicy EXCEED_WIDTH_POLICIES[] = { TextView::Original, TextView::Fade, TextView::Split, TextView::ShrinkToFit, TextView::EllipsizeEnd };
-  const TextView::ExceedPolicy EXCEED_HEIGHT_POLICIES[] = { TextView::Original, TextView::Fade, TextView::ShrinkToFit };
-  const Alignment::Type TEXT_ALIGNMENT[] = { static_cast<Alignment::Type>( Alignment::HorizontalLeft | Alignment::VerticalTop ),
-                                             static_cast<Alignment::Type>( Alignment::HorizontalLeft | Alignment::VerticalCenter ),
-                                             static_cast<Alignment::Type>( Alignment::HorizontalLeft | Alignment::VerticalBottom ),
-                                             static_cast<Alignment::Type>( Alignment::HorizontalCenter | Alignment::VerticalTop ),
-                                             static_cast<Alignment::Type>( Alignment::HorizontalCenter | Alignment::VerticalCenter ),
-                                             static_cast<Alignment::Type>( Alignment::HorizontalCenter | Alignment::VerticalBottom ),
-                                             static_cast<Alignment::Type>( Alignment::HorizontalRight | Alignment::VerticalTop ),
-                                             static_cast<Alignment::Type>( Alignment::HorizontalRight | Alignment::VerticalCenter ),
-                                             static_cast<Alignment::Type>( Alignment::HorizontalRight | Alignment::VerticalBottom ) };
-  const TextView::LineJustification LINE_JUSTIFICATION[] = { TextView::Left, TextView::Center, TextView::Right, TextView::Justified };
-
-  const unsigned int NUM_MULTILINE_POLICIES = sizeof( MULTILINE_POLICIES ) / sizeof( unsigned int );
-  const unsigned int NUM_WIDTH_EXCEED_POLICIES = sizeof( EXCEED_WIDTH_POLICIES ) / sizeof( unsigned int );
-  const unsigned int NUM_HEIGHT_EXCEED_POLICIES = sizeof( EXCEED_HEIGHT_POLICIES ) / sizeof( unsigned int );
-  const unsigned int NUM_TEXT_ALIGNMENT = sizeof( TEXT_ALIGNMENT ) / sizeof( unsigned int );
-  const unsigned int NUM_LINE_JUSTIFICATION = sizeof( LINE_JUSTIFICATION ) / sizeof( unsigned int );
-
-  TextView textView = TextView::New( text );
-  textView.SetSnapshotModeEnabled( false ); // Disables offscreen rendering.
-
-  Stage::GetCurrent().Add( textView );
-
-  TextView::TextLayoutInfo textLayoutInfo;
-
-  for( unsigned int mlpIndex = 0; mlpIndex < NUM_MULTILINE_POLICIES; ++mlpIndex )
-  {
-    textView.SetMultilinePolicy( MULTILINE_POLICIES[mlpIndex] );
-    for( unsigned int ewpIndex = 0; ewpIndex < NUM_WIDTH_EXCEED_POLICIES; ++ewpIndex )
-    {
-      textView.SetWidthExceedPolicy( EXCEED_WIDTH_POLICIES[ewpIndex] );
-      for( unsigned int ehpIndex = 0; ehpIndex < NUM_HEIGHT_EXCEED_POLICIES; ++ehpIndex )
-      {
-        textView.SetHeightExceedPolicy( EXCEED_HEIGHT_POLICIES[ehpIndex] );
-        for( unsigned int taIndex = 0; taIndex < NUM_TEXT_ALIGNMENT; ++taIndex )
-        {
-          textView.SetTextAlignment( TEXT_ALIGNMENT[taIndex] );
-          for( unsigned int ljIndex = 0; ljIndex < NUM_LINE_JUSTIFICATION; ++ljIndex )
-          {
-            textView.SetLineJustification( LINE_JUSTIFICATION[ljIndex] );
-
-            try
-            {
-              textView.GetTextLayoutInfo( textLayoutInfo );
-
-              application.SendNotification();
-              application.Render();
-            }
-            catch( Dali::DaliException& e )
-            {
-              DALI_TEST_EQUALS( e.mCondition, "!\"TextView::CombineExceedPolicies() Invalid width and height exceed policies combination\"", TEST_LOCATION );
-            }
-            catch( ... )
-            {
-              tet_printf( "Tet case fails\n" );
-              tet_printf( "      MultilinePolicy : %d\n", MULTILINE_POLICIES[mlpIndex] );
-              tet_printf( "   Width ExceedPolicy : %d\n", EXCEED_WIDTH_POLICIES[ewpIndex] );
-              tet_printf( "  Height ExceedPolicy : %d\n", EXCEED_HEIGHT_POLICIES[ehpIndex] );
-              tet_printf( "        TextAlignment : %d\n", TEXT_ALIGNMENT[taIndex] );
-              tet_printf( "    LineJustification : %d\n", LINE_JUSTIFICATION[ljIndex] );
-              tet_result(TET_FAIL);
-            }
-
-            DALI_TEST_CHECK( LINE_JUSTIFICATION[ljIndex] == textView.GetLineJustification() );
-          }
-          DALI_TEST_CHECK( TEXT_ALIGNMENT[taIndex] == textView.GetTextAlignment() );
-        }
-        DALI_TEST_CHECK( EXCEED_HEIGHT_POLICIES[ehpIndex] == textView.GetHeightExceedPolicy() );
-      }
-      DALI_TEST_CHECK( EXCEED_WIDTH_POLICIES[ewpIndex] == textView.GetWidthExceedPolicy() );
-    }
-    DALI_TEST_CHECK( MULTILINE_POLICIES[mlpIndex] == textView.GetMultilinePolicy() );
-  }
-}
-
-static void UtcDaliTextViewTestLayoutOptions02()
-{
-  tet_infoline("UtcDaliTextViewTestLayoutOptions02: ");
-  ToolkitTestApplication application;
-
-  // Check some configurations.
-
-  TextView textView = TextView::New();
-  textView.SetSnapshotModeEnabled( false ); // Disables offscreen rendering.
-
-  Stage::GetCurrent().Add( textView );
-
-  // SplitByWord and ShrinkToFit.
-  // Centered alignment.
-  // Centered justification.
-  // Don't create a text actor per character.
-
-  textView.SetMultilinePolicy( TextView::SplitByWord );
-  textView.SetWidthExceedPolicy( TextView::ShrinkToFit );
-  textView.SetHeightExceedPolicy( TextView::ShrinkToFit );
-  textView.SetTextAlignment( static_cast<Alignment::Type>( Alignment::HorizontalCenter | Alignment::VerticalTop ) );
-  textView.SetLineJustification( TextView::Center );
-  textView.SetSize( 136.56252f, 100.f );
-
-  textView.SetText( "Hel<font color='green'>lo wo</font>rld!" );
-
-  application.SendNotification();
-  application.Render();
-
-  std::vector<Size> sizes;
-  sizes.push_back( Size( 34.14063f, 11.380210f ) );              //
-  sizes.push_back( Size( 56.90105f, 11.380210f ) );              //
-  sizes.push_back( Size( 45.52084f, 11.380210f ) );              // By default characters have width and height values of 11.380210.
-                                                                 // The result should be a line with the text 'Hello world' as shown below.
-  std::vector<Vector3> positions;                                //  ____________
-  positions.push_back( Vector3( 0.000008f, 11.380209f, 0.f ) );  // |Hello world!|
-  positions.push_back( Vector3( 34.14063f, 11.380209f, 0.f ) );  //  ------------
-  positions.push_back( Vector3( 91.04168f, 11.380209f, 0.f ) );  //
-
-  DALI_TEST_CHECK( positions.size() == textView.GetChildCount() ); // Check text has two text-actors.
-
-  for( std::size_t index = 0, num = textView.GetChildCount(); index < num; ++index )
-  {
-    const Vector3& size = textView.GetChildAt(index).GetCurrentSize();
-    const Vector3& position = textView.GetChildAt(index).GetCurrentPosition();
-
-    DALI_TEST_EQUALS( size.width, sizes[index].width, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-    DALI_TEST_EQUALS( size.height, sizes[index].height, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-    DALI_TEST_EQUALS( position.width, positions[index].width, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-    DALI_TEST_EQUALS( position.height, positions[index].height, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  }
-
-  textView.SetSize( 50.f, 50.f );
-  textView.SetTextAlignment( static_cast<Alignment::Type>( Alignment::HorizontalCenter | Alignment::VerticalCenter ) );
-  textView.SetSizePolicy( Toolkit::Control::Fixed, Toolkit::Control::Fixed );
-  textView.SetLineJustification( Toolkit::TextView::Left );
-
-  application.SendNotification();
-  application.Render();
-
-  sizes.clear();
-  sizes.push_back( Size( 24.999999f, 8.333333f ) );              //
-  sizes.push_back( Size( 24.999999f, 8.333333f ) );              //
-  sizes.push_back( Size( 16.666666f, 8.333333f ) );              // Longest word is 'world!' (6 characters x 11.380210) which doesn't fit in the 50x50 box.
-  sizes.push_back( Size( 33.333332f, 8.333333f ) );              // The scale factor is 0.732265339, so the character size is 8.333333.
-                                                                 // Text should be split in two lines, centered in the vertical dimension and fitted in the horizontal one.
-  positions.clear();                                             // As shown below, the text is two lines and centered in the vertical dimension and
-  positions.push_back( Vector3(  0.000008f, 25.223114f, 0.f ) ); // it should start in middle height (~25).
-  positions.push_back( Vector3( 24.999999f, 25.223114f, 0.f ) ); //   ______
-  positions.push_back( Vector3(  0.000006f, 33.556446f, 0.f ) ); //  |      |
-  positions.push_back( Vector3( 16.666666f, 33.556446f, 0.f ) ); //  |Hello |
-                                                                 //  |world!|
-                                                                 //  |______|
-                                                                 //
-
-  DALI_TEST_CHECK( positions.size() == textView.GetChildCount() ); // Check text has two text-actors.
-
-  for( std::size_t index = 0, num = textView.GetChildCount(); index < num; ++index )
-  {
-    const Vector3& size = textView.GetChildAt(index).GetCurrentSize();
-    const Vector3& position = textView.GetChildAt(index).GetCurrentPosition();
-
-    DALI_TEST_EQUALS( size.width, sizes[index].width, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-    DALI_TEST_EQUALS( size.height, sizes[index].height, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-    DALI_TEST_EQUALS( position.width, positions[index].width, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-    DALI_TEST_EQUALS( position.height, positions[index].height, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  }
-
-  // TODO: Add more tests when TextView implementation is finished.
-}
-
-static void UtcDaliTextViewInsertRemoveText()
-{
-  tet_infoline("UtcDaliTextViewInsertRemoveText: ");
-  ToolkitTestApplication application;
-
-  std::string text("Hello ");
-
-  MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( text, styledText, true );
-
-  TextView view = TextView::New( "world!" );
-
-  view.InsertTextAt( 0, styledText );
-
-  DALI_TEST_EQUALS( view.GetText(), std::string("Hello world!"), TEST_LOCATION );
-
-  view.RemoveTextFrom( 4, 5 );
-
-  DALI_TEST_EQUALS( view.GetText(), std::string("Hellld!"), TEST_LOCATION );
-
-  view.InsertTextAt( 0, "Hello " );
-
-  DALI_TEST_EQUALS( view.GetText(), std::string("Hello Hellld!"), TEST_LOCATION );
-
-
-  view.InsertTextAt( 0, "Hello " );
-  view.InsertTextAt( 0, "Hello " );
-  view.InsertTextAt( 0, "Hello " );
-  view.InsertTextAt( 0, "Hello " );
-  view.RemoveTextFrom( 4, 2 );
-  view.RemoveTextFrom( 4, 2 );
-  view.RemoveTextFrom( 4, 2 );
-  view.RemoveTextFrom( 4, 2 );
-  view.RemoveTextFrom( 4, 2 );
-  view.SetText( "Hello world!" );
-
-  DALI_TEST_EQUALS( view.GetText(), std::string("Hello world!"), TEST_LOCATION );
-
-  view.ReplaceTextFromTo( 5, 1, "" );
-
-  DALI_TEST_EQUALS( view.GetText(), std::string("Helloworld!"), TEST_LOCATION );
-
-  view.ReplaceTextFromTo( 0, 11, styledText );
-
-  DALI_TEST_EQUALS( view.GetText(), std::string("Hello "), TEST_LOCATION );
-}
-
-static void UtcDaliTextViewSnapshotEnable()
-{
-  tet_infoline("UtcDaliTextViewSnapshotEnable: ");
-  ToolkitTestApplication application;
-
-  // Avoids the frame buffer texture to throw an exception.
-  application.GetGlAbstraction().SetCheckFramebufferStatusResult( GL_FRAMEBUFFER_COMPLETE );
-
-  TextView view = TextView::New( "Hel<font color='green'>lo world!</font> This <font color='green'>is</font> a sna<font color='green'>psho</font>t test." );
-
-  Stage::GetCurrent().Add( view );
-
-  view.SetSnapshotModeEnabled( true );  // VCC. By default the snapshot mode should be enabled but it has been temporary disabled.
-                                        // This line should be removed when text-view is set to use the snapshot mode by default.
-
-  // Snapshot is enabled by default.
-  DALI_TEST_CHECK( view.IsSnapshotModeEnabled() );
-
-  application.SendNotification();
-  application.Render();
-
-  // TextView should have only two actors:
-  // the root (Actor) and the image (ImageActor).
-
-  DALI_TEST_EQUALS( view.GetChildCount(), 2u, TEST_LOCATION );
-
-  view.SetSnapshotModeEnabled( false );
-  DALI_TEST_CHECK( !view.IsSnapshotModeEnabled() );
-
-  application.SendNotification();
-  application.Render();
-
-  // TextView should have one text-actor per word.
-
-  DALI_TEST_EQUALS( view.GetChildCount(), 7u, TEST_LOCATION );
-}
-
-static void UtcDaliTextViewScroll()
-{
-  tet_infoline("UtcDaliTextViewScroll: ");
-  ToolkitTestApplication application;
-
-  // Avoids the frame buffer texture to throw an exception.
-  application.GetGlAbstraction().SetCheckFramebufferStatusResult( GL_FRAMEBUFFER_COMPLETE );
-
-  TextView view = TextView::New( "Hello world! This is a scroll test." );
-  view.SetSize( 100.f, 100.f );
-  view.SetSnapshotModeEnabled( false );
-
-  Stage::GetCurrent().Add( view );
-
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_CHECK( !view.IsScrollEnabled() ); // Scroll should be disabled by default.
-
-  view.SetScrollEnabled( true );
-  view.ScrolledSignal().Connect( &TestTextScrolled );
-
-  DALI_TEST_CHECK( view.IsScrollEnabled() );
-  DALI_TEST_CHECK( view.IsSnapshotModeEnabled() ); // Scroll should enable snapshot mode.
-
-  gTextScrolled = false;
-  gScrollDelta = Vector2::ZERO;
-  view.SetScrollPosition( Vector2( 400.f, 400.f ) );
-
-  application.SendNotification();
-  application.Render();
-
-  const Vector2& scrollPosition = view.GetScrollPosition();
-  DALI_TEST_EQUALS( scrollPosition, Vector2( 149.153656f, 0.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-
-  DALI_TEST_CHECK( gTextScrolled );
-  DALI_TEST_EQUALS( gScrollDelta, Vector2( 149.153656f, 0.f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-
-  DALI_TEST_CHECK( view.IsScrollPositionTrimmed() );
-}
-
-static void UtcDaliTextViewSetProperty()
-{
-  tet_infoline("UtcDaliTextViewSetAndGetText: ");
-  ToolkitTestApplication application;
-
-  TextView view = TextView::New( "Hello world!" );
-  Stage::GetCurrent().Add( view );
-
-  //Test multiline policy property
-  view.SetProperty(view.GetPropertyIndex(PROPERTY_MULTILINE_POLICY), "SplitByNewLineChar");
-  DALI_TEST_CHECK( Toolkit::TextView::SplitByNewLineChar == view.GetMultilinePolicy() );
-
-  view.SetProperty(view.GetPropertyIndex(PROPERTY_MULTILINE_POLICY), "SplitByWord");
-  DALI_TEST_CHECK( Toolkit::TextView::SplitByWord == view.GetMultilinePolicy() );
-
-  view.SetProperty(view.GetPropertyIndex(PROPERTY_MULTILINE_POLICY), "SplitByChar");
-  DALI_TEST_CHECK( Toolkit::TextView::SplitByChar == view.GetMultilinePolicy() );
-
-  //Test width exceed policy property
-  view.SetProperty(view.GetPropertyIndex(PROPERTY_WIDTH_EXCEED_POLICY), "Original");
-  view.SetProperty(view.GetPropertyIndex(PROPERTY_HEIGHT_EXCEED_POLICY), "Original");
-  DALI_TEST_CHECK( Toolkit::TextView::Original == view.GetWidthExceedPolicy() );
-  DALI_TEST_CHECK( Toolkit::TextView::Original == view.GetHeightExceedPolicy() );
-
-  view.SetProperty(view.GetPropertyIndex(PROPERTY_WIDTH_EXCEED_POLICY), "Fade");
-  view.SetProperty(view.GetPropertyIndex(PROPERTY_HEIGHT_EXCEED_POLICY), "Fade");
-  DALI_TEST_CHECK( Toolkit::TextView::Fade == view.GetWidthExceedPolicy() );
-  DALI_TEST_CHECK( Toolkit::TextView::Fade == view.GetHeightExceedPolicy() );
-
-  view.SetProperty(view.GetPropertyIndex(PROPERTY_WIDTH_EXCEED_POLICY), "ShrinkToFit");
-  view.SetProperty(view.GetPropertyIndex(PROPERTY_HEIGHT_EXCEED_POLICY), "ShrinkToFit");
-  DALI_TEST_CHECK( Toolkit::TextView::ShrinkToFit == view.GetWidthExceedPolicy() );
-  DALI_TEST_CHECK( Toolkit::TextView::ShrinkToFit == view.GetHeightExceedPolicy() );
-
-  //Test line justification property
-  view.SetProperty(view.GetPropertyIndex(PROPERTY_LINE_JUSTIFICATION), "Left");
-  DALI_TEST_CHECK( Toolkit::TextView::Left == view.GetLineJustification() );
-
-  view.SetProperty(view.GetPropertyIndex(PROPERTY_LINE_JUSTIFICATION), "Center");
-  DALI_TEST_CHECK( Toolkit::TextView::Center == view.GetLineJustification() );
-
-  view.SetProperty(view.GetPropertyIndex(PROPERTY_LINE_JUSTIFICATION), "Right");
-  DALI_TEST_CHECK( Toolkit::TextView::Right == view.GetLineJustification() );
-
-  view.SetProperty(view.GetPropertyIndex(PROPERTY_LINE_JUSTIFICATION), "Justified");
-  DALI_TEST_CHECK( Toolkit::TextView::Justified == view.GetLineJustification() );
-
-  //Test fade boundary property
-  unsigned int testValue = 23;
-  PixelSize leftFadeBoundary(testValue);
-  view.SetProperty(view.GetPropertyIndex(PROPERTY_FADE_BOUNDARY_LEFT), testValue);
-  DALI_TEST_CHECK( leftFadeBoundary == view.GetFadeBoundary().mLeft );
-
-  testValue = 26;
-  PixelSize rightFadeBoundary(testValue);
-  view.SetProperty(view.GetPropertyIndex(PROPERTY_FADE_BOUNDARY_RIGHT), testValue);
-  DALI_TEST_CHECK( rightFadeBoundary == view.GetFadeBoundary().mRight );
-
-  testValue = 2;
-  PixelSize topFadeBoundary(testValue);
-  view.SetProperty(view.GetPropertyIndex(PROPERTY_FADE_BOUNDARY_TOP), testValue);
-  DALI_TEST_CHECK( topFadeBoundary == view.GetFadeBoundary().mTop );
-
-  testValue = 11;
-  PixelSize bottomFadeBoundary(testValue);
-  view.SetProperty(view.GetPropertyIndex(PROPERTY_FADE_BOUNDARY_BOTTOM), testValue);
-  DALI_TEST_CHECK( bottomFadeBoundary == view.GetFadeBoundary().mBottom );
-
-  //Test Line height offset property
-  float testOffsetValue = 14.04f;
-  view.SetProperty(view.GetPropertyIndex(PROPERTY_LINE_HEIGHT_OFFSET), testOffsetValue);
-  DALI_TEST_CHECK( PointSize(testOffsetValue) == view.GetLineHeightOffset() );
-
-  //Test alignment property
-  view.SetProperty(view.GetPropertyIndex(PROPERTY_HORIZONTAL_ALIGNMENT), "HorizontalLeft");
-  view.SetProperty(view.GetPropertyIndex(PROPERTY_VERTICAL_ALIGNMENT), "VerticalTop");
-  DALI_TEST_CHECK( (Toolkit::Alignment::HorizontalLeft | Toolkit::Alignment::VerticalTop) == view.GetTextAlignment() );
-}
-
-static void UtcDaliTextViewSetSortModifier()
-{
-  tet_infoline("UtcDaliTextViewSetAndGetText: ");
-  ToolkitTestApplication application;
-
-  TextView view = TextView::New( "Hello world!" );
-  Stage::GetCurrent().Add( view );
-
-  view.SetSortModifier( 10.f );
-  view.SetSnapshotModeEnabled( false );
-
-  application.SendNotification();
-  application.Render();
-
-  DALI_TEST_EQUALS( RenderableActor::DownCast(view.GetChildAt(0)).GetSortModifier(), 10.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-}
-
-static void UtcDaliTextViewUnderlineText()
-{
-  std::cout << "##############################" << std::endl;
-
-  tet_infoline("UtcDaliTextViewUnderlineText: ");
-  ToolkitTestApplication application;
-
-  TextView textView = TextView::New( "<u><font size='10'>gg<font size='14'>gg<font size='18'>gg<font size='22'>gg</font>gg</font>gg</font>gg</font></u>" );
-  textView.SetSnapshotModeEnabled( false );
-
-  textView.SetSize( 150.f, 100.f );
-
-  Stage::GetCurrent().Add( textView );
-
-  application.SendNotification();
-  application.Render();
-
-  std::vector<float> positions;
-  positions.push_back( 6.448784f );
-  positions.push_back( 9.862847f );
-  positions.push_back( 13.276909f );
-  positions.push_back( 16.690973f );
-  positions.push_back( 13.276909f );
-  positions.push_back( 9.862847f );
-  positions.push_back( 6.448784f );
-
-  for( std::size_t index = 0, num = textView.GetChildCount(); index < num; ++index )
-  {
-    TextStyle style = TextActor::DownCast( textView.GetChildAt(index) ).GetTextStyle();
-
-    DALI_TEST_EQUALS( 4.17274f, style.GetUnderlineThickness(), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-    DALI_TEST_EQUALS( positions[index], style.GetUnderlinePosition(), Math::MACHINE_EPSILON_1000, TEST_LOCATION );
-  }
-}
diff --git a/automated-tests/TET/dali-test-suite/toolbar/.gitignore b/automated-tests/TET/dali-test-suite/toolbar/.gitignore
deleted file mode 100644 (file)
index 3434380..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-utc-Dali-Alignment
-utc-Dali-ToolBar
diff --git a/automated-tests/TET/dali-test-suite/toolbar/Makefile b/automated-tests/TET/dali-test-suite/toolbar/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/toolbar/file.list b/automated-tests/TET/dali-test-suite/toolbar/file.list
deleted file mode 100644 (file)
index 3182196..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGETS += \
-       utc-Dali-ToolBar \
diff --git a/automated-tests/TET/dali-test-suite/toolbar/tslist b/automated-tests/TET/dali-test-suite/toolbar/tslist
deleted file mode 100644 (file)
index 70926d4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/dali-test-suite/toolbar/utc-Dali-ToolBar
diff --git a/automated-tests/TET/dali-test-suite/toolbar/utc-Dali-ToolBar.cpp b/automated-tests/TET/dali-test-suite/toolbar/utc-Dali-ToolBar.cpp
deleted file mode 100644 (file)
index 37493c1..0000000
+++ /dev/null
@@ -1,288 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/integration-api/events/touch-event-integ.h>
-#include <dali/dali.h>
-#include <dali-toolkit/dali-toolkit.h>
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-namespace
-{
-static bool gObjectCreatedCallBackCalled;
-
-static void TestCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-}
-} // namespace
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliToolBarNew, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliToolBarSetBackground, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliToolBarAddControl01, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliToolBarAddControl02, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliToolBarRemoveControl01, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliToolBarRemoveControl02, NEGATIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-
-static void UtcDaliToolBarNew()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliToolBarNew");
-
-  ToolBar toolbar;
-
-  DALI_TEST_CHECK( !toolbar );
-
-  toolbar = ToolBar::New();
-
-  DALI_TEST_CHECK( toolbar );
-
-  ToolBar toolbar2(toolbar);
-
-  DALI_TEST_CHECK( toolbar2 == toolbar );
-
-  //Additional check to ensure object is created by checking if it's registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect(&TestCallback);
-  {
-    ToolBar toolbar = ToolBar::New();
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-
-  Actor actor = toolbar;
-  toolbar == ToolBar::DownCast( actor );
-
-  DALI_TEST_CHECK( toolbar );
-}
-
-static void UtcDaliToolBarSetBackground()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliToolBarSetBackground");
-
-  try
-  {
-    ImageActor toolBarBackground = CreateSolidColorActor( Color::RED );
-
-    ToolBar toolbar = ToolBar::New();
-    toolbar.SetBackground( toolBarBackground );
-
-    Stage::GetCurrent().Add( toolbar );
-  }
-  catch( ... )
-  {
-    tet_result(TET_FAIL);
-  }
-
-  tet_result(TET_PASS);
-
-  application.SendNotification(); // VCC To be removed!!
-  application.Render();     // VCC To be removed!!
-}
-
-static void UtcDaliToolBarAddControl01()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliToolBarAddControl01");
-
-  try
-  {
-    ImageActor control1 = CreateSolidColorActor( Color::RED );
-    control1.SetSize( 100.f, 100.f );
-    ImageActor control2 = CreateSolidColorActor( Color::RED );
-    control2.SetSize( 100.f, 100.f );
-    ImageActor control3 = CreateSolidColorActor( Color::RED );
-    control3.SetSize( 100.f, 100.f );
-    ImageActor control4 = CreateSolidColorActor( Color::RED );
-    control4.SetSize( 100.f, 100.f );
-    ImageActor control5 = CreateSolidColorActor( Color::RED );
-    control5.SetSize( 100.f, 100.f );
-
-    ToolBar toolbar = ToolBar::New();
-    toolbar.SetSize( 600.f, 100.f );
-
-    application.Render();
-    application.SendNotification();
-    application.Render();
-    application.SendNotification();
-
-    toolbar.Add( control1 );
-    toolbar.AddControl( control2, 0.1f, Alignment::HorizontalLeft, Alignment::Padding( 1.f, 1.f, 1.f, 1.f ) );
-    toolbar.AddControl( control3, 0.1f, Alignment::HorizontalCenter, Alignment::Padding( 1.f, 1.f, 1.f, 1.f ) );
-    toolbar.AddControl( control4, 0.1f, Alignment::HorizontalCenter, Alignment::Padding( 1.f, 1.f, 1.f, 1.f ) );
-    toolbar.AddControl( control5, 0.1f, Alignment::HorizontalRight, Alignment::Padding( 1.f, 1.f, 1.f, 1.f ) );
-
-    ImageActor control6 = CreateSolidColorActor( Color::RED );
-    control6.SetSize( 100.f, 100.f );
-    ImageActor control7 = CreateSolidColorActor( Color::RED );
-    control7.SetSize( 100.f, 100.f );
-    ImageActor control8 = CreateSolidColorActor( Color::RED );
-    control8.SetSize( 100.f, 100.f );
-
-    application.Render();
-    application.SendNotification();
-    application.Render();
-    application.SendNotification();
-
-    toolbar.AddControl( control6, 0.4f, Alignment::HorizontalLeft, Alignment::Padding( 1.f, 1.f, 1.f, 1.f ) );
-    toolbar.AddControl( control7, 0.2f, Alignment::HorizontalCenter, Alignment::Padding( 1.f, 1.f, 1.f, 1.f ) );
-    toolbar.AddControl( control8, 0.2f, Alignment::HorizontalRight, Alignment::Padding( 1.f, 1.f, 1.f, 1.f ) );
-  }
-  catch( ... )
-  {
-    tet_result(TET_FAIL);
-  }
-
-  tet_result(TET_PASS);
-}
-
-static void UtcDaliToolBarAddControl02()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliToolBarAddControl02");
-
-  bool daliAssert = false;
-
-  try
-  {
-    ImageActor control = CreateSolidColorActor( Color::RED );
-
-    ToolBar toolbar = ToolBar::New();
-
-    toolbar.AddControl( control, 0.1f, static_cast<Alignment::Type>( 99 ), Alignment::Padding( 1.f, 1.f, 1.f, 1.f ) );
-  }
-  catch( DaliException e )
-  {
-    daliAssert = true;
-    tet_result(TET_PASS);
-  }
-  catch( ... )
-  {
-    tet_result(TET_FAIL);
-  }
-
-  if( !daliAssert )
-  {
-    tet_result(TET_FAIL);
-  }
-}
-
-static void UtcDaliToolBarRemoveControl01()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliToolBarRemoveControl01");
-
-  try
-  {
-    ImageActor control = CreateSolidColorActor( Color::RED );
-
-    ToolBar toolbar = ToolBar::New();
-    toolbar.AddControl( control, 0.1f, Alignment::HorizontalLeft );
-
-    toolbar.RemoveControl( control );
-  }
-  catch( ... )
-  {
-    tet_result(TET_FAIL);
-  }
-
-  tet_result(TET_PASS);
-}
-
-static void UtcDaliToolBarRemoveControl02()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliToolBarRemoveControl02");
-
-  try
-  {
-    ImageActor control01 = CreateSolidColorActor( Color::RED );
-    ImageActor control02 = CreateSolidColorActor( Color::RED );
-
-    ToolBar toolbar01 = ToolBar::New();
-    ToolBar toolbar02 = ToolBar::New();
-    toolbar01.AddControl( control01, 0.1f, Alignment::HorizontalLeft );
-    toolbar02.AddControl( control02, 0.1f, Alignment::HorizontalLeft );
-
-    toolbar02.RemoveControl( control01 );
-  }
-  catch( Dali::DaliException& e )
-  {
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_EQUALS(e.mCondition, "false", TEST_LOCATION);
-  }
-  catch( ... )
-  {
-    tet_result(TET_FAIL);
-  }
-
-  try
-  {
-    ImageActor control = CreateSolidColorActor( Color::RED );
-
-    ToolBar toolbar = ToolBar::New();
-    toolbar.AddControl( control, 0.1f, Alignment::HorizontalLeft );
-
-    toolbar.RemoveControl( control );
-    toolbar.RemoveControl( control );
-  }
-  catch( ... )
-  {
-    tet_result(TET_FAIL);
-  }
-
-  tet_result(TET_PASS);
-}
diff --git a/automated-tests/TET/dali-test-suite/transition-effects/.gitignore b/automated-tests/TET/dali-test-suite/transition-effects/.gitignore
deleted file mode 100644 (file)
index a0f6f7c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-utc-Dali-CubeTransitionEffect
-utc-Dali-CubeTransitionWaveEffect
-utc-Dali-CubeTransitionCrossEffect
diff --git a/automated-tests/TET/dali-test-suite/transition-effects/Makefile b/automated-tests/TET/dali-test-suite/transition-effects/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/transition-effects/file.list b/automated-tests/TET/dali-test-suite/transition-effects/file.list
deleted file mode 100644 (file)
index d1d503d..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGETS += \
-        utc-Dali-CubeTransitionEffect \
diff --git a/automated-tests/TET/dali-test-suite/transition-effects/tslist b/automated-tests/TET/dali-test-suite/transition-effects/tslist
deleted file mode 100644 (file)
index 665718d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/dali-test-suite/transition-effects/utc-Dali-CubeTransitionEffect
diff --git a/automated-tests/TET/dali-test-suite/transition-effects/utc-Dali-CubeTransitionEffect.cpp b/automated-tests/TET/dali-test-suite/transition-effects/utc-Dali-CubeTransitionEffect.cpp
deleted file mode 100644 (file)
index 5c5ab27..0000000
+++ /dev/null
@@ -1,965 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-
-#include <dali-toolkit/public-api/transition-effects/cube-transition-effect.h>
-#include <dali-toolkit/public-api/transition-effects/cube-transition-wave-effect.h>
-#include <dali-toolkit/public-api/transition-effects/cube-transition-cross-effect.h>
-#include <dali-toolkit/public-api/transition-effects/cube-transition-fold-effect.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-namespace
-{
-const unsigned int NUM_ROWS = 16;
-const unsigned int NUM_COLUMNS = 10;
-const Vector2 VIEW_AREA_SIZE( 480.0f, 800.0f );
-const float TRANSITION_DURATION = 0.5f;
-const float CUBE_DISPLACEMENT = 55.f;
-const Vector2 PAN_POSITION1( VIEW_AREA_SIZE.x * 0.75f, VIEW_AREA_SIZE.y * 0.25f );
-const Vector2 PAN_DISPLACEMENT1( -5.f, 5.f );
-const Vector2 PAN_POSITION2( VIEW_AREA_SIZE.x * 0.25f, VIEW_AREA_SIZE.y * 0.75f );
-const Vector2 PAN_DISPLACEMENT2( 5.f, 5.f );
-const int RENDER_FRAME_INTERVAL = 16;
-static const float ROTATION_EPSILON = 0.0001f;
-const float OFFSCREEN_RENDER_DURATION = 0.05f;
-
-static bool gObjectCreatedCallBackCalled;
-static void TestCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-}
-
-/**
- * Simulate time passed by, waiting for certain process to finish
- * @param[in] application Test application instance
- * @param[in] durationToPass Time to pass in milliseconds.
- */
-void Wait(ToolkitTestApplication& application, float durationToPass)
-{
-  int duration = static_cast<int>(durationToPass*1000.f);
-  // wait 2 more frames to compensate the two frames used by the bitmapImage waiting for the loading succeeded signal
-  for(int i = 0; i <=  duration/RENDER_FRAME_INTERVAL+2 ; i++)
-  {
-    application.SendNotification();
-    application.Render(RENDER_FRAME_INTERVAL);
-  }
-}
-
-
-ImageActor CreateSolidColorImageActor( ToolkitTestApplication& application, const Vector4& color, unsigned int width, unsigned int height )
-{
-  BitmapImage imageData = BitmapImage::New( width, height, Pixel::RGBA8888 );
-  ImageActor imageActor = ImageActor::New( imageData );
-  Stage::GetCurrent().Add( imageActor );
-
-  // Create the image
-  PixelBuffer* pixbuf = imageData.GetBuffer();
-  unsigned int size = width * height;
-
-  for( size_t i = 0; i < size; i++ )
-    {
-      pixbuf[i*4+0] = 0xFF * color.r;
-      pixbuf[i*4+1] = 0xFF * color.g;
-      pixbuf[i*4+2] = 0xFF * color.b;
-      pixbuf[i*4+3] = 0xFF * color.a;
-    }
-  imageData.Update();
-
-  application.GetGlAbstraction().SetCheckFramebufferStatusResult(GL_FRAMEBUFFER_COMPLETE );
-  application.SendNotification();
-  application.Render(RENDER_FRAME_INTERVAL);
-  application.Render(RENDER_FRAME_INTERVAL);
-  application.SendNotification();
-
-  return imageActor;
-}
-
-//Callback class to test whether transition completed signal is emitted when the transition animation is finished
-class TransitionCompletedCallback : public Dali::ConnectionTracker
-{
-public:
-  TransitionCompletedCallback( bool& signalReceived, CubeTransitionEffect& effect, ImageActor& imageActor )
-  : mSignalVerified( signalReceived ),
-    mCurrentEffect( effect ),
-    mActorTransitTo( imageActor )
-  {
-  }
-
-  void Callback( CubeTransitionEffect effect, ImageActor imageActor )
-  {
-    tet_infoline( "Verifying TransitionCompletedSignal" );
-
-    if( mCurrentEffect == effect && mActorTransitTo == imageActor )
-    {
-      mSignalVerified = true;
-    }
-  }
-
-  void Reset()
-  {
-    mSignalVerified = false;
-  }
-
-  bool&                  mSignalVerified;
-  CubeTransitionEffect&  mCurrentEffect;
-  ImageActor&            mActorTransitTo;
-};
-
-} // namespace
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliCubeTransitionWaveEffectNew,                       POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliCubeTransitionCrossEffectNew,                      POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliCubeTransitionFoldEffectNew,                       POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliCubeTransitionEffectSetGetTransitionDuration,      POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliCubeTransitionEffectSetGetCubeDisplacement,        POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliCubeTransitionEffectGetRoot,                       POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliCubeTransitionEffectIsTransiting,                  POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliCubeTransitionEffectSetCurrentImage,               POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliCubeTransitionEffectSetTargetImage,                POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliCubeTransitionWaveEffectStartTransition,           POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliCubeTransitionCrossEffectStartTransition,          POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliCubeTransitionFoldEffectStartTransition,           POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliCubeTransitionEffectSignalTransitionCompleted,     POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliCubeTransitionEffectPauseResumeTransition,         POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliCubeTransitionWaveEffectStopTransition,            POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliCubeTransitionCrossEffectStopTransition,           POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliCubeTransitionFoldEffectStopTransition,            POSITIVE_TC_IDX );
-
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliCubeTransitionWaveEffectNew()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliCubeTransitionWaveEffectNew ");
-
-  CubeTransitionEffect waveEffect;
-
-  DALI_TEST_CHECK( !waveEffect );
-
-  waveEffect = CubeTransitionWaveEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-
-  DALI_TEST_CHECK( waveEffect );
-
-  waveEffect = NULL;
-
-  //Additional check to ensure object is created by checking if it's registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect( &TestCallback );
-  {
-    CubeTransitionEffect waveEffect = CubeTransitionWaveEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-}
-
-static void UtcDaliCubeTransitionCrossEffectNew()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliCubeTransitionCrossEffectNew ");
-
-  CubeTransitionEffect crossEffect;
-
-  DALI_TEST_CHECK( !crossEffect );
-
-  crossEffect = CubeTransitionCrossEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-
-  DALI_TEST_CHECK( crossEffect );
-
-  crossEffect = NULL;
-
-  //Additional check to ensure object is created by checking if it's registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect( &TestCallback );
-  {
-    CubeTransitionEffect crossEffect = CubeTransitionCrossEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-}
-
-static void UtcDaliCubeTransitionFoldEffectNew()
-{
-  ToolkitTestApplication application;
-  tet_infoline( " UtcDaliCubeTransitionFoldEffectNew " );
-
-  CubeTransitionEffect foldEffect;
-
-  DALI_TEST_CHECK( !foldEffect );
-
-  foldEffect = CubeTransitionFoldEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-
-  DALI_TEST_CHECK( foldEffect );
-
-  foldEffect = NULL;
-
-  //Additional check to ensure object is created by checking if it is registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect( &TestCallback );
-  {
-    CubeTransitionEffect foldEffect = CubeTransitionFoldEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-}
-
-static void UtcDaliCubeTransitionEffectSetGetTransitionDuration()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliCubeTransitionEffectSetGetTransitionDuration ");
-
-  CubeTransitionEffect waveEffect = CubeTransitionWaveEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  waveEffect.SetTransitionDuration( TRANSITION_DURATION );
-  DALI_TEST_EQUALS( TRANSITION_DURATION, waveEffect.GetTransitionDuration(), TEST_LOCATION );
-
-  CubeTransitionEffect crossEffect = CubeTransitionCrossEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  crossEffect.SetTransitionDuration( TRANSITION_DURATION );
-  DALI_TEST_EQUALS( TRANSITION_DURATION, crossEffect.GetTransitionDuration(), TEST_LOCATION );
-
-  CubeTransitionEffect foldEffect = CubeTransitionFoldEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  foldEffect.SetTransitionDuration( TRANSITION_DURATION );
-  DALI_TEST_EQUALS( TRANSITION_DURATION, foldEffect.GetTransitionDuration(), TEST_LOCATION );
-}
-
-static void UtcDaliCubeTransitionEffectSetGetCubeDisplacement()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliCubeTransitionEffectSetGetTransitionDuration ");
-
-  CubeTransitionEffect waveEffect = CubeTransitionWaveEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  waveEffect.SetCubeDisplacement( CUBE_DISPLACEMENT );
-  DALI_TEST_EQUALS( CUBE_DISPLACEMENT, waveEffect.GetCubeDisplacement(), TEST_LOCATION );
-
-  CubeTransitionEffect crossEffect = CubeTransitionCrossEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  crossEffect.SetCubeDisplacement( CUBE_DISPLACEMENT );
-  DALI_TEST_EQUALS( CUBE_DISPLACEMENT, crossEffect.GetCubeDisplacement(), TEST_LOCATION );
-
-  //Cube displacement is not used in CubeTransitionFoldEffect
-}
-
-//Test common codes in base class
-static void UtcDaliCubeTransitionEffectGetRoot()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliCubeTransitionEffectGetRoot ");
-
-  unsigned int totalNum = NUM_ROWS*NUM_COLUMNS;
-
-  CubeTransitionEffect waveEffect = CubeTransitionWaveEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  Actor rootActor = waveEffect.GetRoot();
-
-  // check that we have a total of NUM_ROWS*NUM_COLUMNS cubes;
-  DALI_TEST_CHECK( totalNum == rootActor.GetChildCount() );
-
-  // check that every cube has two children
-  DALI_TEST_CHECK( 2 == rootActor.GetChildAt(0).GetChildCount() );
-  DALI_TEST_CHECK( 2 == rootActor.GetChildAt(totalNum/2).GetChildCount() );
-  DALI_TEST_CHECK( 2 == rootActor.GetChildAt(totalNum-1).GetChildCount() );
-}
-
-static void UtcDaliCubeTransitionEffectIsTransiting()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliCubeTransitionEffectIsTransiting ");
-
-  ImageActor imageActor = CreateSolidColorImageActor(application, Color::BLUE,30,30);
-
-  CubeTransitionEffect waveEffect = CubeTransitionWaveEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  Actor rootActor = waveEffect.GetRoot();
-  Stage::GetCurrent().Add( rootActor );
-
-  waveEffect.SetTransitionDuration( TRANSITION_DURATION );
-  waveEffect.SetCubeDisplacement( CUBE_DISPLACEMENT );
-  DALI_TEST_CHECK( !waveEffect.IsTransiting() );
-
-  waveEffect.SetCurrentImage(imageActor);
-  waveEffect.SetTargetImage(imageActor);
-  //transition is started
-  waveEffect.StartTransition();
-  DALI_TEST_CHECK( waveEffect.IsTransiting() );
-  //transition is finished
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_CHECK( !waveEffect.IsTransiting() );
-
-  CubeTransitionEffect crossEffect = CubeTransitionCrossEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  crossEffect.SetTransitionDuration( TRANSITION_DURATION );
-  crossEffect.SetCubeDisplacement( CUBE_DISPLACEMENT );
-  DALI_TEST_CHECK( !crossEffect.IsTransiting() );
-
-  crossEffect.SetCurrentImage(imageActor);
-  crossEffect.SetTargetImage(imageActor);
-  //transition is started
-  crossEffect.StartTransition(false);
-  DALI_TEST_CHECK( crossEffect.IsTransiting() );
-  //transition is finished
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_CHECK( !crossEffect.IsTransiting() );
-
-  CubeTransitionEffect foldEffect = CubeTransitionFoldEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  foldEffect.SetTransitionDuration( TRANSITION_DURATION );
-  DALI_TEST_CHECK( !foldEffect.IsTransiting() );
-
-  foldEffect.SetCurrentImage( imageActor );
-  foldEffect.SetTargetImage( imageActor );
-  //transition is started
-  foldEffect.StartTransition(true);
-  DALI_TEST_CHECK(foldEffect.IsTransiting() );
-  //transition is finished
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_CHECK( !foldEffect.IsTransiting() );
-
-}
-
-//Test common codes in base class
-static void UtcDaliCubeTransitionEffectSetCurrentImage()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliCubeTransitionEffectSetCurrentImage ");
-
-  ImageActor imageActor = CreateSolidColorImageActor(application, Color::BLUE,40,40) ;
-
-  CubeTransitionEffect waveEffect = CubeTransitionWaveEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  waveEffect.SetCurrentImage( imageActor );
-
-  // the current image content is set to the tiles facing the camera
-  ImageActor tile = ImageActor::DownCast( (waveEffect.GetRoot().GetChildAt(0).GetChildAt(0)));
-
-  //check the pixel area set to the cube
-  ImageActor::PixelArea pixelAreaDef( 0, 0, VIEW_AREA_SIZE.x / NUM_COLUMNS, VIEW_AREA_SIZE.y / NUM_ROWS);
-  ImageActor::PixelArea pixelArea = tile.GetPixelArea();
-  DALI_TEST_CHECK ( pixelAreaDef == pixelArea );
-
-  //check the size of the off screen rendered image
-  Wait( application, OFFSCREEN_RENDER_DURATION );
-  ImageAttributes attributes( tile.GetImage().GetAttributes() );
-  DALI_TEST_EQUALS( static_cast<float>(attributes.GetWidth()), VIEW_AREA_SIZE.x, TEST_LOCATION  );
-  DALI_TEST_EQUALS( static_cast<float>(attributes.GetHeight()), VIEW_AREA_SIZE.y, TEST_LOCATION  );
-}
-
-//Test common codes in base class
-static void UtcDaliCubeTransitionEffectSetTargetImage()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliCubeTransitionEffectSetTargetImage ");
-
- ImageActor imageActor = CreateSolidColorImageActor(application, Color::BLUE,30,30);
-
-  CubeTransitionEffect waveEffect = CubeTransitionWaveEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  Actor rootActor = waveEffect.GetRoot();
-  Stage::GetCurrent().Add( rootActor );
-
-  waveEffect.SetCurrentImage( imageActor );
-  waveEffect.SetTargetImage( imageActor );
-
-  // the target image content is set to the tiles currently invisible to the camera
-  ImageActor tile = ImageActor::DownCast( (rootActor.GetChildAt(0).GetChildAt(1)));
-
-  //check the pixel area set to the cube
-  ImageActor::PixelArea pixelAreaDef( 0, 0, VIEW_AREA_SIZE.x / NUM_COLUMNS, VIEW_AREA_SIZE.y / NUM_ROWS);
-  ImageActor::PixelArea pixelArea = tile.GetPixelArea();
-  DALI_TEST_CHECK ( pixelAreaDef == pixelArea );
-
-  //check the size of the off screen rendered image
-  Wait( application, OFFSCREEN_RENDER_DURATION );
-  ImageAttributes attributes( tile.GetImage().GetAttributes() );
-  DALI_TEST_EQUALS( static_cast<float>(attributes.GetWidth()), VIEW_AREA_SIZE.x, TEST_LOCATION  );
-  DALI_TEST_EQUALS( static_cast<float>(attributes.GetHeight()), VIEW_AREA_SIZE.y, TEST_LOCATION  );
-}
-
-static void UtcDaliCubeTransitionWaveEffectStartTransition()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliCubeTransitionWaveEffectStartTransition ");
-
-  ImageActor imageActor = CreateSolidColorImageActor(application, Color::BLUE,30,30);
-
-  CubeTransitionEffect waveEffect = CubeTransitionWaveEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  waveEffect.SetTransitionDuration( TRANSITION_DURATION );
-  waveEffect.SetCubeDisplacement( CUBE_DISPLACEMENT );
-  Actor rootActor = waveEffect.GetRoot();
-  Stage::GetCurrent().Add( rootActor );
-  Actor cube = rootActor.GetChildAt(0);
-
-  waveEffect.SetCurrentImage( imageActor );
-
-  Vector4 fullBrightness = Vector4(1.f,1.f,1.f,1.f);
-  Vector4 halfBrightness = Vector4(0.5f, 0.5f, 0.5f, 1.f);
-
-  //check the cube rotation value and color values after different transitions
-  waveEffect.SetTargetImage( imageActor );
-  waveEffect.StartTransition(true);
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_EQUALS( cube.GetCurrentRotation(), Quaternion( -Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube.GetChildAt(0).GetCurrentColor() == halfBrightness );
-  DALI_TEST_CHECK( cube.GetChildAt(1).GetCurrentColor() == fullBrightness );
-
-  waveEffect.SetTargetImage( imageActor );
-  waveEffect.StartTransition(PAN_POSITION1, PAN_DISPLACEMENT1);
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_EQUALS( cube.GetCurrentRotation(), Quaternion( -2.f*Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube.GetChildAt(0).GetCurrentColor() == fullBrightness );
-  DALI_TEST_CHECK( cube.GetChildAt(1).GetCurrentColor() == halfBrightness );
-
-  waveEffect.SetTargetImage( imageActor );
-  waveEffect.StartTransition(false);
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_EQUALS( cube.GetCurrentRotation(), Quaternion( -Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube.GetChildAt(0).GetCurrentColor() == halfBrightness );
-  DALI_TEST_CHECK( cube.GetChildAt(1).GetCurrentColor() == fullBrightness );
-
-  waveEffect.SetTargetImage( imageActor );
-  waveEffect.StartTransition(PAN_POSITION2, PAN_DISPLACEMENT2);
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_EQUALS( cube.GetCurrentRotation(), Quaternion( 0.f,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube.GetChildAt(0).GetCurrentColor() == fullBrightness );
-  DALI_TEST_CHECK( cube.GetChildAt(1).GetCurrentColor() == halfBrightness );
-}
-
-static void UtcDaliCubeTransitionCrossEffectStartTransition()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliCubeTransitionCrossEffectStartTransition ");
-
-  ImageActor imageActor = CreateSolidColorImageActor(application, Color::BLUE,30,30);
-
-  CubeTransitionEffect crossEffect = CubeTransitionCrossEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  crossEffect.SetTransitionDuration( TRANSITION_DURATION );
-  crossEffect.SetCubeDisplacement( CUBE_DISPLACEMENT );
-  Actor rootActor = crossEffect.GetRoot();
-  Stage::GetCurrent().Add( rootActor );
-  crossEffect.SetCurrentImage( imageActor );
-  Actor cube0 = rootActor.GetChildAt(0);
-  Actor cube1 = rootActor.GetChildAt(1);
-
-  Vector4 fullBrightness = Vector4(1.f,1.f,1.f,1.f);
-  Vector4 halfBrightness = Vector4(0.5f, 0.5f, 0.5f, 1.f);
-
-  //check the cube rotation values and color values after different transitions
-  crossEffect.SetTargetImage( imageActor );
-  crossEffect.StartTransition(true);
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_EQUALS( cube1.GetCurrentRotation(), Quaternion( -Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_EQUALS( cube0.GetCurrentRotation(), Quaternion( Math::PI_2,  Vector3::XAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube0.GetChildAt(0).GetCurrentColor() == halfBrightness );
-  DALI_TEST_CHECK( cube0.GetChildAt(1).GetCurrentColor() == fullBrightness );
-
-  crossEffect.SetTargetImage( imageActor );
-  crossEffect.StartTransition(PAN_POSITION1, PAN_DISPLACEMENT1);
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_EQUALS( cube1.GetCurrentRotation(), Quaternion( -2.f*Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_EQUALS( cube0.GetCurrentRotation(), Quaternion( 2.f*Math::PI_2,  Vector3::XAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube0.GetChildAt(0).GetCurrentColor() == fullBrightness );
-  DALI_TEST_CHECK( cube0.GetChildAt(1).GetCurrentColor() == halfBrightness );
-
-
-  crossEffect.SetTargetImage( imageActor );
-  crossEffect.StartTransition(false);
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_EQUALS( cube1.GetCurrentRotation(), Quaternion( -Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_EQUALS( cube0.GetCurrentRotation(), Quaternion( Math::PI_2,  Vector3::XAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube0.GetChildAt(0).GetCurrentColor() == halfBrightness );
-  DALI_TEST_CHECK( cube0.GetChildAt(1).GetCurrentColor() == fullBrightness );
-
-  crossEffect.SetTargetImage( imageActor );
-  crossEffect.StartTransition(PAN_POSITION2, PAN_DISPLACEMENT2);
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_EQUALS( cube1.GetCurrentRotation(), Quaternion( 0.f,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_EQUALS( cube0.GetCurrentRotation(), Quaternion( 0.f,  Vector3::XAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube0.GetChildAt(0).GetCurrentColor() == fullBrightness );
-  DALI_TEST_CHECK( cube0.GetChildAt(1).GetCurrentColor() == halfBrightness );
-}
-
-static void UtcDaliCubeTransitionFoldEffectStartTransition()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliCubeTransitionFoldEffectStartTransition ");
-
-  ImageActor imageActor = CreateSolidColorImageActor(application, Color::BLUE,30,30);
-
-  CubeTransitionEffect foldEffect = CubeTransitionFoldEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  foldEffect.SetTransitionDuration( TRANSITION_DURATION );
-  Actor rootActor = foldEffect.GetRoot();
-  Stage::GetCurrent().Add( rootActor );
-  foldEffect.SetCurrentImage( imageActor );
-  Actor cube0 = rootActor.GetChildAt(0);
-  Actor cube1 = rootActor.GetChildAt(1);
-
-  Vector4 fullBrightness = Vector4(1.f,1.f,1.f,1.f);
-  Vector4 halfBrightness = Vector4(0.5f, 0.5f, 0.5f, 1.f);
-
-  //check the cube rotation values and color values after different transitions
-  foldEffect.SetTargetImage( imageActor );
-  foldEffect.StartTransition(true);
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_EQUALS( cube1.GetCurrentRotation(), Quaternion( -Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_EQUALS( cube0.GetCurrentRotation(), Quaternion( Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube0.GetChildAt(0).GetCurrentColor() == halfBrightness );
-  DALI_TEST_CHECK( cube0.GetChildAt(1).GetCurrentColor() == fullBrightness );
-
-  foldEffect.SetTargetImage( imageActor );
-  foldEffect.StartTransition(PAN_POSITION1, PAN_DISPLACEMENT1);
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_EQUALS( cube1.GetCurrentRotation(), Quaternion( -2.f*Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_EQUALS( cube0.GetCurrentRotation(), Quaternion( 2.f*Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube0.GetChildAt(0).GetCurrentColor() == fullBrightness );
-  DALI_TEST_CHECK( cube0.GetChildAt(1).GetCurrentColor() == halfBrightness );
-
-
-  foldEffect.SetTargetImage( imageActor );
-  foldEffect.StartTransition(false);
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_EQUALS( cube1.GetCurrentRotation(), Quaternion( -Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_EQUALS( cube0.GetCurrentRotation(), Quaternion( Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube0.GetChildAt(0).GetCurrentColor() == halfBrightness );
-  DALI_TEST_CHECK( cube0.GetChildAt(1).GetCurrentColor() == fullBrightness );
-
-  foldEffect.SetTargetImage( imageActor );
-  foldEffect.StartTransition(PAN_POSITION2, PAN_DISPLACEMENT2);
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_EQUALS( cube1.GetCurrentRotation(), Quaternion( 0.f,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_EQUALS( cube0.GetCurrentRotation(), Quaternion( 0.f,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube0.GetChildAt(0).GetCurrentColor() == fullBrightness );
-  DALI_TEST_CHECK( cube0.GetChildAt(1).GetCurrentColor() == halfBrightness );
-}
-
-static void UtcDaliCubeTransitionEffectSignalTransitionCompleted()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliCubeTransitionEffectSignalTransitionCompleted ");
-
-  ImageActor firstImageActor = CreateSolidColorImageActor(application, Color::RED,30,30);
-  ImageActor secondImageActor = CreateSolidColorImageActor(application, Color::GREEN,20,20);
-  ImageActor thirdImageActor = CreateSolidColorImageActor(application, Color::BLUE,40,40);
-
-  CubeTransitionEffect waveEffect = CubeTransitionWaveEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  waveEffect.SetTransitionDuration( TRANSITION_DURATION );
-  waveEffect.SetCubeDisplacement( CUBE_DISPLACEMENT );
-  Actor rootActor = waveEffect.GetRoot();
-  Stage::GetCurrent().Add( rootActor );
-
-  CubeTransitionEffect crossEffect = CubeTransitionCrossEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  crossEffect.SetTransitionDuration( TRANSITION_DURATION );
-  crossEffect.SetCubeDisplacement( CUBE_DISPLACEMENT );
-  rootActor = crossEffect.GetRoot();
-  Stage::GetCurrent().Add( rootActor );
-
-  CubeTransitionEffect foldEffect = CubeTransitionCrossEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  foldEffect.SetTransitionDuration( TRANSITION_DURATION );
-  rootActor = foldEffect.GetRoot();
-  Stage::GetCurrent().Add( rootActor );
-
-  bool signalVerified = false;
-  CubeTransitionEffect currentEffect;
-  ImageActor actorTransitTo;
-  TransitionCompletedCallback callback(signalVerified, currentEffect, actorTransitTo);
-  waveEffect.TransitionCompletedSignal().Connect( &callback, &TransitionCompletedCallback::Callback );
-  crossEffect.TransitionCompletedSignal().Connect( &callback, &TransitionCompletedCallback::Callback );
-  foldEffect.TransitionCompletedSignal().Connect( &callback, &TransitionCompletedCallback::Callback );
-
-  //check that the wave effect is used to transit to secondImageActor
-  currentEffect = waveEffect;
-  actorTransitTo = secondImageActor;
-  waveEffect.SetCurrentImage( firstImageActor );
-  waveEffect.SetTargetImage( secondImageActor );
-  waveEffect.StartTransition(PAN_POSITION1, PAN_DISPLACEMENT1);
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_CHECK(callback.mSignalVerified);
-  callback.Reset();
-
-  //check that the wave effect is used to transit to thirdImageActor
-  actorTransitTo = thirdImageActor;
-  waveEffect.SetTargetImage( thirdImageActor );
-  waveEffect.StartTransition(PAN_POSITION2, PAN_DISPLACEMENT2);
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_CHECK(callback.mSignalVerified);
-  callback.Reset();
-
-  //check that the cross effect is used to transit to secondImageActor
-  currentEffect = crossEffect;
-  actorTransitTo = secondImageActor;
-  crossEffect.SetCurrentImage( thirdImageActor );
-  crossEffect.SetTargetImage( secondImageActor );
-  crossEffect.StartTransition(true);
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_CHECK(callback.mSignalVerified);
-  callback.Reset();
-
-  //check that the cross effect is used to transit to firstImageActor
-  actorTransitTo = firstImageActor;
-  crossEffect.SetTargetImage( firstImageActor );
-  crossEffect.StartTransition(false);
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_CHECK(callback.mSignalVerified);
-  callback.Reset();
-
-  //check that the fold effect is used to transit to secondImageActor
-  currentEffect = foldEffect;
-  actorTransitTo = secondImageActor;
-  foldEffect.SetCurrentImage( firstImageActor );
-  foldEffect.SetTargetImage( secondImageActor );
-  foldEffect.StartTransition();
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_CHECK( callback.mSignalVerified );
-  callback.Reset();
-
-  //check that the fold effect is used to transit to thirdImageActor
-  actorTransitTo = thirdImageActor;
-  foldEffect.SetTargetImage( thirdImageActor );
-  foldEffect.StartTransition( false );
-  Wait( application, TRANSITION_DURATION );
-  DALI_TEST_CHECK( callback.mSignalVerified );
-}
-
-static void UtcDaliCubeTransitionEffectPauseResumeTransition()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliCubeTransitionEffectPauseResumeTransition ");
-
-  ImageActor firstImageActor = CreateSolidColorImageActor(application, Color::RED,30,30);
-  ImageActor secondImageActor = CreateSolidColorImageActor(application, Color::GREEN,20,20);
-
-  CubeTransitionEffect waveEffect = CubeTransitionWaveEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  waveEffect.SetTransitionDuration( TRANSITION_DURATION );
-  waveEffect.SetCubeDisplacement( CUBE_DISPLACEMENT );
-  Actor rootActor = waveEffect.GetRoot();
-  Stage::GetCurrent().Add( rootActor );
-
-  CubeTransitionEffect crossEffect = CubeTransitionCrossEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  crossEffect.SetTransitionDuration( TRANSITION_DURATION );
-  crossEffect.SetCubeDisplacement( CUBE_DISPLACEMENT );
-  rootActor = crossEffect.GetRoot();
-  Stage::GetCurrent().Add( rootActor );
-
-  CubeTransitionEffect foldEffect = CubeTransitionFoldEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  foldEffect.SetTransitionDuration( TRANSITION_DURATION );
-  rootActor = crossEffect.GetRoot();
-  Stage::GetCurrent().Add( rootActor );
-
-  bool signalVerified = false;
-  CubeTransitionEffect currentEffect;
-  ImageActor actorTransitTo;
-  TransitionCompletedCallback callback(signalVerified, currentEffect, actorTransitTo);
-  waveEffect.TransitionCompletedSignal().Connect( &callback, &TransitionCompletedCallback::Callback );
-  crossEffect.TransitionCompletedSignal().Connect( &callback, &TransitionCompletedCallback::Callback );
-  foldEffect.TransitionCompletedSignal().Connect( &callback, &TransitionCompletedCallback::Callback );
-
-  currentEffect = waveEffect;
-  actorTransitTo = secondImageActor;
-  waveEffect.SetCurrentImage( firstImageActor );
-  waveEffect.SetTargetImage( secondImageActor );
-  // start transition; transit for 0.5*duration; pause for 0.5*duration;
-  // resume for 0.25*duration; pause for 0.25*duration; resume for another 0.25*duration;
-  // only until now the transition finished signal can be received
-  waveEffect.StartTransition(PAN_POSITION1, PAN_DISPLACEMENT1);
-  Wait( application, TRANSITION_DURATION*0.5f );
-  DALI_TEST_CHECK(!callback.mSignalVerified);
-  waveEffect.PauseTransition();
-  Wait( application, TRANSITION_DURATION*0.5f );
-  DALI_TEST_CHECK(!callback.mSignalVerified);
-  waveEffect.ResumeTransition();
-  Wait( application, TRANSITION_DURATION*0.25f );
-  DALI_TEST_CHECK(!callback.mSignalVerified);
-  waveEffect.PauseTransition();
-  Wait( application, TRANSITION_DURATION*0.25f );
-  DALI_TEST_CHECK(!callback.mSignalVerified);
-  waveEffect.ResumeTransition();
-  Wait( application, TRANSITION_DURATION*0.25f );
-  DALI_TEST_CHECK(callback.mSignalVerified);
-  callback.Reset();
-
-  currentEffect = crossEffect;
-  actorTransitTo = firstImageActor;
-  crossEffect.SetCurrentImage( secondImageActor );
-  crossEffect.SetTargetImage( firstImageActor );
-  // start transition; transit for 0.25*duration; pause for 0.2*duration;
-  // resume for 0.5*duration; pause for 0.2*duration; resume for another 0.25*duration;
-  // only until now the transition finished signal can be received
-  crossEffect.StartTransition(false);
-  Wait( application, TRANSITION_DURATION*0.25f );
-  DALI_TEST_CHECK(!callback.mSignalVerified);
-  crossEffect.PauseTransition();
-  Wait( application, TRANSITION_DURATION*0.2f );
-  DALI_TEST_CHECK(!callback.mSignalVerified);
-  crossEffect.ResumeTransition();
-  Wait( application, TRANSITION_DURATION*0.5f );
-  DALI_TEST_CHECK(!callback.mSignalVerified);
-  crossEffect.PauseTransition();
-  Wait( application, TRANSITION_DURATION*0.2f );
-  DALI_TEST_CHECK(!callback.mSignalVerified);
-  crossEffect.ResumeTransition();
-  Wait( application, TRANSITION_DURATION*0.25f );
-  DALI_TEST_CHECK(callback.mSignalVerified);
-  callback.Reset();
-
-  currentEffect = foldEffect;
-  actorTransitTo = secondImageActor;
-  foldEffect.SetCurrentImage( firstImageActor );
-  foldEffect.SetTargetImage( secondImageActor );
-  // start transition; transit for 0.5*duration; pause for 0.5*duration;
-  // resume for 0.25*duration; pause for 0.25*duration; resume for another 0.25*duration;
-  // only until now the transition finished signal can be received
-  foldEffect.StartTransition(PAN_POSITION1, PAN_DISPLACEMENT1);
-  Wait( application, TRANSITION_DURATION*0.5f );
-  DALI_TEST_CHECK(!callback.mSignalVerified);
-  foldEffect.PauseTransition();
-  Wait( application, TRANSITION_DURATION*0.5f );
-  DALI_TEST_CHECK(!callback.mSignalVerified);
-  foldEffect.ResumeTransition();
-  Wait( application, TRANSITION_DURATION*0.25f );
-  DALI_TEST_CHECK(!callback.mSignalVerified);
-  foldEffect.PauseTransition();
-  Wait( application, TRANSITION_DURATION*0.25f );
-  DALI_TEST_CHECK(!callback.mSignalVerified);
-  foldEffect.ResumeTransition();
-  Wait( application, TRANSITION_DURATION*0.25f );
-  DALI_TEST_CHECK(callback.mSignalVerified);
-}
-
-static void UtcDaliCubeTransitionWaveEffectStopTransition()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliCubeTransitionWaveEffectStopTransition ");
-
-  ImageActor firstImageActor = CreateSolidColorImageActor(application, Color::RED,30,30);
-  ImageActor secondImageActor = CreateSolidColorImageActor(application, Color::GREEN,20,20);
-
-  CubeTransitionEffect waveEffect = CubeTransitionWaveEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  waveEffect.SetTransitionDuration( TRANSITION_DURATION );
-  waveEffect.SetCubeDisplacement( CUBE_DISPLACEMENT );
-  Actor rootActor = waveEffect.GetRoot();
-  Stage::GetCurrent().Add( rootActor );
-  Actor cube = rootActor.GetChildAt(0);
-  waveEffect.SetCurrentImage( firstImageActor );
-
-  Vector4 fullBrightness = Vector4(1.f,1.f,1.f,1.f);
-  Vector4 halfBrightness = Vector4(0.5f, 0.5f, 0.5f, 1.f);
-
-  //check the cube rotation value and color values after stopping different transitions in the middle
-  waveEffect.SetTargetImage( secondImageActor );
-  waveEffect.StartTransition(true);
-  Wait( application, TRANSITION_DURATION*0.2f );
-  waveEffect.StopTransition();
-  application.SendNotification();
-  application.Render(RENDER_FRAME_INTERVAL);
-  DALI_TEST_EQUALS( cube.GetCurrentRotation(), Quaternion( -Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube.GetChildAt(0).GetCurrentColor() == halfBrightness );
-  DALI_TEST_CHECK( cube.GetChildAt(1).GetCurrentColor() == fullBrightness );
-
-  waveEffect.SetTargetImage( firstImageActor );
-  waveEffect.StartTransition(PAN_POSITION1, PAN_DISPLACEMENT1);
-  Wait( application, TRANSITION_DURATION*0.4f );
-  waveEffect.StopTransition();
-  application.SendNotification();
-  application.Render(RENDER_FRAME_INTERVAL);
-  DALI_TEST_EQUALS( cube.GetCurrentRotation(), Quaternion( -2.f*Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube.GetChildAt(0).GetCurrentColor() == fullBrightness );
-  DALI_TEST_CHECK( cube.GetChildAt(1).GetCurrentColor() == halfBrightness );
-
-  waveEffect.SetTargetImage( secondImageActor );
-  waveEffect.StartTransition(false);
-  Wait( application, TRANSITION_DURATION*0.6f );
-  waveEffect.StopTransition();
-  application.SendNotification();
-  application.Render(RENDER_FRAME_INTERVAL);
-  DALI_TEST_EQUALS( cube.GetCurrentRotation(), Quaternion( -Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube.GetChildAt(0).GetCurrentColor() == halfBrightness );
-  DALI_TEST_CHECK( cube.GetChildAt(1).GetCurrentColor() == fullBrightness );
-
-  waveEffect.SetTargetImage( firstImageActor );
-  waveEffect.StartTransition(PAN_POSITION2, PAN_DISPLACEMENT2);
-  Wait( application, TRANSITION_DURATION*0.8f );
-  waveEffect.StopTransition();
-  application.SendNotification();
-  application.Render(RENDER_FRAME_INTERVAL);
-  DALI_TEST_EQUALS( cube.GetCurrentRotation(), Quaternion( 0.f,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube.GetChildAt(0).GetCurrentColor() == fullBrightness );
-  DALI_TEST_CHECK( cube.GetChildAt(1).GetCurrentColor() == halfBrightness );
-}
-
-static void UtcDaliCubeTransitionCrossEffectStopTransition()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliCubeTransitionCrossEffectStopTransition ");
-
-  ImageActor firstImageActor = CreateSolidColorImageActor(application, Color::RED,30,30);
-  ImageActor secondImageActor = CreateSolidColorImageActor(application, Color::GREEN,20,20);
-
-  CubeTransitionEffect crossEffect = CubeTransitionCrossEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  crossEffect.SetTransitionDuration( TRANSITION_DURATION );
-  crossEffect.SetCubeDisplacement( CUBE_DISPLACEMENT );
-  Actor rootActor = crossEffect.GetRoot();
-  Stage::GetCurrent().Add( rootActor );
-  crossEffect.SetCurrentImage( firstImageActor );
-  Actor cube0 = rootActor.GetChildAt(0);
-  Actor cube1 = rootActor.GetChildAt(1);
-
-  Vector4 fullBrightness = Vector4(1.f,1.f,1.f,1.f);
-  Vector4 halfBrightness = Vector4(0.5f, 0.5f, 0.5f, 1.f);
-
-  //check the cube rotation values and color values after stop the different transitions in the middle
-  crossEffect.SetTargetImage( secondImageActor );
-  crossEffect.StartTransition(true);
-  Wait( application, TRANSITION_DURATION*0.2f );
-  crossEffect.StopTransition();
-  application.SendNotification();
-  application.Render(RENDER_FRAME_INTERVAL);
-  DALI_TEST_EQUALS( cube1.GetCurrentRotation(), Quaternion( -Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_EQUALS( cube0.GetCurrentRotation(), Quaternion( Math::PI_2,  Vector3::XAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-
-  DALI_TEST_CHECK( cube0.GetChildAt(0).GetCurrentColor() == halfBrightness );
-  DALI_TEST_CHECK( cube0.GetChildAt(1).GetCurrentColor() == fullBrightness );
-
-  crossEffect.SetTargetImage( firstImageActor );
-  crossEffect.StartTransition(PAN_POSITION1, PAN_DISPLACEMENT1);
-  Wait( application, TRANSITION_DURATION*0.4f );
-  crossEffect.StopTransition();
-  application.SendNotification();
-  application.Render(RENDER_FRAME_INTERVAL);
-  DALI_TEST_EQUALS( cube1.GetCurrentRotation(), Quaternion( -2.f*Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_EQUALS( cube0.GetCurrentRotation(), Quaternion( 2.f*Math::PI_2,  Vector3::XAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube0.GetChildAt(0).GetCurrentColor() == fullBrightness );
-  DALI_TEST_CHECK( cube0.GetChildAt(1).GetCurrentColor() == halfBrightness );
-
-  crossEffect.SetTargetImage( secondImageActor );
-  crossEffect.StartTransition(false);
-  Wait( application, TRANSITION_DURATION*0.6f );
-  crossEffect.StopTransition();
-  application.SendNotification();
-  application.Render(RENDER_FRAME_INTERVAL);
-  DALI_TEST_EQUALS( cube1.GetCurrentRotation(), Quaternion( -Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_EQUALS( cube0.GetCurrentRotation(), Quaternion( Math::PI_2,  Vector3::XAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube0.GetChildAt(0).GetCurrentColor() == halfBrightness );
-  DALI_TEST_CHECK( cube0.GetChildAt(1).GetCurrentColor() == fullBrightness );
-
-  crossEffect.SetTargetImage( firstImageActor );
-  crossEffect.StartTransition(PAN_POSITION2, PAN_DISPLACEMENT2);
-  Wait( application, TRANSITION_DURATION*0.8f );
-  crossEffect.StopTransition();
-  application.SendNotification();
-  application.Render(RENDER_FRAME_INTERVAL);
-  DALI_TEST_EQUALS( cube1.GetCurrentRotation(), Quaternion( 0.f,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_EQUALS( cube0.GetCurrentRotation(), Quaternion( 0.f,  Vector3::XAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube0.GetChildAt(0).GetCurrentColor() == fullBrightness );
-  DALI_TEST_CHECK( cube0.GetChildAt(1).GetCurrentColor() == halfBrightness );
-}
-
-static void UtcDaliCubeTransitionFoldEffectStopTransition()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliCubeTransitionFoldEffectStopTransition ");
-
-  ImageActor firstImageActor = CreateSolidColorImageActor(application, Color::RED,30,30);
-  ImageActor secondImageActor = CreateSolidColorImageActor(application, Color::GREEN,20,20);
-
-  CubeTransitionEffect foldEffect = CubeTransitionFoldEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE );
-  foldEffect.SetTransitionDuration( TRANSITION_DURATION );
-  Actor rootActor = foldEffect.GetRoot();
-  Stage::GetCurrent().Add( rootActor );
-  foldEffect.SetCurrentImage( firstImageActor );
-  Actor cube0 = rootActor.GetChildAt(0);
-  Actor cube1 = rootActor.GetChildAt(1);
-
-  Vector4 fullBrightness = Vector4(1.f,1.f,1.f,1.f);
-  Vector4 halfBrightness = Vector4(0.5f, 0.5f, 0.5f, 1.f);
-
-  //check the cube rotation values and color values after stop the different transitions in the middle
-  foldEffect.SetTargetImage( secondImageActor );
-  foldEffect.StartTransition(true);
-  Wait( application, TRANSITION_DURATION*0.2f );
-  foldEffect.StopTransition();
-  application.SendNotification();
-  application.Render(RENDER_FRAME_INTERVAL);
-  DALI_TEST_EQUALS( cube1.GetCurrentRotation(), Quaternion( -Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_EQUALS( cube0.GetCurrentRotation(), Quaternion( Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube0.GetChildAt(0).GetCurrentColor() == halfBrightness );
-  DALI_TEST_CHECK( cube0.GetChildAt(1).GetCurrentColor() == fullBrightness );
-
-  foldEffect.SetTargetImage( firstImageActor );
-  foldEffect.StartTransition(PAN_POSITION1, PAN_DISPLACEMENT1);
-  Wait( application, TRANSITION_DURATION*0.4f );
-  foldEffect.StopTransition();
-  application.SendNotification();
-  application.Render(RENDER_FRAME_INTERVAL);
-  DALI_TEST_EQUALS( cube1.GetCurrentRotation(), Quaternion( -2.f*Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_EQUALS( cube0.GetCurrentRotation(), Quaternion( 2.f*Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube0.GetChildAt(0).GetCurrentColor() == fullBrightness );
-  DALI_TEST_CHECK( cube0.GetChildAt(1).GetCurrentColor() == halfBrightness );
-
-  foldEffect.SetTargetImage( secondImageActor );
-  foldEffect.StartTransition(false);
-  Wait( application, TRANSITION_DURATION*0.6f );
-  foldEffect.StopTransition();
-  application.SendNotification();
-  application.Render(RENDER_FRAME_INTERVAL);
-  DALI_TEST_EQUALS( cube1.GetCurrentRotation(), Quaternion( -Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_EQUALS( cube0.GetCurrentRotation(), Quaternion( Math::PI_2,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube0.GetChildAt(0).GetCurrentColor() == halfBrightness );
-  DALI_TEST_CHECK( cube0.GetChildAt(1).GetCurrentColor() == fullBrightness );
-
-  foldEffect.SetTargetImage( firstImageActor );
-  foldEffect.StartTransition(PAN_POSITION2, PAN_DISPLACEMENT2);
-  Wait( application, TRANSITION_DURATION*0.8f );
-  foldEffect.StopTransition();
-  application.SendNotification();
-  application.Render(RENDER_FRAME_INTERVAL);
-  DALI_TEST_EQUALS( cube1.GetCurrentRotation(), Quaternion( 0.f,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_EQUALS( cube0.GetCurrentRotation(), Quaternion( 0.f,  Vector3::YAXIS), ROTATION_EPSILON, TEST_LOCATION  );
-  DALI_TEST_CHECK( cube0.GetChildAt(0).GetCurrentColor() == fullBrightness );
-  DALI_TEST_CHECK( cube0.GetChildAt(1).GetCurrentColor() == halfBrightness );
-}
diff --git a/automated-tests/TET/dali-test-suite/ui-builder/.gitignore b/automated-tests/TET/dali-test-suite/ui-builder/.gitignore
deleted file mode 100644 (file)
index eaf4664..0000000
+++ /dev/null
@@ -1 +0,0 @@
-utc-Dali-UIBuilder
diff --git a/automated-tests/TET/dali-test-suite/ui-builder/file.list b/automated-tests/TET/dali-test-suite/ui-builder/file.list
deleted file mode 100644 (file)
index 868f5c9..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGETS += \
-       utc-Dali-UIBuilder \
diff --git a/automated-tests/TET/dali-test-suite/utc-MODULE-CLASS.cpp.in b/automated-tests/TET/dali-test-suite/utc-MODULE-CLASS.cpp.in
deleted file mode 100644 (file)
index e782026..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Dali::Toolkit;
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-static void Utc@MODULE@@CLASS@Method01();
-static void Utc@MODULE@@CLASS@Method02();
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-extern "C" {
-  struct tet_testlist tet_testlist[] = {
-    { Utc@MODULE@@CLASS@Method01, POSITIVE_TC_IDX },
-    { Utc@MODULE@@CLASS@Method02, NEGATIVE_TC_IDX },
-    { NULL, 0 }
-  };
-}
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-
-// Positive test case for a method
-static void Utc@MODULE@@CLASS@Method01()
-{
-  ToolkitTestApplication application;
-
-  tet_infoline("Journaled printf Output");
-  tet_result(TET_FAIL);
-#if 0
-  tet_result(TET_PASS);
-#endif
-}
-
-
-// Negative test case for a method
-static void Utc@MODULE@@CLASS@Method02()
-{
-  ToolkitTestApplication application;  // Exceptions require ToolkitTestApplication
-
-  try
-  {
-    /* My test code and results */
-    DALI_TEST_EQUALS(myVar, expectedValue, TEST_LOCATION);
-  }
-  catch (Dali::DaliException& e)
-  {
-    // Tests that a negative test of an assertion succeeds
-    tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_EQUALS(e.mCondition, "assert conditional", TEST_LOCATION);
-  }
-}
-
diff --git a/automated-tests/TET/dali-test-suite/view/.gitignore b/automated-tests/TET/dali-test-suite/view/.gitignore
deleted file mode 100644 (file)
index 4960a6d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-utc-Dali-View
diff --git a/automated-tests/TET/dali-test-suite/view/Makefile b/automated-tests/TET/dali-test-suite/view/Makefile
deleted file mode 120000 (symlink)
index c88d5a7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../master-makefile.mk
\ No newline at end of file
diff --git a/automated-tests/TET/dali-test-suite/view/file.list b/automated-tests/TET/dali-test-suite/view/file.list
deleted file mode 100644 (file)
index 46616fb..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGETS += \
-       utc-Dali-View \
diff --git a/automated-tests/TET/dali-test-suite/view/tslist b/automated-tests/TET/dali-test-suite/view/tslist
deleted file mode 100644 (file)
index 5a8a0c3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/dali-test-suite/view/utc-Dali-View
diff --git a/automated-tests/TET/dali-test-suite/view/utc-Dali-View.cpp b/automated-tests/TET/dali-test-suite/view/utc-Dali-View.cpp
deleted file mode 100644 (file)
index 5241976..0000000
+++ /dev/null
@@ -1,413 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <iostream>
-
-#include <stdlib.h>
-#include <tet_api.h>
-
-#include <dali/public-api/dali-core.h>
-#include <dali-toolkit/public-api/controls/view/view.h>
-#include <dali-toolkit/public-api/controls/default-controls/solid-color-actor.h>
-
-#include <dali-toolkit-test-suite-utils.h>
-
-using namespace Dali;
-using namespace Toolkit;
-
-namespace
-{
-
-static bool gAnimationStarted = false;
-
-void StartAnimation( View, Animation& animation, const Orientation& orientation )
-{
-  gAnimationStarted = true;
-}
-
-
-static bool gObjectCreatedCallBackCalled;
-static void TestCallback(BaseHandle handle)
-{
-  gObjectCreatedCallBackCalled = true;
-}
-
-
-}
-
-static void Startup();
-static void Cleanup();
-
-extern "C" {
-  void (*tet_startup)() = Startup;
-  void (*tet_cleanup)() = Cleanup;
-}
-
-enum {
-  POSITIVE_TC_IDX = 0x01,
-  NEGATIVE_TC_IDX,
-};
-
-#define MAX_NUMBER_OF_TESTS 10000
-extern "C" {
-  struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
-}
-
-// Add test functionality for all APIs in the class (Positive and Negative)
-TEST_FUNCTION( UtcDaliViewNew, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliViewAddGetRemoveContentLayer01, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliViewAddGetRemoveContentLayer02, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliViewSetGetBackgroundLayer01, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliViewSetGetBackgroundLayer02, NEGATIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliViewSetOrientationFunction, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcDaliViewOrientationChanged, POSITIVE_TC_IDX );
-TEST_FUNCTION( UtcSetAutoRotate, POSITIVE_TC_IDX );
-
-// Called only once before first test is run.
-static void Startup()
-{
-}
-
-// Called only once after last test is run
-static void Cleanup()
-{
-}
-
-static void UtcDaliViewNew()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliViewNew");
-
-  View view1;
-  DALI_TEST_CHECK( !view1 );
-
-  view1 = View::New();
-  DALI_TEST_CHECK( view1 );
-
-  View view2( view1 );
-  DALI_TEST_CHECK( view2 );
-
-  View view3 = view2;
-  DALI_TEST_CHECK( view3 );
-
-  view1 = NULL;
-  view2 = NULL;
-  view3 = NULL;
-
-  //Additional check to ensure object is created by checking if it's registered
-  ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
-  DALI_TEST_CHECK( registry );
-
-  gObjectCreatedCallBackCalled = false;
-  registry.ObjectCreatedSignal().Connect( &TestCallback );
-  {
-    View view = View::New();
-  }
-  DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
-}
-
-static void UtcDaliViewAddGetRemoveContentLayer01()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliViewAddGetRemoveContentLayer01");
-
-  View view = View::New();
-  Layer layer1;
-  Layer layer2;
-  Layer layer3;
-  Layer layer4;
-
-  // Test: add and get layers.
-  try
-  {
-    layer1 = Layer::New();
-    layer1.SetName( "Layer1" );
-    layer2 = Layer::New();
-    layer2.SetName( "Layer2" );
-
-    unsigned int layerId1 = view.AddContentLayer( layer1 );
-    unsigned int layerId2 = view.AddContentLayer( layer2 );
-
-    layer3 = view.GetContentLayer( layerId1 );
-    layer4 = view.GetContentLayer( layerId2 );
-
-    DALI_TEST_EQUALS( layer1.GetName(), layer3.GetName(), TEST_LOCATION );
-    DALI_TEST_EQUALS( layer2.GetName(), layer4.GetName(), TEST_LOCATION );
-  }
-  catch( ... )
-  {
-    tet_printf( "UtcDaliViewAddGetRemoveContentLayer: Exception while adding and geting layers to/from view.\n" );
-    tet_result(TET_FAIL);
-  }
-
-  bool test1 = false;
-  bool test2 = false;
-  // Test: remove layers.
-  try
-  {
-    view.RemoveContentLayer( layer3 );
-    view.RemoveContentLayer( layer4 );
-    test1 = true;
-  }
-  catch( ... )
-  {
-    tet_printf( "UtcDaliViewAddGetRemoveContentLayer: Exception while removing layers from view.\n" );
-    tet_result(TET_FAIL);
-  }
-
-  // Test: add same layers again.
-  try
-  {
-    view.AddContentLayer( layer1 );
-    view.AddContentLayer( layer2 );
-    test2 = true;
-  }
-  catch( ... )
-  {
-    tet_printf( "UtcDaliViewAddGetRemoveContentLayer: Exception while adding layers from view after have been removed.\n" );
-    tet_result(TET_FAIL);
-  }
-
-  DALI_TEST_CHECK( test1 && test2 );
-}
-
-static void UtcDaliViewAddGetRemoveContentLayer02()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliViewAddGetRemoveContentLayer02");
-
-  View view = View::New();
-
-  Layer layer1 = Layer::New();
-  layer1.SetName( "Layer1" );
-  Layer layer2 = Layer::New();
-  layer2.SetName( "Layer2" );
-
-  view.AddContentLayer( layer1 );
-  view.AddContentLayer( layer2 );
-
-  // Test: add a layer twice.
-  try
-  {
-    view.AddContentLayer( layer1 );
-  }
-  catch( ... )
-  {
-    tet_result(TET_FAIL);
-  }
-
-  // Test: add an unitialized layer.
-  try
-  {
-    Layer layer;
-    view.AddContentLayer( layer );
-  }
-  catch( DaliException& e )
-  {
-    tet_printf("Assertion %s failed at %s when an unitialized layer is added.\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_EQUALS( e.mCondition, "layer", TEST_LOCATION );
-  }
-
-  // Test: get a layer which was not added before.
-  Layer layer = view.GetContentLayer( 100 );
-  DALI_TEST_CHECK( !layer );
-
-  // Test: Remove a layer which was not added before.
-  try
-  {
-    Layer layer = Layer::New();
-    view.RemoveContentLayer( layer );
-  }
-  catch( ... )
-  {
-    tet_result(TET_FAIL);
-  }
-
-  tet_result(TET_PASS);
-}
-
-static void UtcDaliViewSetGetBackgroundLayer01()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliViewSetGetBackgroundLayer01");
-
-  View view;
-  Layer layer1, layer2;
-
-  // Test with an actor.
-
-  view = View::New();
-  Stage::GetCurrent().Add( view );
-
-  ImageActor background = CreateSolidColorActor( Color::RED );
-
-  view.SetBackground( background );
-
-  layer1 = view.GetBackgroundLayer();
-
-  DALI_TEST_CHECK( layer1 );
-
-  background = CreateSolidColorActor( Color::GREEN );
-
-  view.SetBackground( background );
-
-  layer2 = view.GetBackgroundLayer();
-
-  DALI_TEST_CHECK( layer2 );
-
-  Stage::GetCurrent().Remove( view );
-}
-
-static void UtcDaliViewSetGetBackgroundLayer02()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliViewSetGetBackgroundLayer02");
-
-  bool assert = false;
-
-  try
-  {
-    View view = View::New();
-
-    ImageActor background = CreateSolidColorActor( Color::RED );
-
-    view.SetBackground( background );
-  }
-  catch( DaliException& e )
-  {
-    tet_printf("Assertion %s failed at %s when trying to add background to the view and the view is not on the stage.\n", e.mCondition.c_str(), e.mLocation.c_str());
-    DALI_TEST_EQUALS( e.mCondition, "mBackgroundLayer.OnStage()", TEST_LOCATION );
-    assert = true;
-  }
-
-  DALI_TEST_CHECK( assert );
-}
-
-static void UtcDaliViewSetOrientationFunction()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliViewSetOrientationFunction");
-
-  // Test it doesn't crash
-  try
-  {
-    View view = View::New();
-    Stage::GetCurrent().Add( view );
-
-    view.SetSize( 480, 800 );
-    view.SetOrientationFunction( Degree( 0.f ), Degree( 90.f ), Degree( 180.f ), Degree( 270.f ) );
-  }
-  catch( ... )
-  {
-    tet_result(TET_FAIL);
-  }
-
-  tet_result(TET_PASS);
-}
-
-static void UtcDaliViewOrientationChanged()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliViewOrientationChanged");
-
-  gAnimationStarted = false;
-
-  // Test it doesn't crash
-  try
-  {
-    View view = View::New();
-    Stage::GetCurrent().Add( view );
-
-    view.SetSize( 480, 800 );
-
-    view.OrientationAnimationStartedSignal().Connect( &StartAnimation );
-
-    application.SendNotification(); // Remove these two lines causes
-    application.Render();           // ToolkitTestApplication destructor to crash
-
-    Orientation orientation = application.GetOrientation().GetHandle();
-    application.GetOrientation().SetDegrees( 90 );
-    view.OrientationChanged( orientation );
-  }
-  catch( ... )
-  {
-    tet_result(TET_FAIL);
-  }
-
-  // Check the view animation started.
-  DALI_TEST_CHECK( gAnimationStarted );
-}
-
-static void UtcSetAutoRotate()
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcSetAutoRotate");
-
-  gAnimationStarted = false;
-
-  View view;
-
-  // Test it doesn't crash
-  try
-  {
-    view = View::New();
-    Stage::GetCurrent().Add( view );
-
-    view.SetSize( 480, 800 );
-
-    view.OrientationAnimationStartedSignal().Connect( &StartAnimation );
-
-    application.SendNotification();
-    application.Render();
-
-    Orientation orientation = application.GetOrientation().GetHandle();
-    application.GetOrientation().SetDegrees( 90 );
-    view.OrientationChanged( orientation );
-  }
-  catch( ... )
-  {
-    tet_result(TET_FAIL);
-  }
-
-  // Check the view animation started.
-  DALI_TEST_CHECK( gAnimationStarted );
-
-
-  gAnimationStarted = false;
-
-  try
-  {
-    view = View::New();
-    view.SetAutoRotate( false ); // Animation shouldn't start.
-    Stage::GetCurrent().Add( view );
-
-    view.SetSize( 480, 800 );
-
-    application.SendNotification();
-    application.Render();
-
-    Orientation orientation = application.GetOrientation().GetHandle();
-    application.GetOrientation().SetDegrees( 180 );
-    view.OrientationChanged( orientation );
-  }
-  catch( ... )
-  {
-    tet_result(TET_FAIL);
-  }
-
-  // Check the view animation didn't start.
-  DALI_TEST_CHECK( !gAnimationStarted );
-}
diff --git a/automated-tests/TET/dali-toolkit-test-utils/dali-toolkit-test-suite-utils.h b/automated-tests/TET/dali-toolkit-test-utils/dali-toolkit-test-suite-utils.h
deleted file mode 100644 (file)
index ca21543..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef __DALI_TOOLKIT_TEST_SUITE_UTILS_H__
-#define __DALI_TOOLKIT_TEST_SUITE_UTILS_H__
-
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-// INTERNAL INCLUDES
-#include <dali-test-suite-utils.h>
-
-#include "toolkit-test-application.h"
-#include "toolkit-application.h"
-
-#endif // __DALI_TOOLKIT_TEST_SUITE_UTILS_H__
diff --git a/automated-tests/TET/dali-toolkit-test-utils/toolkit-accessibility-manager.cpp b/automated-tests/TET/dali-toolkit-test-utils/toolkit-accessibility-manager.cpp
deleted file mode 100644 (file)
index 497f53c..0000000
+++ /dev/null
@@ -1,212 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include "toolkit-accessibility-manager.h"
-
-#include <dali/public-api/common/dali-common.h>
-#include <dali/public-api/object/base-object.h>
-#include <dali/public-api/signals/dali-signal-v2.h>
-
-namespace Dali
-{
-
-namespace
-{
-ToolkitAccessibilityManager* gToolkitAccessibilityManager(NULL);
-} // unnamed namespace
-
-namespace Internal
-{
-
-namespace Adaptor
-{
-
-/**
- * Stub for the AccessibilityManager
- */
-class AccessibilityManager : public BaseObject
-{
-public: // Creation & Destruction
-
-  static Dali::AccessibilityManager Get();
-
-  AccessibilityManager();
-  AccessibilityManager(ToolkitAccessibilityManager *accessibilityActionDetector);
-  ~AccessibilityManager();
-
-public:
-
-  bool IsEnabled() const;
-  void SetActionHandler(Dali::AccessibilityActionHandler& handler);
-  void SetGestureHandler(Dali::AccessibilityGestureHandler& handler);
-
-public: // Signals
-
-  Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalStatusChanged();
-  Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionNext();
-  Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionPrevious();
-  Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionActivate();
-  Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionRead();
-  Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionReadNext();
-  Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionReadPrevious();
-  Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionUp();
-  Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionDown();
-  Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionClearFocus();
-  Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionBack();
-  Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionControlPanelOpen();
-
-private:
-
-  ToolkitAccessibilityManager* mToolkitAccessibilityManager;
-  Dali::AccessibilityManager::AccessibilityActionSignalV2 mStatusChangedSignal;
-  Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionNextSignal;
-  Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionPreviousSignal;
-  Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionActivateSignal;
-  Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionReadSignal;
-  Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionReadNextSignal;
-  Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionReadPreviousSignal;
-  Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionUpSignal;
-  Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionDownSignal;
-  Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionClearFocusSignal;
-  Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionBackSignal;
-  Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionControlPanelOpenSignal;
-
-  bool mIsEnabled;
-  Dali::AccessibilityActionHandler* mActionHandler;
-  Dali::AccessibilityGestureHandler* mGestureHandler;
-
-};
-
-Dali::AccessibilityManager AccessibilityManager::Get()
-{
-  return gToolkitAccessibilityManager->GetAccessibilityManager();
-}
-
-AccessibilityManager::AccessibilityManager()
-: mToolkitAccessibilityManager(NULL),
-  mIsEnabled(false)
-{
-}
-
-AccessibilityManager::AccessibilityManager(ToolkitAccessibilityManager *accessibilityActionDetector)
-: mToolkitAccessibilityManager(accessibilityActionDetector),
-  mIsEnabled(false)
-{
-}
-
-AccessibilityManager::~AccessibilityManager()
-{
-}
-
-bool AccessibilityManager::IsEnabled() const
-{
-  return mIsEnabled;
-}
-
-void AccessibilityManager::SetActionHandler(Dali::AccessibilityActionHandler& handler)
-{
-  mActionHandler = &handler;
-}
-
-void AccessibilityManager::SetGestureHandler(Dali::AccessibilityGestureHandler& handler)
-{
-  mGestureHandler = &handler;
-}
-
-Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalStatusChanged()
-{
-  return mStatusChangedSignal;
-}
-
-Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionNext()
-{
-  return mActionNextSignal;
-}
-
-Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionPrevious()
-{
-  return mActionPreviousSignal;
-}
-
-Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionActivate()
-{
-  return mActionActivateSignal;
-}
-
-Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionRead()
-{
-  return mActionReadSignal;
-}
-
-Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionReadNext()
-{
-  return mActionReadNextSignal;
-}
-
-Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionReadPrevious()
-{
-  return mActionReadPreviousSignal;
-}
-
-Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionUp()
-{
-  return mActionUpSignal;
-}
-
-Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionDown()
-{
-  return mActionDownSignal;
-}
-
-Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionClearFocus()
-{
-  return mActionClearFocusSignal;
-}
-
-Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionBack()
-{
-  return mActionBackSignal;
-}
-
-Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionControlPanelOpen()
-{
-  return mActionControlPanelOpenSignal;
-}
-
-} // namespace Adaptor
-
-} // namespace Internal
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-ToolkitAccessibilityManager::ToolkitAccessibilityManager()
-: mAccessibilityManagerStub(new Internal::Adaptor::AccessibilityManager(this)),
-  mAccessibilityManager( mAccessibilityManagerStub )
-{
-  gToolkitAccessibilityManager = this;
-}
-
-ToolkitAccessibilityManager::~ToolkitAccessibilityManager()
-{
-  gToolkitAccessibilityManager = NULL;
-}
-
-AccessibilityManager ToolkitAccessibilityManager::GetAccessibilityManager()
-{
-  return mAccessibilityManager;
-}
-
-} // namespace Dali
diff --git a/automated-tests/TET/dali-toolkit-test-utils/toolkit-accessibility-manager.h b/automated-tests/TET/dali-toolkit-test-utils/toolkit-accessibility-manager.h
deleted file mode 100644 (file)
index 1e0f708..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-#ifndef __DALI_TOOLKIT_ACCESSIBILITY_MANAGER_H__
-#define __DALI_TOOLKIT_ACCESSIBILITY_MANAGER_H__
-
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-// EXTERNAL INCLUDES
-#include <string>
-
-// PUBLIC INCLUDES
-#include <dali/public-api/adaptor-framework/common/accessibility-manager.h>
-
-namespace Dali
-{
-
-namespace Internal
-{
-namespace Adaptor
-{
-class AccessibilityManager;
-}
-}
-
-/**
- * This creates a stubbed AccessibilityManager so that internal Toolkit Adaptor calls work.
- */
-class ToolkitAccessibilityManager
-{
-public: // Construction & Destruction
-
-  ToolkitAccessibilityManager();
-  ~ToolkitAccessibilityManager();
-
-public: // Getters
-
-  AccessibilityManager GetAccessibilityManager();
-
-public: // Signal Emissions
-
-  AccessibilityManager::AccessibilityActionSignalV2& SignalStatusChanged();
-  AccessibilityManager::AccessibilityActionSignalV2& SignalActionNext();
-  AccessibilityManager::AccessibilityActionSignalV2& SignalActionPrevious();
-  AccessibilityManager::AccessibilityActionSignalV2& SignalActionActivate();
-  AccessibilityManager::AccessibilityActionSignalV2& SignalActionRead();
-  AccessibilityManager::AccessibilityActionSignalV2& SignalActionReadNext();
-  AccessibilityManager::AccessibilityActionSignalV2& SignalActionReadPrevious();
-  AccessibilityManager::AccessibilityActionSignalV2& SignalActionUp();
-  AccessibilityManager::AccessibilityActionSignalV2& SignalActionDown();
-  AccessibilityManager::AccessibilityActionSignalV2& SignalActionClearFocus();
-  AccessibilityManager::AccessibilityActionSignalV2& SignalActionBack();
-  AccessibilityManager::AccessibilityActionSignalV2& SignalActionControlPanelOpen();
-
-private:
-
-  Internal::Adaptor::AccessibilityManager* mAccessibilityManagerStub;
-  friend class Internal::Adaptor::AccessibilityManager;
-  AccessibilityManager mAccessibilityManager; // Hold a handle ourselves.
-};
-
-} // namespace Dali
-
-#endif // __DALI_TOOLKIT_ACCESSIBILITY_MANAGER_H__
diff --git a/automated-tests/TET/dali-toolkit-test-utils/toolkit-adaptor.cpp b/automated-tests/TET/dali-toolkit-test-utils/toolkit-adaptor.cpp
deleted file mode 100644 (file)
index 5cc41af..0000000
+++ /dev/null
@@ -1,249 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include "toolkit-adaptor.h"
-
-#include <dali/public-api/common/dali-common.h>
-#include <dali/public-api/common/map-wrapper.h>
-#include <dali/public-api/signals/dali-signal-v2.h>
-
-namespace Dali
-{
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-/**
- * Stub for RenderSurface
- */
-class RenderSurface
-{
-};
-
-typedef Dali::Rect<int> PositionSize;
-
-/**
- * Stub for the Adaptor
- */
-class Adaptor
-{
-public:
-
-  typedef SignalV2< void ( Adaptor& ) > AdaptorSignalV2;
-
-  typedef std::pair<std::string, Dali::BaseHandle> SingletonPair;
-  typedef std::map<std::string, Dali::BaseHandle>  SingletonContainer;
-  typedef SingletonContainer::const_iterator       SingletonConstIter;
-
-public:
-
-  Adaptor(ToolkitAdaptor& toolkitAdaptor);
-  ~Adaptor();
-
-public:
-
-  void Start();
-  void Pause();
-  void Resume();
-  void Stop();
-  bool AddIdle(boost::function<void(void)> callBack);
-  void FeedEvent(TouchPoint& point, int timeStamp);
-  bool MoveResize(const PositionSize& positionSize);
-  void SurfaceResized(const PositionSize& positionSize);
-  void ReplaceSurface(RenderSurface& surface);
-  void RenderSync();
-  RenderSurface& GetSurface();
-
-  void RegisterSingleton(const std::type_info& info, Dali::BaseHandle singleton);
-  Dali::BaseHandle GetSingleton(const std::type_info& info) const;
-
-public: // static methods
-  static Adaptor& Get();
-  static bool IsAvailable();
-
-public:  // Signals
-
-  AdaptorSignalV2& SignalResize();
-
-  void EmitSignalResize()
-  {
-    mResizeSignal.Emit( *this );
-  }
-
-private:
-
-   // Undefined
-   Adaptor(const Adaptor&);
-   Adaptor& operator=(Adaptor&);
-
-   AdaptorSignalV2 mResizeSignal;
-   RenderSurface mRenderSurface;
-   ToolkitAdaptor& mToolkitAdaptor;
-
-   SingletonContainer mSingletonContainer;
-};
-
-namespace
-{
-Adaptor* gAdaptor = NULL;
-
-}
-
-Adaptor::Adaptor(ToolkitAdaptor& toolkitAdaptor)
-: mToolkitAdaptor(toolkitAdaptor)
-{
-}
-
-Adaptor::~Adaptor()
-{
-
-}
-
-void Adaptor::Start()
-{
-  mToolkitAdaptor.mFunctionsCalled.Start = true;
-}
-
-void Adaptor::Pause()
-{
-  mToolkitAdaptor.mFunctionsCalled.Pause = true;
-}
-
-void Adaptor::Resume()
-{
-  mToolkitAdaptor.mFunctionsCalled.Resume = true;
-}
-
-void Adaptor::Stop()
-{
-  mToolkitAdaptor.mFunctionsCalled.Stop = true;
-}
-
-bool Adaptor::AddIdle(boost::function<void(void)> callBack)
-{
-  mToolkitAdaptor.mFunctionsCalled.AddIdle = true;
-  mToolkitAdaptor.mLastIdleAdded = callBack;
-  return true;
-}
-
-void Adaptor::FeedEvent(TouchPoint& point, int timeStamp)
-{
-  mToolkitAdaptor.mFunctionsCalled.FeedEvent = true;
-  mToolkitAdaptor.mLastTouchPointFed = point;
-  mToolkitAdaptor.mLastTimeStampFed = timeStamp;
-}
-
-bool Adaptor::MoveResize(const PositionSize& positionSize)
-{
-  mToolkitAdaptor.mFunctionsCalled.MoveResize = true;
-  mToolkitAdaptor.mLastSizeSet = positionSize;
-  return true;
-}
-
-void Adaptor::SurfaceResized(const PositionSize& positionSize)
-{
-  mToolkitAdaptor.mFunctionsCalled.SurfaceResized = true;
-  mToolkitAdaptor.mLastSizeSet = positionSize;
-}
-
-void Adaptor::ReplaceSurface(RenderSurface& surface)
-{
-  mToolkitAdaptor.mFunctionsCalled.ReplaceSurface = true;
-}
-
-void Adaptor::RenderSync()
-{
-  mToolkitAdaptor.mFunctionsCalled.RenderSync = true;
-}
-
-RenderSurface& Adaptor::GetSurface()
-{
-  mToolkitAdaptor.mFunctionsCalled.GetSurface = true;
-  return mRenderSurface;
-}
-
-Adaptor& Adaptor::Get()
-{
-  DALI_ASSERT_ALWAYS(gAdaptor);
-  gAdaptor->mToolkitAdaptor.mFunctionsCalled.Get = true;
-  return *gAdaptor;
-}
-
-bool Adaptor::IsAvailable()
-{
-  bool available(false);
-
-  if (gAdaptor)
-  {
-    gAdaptor->mToolkitAdaptor.mFunctionsCalled.IsAvailable = true;
-    available = true;
-  }
-
-  return available;
-}
-
-void Adaptor::RegisterSingleton(const std::type_info& info, Dali::BaseHandle singleton)
-{
-  mToolkitAdaptor.mFunctionsCalled.RegisterSingleton = true;
-
-  if(singleton)
-  {
-    mSingletonContainer.insert(SingletonPair(info.name(), singleton));
-  }
-}
-
-Dali::BaseHandle Adaptor::GetSingleton(const std::type_info& info) const
-{
-  mToolkitAdaptor.mFunctionsCalled.GetSingleton = true;
-
-  Dali::BaseHandle object = Dali::BaseHandle();
-
-  SingletonConstIter iter = mSingletonContainer.find(info.name());
-  if(iter != mSingletonContainer.end())
-  {
-    object = (*iter).second;
-  }
-
-  return object;
-}
-
-Adaptor::AdaptorSignalV2& Adaptor::SignalResize()
-{
-  mToolkitAdaptor.mFunctionsCalled.SignalResize = true;
-  return mResizeSignal;
-}
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-ToolkitAdaptor::ToolkitAdaptor()
-: mLastTouchPointFed(0, TouchPoint::Down, 0.0f, 0.0f),
-  mLastTimeStampFed(0),
-  mAdaptorStub(new Adaptor(*this))
-{
-  gAdaptor = mAdaptorStub;
-}
-
-ToolkitAdaptor::~ToolkitAdaptor()
-{
-  delete mAdaptorStub;
-  gAdaptor = NULL;
-}
-
-void ToolkitAdaptor::EmitSignalResize()
-{
-  mAdaptorStub->EmitSignalResize();
-}
-
-} // namespace Dali
diff --git a/automated-tests/TET/dali-toolkit-test-utils/toolkit-adaptor.h b/automated-tests/TET/dali-toolkit-test-utils/toolkit-adaptor.h
deleted file mode 100644 (file)
index e1acdd7..0000000
+++ /dev/null
@@ -1,259 +0,0 @@
-#ifndef __DALI_TOOLKIT_TOOLKIT_ADAPTOR_H__
-#define __DALI_TOOLKIT_TOOLKIT_ADAPTOR_H__
-
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-// EXTERNAL INCLUDES
-#include <boost/function.hpp>
-
-// INTERNAL INCLUDES
-#include <dali/public-api/events/touch-point.h>
-#include <dali/public-api/math/rect.h>
-
-#include "toolkit-style-monitor.h"
-#include "toolkit-accessibility-manager.h"
-#include "toolkit-physical-keyboard.h"
-#include "toolkit-clipboard-event-notifier.h"
-#include "toolkit-timer.h"
-
-namespace Dali
-{
-
-class Adaptor;
-
-typedef Dali::Rect<int> PositionSize;
-
-/**
- * This creates a stubbed Adaptor so that internal Toolkit Adaptor calls work.
- * Furthermore, it provides an interface to see if certain methods were invoked.
- */
-class ToolkitAdaptor
-{
-public: // Construction & Destruction
-
-  ToolkitAdaptor();
-  ~ToolkitAdaptor();
-
-public: // Getters
-
-  boost::function<void(void)> GetLastIdleAdded() const
-  {
-    return mLastIdleAdded;
-  }
-
-  TouchPoint GetLastTouchPointFed() const
-  {
-    return mLastTouchPointFed;
-  }
-
-  int GetLastTimeStampFed() const
-  {
-    return mLastTimeStampFed;
-  }
-
-  PositionSize GetLastSizeSet() const
-  {
-    return mLastSizeSet;
-  }
-
-  ToolkitStyleMonitor& GetToolkitStyleMonitor()
-  {
-    return mStyleMonitor;
-  }
-
-  ToolkitAccessibilityManager& GetAccessibilityManager()
-  {
-    return mAccessibilityManager;
-  }
-
-  ToolkitClipboardEventNotifier& GetClipboardEventNotifier()
-  {
-    return mClipboardEventNotifier;
-  }
-
-public: // Signal Emissions
-
-  void EmitSignalResize();
-
-public: // TEST FUNCTIONS
-
-  // Enumeration of Adaptor methods
-  enum TestFuncEnum
-  {
-    StartType,
-    PauseType,
-    ResumeType,
-    StopType,
-    AddIdleType,
-    FeedEventType,
-    MoveResizeType,
-    SurfaceResizedType,
-    ReplaceSurfaceType,
-    RenderSyncType,
-    GetSurfaceType,
-    GetType,
-    IsAvailableType,
-    RegisterSingletonType,
-    GetSingletonType,
-    SignalResizeType,
-  };
-
-  void Reset()
-  {
-    mFunctionsCalled.Reset();
-  }
-
-  bool WasCalled(TestFuncEnum func)
-  {
-    switch(func)
-    {
-      case StartType:                             return mFunctionsCalled.Start;
-      case PauseType:                             return mFunctionsCalled.Pause;
-      case ResumeType:                            return mFunctionsCalled.Resume;
-      case StopType:                              return mFunctionsCalled.Stop;
-      case AddIdleType:                           return mFunctionsCalled.AddIdle;
-      case FeedEventType:                         return mFunctionsCalled.FeedEvent;
-      case MoveResizeType:                        return mFunctionsCalled.MoveResize;
-      case SurfaceResizedType:                    return mFunctionsCalled.SurfaceResized;
-      case ReplaceSurfaceType:                    return mFunctionsCalled.ReplaceSurface;
-      case RenderSyncType:                        return mFunctionsCalled.RenderSync;
-      case GetSurfaceType:                        return mFunctionsCalled.GetSurface;
-      case GetType:                               return mFunctionsCalled.Get;
-      case IsAvailableType:                       return mFunctionsCalled.IsAvailable;
-      case RegisterSingletonType:                 return mFunctionsCalled.RegisterSingleton;
-      case GetSingletonType:                      return mFunctionsCalled.GetSingleton;
-      case SignalResizeType:                      return mFunctionsCalled.SignalResize;
-    }
-    return false;
-  }
-
-  void ResetCallStatistics(TestFuncEnum func)
-  {
-    switch(func)
-    {
-      case StartType:                             mFunctionsCalled.Start = false; break;
-      case PauseType:                             mFunctionsCalled.Pause = false; break;
-      case ResumeType:                            mFunctionsCalled.Resume = false; break;
-      case StopType:                              mFunctionsCalled.Stop = false; break;
-      case AddIdleType:                           mFunctionsCalled.AddIdle = false; break;
-      case FeedEventType:                         mFunctionsCalled.FeedEvent = false; break;
-      case MoveResizeType:                        mFunctionsCalled.MoveResize = false; break;
-      case SurfaceResizedType:                    mFunctionsCalled.SurfaceResized = false; break;
-      case ReplaceSurfaceType:                    mFunctionsCalled.ReplaceSurface = false; break;
-      case RenderSyncType:                        mFunctionsCalled.RenderSync = false; break;
-      case GetSurfaceType:                        mFunctionsCalled.GetSurface = false; break;
-      case GetType:                               mFunctionsCalled.Get = false; break;
-      case IsAvailableType:                       mFunctionsCalled.IsAvailable = false; break;
-      case RegisterSingletonType:                 mFunctionsCalled.RegisterSingleton = false; break;
-      case GetSingletonType:                      mFunctionsCalled.GetSingleton = false; break;
-      case SignalResizeType:                      mFunctionsCalled.SignalResize = false; break;
-    }
-  }
-
-private:
-
-  struct TestFunctions
-  {
-    TestFunctions()
-    : Start(false),
-      Pause(false),
-      Resume(false),
-      Stop(false),
-      AddIdle(false),
-      FeedEvent(false),
-      MoveResize(false),
-      SurfaceResized(false),
-      ReplaceSurface(false),
-      RenderSync(false),
-      GetSurface(false),
-      Get(false),
-      IsAvailable(false),
-      RegisterSingleton(false),
-      GetSingleton(false),
-      SignalResize(false)
-    {
-    }
-
-    void Reset()
-    {
-      Start = false;
-      Pause = false;
-      Resume = false;
-      Stop = false;
-      AddIdle = false;
-      FeedEvent = false;
-      MoveResize = false;
-      SurfaceResized = false;
-      ReplaceSurface = false;
-      RenderSync = false;
-      GetSurface = false;
-      Get = false;
-      IsAvailable = false;
-      RegisterSingleton = false;
-      GetSingleton = false;
-      SignalResize = false;
-    }
-
-    bool Start;
-    bool Pause;
-    bool Resume;
-    bool Stop;
-    bool AddIdle;
-    bool FeedEvent;
-    bool MoveResize;
-    bool SurfaceResized;
-    bool ReplaceSurface;
-    bool RenderSync;
-    bool GetSurface;
-    bool Get;
-    bool IsAvailable;
-    bool RegisterSingleton;
-    bool GetSingleton;
-    bool SignalResize;
-  };
-
-  TestFunctions mFunctionsCalled;
-
-  // Last set information
-  boost::function<void(void)> mLastIdleAdded;
-  TouchPoint mLastTouchPointFed;
-  int mLastTimeStampFed;
-  PositionSize mLastSizeSet;
-
-  // Contains Test functions for the Style Monitor
-  ToolkitStyleMonitor mStyleMonitor;
-
-  // Stub for Timer
-  ToolkitTimer mToolkitTimer;
-
-  // Stub for AccessibilityManager
-  ToolkitAccessibilityManager mAccessibilityManager;
-
-  // Stub for PhysicalKeyboard
-  ToolkitPhysicalKeyboard mPhysicalKeyboard;
-
-  // Stub for ClipboardEventNotifier
-  ToolkitClipboardEventNotifier mClipboardEventNotifier;
-
-  // The Adaptor Stub
-  Adaptor* mAdaptorStub;
-  friend class Adaptor;
-};
-
-} // namespace Dali
-
-#endif // __DALI_TOOLKIT_TOOLKIT_ADAPTOR_H__
diff --git a/automated-tests/TET/dali-toolkit-test-utils/toolkit-application.cpp b/automated-tests/TET/dali-toolkit-test-utils/toolkit-application.cpp
deleted file mode 100644 (file)
index d616efe..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include "toolkit-application.h"
-
-#include <boost/any.hpp>
-
-#include <dali/public-api/common/dali-common.h>
-#include <dali/public-api/signals/dali-signal-v2.h>
-#include <dali/public-api/adaptor-framework/common/orientation.h>
-
-namespace Dali
-{
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-
-/**
- * Stub for the Application
- */
-class Application
-{
-public:
-
-public:
-
-  Application(ToolkitApplication& toolkitApplication);
-  ~Application();
-
-public:
-
-  Orientation& GetOrientation();
-
-public: // static methods
-
-public:  // Signals
-
-private:
-
-  // Undefined
-  Application(const Application&);
-  Application& operator=(Application&);
-
-  ToolkitApplication& mToolkitApplication;
-
-  Dali::Orientation* mOrientation;
-};
-
-namespace
-{
-Application* gApplication = NULL;
-}
-
-Application::Application(ToolkitApplication& toolkitApplication)
-: mToolkitApplication(toolkitApplication),
-  mOrientation( new Dali::Orientation() )
-{
-}
-
-Application::~Application()
-{
-  delete mOrientation;
-}
-
-Orientation& Application::GetOrientation()
-{
-  return *mOrientation;
-}
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-ToolkitApplication::ToolkitApplication()
-: mApplicationStub(new Application(*this))
-{
-  gApplication = mApplicationStub;
-}
-
-ToolkitApplication::~ToolkitApplication()
-{
-  delete mApplicationStub;
-  gApplication = NULL;
-}
-
-Application& ToolkitApplication::GetApplication()
-{
-  DALI_ASSERT_ALWAYS(gApplication);
-  return *gApplication;
-}
-
-} // namespace Dali
diff --git a/automated-tests/TET/dali-toolkit-test-utils/toolkit-application.h b/automated-tests/TET/dali-toolkit-test-utils/toolkit-application.h
deleted file mode 100644 (file)
index 8b376a0..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-#ifndef __DALI_TOOLKIT_TOOLKIT_APPLICATION_H__
-#define __DALI_TOOLKIT_TOOLKIT_APPLICATION_H__
-
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-namespace Dali
-{
-
-class Application;
-
-/**
- * This creates a stubbed Application so that Application calls work.
- * Furthermore, it provides an interface to see if certain methods were invoked.
- */
-class ToolkitApplication
-{
-public: // Construction & Destruction
-
-  ToolkitApplication();
-  ~ToolkitApplication();
-
-public: // Getters
-
-  Application& GetApplication();
-
-public: // Signal Emissions
-
-public: // TEST FUNCTIONS
-
-  // Enumeration of Application methods
-  enum TestFuncEnum
-  {
-  };
-
-  void Reset()
-  {
-    mFunctionsCalled.Reset();
-  }
-
-  bool WasCalled(TestFuncEnum func)
-  {
-    switch(func)
-    {
-    }
-    return false;
-  }
-
-  void ResetCallStatistics(TestFuncEnum func)
-  {
-    switch(func)
-    {
-    }
-  }
-
-private:
-
-  struct TestFunctions
-  {
-    TestFunctions()
-    {
-    }
-
-    void Reset()
-    {
-    }
-  };
-
-  TestFunctions mFunctionsCalled;
-
-  // The Application Stub
-  Application* mApplicationStub;
-  friend class Application;
-};
-
-} // namespace Dali
-
-#endif // __DALI_TOOLKIT_TOOLKIT_APPLICATION_H__
diff --git a/automated-tests/TET/dali-toolkit-test-utils/toolkit-clipboard-event-notifier.cpp b/automated-tests/TET/dali-toolkit-test-utils/toolkit-clipboard-event-notifier.cpp
deleted file mode 100644 (file)
index 168625e..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include "toolkit-clipboard-event-notifier.h"
-
-#include <dali/public-api/common/dali-common.h>
-#include <dali/public-api/object/base-object.h>
-#include <dali/public-api/signals/dali-signal-v2.h>
-
-namespace Dali
-{
-
-namespace
-{
-ToolkitClipboardEventNotifier* gToolkitClipboardEventNotifier(NULL);
-} // unnamed namespace
-
-namespace Internal
-{
-
-namespace Adaptor
-{
-
-/**
- * Stub for the ClipboardEventNotifier
- */
-class ClipboardEventNotifier : public BaseObject
-{
-public: // Creation & Destruction
-
-  static Dali::ClipboardEventNotifier Get();
-
-  ClipboardEventNotifier();
-  ClipboardEventNotifier(ToolkitClipboardEventNotifier *clipboardEventNotifier);
-  ~ClipboardEventNotifier();
-
-public: // Signals
-
-  Dali::ClipboardEventNotifier::ClipboardEventSignalV2& SignalContentSelected()
-  {
-    return mClipboardSignal;
-  }
-
-private:
-
-  ToolkitClipboardEventNotifier* mToolkitClipboardEventNotifier;
-  Dali::ClipboardEventNotifier::ClipboardEventSignalV2 mClipboardSignal;
-
-};
-
-Dali::ClipboardEventNotifier ClipboardEventNotifier::Get()
-{
-  return gToolkitClipboardEventNotifier->GetClipboardEventNotifier();
-}
-
-ClipboardEventNotifier::ClipboardEventNotifier()
-: mToolkitClipboardEventNotifier(NULL)
-{
-}
-
-ClipboardEventNotifier::ClipboardEventNotifier(ToolkitClipboardEventNotifier *clipboardEventNotifier)
-: mToolkitClipboardEventNotifier(clipboardEventNotifier)
-{
-}
-
-ClipboardEventNotifier::~ClipboardEventNotifier()
-{
-}
-
-} // namespace Adaptor
-
-} // namespace Internal
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-ToolkitClipboardEventNotifier::ToolkitClipboardEventNotifier()
-: mClipboardEventNotifierStub(new Internal::Adaptor::ClipboardEventNotifier(this)),
-  mClipboardEventNotifier( mClipboardEventNotifierStub )
-{
-  gToolkitClipboardEventNotifier = this;
-}
-
-ToolkitClipboardEventNotifier::~ToolkitClipboardEventNotifier()
-{
-  gToolkitClipboardEventNotifier = NULL;
-}
-
-ClipboardEventNotifier ToolkitClipboardEventNotifier::GetClipboardEventNotifier()
-{
-  return mClipboardEventNotifier;
-}
-
-} // namespace Dali
diff --git a/automated-tests/TET/dali-toolkit-test-utils/toolkit-clipboard-event-notifier.h b/automated-tests/TET/dali-toolkit-test-utils/toolkit-clipboard-event-notifier.h
deleted file mode 100644 (file)
index 4cb9a98..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef __DALI_TOOLKIT_CLIPBOARD_EVENT_NOTIFIER_H__
-#define __DALI_TOOLKIT_CLIPBOARD_EVENT_NOTIFIER_H__
-
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-// EXTERNAL INCLUDES
-#include <string>
-
-// PUBLIC INCLUDES
-#include <dali/public-api/adaptor-framework/common/clipboard-event-notifier.h>
-
-namespace Dali
-{
-
-namespace Internal
-{
-namespace Adaptor
-{
-class ClipboardEventNotifier;
-}
-}
-
-/**
- * This creates a stubbed ClipboardEventNotifier so that internal Toolkit Adaptor calls work.
- */
-class ToolkitClipboardEventNotifier
-{
-public: // Constants
-
-public: // Construction & Destruction
-
-  ToolkitClipboardEventNotifier();
-  ~ToolkitClipboardEventNotifier();
-
-public: // Getters
-
-  ClipboardEventNotifier GetClipboardEventNotifier();
-
-public: // Signal Emissions
-
-  ClipboardEventNotifier::ClipboardEventSignalV2& SignalContentSelected();
-
-public: // TEST FUNCTIONS
-
-private:
-
-  Internal::Adaptor::ClipboardEventNotifier* mClipboardEventNotifierStub;
-  friend class Internal::Adaptor::ClipboardEventNotifier;
-  ClipboardEventNotifier mClipboardEventNotifier; // Hold a handle ourselves.
-};
-
-} // namespace Dali
-
-#endif // __DALI_TOOLKIT_TOOLKIT_CLIPBOARD_EVENT_NOTIFIER_H__
diff --git a/automated-tests/TET/dali-toolkit-test-utils/toolkit-orientation.cpp b/automated-tests/TET/dali-toolkit-test-utils/toolkit-orientation.cpp
deleted file mode 100644 (file)
index 62598d3..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include "toolkit-orientation.h"
-
-#include <dali/public-api/common/dali-common.h>
-#include <dali/public-api/object/base-object.h>
-#include <dali/public-api/signals/dali-signal-v2.h>
-
-namespace Dali
-{
-
-namespace
-{
-ToolkitOrientation* gToolkitOrientation(NULL);
-} // unnamed namespace
-
-namespace Internal
-{
-
-namespace Adaptor
-{
-
-/**
- * Stub for the Orientation
- */
-class Orientation : public BaseObject
-{
-public: // Creation & Destruction
-
-  Orientation();
-  Orientation(ToolkitOrientation *orientation);
-  ~Orientation();
-
-public: // Setters & Getters
-
-  void SetDegrees( int degrees )
-  {
-    mOrientation = degrees;
-  }
-
-  int GetDegrees() const;
-  float GetRadians() const;
-
-public: // Signals
-
-  Dali::Orientation::OrientationSignalV2& ChangedSignal();
-
-  void EmitChangedSignal()
-  {
-    mChangedSignal.Emit(Dali::Orientation(this));
-  }
-
-private:
-
-  Dali::Orientation::OrientationSignalV2 mChangedSignal;
-
-  ToolkitOrientation* mToolkitOrientation;
-
-  int mOrientation;
-};
-
-Orientation::Orientation()
-: mToolkitOrientation(NULL),
-  mOrientation(0)
-{
-}
-
-Orientation::Orientation(ToolkitOrientation *orientation)
-: mToolkitOrientation(orientation),
-  mOrientation(0)
-{
-}
-
-Orientation::~Orientation()
-{
-}
-
-int Orientation::GetDegrees() const
-{
-  mToolkitOrientation->mFunctionsCalled.GetDegrees = true;
-  return mOrientation;
-}
-
-float Orientation::GetRadians() const
-{
-  mToolkitOrientation->mFunctionsCalled.GetRadians = true;
-  return Math::PI * (float)mOrientation / 180.0f;
-}
-
-Dali::Orientation::OrientationSignalV2& Orientation::ChangedSignal()
-{
-  mToolkitOrientation->mFunctionsCalled.ChangedSignal = true;
-  return mChangedSignal;
-}
-
-} // namespace Adaptor
-
-} // namespace Internal
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-ToolkitOrientation::ToolkitOrientation()
-: mOrientationStub(new Internal::Adaptor::Orientation(this)),
-  mOrientation( mOrientationStub )
-{
-  gToolkitOrientation = this;
-}
-
-ToolkitOrientation::~ToolkitOrientation()
-{
-  gToolkitOrientation = NULL;
-}
-
-Orientation ToolkitOrientation::GetHandle()
-{
-  return mOrientation;
-}
-
-void ToolkitOrientation::SetDegrees( int degrees )
-{
-  mOrientationStub->SetDegrees( degrees );
-}
-
-void ToolkitOrientation::EmitChangedSignal()
-{
-  mOrientationStub->EmitChangedSignal();
-}
-
-} // namespace Dali
diff --git a/automated-tests/TET/dali-toolkit-test-utils/toolkit-orientation.h b/automated-tests/TET/dali-toolkit-test-utils/toolkit-orientation.h
deleted file mode 100644 (file)
index 31c31f1..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-#ifndef __DALI_TOOLKIT_TOOLKIT_ORIENTATION_H__
-#define __DALI_TOOLKIT_TOOLKIT_ORIENTATION_H__
-
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-// EXTERNAL INCLUDES
-#include <string>
-
-// INTERNAL INCLUDES
-#include <dali/public-api/adaptor-framework/common/orientation.h>
-
-namespace Dali
-{
-
-namespace Internal
-{
-namespace Adaptor
-{
-class Orientation;
-}
-}
-
-/**
- * This creates a stubbed Orientation so that internal Toolkit Adaptor calls work.
- * Furthermore, it provides an interface to see if certain methods were invoked.
- */
-class ToolkitOrientation
-{
-public: // Construction & Destruction
-
-  ToolkitOrientation();
-  ~ToolkitOrientation();
-
-public: // Getters
-
-  Orientation GetHandle();
-
-public: // Setters
-
-  void SetDegrees( int degrees );
-
-public: // Signal Emissions
-
-  void EmitChangedSignal();
-
-public: // TEST FUNCTIONS
-
-  // Enumeration of Adaptor methods
-  enum TestFuncEnum
-  {
-    GetDegrees,
-    GetRadians,
-    ChangedSignal,
-  };
-
-  void Reset()
-  {
-    mFunctionsCalled.Reset();
-  }
-
-  bool WasCalled(TestFuncEnum func)
-  {
-    switch(func)
-    {
-      case GetDegrees:          return mFunctionsCalled.GetDegrees;
-      case GetRadians:          return mFunctionsCalled.GetRadians;
-      case ChangedSignal:       return mFunctionsCalled.ChangedSignal;
-    }
-    return false;
-  }
-
-  void ResetCallStatistics(TestFuncEnum func)
-  {
-    switch(func)
-    {
-      case GetDegrees:          mFunctionsCalled.GetDegrees = false; break;
-      case GetRadians:          mFunctionsCalled.GetRadians = false; break;
-      case ChangedSignal:       mFunctionsCalled.ChangedSignal = false; break;
-    }
-  }
-
-private:
-
-  struct TestFunctions
-  {
-    TestFunctions()
-    : GetDegrees(false),
-      GetRadians(false),
-      ChangedSignal(false)
-    {
-    }
-
-    void Reset()
-    {
-      GetDegrees = false;
-      GetRadians = false;
-      ChangedSignal = false;
-    }
-
-    bool GetDegrees;
-    bool GetRadians;
-    bool ChangedSignal;
-  };
-
-  TestFunctions mFunctionsCalled;
-
-  // The stub
-  Internal::Adaptor::Orientation* mOrientationStub;
-  friend class Internal::Adaptor::Orientation;
-  Orientation mOrientation; // Hold a handle ourselves.
-};
-
-} // namespace Dali
-
-#endif // __DALI_TOOLKIT_TOOLKIT_ORIENTATION_H__
diff --git a/automated-tests/TET/dali-toolkit-test-utils/toolkit-physical-keyboard.cpp b/automated-tests/TET/dali-toolkit-test-utils/toolkit-physical-keyboard.cpp
deleted file mode 100644 (file)
index 4789b86..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include "toolkit-physical-keyboard.h"
-
-#include <dali/public-api/common/dali-common.h>
-#include <dali/public-api/object/base-object.h>
-#include <dali/public-api/signals/dali-signal-v2.h>
-
-namespace Dali
-{
-
-namespace Internal
-{
-
-namespace Adaptor
-{
-
-/**
- * Stub for the PhysicalKeyboard
- */
-class PhysicalKeyboard : public BaseObject
-{
-public: // Creation & Destruction
-
-  PhysicalKeyboard();
-  PhysicalKeyboard(ToolkitPhysicalKeyboard *toolkitPhysicalKeyboard);
-  ~PhysicalKeyboard();
-  static Dali::PhysicalKeyboard Get();
-
-public:
-
-  bool IsAttached() const;
-
-public: // Signals
-
-  Dali::PhysicalKeyboard::Signal& StatusChangedSignal();
-
-private:
-
-  ToolkitPhysicalKeyboard* mToolkitPhysicalKeyboard;
-  Dali::PhysicalKeyboard::Signal mStatusChangedSignal;
-
-  bool mIsAttached;
-};
-
-namespace
-{
-PhysicalKeyboard* gPhysicalKeyboard = NULL;
-}
-
-PhysicalKeyboard::PhysicalKeyboard()
-: mToolkitPhysicalKeyboard(NULL),
-  mIsAttached(true)
-{
-}
-
-PhysicalKeyboard::PhysicalKeyboard(ToolkitPhysicalKeyboard *toolkitPhysicalKeyboard)
-: mToolkitPhysicalKeyboard(toolkitPhysicalKeyboard),
-  mIsAttached(true)
-{
-}
-
-PhysicalKeyboard::~PhysicalKeyboard()
-{
-}
-
-Dali::PhysicalKeyboard PhysicalKeyboard::Get()
-{
-  DALI_ASSERT_ALWAYS(gPhysicalKeyboard);
-  return Dali::PhysicalKeyboard(gPhysicalKeyboard);
-}
-
-bool PhysicalKeyboard::IsAttached() const
-{
-  return mIsAttached;
-}
-
-Dali::PhysicalKeyboard::Signal& PhysicalKeyboard::StatusChangedSignal()
-{
-  return mStatusChangedSignal;
-}
-
-} // namespace Adaptor
-
-} // namespace Internal
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-ToolkitPhysicalKeyboard::ToolkitPhysicalKeyboard()
-: mPhysicalKeyboardStub(new Internal::Adaptor::PhysicalKeyboard(this)),
-  mPhysicalKeyboard( mPhysicalKeyboardStub )
-{
-  Dali::Internal::Adaptor::gPhysicalKeyboard = mPhysicalKeyboardStub;
-}
-
-ToolkitPhysicalKeyboard::~ToolkitPhysicalKeyboard()
-{
-}
-
-PhysicalKeyboard ToolkitPhysicalKeyboard::GetPhysicalKeyboard()
-{
-  return mPhysicalKeyboard;
-}
-
-} // namespace Dali
diff --git a/automated-tests/TET/dali-toolkit-test-utils/toolkit-physical-keyboard.h b/automated-tests/TET/dali-toolkit-test-utils/toolkit-physical-keyboard.h
deleted file mode 100644 (file)
index 9e4abb9..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef __DALI_TOOLKIT_PHYSICAL_KEYBOARD_H__
-#define __DALI_TOOLKIT_PHYSICAL_KEYBOARD_H__
-
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-// EXTERNAL INCLUDES
-#include <string>
-
-// PUBLIC INCLUDES
-#include <dali/public-api/adaptor-framework/common/physical-keyboard.h>
-
-namespace Dali
-{
-
-namespace Internal
-{
-namespace Adaptor
-{
-class PhysicalKeyboard;
-}
-}
-
-/**
- * This creates a stubbed PhysicalKeyboard so that internal Toolkit Adaptor calls work.
- */
-class ToolkitPhysicalKeyboard
-{
-public: // Constants
-
-public: // Construction & Destruction
-
-  ToolkitPhysicalKeyboard();
-  ~ToolkitPhysicalKeyboard();
-
-public: // Getters
-
-  Dali::PhysicalKeyboard GetPhysicalKeyboard();
-
-public: // Signal Emissions
-
-  PhysicalKeyboard::Signal& StatusChangedSignal();
-
-public: // TEST FUNCTIONS
-
-private:
-
-  Internal::Adaptor::PhysicalKeyboard* mPhysicalKeyboardStub;
-  friend class Internal::Adaptor::PhysicalKeyboard;
-  PhysicalKeyboard mPhysicalKeyboard; // Hold a handle ourselves.
-};
-
-} // namespace Dali
-
-#endif // __DALI_TOOLKIT_PHYSICAL_KEYBOARD_H__
diff --git a/automated-tests/TET/dali-toolkit-test-utils/toolkit-style-monitor.cpp b/automated-tests/TET/dali-toolkit-test-utils/toolkit-style-monitor.cpp
deleted file mode 100644 (file)
index 8f7d24a..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include "toolkit-style-monitor.h"
-
-#include <dali/public-api/common/dali-common.h>
-#include <dali/public-api/object/base-object.h>
-#include <dali/public-api/signals/dali-signal-v2.h>
-
-namespace Dali
-{
-
-namespace
-{
-ToolkitStyleMonitor* gToolkitStyleMonitor(NULL);
-} // unnamed namespace
-
-namespace Internal
-{
-
-namespace Adaptor
-{
-
-/**
- * Stub for the StyleMonitor
- */
-class StyleMonitor : public BaseObject
-{
-public: // Creation & Destruction
-
-  static Dali::StyleMonitor Get();
-  StyleMonitor();
-  StyleMonitor(ToolkitStyleMonitor *styleMonitor);
-  ~StyleMonitor();
-
-public: // Style Information
-
-  std::string GetDefaultFontFamily() const;
-  float GetDefaultFontSize() const;
-
-public: // Signals
-
-  Dali::StyleMonitor::StyleChangeSignalV2& StyleChangeSignal();
-
-  void EmitStyleChangeSignal(StyleChange styleChange)
-  {
-    mStyleChangeSignal.Emit(Dali::StyleMonitor(this), styleChange);
-  }
-
-private:
-
-  Dali::StyleMonitor::StyleChangeSignalV2 mStyleChangeSignal;
-
-  ToolkitStyleMonitor* mToolkitStyleMonitor;
-};
-
-Dali::StyleMonitor StyleMonitor::Get()
-{
-  return gToolkitStyleMonitor->GetStyleMonitor();
-}
-
-StyleMonitor::StyleMonitor()
-: mToolkitStyleMonitor(NULL)
-{
-}
-
-StyleMonitor::StyleMonitor(ToolkitStyleMonitor *styleMonitor)
-: mToolkitStyleMonitor(styleMonitor)
-{
-}
-
-StyleMonitor::~StyleMonitor()
-{
-}
-
-std::string StyleMonitor::GetDefaultFontFamily() const
-{
-  mToolkitStyleMonitor->mFunctionsCalled.GetDefaultFontFamily = true;
-  return ToolkitStyleMonitor::DEFAULT_FONT_FAMILY;
-}
-
-float StyleMonitor::GetDefaultFontSize() const
-{
-  mToolkitStyleMonitor->mFunctionsCalled.GetDefaultFontSize = true;
-  return ToolkitStyleMonitor::DEFAULT_FONT_SIZE;
-}
-
-Dali::StyleMonitor::StyleChangeSignalV2& StyleMonitor::StyleChangeSignal()
-{
-  mToolkitStyleMonitor->mFunctionsCalled.SignalStyleChange = true;
-  return mStyleChangeSignal;
-}
-
-} // namespace Adaptor
-
-} // namespace Internal
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-const std::string ToolkitStyleMonitor::DEFAULT_FONT_FAMILY("DefaultFont");
-const float       ToolkitStyleMonitor::DEFAULT_FONT_SIZE(1.0f);
-
-ToolkitStyleMonitor::ToolkitStyleMonitor()
-: mStyleMonitorStub(new Internal::Adaptor::StyleMonitor(this)),
-  mStyleMonitor( mStyleMonitorStub )
-{
-  gToolkitStyleMonitor = this;
-}
-
-ToolkitStyleMonitor::~ToolkitStyleMonitor()
-{
-  gToolkitStyleMonitor = NULL;
-}
-
-StyleMonitor ToolkitStyleMonitor::GetStyleMonitor()
-{
-  return mStyleMonitor;
-}
-
-void ToolkitStyleMonitor::EmitSignalStyleChange(StyleChange styleChange)
-{
-  mStyleMonitorStub->EmitStyleChangeSignal(styleChange);
-}
-
-} // namespace Dali
diff --git a/automated-tests/TET/dali-toolkit-test-utils/toolkit-style-monitor.h b/automated-tests/TET/dali-toolkit-test-utils/toolkit-style-monitor.h
deleted file mode 100644 (file)
index 0be6640..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-#ifndef __DALI_TOOLKIT_TOOLKIT_STYLE_MONITOR_H__
-#define __DALI_TOOLKIT_TOOLKIT_STYLE_MONITOR_H__
-
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-// EXTERNAL INCLUDES
-#include <string>
-
-// INTERNAL INCLUDES
-#include <dali/public-api/adaptor-framework/common/style-monitor.h>
-
-namespace Dali
-{
-
-namespace Internal
-{
-namespace Adaptor
-{
-class StyleMonitor;
-}
-}
-
-/**
- * This creates a stubbed StyleMonitor so that internal Toolkit Adaptor calls work.
- * Furthermore, it provides an interface to see if certain methods were invoked.
- */
-class ToolkitStyleMonitor
-{
-public: // Constants
-
-  static const std::string DEFAULT_FONT_FAMILY;
-  static const float       DEFAULT_FONT_SIZE;
-
-public: // Construction & Destruction
-
-  ToolkitStyleMonitor();
-  ~ToolkitStyleMonitor();
-
-public: // Getters
-
-  StyleMonitor GetStyleMonitor();
-
-public: // Signal Emissions
-
-  void EmitSignalStyleChange(StyleChange styleChange);
-
-public: // TEST FUNCTIONS
-
-  // Enumeration of Adaptor methods
-  enum TestFuncEnum
-  {
-    GetDefaultFontFamilyType,
-    GetDefaultFontSizeType,
-    SignalStyleChangeType,
-  };
-
-  void Reset()
-  {
-    mFunctionsCalled.Reset();
-  }
-
-  bool WasCalled(TestFuncEnum func)
-  {
-    switch(func)
-    {
-      case GetDefaultFontFamilyType:          return mFunctionsCalled.GetDefaultFontFamily;
-      case GetDefaultFontSizeType:            return mFunctionsCalled.GetDefaultFontSize;
-      case SignalStyleChangeType:             return mFunctionsCalled.SignalStyleChange;
-    }
-    return false;
-  }
-
-  void ResetCallStatistics(TestFuncEnum func)
-  {
-    switch(func)
-    {
-      case GetDefaultFontFamilyType:          mFunctionsCalled.GetDefaultFontFamily = false; break;
-      case GetDefaultFontSizeType:            mFunctionsCalled.GetDefaultFontSize = false; break;
-      case SignalStyleChangeType:             mFunctionsCalled.SignalStyleChange = false; break;
-    }
-  }
-
-private:
-
-  struct TestFunctions
-  {
-    TestFunctions()
-    : GetDefaultFontFamily(false),
-      GetDefaultFontSize(false),
-      SignalStyleChange(false)
-    {
-    }
-
-    void Reset()
-    {
-      GetDefaultFontFamily = false;
-      GetDefaultFontSize = false;
-      SignalStyleChange = false;
-    }
-
-    bool GetDefaultFontFamily;
-    bool GetDefaultFontSize;
-    bool SignalStyleChange;
-  };
-
-  TestFunctions mFunctionsCalled;
-
-  // The StyleMonitor stub
-  Internal::Adaptor::StyleMonitor* mStyleMonitorStub;
-  friend class Internal::Adaptor::StyleMonitor;
-  StyleMonitor mStyleMonitor; // Hold a handle ourselves.
-};
-
-} // namespace Dali
-
-#endif // __DALI_TOOLKIT_TOOLKIT_STYLE_MONITOR_H__
diff --git a/automated-tests/TET/dali-toolkit-test-utils/toolkit-test-application.h b/automated-tests/TET/dali-toolkit-test-utils/toolkit-test-application.h
deleted file mode 100644 (file)
index b7b40a0..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef __DALI_TOOLKIT_TEST_APPLICATION_H__
-#define __DALI_TOOLKIT_TEST_APPLICATION_H__
-
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-// INTERNAL INCLUDES
-#include <dali-test-suite-utils.h>
-
-#include "toolkit-adaptor.h"
-#include "toolkit-orientation.h"
-
-namespace Dali
-{
-
-/**
- * Adds some functionality on top of TestApplication that is required by the Toolkit.
- */
-class ToolkitTestApplication : public TestApplication
-{
-public:
-
-  ToolkitTestApplication( size_t surfaceWidth  = DEFAULT_SURFACE_WIDTH,
-                          size_t surfaceHeight = DEFAULT_SURFACE_HEIGHT,
-                          float  horizontalDpi = DEFAULT_HORIZONTAL_DPI,
-                          float  verticalDpi   = DEFAULT_VERTICAL_DPI )
-  : TestApplication( false, surfaceWidth, surfaceHeight, horizontalDpi, verticalDpi )
-  {
-    Initialize();
-  }
-
-  ~ToolkitTestApplication()
-  {
-    // Need to delete core before we delete the adaptor.
-    delete mCore;
-    mCore = NULL;
-  }
-
-  ToolkitAdaptor& GetAdaptor()
-  {
-    return mAdaptor;
-  }
-
-  ToolkitOrientation& GetOrientation()
-  {
-    return mOrientation;
-  }
-
-private:
-  ToolkitAdaptor mAdaptor;
-  ToolkitOrientation mOrientation;
-};
-
-} // namespace Dali
-
-#endif // __DALI_TOOLKIT_TEST_APPLICATION_H__
diff --git a/automated-tests/TET/dali-toolkit-test-utils/toolkit-timer.cpp b/automated-tests/TET/dali-toolkit-test-utils/toolkit-timer.cpp
deleted file mode 100644 (file)
index 52327b5..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include "toolkit-timer.h"
-// INTERNAL INCLUDES
-
-#include <dali/public-api/common/dali-common.h>
-#include <dali/public-api/object/base-object.h>
-#include <dali/public-api/signals/dali-signal-v2.h>
-
-namespace Dali
-{
-
-namespace
-{
-
-Timer gTimer;
-
-/*
- * This is a global signal that all users of this stub will connect to.
- * If we were to use a timer stub with real ticks we may wish to have this as a member variable created with each New Timer.
- * Currently unable to get the boost singal connect to work with the stub timer when using a member hence this global.
- */
-Dali::Timer::TimerSignalV2 gTimerTick;
-}
-
-/**
- * Stub for the Timer
- */
-
-Timer Timer::New( unsigned int milliSec )
-{
-  DALI_ASSERT_ALWAYS( gTimer );
-
-  return gTimer;
-}
-
-Timer::TimerSignalV2& Timer::TickSignal()
-{
-   return gTimerTick;
-}
-
-bool Timer::IsRunning() const
-{
-  return true;
-}
-
-Timer::Timer( const Timer& timer )
-: BaseHandle(timer)
-{
-}
-
-Timer::~Timer()
-{
-}
-
-
-void Timer::Start()
-{
-}
-
-void Timer::Stop()
-{
-}
-
-namespace Internal
-{
-
-namespace Adaptor
-{
-
-/**
- * Stub for the Internal Timer
- */
-class Timer : public BaseObject
-{
-public: // Creation & Destruction
-
-  Timer();
-  Timer(ToolkitTimer *timer);
-  ~Timer();
-
-  void Start();
-
-  void Stop();
-
-  bool IsRunning() const;
-
-public: // Signals
-
-private:
-
-  ToolkitTimer* mToolkitTimer;
-  bool mRunning;
-};
-
-Timer::Timer()
-: mToolkitTimer(NULL),
-  mRunning( true )
-{
-}
-
-Timer::Timer(ToolkitTimer *timer)
-: mToolkitTimer(timer),
-  mRunning( true )
-{
-}
-
-Timer::~Timer()
-{
-}
-
-void Timer::Start()
-{
-  DALI_ASSERT_ALWAYS( gTimer );
-}
-
-void Timer::Stop()
-{
-  DALI_ASSERT_ALWAYS( gTimer );
-}
-
-bool Timer::IsRunning() const
-{
-  DALI_ASSERT_ALWAYS( gTimer );
-  return mRunning;
-}
-
-} // namespace Adaptor
-
-} // namespace Internal
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-ToolkitTimer::ToolkitTimer()
-: mTimerStub(new Internal::Adaptor::Timer(this)),
-  mTimer( mTimerStub )
-{
-  if ( mTimer )
-  {
-    gTimer = mTimer;
-  }
-}
-
-ToolkitTimer::~ToolkitTimer()
-{
-  gTimer.Reset();
-}
-
-Timer ToolkitTimer::GetTimer()
-{
-  return mTimer;
-}
-
-} // namespace Dali
diff --git a/automated-tests/TET/dali-toolkit-test-utils/toolkit-timer.h b/automated-tests/TET/dali-toolkit-test-utils/toolkit-timer.h
deleted file mode 100644 (file)
index 2035759..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef __DALI_TOOLKIT_TOOLKIT_TIMER_H__
-#define __DALI_TOOLKIT_TOOLKIT_TIMER_H__
-
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-// EXTERNAL INCLUDES
-#include <string>
-
-// PUBLIC INCLUDES
-#include <dali/public-api/adaptor-framework/common/timer.h>
-
-namespace Dali
-{
-
-namespace Internal
-{
-namespace Adaptor
-{
-class Timer;
-
-}
-}
-
-/**
- * This creates a stubbed Timer so that internal Toolkit Adaptor calls work.
- */
-class ToolkitTimer
-{
-public: // Constants
-
-public: // Construction & Destruction
-
-  ToolkitTimer();
-  ~ToolkitTimer();
-
-public:
-
-  Timer GetTimer();
-
-public: // Signal Emissions
-
-  Dali::Timer::TimerSignalV2& TickSignal();
-
-public: // TEST FUNCTIONS
-
-private:
-
-  Internal::Adaptor::Timer* mTimerStub;
-  friend class Internal::Adaptor::Timer;
-  Timer mTimer; // Hold a handle ourselves.
-};
-
-} // namespace Dali
-
-#endif // __DALI_TOOLKIT_TOOLKIT_TIMER_H__
diff --git a/automated-tests/TET/debug.sh b/automated-tests/TET/debug.sh
deleted file mode 100755 (executable)
index c01d55a..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/bash
-
-TEMP=`getopt -o ds: --long desktop,scenario: \
-     -n 'build_out.sh' -- "$@"`
-
-if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
-
-# Note the quotes around `$TEMP': they are essential!
-eval set -- "$TEMP"
-
-scenario=all
-env=./_export_env.sh
-
-while true ; do
-    case "$1" in
-       -d|--desktop)   env=./_export_desktop.sh ; shift ;;
-       -s|--scenario)  scenario="$2" ; shift 2 ;;
-       --) shift ; break ;;
-       *) echo "Internal error!" ; exit 1 ;;
-       esac
-done
-
-
-# Source correct environment
-. $env
-
-echo PATH=$PATH
-echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH
-echo TET_ROOT=$TET_ROOT
-echo TET_SUITE_ROOT=$TET_SUITE_ROOT
-echo ARCH=$ARCH
-
-RESULT_DIR=results-$ARCH
-HTML_RESULT=$RESULT_DIR/exec-tar-result-$FILE_NAME_EXTENSION.html
-JOURNAL_RESULT=$RESULT_DIR/exec-tar-result-$FILE_NAME_EXTENSION.journal
-
-mkdir -p $RESULT_DIR
-
-tmp_script=/tmp/tetexec$$
-
-cat > $tmp_script <<!EOF
-LD_LIBRARY_PATH=$TET_ROOT/lib/tet3:$LD_LIBRARY_PATH
-export LD_LIBRARY_PATH
-echo
-echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH
-echo
-gdb \$*
-!EOF
-
-chmod 755 $tmp_script
-tcc -v TET_EXEC_TOOL=$TET_ROOT/bin/tet_start -v TET_EXEC_FILE=$tmp_script -e -j - ./ $scenario
-
-unlink $tmp_script
diff --git a/automated-tests/TET/debug_target.sh b/automated-tests/TET/debug_target.sh
deleted file mode 100644 (file)
index d8c8a3f..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/bin/sh
-
-TEMP=`getopt -o ds: --long desktop,scenario: \
-     -n 'build_out.sh' -- "$@"`
-
-if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
-
-# Note the quotes around `$TEMP': they are essential!
-eval set -- "$TEMP"
-
-scenario=all
-env=./_export_env.sh
-
-while true ; do
-    case "$1" in
-       -d|--desktop)   env=./_export_desktop.sh ; shift ;;
-       -s|--scenario)  scenario="$2" ; shift 2 ;;
-       --) shift ; break ;;
-       *) echo "Internal error!" ; exit 1 ;;
-       esac
-done
-
-
-# Source correct environment
-. $env
-
-echo PATH=$PATH
-echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH
-echo TET_ROOT=$TET_ROOT
-echo TET_SUITE_ROOT=$TET_SUITE_ROOT
-echo ARCH=$ARCH
-
-RESULT_DIR=results-$ARCH
-HTML_RESULT=$RESULT_DIR/exec-tar-result-$FILE_NAME_EXTENSION.html
-JOURNAL_RESULT=$RESULT_DIR/exec-tar-result-$FILE_NAME_EXTENSION.journal
-
-mkdir -p $RESULT_DIR
-
-tmp_script=/tmp/tetexec$$
-
-cat > $tmp_script <<!EOF
-LD_LIBRARY_PATH=$TET_ROOT/lib/tet3:$LD_LIBRARY_PATH
-export LD_LIBRARY_PATH
-echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH
-gdb \$*
-!EOF
-
-
-chmod 755 $tmp_script
-tcc -v TET_XTERM=/usr/bin/rxvt-xpm -v TET_XTERM_DISPLAY=192.168.129.2:0 -v TET_EXEC_TOOL=$TET_ROOT/bin/tet_start -v TET_EXEC_FILE=$tmp_script -e -j - ./ $scenario
-
-rm $tmp_script
diff --git a/automated-tests/TET/execute.sh b/automated-tests/TET/execute.sh
deleted file mode 100755 (executable)
index e4059ee..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/bash
-
-TEMP=`getopt -o ds: --long desktop,scenario: \
-     -n 'build_out.sh' -- "$@"`
-
-if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
-
-# Note the quotes around `$TEMP': they are essential!
-eval set -- "$TEMP"
-
-scenario=all
-env=./_export_env.sh
-
-while true ; do
-    case "$1" in
-       -d|--desktop)   env=./_export_desktop.sh ; shift ;;
-       -s|--scenario)  scenario="$2" ; shift 2 ;;
-       --) shift ; break ;;
-       *) echo "Internal error!" ; exit 1 ;;
-       esac
-done
-
-
-# Source correct environment
-. $env
-
-
-echo PATH=$PATH
-echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH
-echo TET_ROOT=$TET_ROOT
-echo TET_SUITE_ROOT=$TET_SUITE_ROOT
-echo ARCH=$ARCH
-
-RESULT_DIR=results-$ARCH
-HTML_RESULT=$RESULT_DIR/exec-tar-result-$FILE_NAME_EXTENSION.html
-JOURNAL_RESULT=$RESULT_DIR/exec-tar-result-$FILE_NAME_EXTENSION.journal
-
-mkdir -p $RESULT_DIR
-
-tcc -e -j $JOURNAL_RESULT -p ./ $scenario
-./tbp.pl $JOURNAL_RESULT
-
diff --git a/automated-tests/TET/execute_target.sh b/automated-tests/TET/execute_target.sh
deleted file mode 100755 (executable)
index 7aaed5f..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-TEMP=`getopt -o ds: --long desktop,scenario: \
-     -n 'build_out.sh' -- "$@"`
-
-if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
-
-# Note the quotes around `$TEMP': they are essential!
-eval set -- "$TEMP"
-
-scenario=all
-env=./_export_target_env.sh
-
-while true ; do
-    case "$1" in
-       -d|--desktop)   env=./_export_desktop.sh ; shift ;;
-       -s|--scenario)  scenario="$2" ; shift 2 ;;
-       --) shift ; break ;;
-       *) echo "Internal error!" ; exit 1 ;;
-       esac
-done
-
-
-# Source correct environment
-. $env
-
-
-echo PATH=$PATH
-echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH
-echo TET_ROOT=$TET_ROOT
-echo TET_SUITE_ROOT=$TET_SUITE_ROOT
-echo ARCH=$ARCH
-
-RESULT_DIR=results-$ARCH
-HTML_RESULT=$RESULT_DIR/exec-tar-result-$FILE_NAME_EXTENSION.html
-JOURNAL_RESULT=$RESULT_DIR/exec-tar-result-$FILE_NAME_EXTENSION.journal
-
-mkdir -p $RESULT_DIR
-
-tcc -e -j $JOURNAL_RESULT -p ./ $scenario
-grw -c 3 -f chtml -o $HTML_RESULT $JOURNAL_RESULT
diff --git a/automated-tests/TET/rules.mk.in b/automated-tests/TET/rules.mk.in
deleted file mode 100644 (file)
index c0df185..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-LDFLAGS = `pkg-config --libs $(PKGS)`
-LDFLAGS += $(TET_ROOT)/lib/tet3/tcm_s.o
-LDFLAGS += -L$(TET_ROOT)/lib/tet3 -ltcm_s
-LDFLAGS += -L$(TET_ROOT)/lib/tet3 -lapi_s
-
-CXXFLAGS = -I. -I../../.. `pkg-config --cflags $(PKGS)`
-CXXFLAGS += -I$(TET_ROOT)/inc/tet3
-CXXFLAGS += -Wall -g -O0 -Wno-write-strings
-CXXFLAGS += -DDALI_IMAGE_DIR=\"$(DALI_IMAGE_DIR)\"
-CXXFLAGS += -DDALI_STYLE_DIR=\"$(DALI_STYLE_DIR)\"
-CXXFLAGS += @DALI_TOOLKIT_CFLAGS@
diff --git a/automated-tests/TET/tbp.pl b/automated-tests/TET/tbp.pl
deleted file mode 100755 (executable)
index f69a4d3..0000000
+++ /dev/null
@@ -1,339 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-
-my $num;
-my $scen;
-my $ref;
-my $part;
-my $timestamp;
-my $testcase;
-my $built=0;
-my $build_failed=0;
-my $build_count=0;
-my $build_failure_count=0;
-my $ic=0;
-my $ic2=0;
-my $x=0;
-my $tc=0;
-my $v;
-my $test;
-my $time;
-my $date;
-my %build_tests;
-my %build_summary;
-
-my $executed_testcases=0;
-my $execute_no_file=0;
-my $executed=0;
-my %execute;
-my %execute_summary;
-
-sub parse_file
-{
-    while(<>)
-    {
-        ($num, $scen, $ref) = split(m!\|!, $_);
-        chomp $ref;
-
-        if($num == 0)
-        {
-            ($v, $time, $date) = split(/\s/, $scen);
-        }
-# Execution
-        elsif($num == 10) # 10|0 /dali-test-suite/actors/utc-Dali-Actor 16:58:27|TC Start, scenario ref 2-0
-        {
-            ($part, $testcase, $timestamp) = split(/\s/, $scen);
-            $executed_testcases++;
-        }
-        elsif($num == 50) # 50||(exec.c, 131): can't exec /home/SERILOCAL/david.steele/Git/HQ-Dali/dali-core/automated-tests/./tet_tmp_dir/24242aa/dali-test-suite/geometry/utc-Dali-MeshData, reply code = ER_NOENT
-        {
-            $execute_no_file++;
-        }
-        elsif($num == 80) # 80|19 0 16:58:47|TC End, scenario ref 21-0
-        {
-        }
-        elsif($num == 400) #400|13 1 142 16:58:40|IC Start
-        {
-            ($test, $ic, $x, $timestamp) = split(/\s/, $scen);
-        }
-        elsif($num == 410) #410|19 1 9 16:58:46|IC End
-        {
-        }
-        elsif($num == 200) #200|13 1 16:58:40|TP Start
-        {
-            $execute_summary{"Total"}++;
-        }
-        elsif($num == 220)
-        {
-            ($test, $tc, $ic2, $timestamp) = split(/\s/, $scen);
-            $execute{$testcase}->{$ic}->{$tc} = $ref;
-            $execute_summary{$ref}++;
-            $executed++;
-        }
-
-# Build
-        elsif($num == 110) # Build
-        {
-            ($part, $testcase, $timestamp) = split(/\s/, $scen);
-            $build_failed=0;
-            $build_count++;
-            $build_summary{"Total"}++;
-        }
-
-        elsif($num == 100)
-        {
-            if( ( $ref =~ /utc-/ && $ref =~ m!error!i )
-                ||
-                ($ref =~ /^Makefile/ && $ref =~ m!Stop!i )
-                ||
-                ($ref =~ /^make/ && ($ref =~ m!Stop!i || $ref =~ m!Error 1! ) ) )
-            {
-                $build_failed = 1;
-            }
-        }
-
-        elsif($num == 130)
-        {
-            if($build_failed)
-            {
-                $build_failure_count++;
-                $build_summary{"Failure"}++;
-            }
-            else
-            {
-                $build_summary{"Success"}++;
-            }
-            $build_tests{$testcase} = !$build_failed;
-        }
-    }
-    $built = $build_count - $build_failure_count;
-}
-
-
-sub heading
-{
-    print <<EOH;
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
-"http://www.w3.org/TR/REC-html40/loose.dtd">
-<html>
-<head>
-<title>TETware Test Run Report</title>
-</head>
-<body bgcolor="white">
-<p><table border="1" width="100%" cellpadding="3" cellspacing="0">
-<tr><td bgcolor="#ccccff" class="heading1"><center><h1>
-TETware Test Run Report</h1></center></td></tr></table></p>
-<p><table border="0" cellpadding="2" cellspacing="1">
-<tr>
-<td align="left" class="noborder">Date of test run:</td>
-<td align="left" class="noborder">$date</td>
-</tr>
-<tr>
-<td align="left" class="noborder">Start time:</td>
-<td align="left" class="noborder">$time</td>
-</tr>
-</table></p>
-<hr>
-EOH
-}
-
-sub summary
-{
-    my $heading = shift;
-    my $summary_ref = shift;
-
-    print <<EOS1;
-    <p><table border="1" cellpadding="3" cellspacing="0">
-        <tr><td bgcolor="#ccccff" class="heading2"><font size="+2"><b>$heading</b></font></td></tr>
-        </table></p>
-    <p><table border="0" cellpadding="5" cellspacing="4">
-        <tr>
-        <td align="center" bgcolor="#cccccc" class="neutral"><b>Result</b></td>
-        <td align="center" bgcolor="#cccccc" class="neutral"><b>Count</b></td>
-        </tr>
-EOS1
-
-    my ($success_string, @blah) = grep(/(Success|PASS)/, keys(%$summary_ref));
-    my $successes = $summary_ref->{$success_string};
-    print <<EOS2;
-    <tr>
-        <td align="left" bgcolor="#33cc33" class="success">$success_string</td>
-        <td align="right" bgcolor="#33cc33" class="success">$successes</td>
-    </tr>
-EOS2
-
-    foreach my $key (sort(grep(!/(Success|PASS|Total)/, keys(%$summary_ref))))
-    {
-        my $fails = $summary_ref->{$key};
-        print <<EOS3;
-        <tr>
-            <td align="left" bgcolor="#ff5555" class="failure">$key</td>
-            <td align="right" bgcolor="#ff5555" class="failure">$fails</td>
-        </tr>
-EOS3
-    }
-
-    my $total = $summary_ref->{"Total"};
-    print <<EOS4;
-    <tr>
-        <td align="left" bgcolor="#cccccc" class="neutral"><b>Total</b></td>
-        <td align="right" bgcolor="#cccccc" class="neutral"><b>$total</b></td>
-    </tr>
-    </table></p>
-EOS4
-}
-
-
-sub build_breakdown
-{
-    print <<EOB;
-<hr>
-<p><table border="1" cellpadding="3" cellspacing="0">
-<tr><td bgcolor="#ccccff" class="heading2"><font size="+2"><b>
-Build mode result breakdown</b></font></td></tr></table></p>
-<p><table border="0" cellpadding="5" cellspacing="4">
-<tr>
-<td align="center" bgcolor="#cccccc" class="neutral"><b>Testcase</b></td>
-<td align="center" bgcolor="#cccccc" class="neutral"><b>Result</b></td>
-</tr>
-EOB
-
-    foreach my $key (sort(keys(%build_tests)))
-    {
-        my $success = $build_tests{$key};
-        my $class = $success?"success":"failure";
-        my $Class = $success?"Success":"Failure";
-        my $color = $success?"#33cc33":"#ff5555";
-        print("<tr><td align=\"left\" bgcolor=\"$color\" class=\"$class\">$key</td>\n");
-        print("<td align=\"left\" bgcolor=\"$color\" class=\"$class\">$Class</td>\n");
-    }
-    print("</table><p>");
-}
-
-
-sub execute_breakdown
-{
-    print <<EOE;
-<hr>
-<p><table border="1" cellpadding="3" cellspacing="0">
-<tr><td bgcolor="#ccccff" class="heading2"><font size="+2"><b>
-Execute mode result breakdown</b></font></td></tr></table></p>
-EOE
-
-    #Constructed with:
-    #$execute{$testcase}->{$ic}->{$tc} = $ref;
-
-    my %results;
-    foreach my $testcase (sort(keys(%execute)))
-    {
-        #print STDOUT "$testcase\n";
-        foreach my $ic (sort(keys(%{$execute{$testcase}})))
-        {
-            my $ic_ref = $execute{$testcase}->{$ic};
-            foreach my $tc (sort { $a <=> $b } (keys(%{$ic_ref})))
-            {
-                my $result = $execute{$testcase}->{$ic}->{$tc};
-                chomp($result);
-                $results{$result}->{$testcase} .= ", $ic.$tc";
-                #print STDOUT "$testcase $ic.$tc $result\n";
-                #print STDOUT "STRUCT:" . "\$results\{" . $result . "\}->\{$testcase\} => " . $results{$result}->{$testcase} . "\n";
-            }
-        }
-    }
-
-    foreach my $result ( "PASS", (sort(grep(!/PASS/, keys(%results)))))
-    {
-        print "<h3>$result</h3>\n";
-        print <<EOE2;
-        <p><table border="0" cellpadding="5" cellspacing="4">
-            <tr>
-            <td align="center" bgcolor="#cccccc" class="neutral"><b>Testcase</b></td>
-            <td align="center" bgcolor="#cccccc" class="neutral"><b>Test purposes (IC.TP)</b></td>
-       </tr>
-EOE2
-
-       my $bgcolor = "#ff5555";
-       if ($result =~ /PASS/)
-       {
-           $bgcolor = "#33cc33";
-       }
-
-        #print STDOUT "Result: $result OUT:" . $results{$result} . "\n";
-       foreach my $testcase (sort(keys(%{$results{$result}})))
-       {
-           #print STDOUT "$testcase\n";
-           my $tests = substr($results{$result}->{$testcase}, 2);
-           print <<EOE3;
-               <tr>
-               <td align="left" bgcolor=$bgcolor class=$result>$testcase</td>
-               <td align="left" bgcolor=$bgcolor class=$result>$tests</td>
-               </tr>
-EOE3
-       }
-       print "</table>";
-    }
-}
-
-
-sub footer
-{
-    print "<hr>\n</body>\n</html>\n";
-}
-
-sub report
-{
-    my $file = shift;
-    open(my $fh, ">", $file) || die "Can't create $file";
-    select $fh;
-    heading;
-
-    if($build_count)
-    {
-        summary("Build mode summary", \%build_summary);
-        build_breakdown;
-    }
-    if(scalar(keys(%execute)))
-    {
-        summary("Execute mode summary", \%execute_summary);
-        execute_breakdown;
-    }
-    footer;
-    select STDOUT;
-    close $fh;
-}
-
-
-## MAIN
-
-die "No args"  if scalar(@ARGV) == 0;
-my $htmlname = $ARGV[0];
-$htmlname =~ s/.journal/.html/;
-
-parse_file();
-report($htmlname);
-
-
-if($build_count)
-{
-    foreach my $key (sort(keys(%build_tests)))
-    {
-        if(!$build_tests{$key})
-        {
-            print STDOUT "$key: Failed\n";
-        }
-    }
-    print STDOUT "Built $built of $build_count\n";
-}
-
-if($executed)
-{
-    my $num_exes=$executed_testcases-$execute_no_file;
-    print STDOUT "Executed $num_exes of $executed_testcases testcases\n";
-    my $passed = $execute_summary{"PASS"};
-    my $total = $execute_summary{"Total"};
-    my $passRate = ($num_exes / $executed_testcases ) * ( $passed / $total )*100;
-    print STDOUT "Passed $passed of $total - Pass rate=" . sprintf("%4.1f%%", $passRate) ."\n";
-}
-
-print "Report output: $htmlname\n";
diff --git a/automated-tests/TET/tet_scen b/automated-tests/TET/tet_scen
deleted file mode 100644 (file)
index 3db3582..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-all
-    "Starting Full Test Suite"
-        ^TEST
-    "Completed Full Test Suite"
-
-##### All PUBLIC and INTERNAL Tests #####
-
-# Test scenario
-TEST
-    ^PUBLIC
-    ^INTERNAL
-
-##### PUBLIC Tests #####
-
-PUBLIC
-    ^alignment
-    ^bubble-emitter
-    ^builder
-    ^buttons
-    ^cluster
-    ^control
-    ^default-controls
-    ^focus-manager
-    ^item-view
-    ^navigation-frame
-    ^page-turn-view
-    ^popup
-    ^scroll-view
-    ^selectors
-    ^shader-effects
-    ^slider
-    ^super-blur-view
-    ^table-view
-    ^text-input
-    ^text-view
-    ^toolbar
-    ^transition-effects
-    ^view
-
-alignment
-    :include:/dali-test-suite/alignment/tslist
-
-text-input
-    :include:/dali-test-suite/text-input/tslist
-
-text-view
-    :include:/dali-test-suite/text-view/tslist
-
-toolbar
-    :include:/dali-test-suite/toolbar/tslist
-
-buttons
-    :include:/dali-test-suite/buttons/tslist
-
-default-controls
-    :include:/dali-test-suite/default-controls/tslist
-
-view
-    :include:/dali-test-suite/view/tslist
-
-table-view
-    :include:/dali-test-suite/table-view/tslist
-
-item-view
-    :include:/dali-test-suite/item-view/tslist
-
-cluster
-    :include:/dali-test-suite/cluster/tslist
-
-shader-effects
-    :include:/dali-test-suite/shader-effects/tslist
-
-selectors
-    :include:/dali-test-suite/selectors/tslist
-
-scroll-view
-    :include:/dali-test-suite/scroll-view/tslist
-
-popup
-    :include:/dali-test-suite/popup/tslist
-
-builder
-    :include:/dali-test-suite/builder/tslist
-
-control
-    :include:/dali-test-suite/control/tslist
-
-focus-manager
-    :include:/dali-test-suite/focus-manager/tslist
-
-transition-effects
-    :include:/dali-test-suite/transition-effects/tslist
-
-page-turn-view
-    :include:/dali-test-suite/page-turn-view/tslist
-
-super-blur-view
-    :include:/dali-test-suite/super-blur-view/tslist
-
-navigation-frame
-    :include:/dali-test-suite/navigation-frame/tslist
-
-bubble-emitter
-    :include:/dali-test-suite/bubble-emitter/tslist
-
-slider
-    :include:/dali-test-suite/slider/tslist
-
-##### INTERNAL Tests #####
-
-INTERNAL
-    :include:/dali-internal-test-suite/text-input/tslist
-    :include:/dali-internal-test-suite/text-view/tslist
-
-internal-text-input
-    :include:/dali-internal-test-suite/text-input/tslist
-
-internal-text-view
-    :include:/dali-internal-test-suite/text-view/tslist
-
-text-view-full
-    :include:/dali-test-suite/text-view/tslist
-    :include:/dali-internal-test-suite/text-view/tslist
-
-##### DEBUG #####
-debug
-    /dali-test-suite/buttons/utc-Dali-PushButton
-
-# EOF
diff --git a/automated-tests/TET/tetbuild.cfg b/automated-tests/TET/tetbuild.cfg
deleted file mode 100644 (file)
index 6a05af6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-TET_OUTPUT_CAPTURE=True # capture option for build operation checking
-TET_BUILD_TOOL=make # build with using make command
-TET_BUILD_FILE=-f Makefile # execution file (Makefile) for build
-TET_API_COMPLIANT=False # use TET API in Test Case ?
-TET_PASS_TC_NAME=True # report passed TC name in Journal file?
diff --git a/automated-tests/TET/tetclean.cfg b/automated-tests/TET/tetclean.cfg
deleted file mode 100644 (file)
index 2a0477a..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-TET_OUTPUT_CAPTURE=True # capture option
-TET_CLEAN_TOOL= make clean # clean tool
-TET_CLEAN_FILE= Makefile # file for clean
-TET_API_COMPLIANT=True # TET API useage
-TET_PASS_TC_NAME=True # showing name , passed TC
diff --git a/automated-tests/TET/tetexec.cfg b/automated-tests/TET/tetexec.cfg
deleted file mode 100644 (file)
index ef3e452..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-TET_OUTPUT_CAPTURE=True # capturing execution or not
-TET_EXEC_TOOL=  # ex) exec : execution tool set up/ Optional
-TET_EXEC_FILE=   # ex) exectool : execution file/ Optional
-TET_API_COMPLIANT=True # Test case or Tool usesTET API?
-TET_PASS_TC_NAME=True # showing Passed TC name ?
index 14eaf96..6c817ae 100755 (executable)
@@ -1,19 +1,42 @@
 #!/bin/bash
 
-rm -rf build
-mkdir build
+TEMP=`getopt -o rn --long rebuild,no-gen \
+     -n 'genmake' -- "$@"`
+
+if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
+
+# Note the quotes around `$TEMP': they are essential!
+eval set -- "$TEMP"
+
+opt_rebuild=false
+opt_generate=true
+
+while true ; do
+    case "$1" in
+        -r|--rebuild) opt_rebuild=true ; shift ;;
+        -n|--no-gen)  opt_generate=false ; shift ;;
+        --) shift ; break ;;
+        *) shift ;;   # Ignore
+    esac
+done
+
+if [ false == $opt_rebuild -o ! -d "build" ] ; then
+    rm -rf build
+    mkdir build
+fi
 
 function build
 {
-  (cd src/$1; ../../scripts/tcheadgen.sh tct-$1-core.h)
-  if [ $? -ne 0 ]; then echo "Aborting..."; exit 1; fi
-  (cd build ; cmake .. -DMODULE=$1 ; make -j7 )
+    if [ $opt_generate == true -o $opt_rebuild == false ] ; then
+        (cd src/$1; ../../scripts/tcheadgen.sh tct-$1-core.h)
+        if [ $? -ne 0 ]; then echo "Aborting..."; exit 1; fi
+    fi
+    (cd build ; cmake .. -DMODULE=$1 ; make -j7 )
 }
 
 if [ -n "$1" ] ; then
   echo BUILDING ONLY $1
   build $1
-
 else
   for mod in `ls -1 src/ | grep -v CMakeList `
   do
index 0b49287..98131bf 100755 (executable)
@@ -20,3 +20,5 @@ done
     cd .. ;
     genhtml -o build/slp/doc/coverage `find . -name dali.info`
 )
+
+echo "Coverage output: ../build/slp/doc/coverage/index.html"
index ec5c9e2..3bd6b06 100755 (executable)
@@ -2,7 +2,7 @@
 
 function execute
 {
-    scripts/tctestsgen.sh $1 `pwd` desktop
+    scripts/tctestsgen.sh $1 `pwd` desktop $2
     testkit-lite -f `pwd`/tests.xml -o tct-${1}-core-tests.xml  -A --comm localhost
     scripts/add_style.pl $1
 }
@@ -10,16 +10,25 @@ function execute
 # Clean up old test results
 rm -f tct*core-tests.xml
 
+# Clean up old coverage data
+if [ -d ../build/slp ] ; then
+    rm -f ../build/slp/dali-core/.libs/*.gcda
+elif [ -d ../build/tizen ] ; then
+    rm -f ../build/tizen/dali-core/.libs/*.gcda
+fi
+
+find build -name "*.gcda" -exec rm '{}' \;
+
 if [ -n "$1" ] ; then
   echo EXECUTING ONLY $1
-  execute $1
+  execute $*
 
 else
   for mod in `ls -1 src/ | grep -v CMakeList `
   do
     if [ $mod != 'common' ] && [ $mod != 'manual' ]; then
         echo EXECUTING $mod
-        execute $mod
+        execute $mod $*
     fi
   done
 fi
index d3b123b..37cabf6 100755 (executable)
@@ -161,14 +161,13 @@ function tc_fullinfo {
 
 
 # usage note and exit:
-# - argument begin with '-' but is not recognised or number of arguments is > 2,
-# - argument doesn't begin with '-' and number of arguments is > 1
-if [[ ( "$1" == -* && ( ! "$1" =~ ^-(anum|mnum|f)$ || $# > 2 ) ) || ( "$1" != -* && $# > 1 ) ]]; then
+# - argument begin with '-' but is not recognised or number of arguments is > 3,
+# - argument doesn't begin with '-' and number of arguments is > 2
+if [[ ( "$1" == -* && ( ! "$1" =~ ^-(anum|mnum|f)$ || $# > 3 ) ) || ( "$1" != -* && $# > 2 ) ]]; then
     echo -e "$USAGE"
     exit 1
 fi
 
-
 # get directory from last argument (or assume current one)
 if [[ ! "$1" =~ ^-(anum|mnum|f)$ ]]; then
     DIR=${1:-.}
@@ -176,14 +175,30 @@ else
     DIR=${2:-.}
 fi
 
+# get filename from last argument
+if [[ $# == 3 && -f $DIR/$3 ]] ; then
+    FILE=$3
+elif [[ $# == 2 && -f $DIR/$2 ]] ; then
+    FILE=$2
+fi
+
+#Debug needs to be output on stderr ( calling script redirects stdout to file )
+#echo "Dir: $DIR  File: $FILE" >& 2
 
 # populate $TC_FILES with files declared in CMakeLists.txt
-get_tc_files $DIR
-if [ $? != 0 ]; then
-    exit 1
+if [[ -z $FILE ]]; then
+    get_tc_files $DIR
+    if [ $? != 0 ]; then
+        exit 1
+    fi
+    echo "Got all files" >& 2
+else
+    TC_FILES="$DIR/$FILE"
+    echo "TC_FILES: $TC_FILES" >& 2
 fi
 
 
+
 # run appropriate subcommand
 case "$1" in
     -anum)
index 42eaef0..b604675 100755 (executable)
@@ -93,10 +93,12 @@ function build {
         (cd src/$1; ../../scripts/tcheadgen.sh tct-$1-core.h)
         if [ $? -ne 0 ]; then echo "Aborting..."; exit 1; fi
         cp packaging/core-$1-tests.spec ../packaging
+        cp .gitignore-without-autogenerated-files .gitignore
         gbs build -A armv7l --spec core-$1-tests.spec --include-all --keep-packs | \
             tee build.log | stdbuf -o0 sed -e 's/error:/\x1b[1;91m&\x1b[0m/' \
                                            -e 's/warning:/\x1b[93m&\x1b[0m/'
         rm ../packaging/core-$1-tests.spec
+        cp .gitignore-with-autogenerated-files .gitignore
     else
         echo "Build requires a module name"
         exit 1
index 4b920b9..1881668 100755 (executable)
@@ -60,7 +60,7 @@ print "</test_definition>"
     }' $TFILE > $FILE
 }
 
-(cd $SCRIPT_DIR/..; scripts/retriever.sh -f src/$MODULE_NAME > ${TFILE}_pre)
+(cd $SCRIPT_DIR/..; scripts/retriever.sh -f src/$MODULE_NAME $4 > ${TFILE}_pre)
 if [ $? -ne 0 ]; then cat ${TFILE}_pre; exit 1; fi
 cat ${TFILE}_pre | sort -t',' -k2,2 -s > $TFILE
 gen
diff --git a/automated-tests/src/dali-toolkit-internal/tct-dali-toolkit-internal-core.h b/automated-tests/src/dali-toolkit-internal/tct-dali-toolkit-internal-core.h
deleted file mode 100644 (file)
index 298b305..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-#ifndef __TCT_DALI_TOOLKIT_INTERNAL_CORE_H__
-#define __TCT_DALI_TOOLKIT_INTERNAL_CORE_H__
-
-#include "testcase.h"
-
-extern void dali_text_view_helper_and_debug_startup(void);
-extern void dali_text_view_helper_and_debug_cleanup(void);
-extern void dali_text_view_processor_types_startup(void);
-extern void dali_text_view_processor_types_cleanup(void);
-extern void dali_text_view_processor_startup(void);
-extern void dali_text_view_processor_cleanup(void);
-extern void dali_text_view_relayout_utils_startup(void);
-extern void dali_text_view_relayout_utils_cleanup(void);
-extern void dali_text_view_startup(void);
-extern void dali_text_view_cleanup(void);
-
-extern int UtcDaliPushButtonInterruptEventWhenInsensitive(void);
-extern int UtcDaliPushButtonInterruptEventWhenNonVisible(void);
-extern int UtcDaliPushButtonProperties(void);
-extern int UtcDaliTextViewGetIndicesFromGlobalCharacterIndex(void);
-extern int UtcDaliTextViewDebugCouts(void);
-extern int UtcDaliTextViewDefaultConstructorDestructor_PT(void);
-extern int UtcDaliTextViewCopyConstructorOperator(void);
-extern int UtcDaliTextViewEqualityOperator(void);
-extern int UtcDaliTextViewSplitInLines(void);
-extern int UtcDaliTextViewSplitInWords(void);
-extern int UtcDaliTextViewBeginsRightToLeftCharacter(void);
-extern int UtcDaliTextViewContainsRightToLeftCharacter(void);
-extern int UtcDaliTextViewFindNearestWord(void);
-extern int UtcDaliTextViewDefaultConstructorDestructor_RU(void);
-extern int UtcDaliTextViewCalculateSubLineLayout(void);
-extern int UtcDaliTextViewCalculateAlignmentOffsets(void);
-extern int UtcDaliTextViewCalculateJustificationOffsets(void);
-extern int UtcDaliTextViewCalculateVisibility(void);
-extern int UtcDaliTextViewMiscelaneousAsserts(void);
-extern int UtcDaliTextViewCreateTextInfo(void);
-extern int UtcDaliTextViewSplitWord(void);
-extern int UtcDaliTextViewUpdateTextInfo(void);
-extern int UtcDaliTextViewSplitWordGroup(void);
-extern int UtcDaliTextViewSplitLine(void);
-extern int UtcDaliTextViewMergeWord01(void);
-extern int UtcDaliTextViewMergeWord02(void);
-extern int UtcDaliTextViewMergeGroup01(void);
-extern int UtcDaliTextViewMergeGroup02(void);
-extern int UtcDaliTextViewMergeLine01(void);
-extern int UtcDaliTextViewMergeLine02(void);
-extern int UtcDaliTextViewRemoveCharactersFromWord(void);
-extern int UtcDaliTextViewRemoveWordsFromGroup(void);
-extern int UtcDaliTextViewRemoveGroupsFromLine(void);
-
-testcase tc_array[] = {
-    {"UtcDaliPushButtonInterruptEventWhenInsensitive", UtcDaliPushButtonInterruptEventWhenInsensitive, NULL, NULL},
-    {"UtcDaliPushButtonInterruptEventWhenNonVisible", UtcDaliPushButtonInterruptEventWhenNonVisible, NULL, NULL},
-    {"UtcDaliPushButtonProperties", UtcDaliPushButtonProperties, NULL, NULL},
-    {"UtcDaliTextViewGetIndicesFromGlobalCharacterIndex", UtcDaliTextViewGetIndicesFromGlobalCharacterIndex, dali_text_view_helper_and_debug_startup, dali_text_view_helper_and_debug_cleanup},
-    {"UtcDaliTextViewDebugCouts", UtcDaliTextViewDebugCouts, dali_text_view_helper_and_debug_startup, dali_text_view_helper_and_debug_cleanup},
-    {"UtcDaliTextViewDefaultConstructorDestructor_PT", UtcDaliTextViewDefaultConstructorDestructor_PT, dali_text_view_processor_types_startup, dali_text_view_processor_types_cleanup},
-    {"UtcDaliTextViewCopyConstructorOperator", UtcDaliTextViewCopyConstructorOperator, dali_text_view_processor_types_startup, dali_text_view_processor_types_cleanup},
-    {"UtcDaliTextViewEqualityOperator", UtcDaliTextViewEqualityOperator, dali_text_view_processor_types_startup, dali_text_view_processor_types_cleanup},
-    {"UtcDaliTextViewSplitInLines", UtcDaliTextViewSplitInLines, dali_text_view_processor_startup, dali_text_view_processor_cleanup},
-    {"UtcDaliTextViewSplitInWords", UtcDaliTextViewSplitInWords, dali_text_view_processor_startup, dali_text_view_processor_cleanup},
-    {"UtcDaliTextViewBeginsRightToLeftCharacter", UtcDaliTextViewBeginsRightToLeftCharacter, dali_text_view_processor_startup, dali_text_view_processor_cleanup},
-    {"UtcDaliTextViewContainsRightToLeftCharacter", UtcDaliTextViewContainsRightToLeftCharacter, dali_text_view_processor_startup, dali_text_view_processor_cleanup},
-    {"UtcDaliTextViewFindNearestWord", UtcDaliTextViewFindNearestWord, dali_text_view_processor_startup, dali_text_view_processor_cleanup},
-    {"UtcDaliTextViewDefaultConstructorDestructor_RU", UtcDaliTextViewDefaultConstructorDestructor_RU, dali_text_view_relayout_utils_startup, dali_text_view_relayout_utils_cleanup},
-    {"UtcDaliTextViewCalculateSubLineLayout", UtcDaliTextViewCalculateSubLineLayout, dali_text_view_relayout_utils_startup, dali_text_view_relayout_utils_cleanup},
-    {"UtcDaliTextViewCalculateAlignmentOffsets", UtcDaliTextViewCalculateAlignmentOffsets, dali_text_view_relayout_utils_startup, dali_text_view_relayout_utils_cleanup},
-    {"UtcDaliTextViewCalculateJustificationOffsets", UtcDaliTextViewCalculateJustificationOffsets, dali_text_view_relayout_utils_startup, dali_text_view_relayout_utils_cleanup},
-    {"UtcDaliTextViewCalculateVisibility", UtcDaliTextViewCalculateVisibility, dali_text_view_relayout_utils_startup, dali_text_view_relayout_utils_cleanup},
-    {"UtcDaliTextViewMiscelaneousAsserts", UtcDaliTextViewMiscelaneousAsserts, dali_text_view_relayout_utils_startup, dali_text_view_relayout_utils_cleanup},
-    {"UtcDaliTextViewCreateTextInfo", UtcDaliTextViewCreateTextInfo, dali_text_view_startup, dali_text_view_cleanup},
-    {"UtcDaliTextViewSplitWord", UtcDaliTextViewSplitWord, dali_text_view_startup, dali_text_view_cleanup},
-    {"UtcDaliTextViewUpdateTextInfo", UtcDaliTextViewUpdateTextInfo, dali_text_view_startup, dali_text_view_cleanup},
-    {"UtcDaliTextViewSplitWordGroup", UtcDaliTextViewSplitWordGroup, dali_text_view_startup, dali_text_view_cleanup},
-    {"UtcDaliTextViewSplitLine", UtcDaliTextViewSplitLine, dali_text_view_startup, dali_text_view_cleanup},
-    {"UtcDaliTextViewMergeWord01", UtcDaliTextViewMergeWord01, dali_text_view_startup, dali_text_view_cleanup},
-    {"UtcDaliTextViewMergeWord02", UtcDaliTextViewMergeWord02, dali_text_view_startup, dali_text_view_cleanup},
-    {"UtcDaliTextViewMergeGroup01", UtcDaliTextViewMergeGroup01, dali_text_view_startup, dali_text_view_cleanup},
-    {"UtcDaliTextViewMergeGroup02", UtcDaliTextViewMergeGroup02, dali_text_view_startup, dali_text_view_cleanup},
-    {"UtcDaliTextViewMergeLine01", UtcDaliTextViewMergeLine01, dali_text_view_startup, dali_text_view_cleanup},
-    {"UtcDaliTextViewMergeLine02", UtcDaliTextViewMergeLine02, dali_text_view_startup, dali_text_view_cleanup},
-    {"UtcDaliTextViewRemoveCharactersFromWord", UtcDaliTextViewRemoveCharactersFromWord, dali_text_view_startup, dali_text_view_cleanup},
-    {"UtcDaliTextViewRemoveWordsFromGroup", UtcDaliTextViewRemoveWordsFromGroup, dali_text_view_startup, dali_text_view_cleanup},
-    {"UtcDaliTextViewRemoveGroupsFromLine", UtcDaliTextViewRemoveGroupsFromLine, dali_text_view_startup, dali_text_view_cleanup},
-    {NULL, NULL}
-};
-
-#endif // __TCT_DALI_TOOLKIT_INTERNAL_CORE_H__
index 19ca1e7..c88aa92 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 
index a807a72..d178356 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 
index bb2ef55..990aad5 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index a6b9c59..9485689 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index be24681..38be7c6 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 
index 7d60f19..f9744cc 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 46af2cd..a1e6c7f 100644 (file)
@@ -49,6 +49,7 @@ SET(TC_SOURCES
  utc-Dali-KeyboardFocusManager.cpp
  utc-Dali-ScrollViewEffect.cpp
  utc-Dali-TextInput.cpp
+ utc-Dali-StyleManager.cpp
 )
 
 # Append list of test harness files (Won't get parsed for test cases)
diff --git a/automated-tests/src/dali-toolkit-unmanaged/tct-dali-toolkit-unmanaged-core.h b/automated-tests/src/dali-toolkit-unmanaged/tct-dali-toolkit-unmanaged-core.h
deleted file mode 100644 (file)
index f3a27c4..0000000
+++ /dev/null
@@ -1,714 +0,0 @@
-#ifndef __TCT_DALI_TOOLKIT_UNMANAGED_CORE_H__
-#define __TCT_DALI_TOOLKIT_UNMANAGED_CORE_H__
-
-#include "testcase.h"
-
-extern void album_layout_startup(void);
-extern void album_layout_cleanup(void);
-extern void bendy_effect_startup(void);
-extern void bendy_effect_cleanup(void);
-extern void blind_effect_startup(void);
-extern void blind_effect_cleanup(void);
-extern void bloom_view_startup(void);
-extern void bloom_view_cleanup(void);
-extern void builder_startup(void);
-extern void builder_cleanup(void);
-extern void carousel_effect_startup(void);
-extern void carousel_effect_cleanup(void);
-extern void checkbox_button_startup(void);
-extern void checkbox_button_cleanup(void);
-extern void cluster_startup(void);
-extern void cluster_cleanup(void);
-extern void cube_transition_effect_startup(void);
-extern void cube_transition_effect_cleanup(void);
-extern void depth_layout_startup(void);
-extern void depth_layout_cleanup(void);
-extern void utc_displacement_startup(void);
-extern void utc_displacement_cleanup(void);
-extern void utc_distance_field_effect_startup(void);
-extern void utc_distance_field_effect_cleanup(void);
-extern void utc_gaussian_blur_view_startup(void);
-extern void utc_gaussian_blur_view_cleanup(void);
-extern void utc_json_parser_startup(void);
-extern void utc_json_parser_cleanup(void);
-extern void key_input_focus_manager_startup(void);
-extern void key_input_focus_manager_cleanup(void);
-extern void navigation_control_startup(void);
-extern void navigation_control_cleanup(void);
-extern void overlay_effect_startup(void);
-extern void overlay_effect_cleanup(void);
-extern void dali_page_startup(void);
-extern void dali_page_cleanup(void);
-extern void page_turn_effect_startup(void);
-extern void page_turn_effect_cleanup(void);
-extern void dali_page_turn_view_startup(void);
-extern void dali_page_turn_view_cleanup(void);
-extern void dali_roll_layout_startup(void);
-extern void dali_roll_layout_cleanup(void);
-extern void rotating_selector_startup(void);
-extern void rotating_selector_cleanup(void);
-extern void scroll_view_startup(void);
-extern void scroll_view_cleanup(void);
-extern void shadow_view_startup(void);
-extern void shadow_view_cleanup(void);
-extern void shear_effect_startup(void);
-extern void shear_effect_cleanup(void);
-extern void dali_slider_startup(void);
-extern void dali_slider_cleanup(void);
-extern void soft_button_effect_startup(void);
-extern void soft_button_effect_cleanup(void);
-extern void spiral_layout_startup(void);
-extern void spiral_layout_cleanup(void);
-extern void spot_effect_startup(void);
-extern void spot_effect_cleanup(void);
-extern void square_dissolve_effect_startup(void);
-extern void square_dissolve_effect_cleanup(void);
-extern void dali_tableview_startup(void);
-extern void dali_tableview_cleanup(void);
-extern void dali_toolbar_startup(void);
-extern void dali_toolbar_cleanup(void);
-extern void dali_view_startup(void);
-extern void dali_view_cleanup(void);
-extern void dali_water_effect_startup(void);
-extern void dali_water_effect_cleanup(void);
-extern void dali_button_startup(void);
-extern void dali_button_cleanup(void);
-extern void control_impl_startup(void);
-extern void control_impl_cleanup(void);
-extern void dali_default_controls_startup(void);
-extern void dali_default_controls_cleanup(void);
-extern void dali_keyboard_focus_manager_startup(void);
-extern void dali_keyboard_focus_manager_cleanup(void);
-extern void dali_scroll_view_effect_startup(void);
-extern void dali_scroll_view_effect_cleanup(void);
-
-extern int UtcDaliAlbumLayoutNew(void);
-extern int UtcDaliAlbumSetAndGetItemSizeFunction(void);
-extern int UtcDaliAlbumSetAndGetScrollSpeedFactor(void);
-extern int UtcDaliAlbumSetAndGetMaximumSwipeSpeed(void);
-extern int UtcDaliAlbumLayoutSetAndGetItemFlickAnimationDuration(void);
-extern int UtcDaliAlbumSetNumOfItems(void);
-extern int UtcDaliAlbumSetStackNum(void);
-extern int UtcDaliAlbumSetPosition(void);
-extern int UtcDaliAlbumSetRotationX(void);
-extern int UtcDaliAlbumSetRotationZ(void);
-extern int UtcDaliAlbumSetScale(void);
-extern int UtcDaliAlbumSetColor(void);
-extern int UtcDaliAlbumSetCenterPosition(void);
-extern int UtcDaliAlbumSetSetCenterScale(void);
-extern int UtcDaliAlbumSetSetCenterColor(void);
-extern int UtcDaliAlbumSetStackPosition(void);
-extern int UtcDaliAlbumSetSetStackScale(void);
-extern int UtcDaliAlbumSetStackColor(void);
-extern int UtcDaliBendyUninitializedEffect(void);
-extern int UtcDaliBendyPropertyNamesEffect(void);
-extern int UtcDaliBendyDefaultValuesEffect(void);
-extern int UtcDaliBendyCustomValuesEffect(void);
-extern int UtcDaliBlindEffectUninitialized(void);
-extern int UtcDaliBlindEffectPropertyNames(void);
-extern int UtcDaliBlindEffectDefaultValues(void);
-extern int UtcDaliBlindEffectCustomValues(void);
-extern int UtcDaliBloomViewUninitialized(void);
-extern int UtcDaliBloomViewNew(void);
-extern int UtcDaliBloomViewDownCast(void);
-extern int UtcDaliBloomViewPropertyNames(void);
-extern int UtcDaliBloomViewAddRemove(void);
-extern int UtcDaliBloomActivateDeactivate(void);
-extern int UtcDaliBuilderTextActorCreate(void);
-extern int UtcDaliBuilderTextActorCreateAnimation(void);
-extern int UtcDaliBuilderTextActorApplyFromStyle(void);
-extern int UtcDaliBuilderAddActors(void);
-extern int UtcDaliBuilderAddActorsOther(void);
-extern int UtcDaliBuilderStyles(void);
-extern int UtcDaliBuilderSetProperty(void);
-extern int UtcDaliCarouselEffectUninitialized(void);
-extern int UtcDaliCarouselEffectPropertyNames(void);
-extern int UtcDaliCarouselEffectDefaultValues(void);
-extern int UtcDaliCarouselEffectCustomValues(void);
-extern int UtcDaliCheckBoxButtonSetGetChecked(void);
-extern int UtcDaliCheckBoxButtonSetImages(void);
-extern int UtcDaliClusterNew(void);
-extern int UtcDaliClusterDownCast(void);
-extern int UtcDaliClusterAddAndRemoveChild(void);
-extern int UtcDaliClusterExpandAndCollapseChild(void);
-extern int UtcDaliClusterSetAndGetStyle(void);
-extern int UtcDaliCubeTransitionWaveEffectNew(void);
-extern int UtcDaliCubeTransitionCrossEffectNew(void);
-extern int UtcDaliCubeTransitionFoldEffectNew(void);
-extern int UtcDaliCubeTransitionEffectSetGetTransitionDuration(void);
-extern int UtcDaliCubeTransitionEffectSetGetCubeDisplacement(void);
-extern int UtcDaliCubeTransitionEffectGetRoot(void);
-extern int UtcDaliCubeTransitionEffectIsTransiting(void);
-extern int UtcDaliCubeTransitionEffectSetCurrentImage(void);
-extern int UtcDaliCubeTransitionEffectSetTargetImage(void);
-extern int UtcDaliCubeTransitionWaveEffectStartTransition(void);
-extern int UtcDaliCubeTransitionCrossEffectStartTransition(void);
-extern int UtcDaliCubeTransitionFoldEffectStartTransition(void);
-extern int UtcDaliCubeTransitionEffectSignalTransitionCompleted(void);
-extern int UtcDaliCubeTransitionEffectPauseResumeTransition(void);
-extern int UtcDaliCubeTransitionWaveEffectStopTransition(void);
-extern int UtcDaliCubeTransitionCrossEffectStopTransition(void);
-extern int UtcDaliCubeTransitionFoldEffectStopTransition(void);
-extern int UtcDaliDepthLayoutNew(void);
-extern int UtcDaliDepthLayoutSetAndGetNumberOfColumns(void);
-extern int UtcDaliDepthLayoutSetAndGetNumberOfRows(void);
-extern int UtcDaliDepthLayoutSetAndGetRowSpacing(void);
-extern int UtcDaliDepthLayoutSetAndGetTiltAngle(void);
-extern int UtcDaliDepthLayoutSetAndGetItemSizeFunction(void);
-extern int UtcDaliDepthLayoutSetAndGetBottomMarginFunction(void);
-extern int UtcDaliDepthLayoutSetAndGetItemTiltAngle(void);
-extern int UtcDaliDepthLayoutSetAndGetColumnPositionFunction(void);
-extern int UtcDaliDepthLayoutSetAndGetScrollSpeedFactor(void);
-extern int UtcDaliDepthLayoutSetAndGetMaximumSwipeSpeed(void);
-extern int UtcDaliDepthLayoutSetAndGetItemFlickAnimationDuration(void);
-extern int UtcDaliDepthLayoutConstraintLeft(void);
-extern int UtcDaliDepthLayoutConstraintRight(void);
-extern int UtcDaliDepthLayoutConstraintUp(void);
-extern int UtcDaliDepthLayoutConstraintDown(void);
-extern int UtcDaliDepthLayoutGetScrollToPosition(void);
-extern int UtcDaliDepthLayoutScrollDirection(void);
-extern int UtcDaliDisplacementEffectUninitialized(void);
-extern int UtcDaliDisplacementEffectNew(void);
-extern int UtcDaliDisplacementEffectPropertyNames(void);
-extern int UtcDaliDisplacementEffectTestSetProperty(void);
-extern int UtcDaliDistanceFieldEffectUninitialized(void);
-extern int UtcDaliDistanceFieldEffectPropertyNames(void);
-extern int UtcDaliDistanceFieldEffectDefaultValues(void);
-extern int UtcDaliDistanceFieldEffectCustomValues(void);
-extern int UtcDaliGaussianBlurViewUninitialized(void);
-extern int UtcDaliGaussianBlurViewNew(void);
-extern int UtcDaliGaussianBlurViewDownCast(void);
-extern int UtcDaliGaussianBlurViewPropertyNames(void);
-extern int UtcDaliGaussianBlurViewAddRemove(void);
-extern int UtcDaliGaussianBlurActivateDeactivate(void);
-extern int UtcDaliGaussianBlurViewSetGetBackgroundColor(void);
-extern int UtcDaliGaussianBlurViewSetGetRenderTarget(void);
-extern int UtcDaliJsonParserMethod01(void);
-extern int UtcDaliJsonParserMethod02(void);
-extern int UtcDaliJsonParserMethod03(void);
-extern int UtcDaliJsonParserMethod04(void);
-extern int UtcDaliJsonParserMethod05(void);
-extern int UtcDaliJsonParserMethod06(void);
-extern int UtcDaliJsonParserMethod07(void);
-extern int UtcDaliJsonParserMethod08(void);
-extern int UtcDaliJsonParserMethod09(void);
-extern int UtcDaliJsonParserMethod10(void);
-extern int UtcDaliJsonParserMethod11(void);
-extern int UtcDaliKeyInputFocusManagerGet(void);
-extern int UtcDaliKeyInputFocusManagerSetFocus(void);
-extern int UtcDaliKeyInputFocusManagerGetCurrentFocusControl(void);
-extern int UtcDaliKeyInputFocusManagerRemoveFocus(void);
-extern int UtcDaliKeyInputFocusManagerIsKeyboardListener(void);
-extern int UtcDaliKeyInputFocusManagerSignalKeyInputFocusChanged(void);
-extern int UtcDaliKeyInputFocusManagerSignalUnhandledKeyEvent(void);
-extern int UtcDaliNavigationControlNew(void);
-extern int UtcDaliNavigationControlDownCast(void);
-extern int UtcDaliNavigationControlPushItem(void);
-extern int UtcDaliNavigationControlPopItem(void);
-extern int UtcDaliNavigationControlGetItemCount(void);
-extern int UtcDaliNavigationControlGetItem(void);
-extern int UtcDaliNavigationControlGetCurrentItem(void);
-extern int UtcDaliNavigationControlSetBackground(void);
-extern int UtcDaliNavigationControlCreateNavigationToolBar(void);
-extern int UtcDaliNavigationControlCreateNavigationTitleBar(void);
-extern int UtcDaliNavigationLayoutNew(void);
-extern int UtcDaliNavigationLayoutColumns(void);
-extern int UtcDaliNavigationLayoutSetGetOrientation(void);
-extern int UtcDaliNavigationLayoutTestConstraintLeft(void);
-extern int UtcDaliNavigationLayoutTestConstraintRight(void);
-extern int UtcDaliNavigationLayoutTestConstraintUp(void);
-extern int UtcDaliNavigationLayoutTestConstraintDown(void);
-extern int UtcDaliNavigationLayoutScrollDirection(void);
-extern int UtcDaliNavigationLayoutSetGetColumnSpacing(void);
-extern int UtcDaliNavigationLayoutSetGetTopMargin(void);
-extern int UtcDaliNavigationLayoutSetGetBottomMargin(void);
-extern int UtcDaliNavigationLayoutSetGetScrollSpeedFactor(void);
-extern int UtcDaliNavigationLayoutSetGetMaximumSwipeSpeed(void);
-extern int UtcDaliNavigationLayoutSetAndGetItemFlickAnimationDuration(void);
-extern int UtcDaliNavigationLayoutGetScrollToPosition(void);
-extern int UtcDaliOverlayConstructor(void);
-extern int UtcDaliOverlayUninitializedEffect(void);
-extern int UtcDaliPageNew(void);
-extern int UtcDaliPageDownCast(void);
-extern int UtcDaliPageSetGetTitle(void);
-extern int UtcDaliPageSetGetSubTitle(void);
-extern int UtcDaliPageSetGetTitleIcon(void);
-extern int UtcDaliPageAddGetToolBarControl(void);
-extern int UtcDaliPageAddGetTitleBarControl(void);
-extern int UtcDaliPageSetGetPopupMenu(void);
-extern int UtcDaliPageTurnEffectApply(void);
-extern int UtcDaliPageTurnEffectConstruct(void);
-extern int UtcDaliPageTurnPortraitViewNew(void);
-extern int UtcDaliPageTurnLandscapeViewNew(void);
-extern int UtcDaliPageTurnViewSetAndGetSpineShadowParameter(void);
-extern int UtcDaliPageTurnViewGoToPageAndGetCurrentPage(void);
-extern int UtcDaliPageTurnViewEnterLeaveEditMode(void);
-extern int UtcDaliPageTurnViewGetHitActor(void);
-extern int UtcDaliPageTurnViewRefresh(void);
-extern int UtcDaliPageTurnViewSignals(void);
-extern int UtcDaliRollLayoutNew(void);
-extern int UtcDaliRollLayoutSetAndGetRowSpacing(void);
-extern int UtcDaliRollLayoutSetAndGetItemSizeFunction(void);
-extern int UtcDaliRollLayoutSetAndGetScrollSpeedFactor(void);
-extern int UtcDaliRollLayoutSetAndGetMaximumSwipeSpeed(void);
-extern int UtcDaliRollLayoutSetAndGetItemFlickAnimationDuration(void);
-extern int UtcDaliRollLayoutConstraintLeft(void);
-extern int UtcDaliRollLayoutConstraintRight(void);
-extern int UtcDaliRollLayoutConstraintUp(void);
-extern int UtcDaliRollLayoutConstraintDown(void);
-extern int UtcDaliRollLayoutScrollDirection(void);
-extern int UtcDaliRotatingSelectorNew(void);
-extern int UtcDaliRotatingSelectorSetSelected(void);
-extern int UtcDaliRotatingSelectorSetSelectedAndUnSelectedActor(void);
-extern int UtcDaliRotatingSelectorSetSelectable(void);
-extern int UtcDaliRotatingSelectorSignalSelected(void);
-extern int UtcDaliScrollViewNew(void);
-extern int UtcDaliScrollViewDownCast(void);
-extern int UtcDaliScrollViewScrollToPosition(void);
-extern int UtcDaliScrollViewScrollToPage(void);
-extern int UtcDaliScrollViewScrollToActor(void);
-extern int UtcDaliScrollViewScrollToSnapPoint(void);
-extern int UtcDaliScrollViewRulerScale(void);
-extern int UtcDaliScrollViewTransformTo(void);
-extern int UtcDaliScrollViewRefreshInterval(void);
-extern int UtcDaliScrollViewWrapMode(void);
-extern int UtcDaliScrollViewActorAutoSnap(void);
-extern int UtcDaliScrollViewSignalsStartComplete(void);
-extern int UtcDaliScrollViewSignalsUpdate(void);
-extern int UtcDaliScrollViewSignalsClamped(void);
-extern int UtcDaliScrollViewScrollSensitive(void);
-extern int UtcDaliScrollViewTouchesRequired(void);
-extern int UtcDaliScrollViewAxisAutoLock(void);
-extern int UtcDaliScrollViewAxisAutoLockGradient(void);
-extern int UtcDaliScrollViewConstraints(void);
-extern int UtcDaliScrollViewBind(void);
-extern int UtcDaliRulerEnableDisable(void);
-extern int UtcDaliRulerDomainEnableDisable(void);
-extern int UtcDaliRulerSnapAndClamp(void);
-extern int UtcDaliRulerFixedRulerSpacing(void);
-extern int UtcDaliScrollViewOvershoot(void);
-extern int UtcDaliScrollViewSnapAlphaFunction(void);
-extern int UtcDaliScrollViewSnapDuration(void);
-extern int UtcDaliScrollViewSignalsSnapStart(void);
-extern int UtcDaliScrollViewSetMouseWheelScrollDistanceStep(void);
-extern int UtcDaliScrollViewGetSet(void);
-extern int UtcDaliShadowViewUninitialized(void);
-extern int UtcDaliShadowViewNew(void);
-extern int UtcDaliShadowViewDownCast(void);
-extern int UtcDaliShadowViewPropertyNames(void);
-extern int UtcDaliShadowViewAddRemove(void);
-extern int UtcDaliShadowViewActivateDeactivate(void);
-extern int UtcDaliShearEffectUninitialized(void);
-extern int UtcDaliShearEffectPropertyNames(void);
-extern int UtcDaliShearEffectDefaultValues(void);
-extern int UtcDaliShearEffectCustomValues(void);
-extern int UtcDaliSliderNew(void);
-extern int UtcDaliSliderDestructor(void);
-extern int UtcDaliSliderDownCast(void);
-extern int UtcDaliSliderSignals(void);
-extern int UtcDaliSoftButtonEffectUninitialized(void);
-extern int UtcDaliSoftButtonEffectNew(void);
-extern int UtcDaliSoftButtonEffectPropertyNames(void);
-extern int UtcDaliSpiralLayoutNew(void);
-extern int UtcDaliSpiralSetAndGetItemSizeFunction(void);
-extern int UtcDaliSpiralSetAndGetItemSpacing(void);
-extern int UtcDaliSpiralSetAndGetRevolutionDistance(void);
-extern int UtcDaliSpiralSetAndGetSpiralRadiusFunction(void);
-extern int UtcDaliSpiralSetAndGetTopItemAlignment(void);
-extern int UtcDaliSpiralSetAndGetScrollSpeedFactor(void);
-extern int UtcDaliSpiralSetAndGetMaximumSwipeSpeed(void);
-extern int UtcDaliSpiralLayoutSetAndGetItemFlickAnimationDuration(void);
-extern int UtcDaliSpiralLayoutConstraintLeft(void);
-extern int UtcDaliSpiralLayoutConstraintRight(void);
-extern int UtcDaliSpiralLayoutConstraintUp(void);
-extern int UtcDaliSpiralLayoutConstraintDown(void);
-extern int UtcDaliSpiralLayoutScrollDirection(void);
-extern int UtcDaliSpiralLayoutGetScrollToPosition(void);
-extern int UtcDaliSpotUninitializedEffect(void);
-extern int UtcDaliSpotPropertyNamesEffect(void);
-extern int UtcDaliSpotDefaultValuesEffect(void);
-extern int UtcDaliSpotCustomValuesEffect(void);
-extern int UtcDaliSquareDissolveEffectUninitialized(void);
-extern int UtcDaliSquareDissolveEffectPropertyNames(void);
-extern int UtcDaliSquareDissolveEffectDefaultValues(void);
-extern int UtcDaliSquareDissolveEffectCustomValues(void);
-extern int UtcDaliTableViewNew(void);
-extern int UtcDaliTableViewMetricsPadding(void);
-extern int UtcDaliTableViewMetricsFixed(void);
-extern int UtcDaliTableViewMetricsRelative(void);
-extern int UtcDaliTableViewAnimation(void);
-extern int UtcDaliTableViewChild(void);
-extern int UtcDaliTableViewAdd(void);
-extern int UtcDaliTableViewCells(void);
-extern int UtcDaliTableViewChildAssert(void);
-extern int UtcDaliTableViewMetricsAssert(void);
-extern int UtcDaliToolBarNew(void);
-extern int UtcDaliToolBarSetBackground(void);
-extern int UtcDaliToolBarAddControl01(void);
-extern int UtcDaliToolBarAddControl02(void);
-extern int UtcDaliToolBarRemoveControl01(void);
-extern int UtcDaliToolBarRemoveControl02(void);
-extern int UtcDaliViewNew(void);
-extern int UtcDaliViewAddGetRemoveContentLayer01(void);
-extern int UtcDaliViewAddGetRemoveContentLayer02(void);
-extern int UtcDaliViewSetGetBackgroundLayer01(void);
-extern int UtcDaliViewSetGetBackgroundLayer02(void);
-extern int UtcDaliViewSetOrientationFunction(void);
-extern int UtcDaliViewOrientationChanged(void);
-extern int UtcSetAutoRotate(void);
-extern int UtcDaliWaterEffectUninitialized(void);
-extern int UtcDaliWaterEffectPropertyNames(void);
-extern int UtcDaliWaterEffectOutOfBounds(void);
-extern int UtcDaliWaterEffectDefaultValues(void);
-extern int UtcDaliWaterEffectCustomValues(void);
-extern int UtcDaliWaterEffectGetAmplitudePositive(void);
-extern int UtcDaliWaterEffectGetAmplitudeNegative(void);
-extern int UtcDaliWaterEffectGetCenterPositive(void);
-extern int UtcDaliWaterEffectGetCenterNegative(void);
-extern int UtcDaliWaterEffectGetPropagationPositive(void);
-extern int UtcDaliWaterEffectGetPropagationNegative(void);
-extern int UtcDaliButtonNew(void);
-extern int UtcDaliButtonProperties(void);
-extern int UtcDaliButtonSetGetDimmed(void);
-extern int UtcDaliControlImplTypeRegistry(void);
-extern int UtcDaliControlImplMouseWheelEvent(void);
-extern int UtcDaliDefaultControlsCreateCheckBoxButton(void);
-extern int UtcDaliItemViewAddAndGetLayout(void);
-extern int UtcDaliItemViewAddAndRemoveLayout(void);
-extern int UtcDaliItemViewActivateLayoutAndGetActiveLayout(void);
-extern int UtcDaliKeyboardFocusManagerGet(void);
-extern int UtcDaliKeyboardFocusManagerMoveFocus(void);
-extern int UtcDaliKeyboardFocusManagerSignalFocusGroupChanged(void);
-extern int UtcDaliScrollViewPageCubeEffectSetup(void);
-extern int UtcDaliScrollViewPageCarouselEffectSetup(void);
-extern int UtcDaliScrollViewCarouselEffectSetup(void);
-extern int UtcDaliScrollViewDepthEffectSetup(void);
-extern int UtcDaliScrollViewPageCubeEffectTest(void);
-extern int UtcDaliScrollViewPageCarouselEffectTest(void);
-extern int UtcDaliScrollViewCarouselEffectTest(void);
-extern int UtcDaliScrollViewDepthEffectTest(void);
-extern int UtcDaliTextInputSetActiveStyle(void);
-extern int UtcDaliTextInputApplyStyleToSelectedText(void);
-extern int UtcDaliTextInputApplyStyleToAll(void);
-extern int UtcDaliTextInputGetStyleAtCursor(void);
-extern int UtcDaliTextInputSetAndGetTextAlignment(void);
-extern int UtcDaliTextInputSetAndGetMultilinePolicy(void);
-extern int UtcDaliTextInputSetAndGetExceedEnabled(void);
-
-testcase tc_array[] = {
-    {"UtcDaliAlbumLayoutNew", UtcDaliAlbumLayoutNew, album_layout_startup, album_layout_cleanup},
-    {"UtcDaliAlbumSetAndGetItemSizeFunction", UtcDaliAlbumSetAndGetItemSizeFunction, album_layout_startup, album_layout_cleanup},
-    {"UtcDaliAlbumSetAndGetScrollSpeedFactor", UtcDaliAlbumSetAndGetScrollSpeedFactor, album_layout_startup, album_layout_cleanup},
-    {"UtcDaliAlbumSetAndGetMaximumSwipeSpeed", UtcDaliAlbumSetAndGetMaximumSwipeSpeed, album_layout_startup, album_layout_cleanup},
-    {"UtcDaliAlbumLayoutSetAndGetItemFlickAnimationDuration", UtcDaliAlbumLayoutSetAndGetItemFlickAnimationDuration, album_layout_startup, album_layout_cleanup},
-    {"UtcDaliAlbumSetNumOfItems", UtcDaliAlbumSetNumOfItems, album_layout_startup, album_layout_cleanup},
-    {"UtcDaliAlbumSetStackNum", UtcDaliAlbumSetStackNum, album_layout_startup, album_layout_cleanup},
-    {"UtcDaliAlbumSetPosition", UtcDaliAlbumSetPosition, album_layout_startup, album_layout_cleanup},
-    {"UtcDaliAlbumSetRotationX", UtcDaliAlbumSetRotationX, album_layout_startup, album_layout_cleanup},
-    {"UtcDaliAlbumSetRotationZ", UtcDaliAlbumSetRotationZ, album_layout_startup, album_layout_cleanup},
-    {"UtcDaliAlbumSetScale", UtcDaliAlbumSetScale, album_layout_startup, album_layout_cleanup},
-    {"UtcDaliAlbumSetColor", UtcDaliAlbumSetColor, album_layout_startup, album_layout_cleanup},
-    {"UtcDaliAlbumSetCenterPosition", UtcDaliAlbumSetCenterPosition, album_layout_startup, album_layout_cleanup},
-    {"UtcDaliAlbumSetSetCenterScale", UtcDaliAlbumSetSetCenterScale, album_layout_startup, album_layout_cleanup},
-    {"UtcDaliAlbumSetSetCenterColor", UtcDaliAlbumSetSetCenterColor, album_layout_startup, album_layout_cleanup},
-    {"UtcDaliAlbumSetStackPosition", UtcDaliAlbumSetStackPosition, album_layout_startup, album_layout_cleanup},
-    {"UtcDaliAlbumSetSetStackScale", UtcDaliAlbumSetSetStackScale, album_layout_startup, album_layout_cleanup},
-    {"UtcDaliAlbumSetStackColor", UtcDaliAlbumSetStackColor, album_layout_startup, album_layout_cleanup},
-    {"UtcDaliBendyUninitializedEffect", UtcDaliBendyUninitializedEffect, bendy_effect_startup, bendy_effect_cleanup},
-    {"UtcDaliBendyPropertyNamesEffect", UtcDaliBendyPropertyNamesEffect, bendy_effect_startup, bendy_effect_cleanup},
-    {"UtcDaliBendyDefaultValuesEffect", UtcDaliBendyDefaultValuesEffect, bendy_effect_startup, bendy_effect_cleanup},
-    {"UtcDaliBendyCustomValuesEffect", UtcDaliBendyCustomValuesEffect, bendy_effect_startup, bendy_effect_cleanup},
-    {"UtcDaliBlindEffectUninitialized", UtcDaliBlindEffectUninitialized, blind_effect_startup, blind_effect_cleanup},
-    {"UtcDaliBlindEffectPropertyNames", UtcDaliBlindEffectPropertyNames, blind_effect_startup, blind_effect_cleanup},
-    {"UtcDaliBlindEffectDefaultValues", UtcDaliBlindEffectDefaultValues, blind_effect_startup, blind_effect_cleanup},
-    {"UtcDaliBlindEffectCustomValues", UtcDaliBlindEffectCustomValues, blind_effect_startup, blind_effect_cleanup},
-    {"UtcDaliBloomViewUninitialized", UtcDaliBloomViewUninitialized, bloom_view_startup, bloom_view_cleanup},
-    {"UtcDaliBloomViewNew", UtcDaliBloomViewNew, bloom_view_startup, bloom_view_cleanup},
-    {"UtcDaliBloomViewDownCast", UtcDaliBloomViewDownCast, bloom_view_startup, bloom_view_cleanup},
-    {"UtcDaliBloomViewPropertyNames", UtcDaliBloomViewPropertyNames, bloom_view_startup, bloom_view_cleanup},
-    {"UtcDaliBloomViewAddRemove", UtcDaliBloomViewAddRemove, bloom_view_startup, bloom_view_cleanup},
-    {"UtcDaliBloomActivateDeactivate", UtcDaliBloomActivateDeactivate, bloom_view_startup, bloom_view_cleanup},
-    {"UtcDaliBuilderTextActorCreate", UtcDaliBuilderTextActorCreate, builder_startup, builder_cleanup},
-    {"UtcDaliBuilderTextActorCreateAnimation", UtcDaliBuilderTextActorCreateAnimation, builder_startup, builder_cleanup},
-    {"UtcDaliBuilderTextActorApplyFromStyle", UtcDaliBuilderTextActorApplyFromStyle, builder_startup, builder_cleanup},
-    {"UtcDaliBuilderAddActors", UtcDaliBuilderAddActors, builder_startup, builder_cleanup},
-    {"UtcDaliBuilderAddActorsOther", UtcDaliBuilderAddActorsOther, builder_startup, builder_cleanup},
-    {"UtcDaliBuilderStyles", UtcDaliBuilderStyles, builder_startup, builder_cleanup},
-    {"UtcDaliBuilderSetProperty", UtcDaliBuilderSetProperty, builder_startup, builder_cleanup},
-    {"UtcDaliCarouselEffectUninitialized", UtcDaliCarouselEffectUninitialized, carousel_effect_startup, carousel_effect_cleanup},
-    {"UtcDaliCarouselEffectPropertyNames", UtcDaliCarouselEffectPropertyNames, carousel_effect_startup, carousel_effect_cleanup},
-    {"UtcDaliCarouselEffectDefaultValues", UtcDaliCarouselEffectDefaultValues, carousel_effect_startup, carousel_effect_cleanup},
-    {"UtcDaliCarouselEffectCustomValues", UtcDaliCarouselEffectCustomValues, carousel_effect_startup, carousel_effect_cleanup},
-    {"UtcDaliCheckBoxButtonSetGetChecked", UtcDaliCheckBoxButtonSetGetChecked, checkbox_button_startup, checkbox_button_cleanup},
-    {"UtcDaliCheckBoxButtonSetImages", UtcDaliCheckBoxButtonSetImages, checkbox_button_startup, checkbox_button_cleanup},
-    {"UtcDaliClusterNew", UtcDaliClusterNew, cluster_startup, cluster_cleanup},
-    {"UtcDaliClusterDownCast", UtcDaliClusterDownCast, cluster_startup, cluster_cleanup},
-    {"UtcDaliClusterAddAndRemoveChild", UtcDaliClusterAddAndRemoveChild, cluster_startup, cluster_cleanup},
-    {"UtcDaliClusterExpandAndCollapseChild", UtcDaliClusterExpandAndCollapseChild, cluster_startup, cluster_cleanup},
-    {"UtcDaliClusterSetAndGetStyle", UtcDaliClusterSetAndGetStyle, cluster_startup, cluster_cleanup},
-    {"UtcDaliCubeTransitionWaveEffectNew", UtcDaliCubeTransitionWaveEffectNew, cube_transition_effect_startup, cube_transition_effect_cleanup},
-    {"UtcDaliCubeTransitionCrossEffectNew", UtcDaliCubeTransitionCrossEffectNew, cube_transition_effect_startup, cube_transition_effect_cleanup},
-    {"UtcDaliCubeTransitionFoldEffectNew", UtcDaliCubeTransitionFoldEffectNew, cube_transition_effect_startup, cube_transition_effect_cleanup},
-    {"UtcDaliCubeTransitionEffectSetGetTransitionDuration", UtcDaliCubeTransitionEffectSetGetTransitionDuration, cube_transition_effect_startup, cube_transition_effect_cleanup},
-    {"UtcDaliCubeTransitionEffectSetGetCubeDisplacement", UtcDaliCubeTransitionEffectSetGetCubeDisplacement, cube_transition_effect_startup, cube_transition_effect_cleanup},
-    {"UtcDaliCubeTransitionEffectGetRoot", UtcDaliCubeTransitionEffectGetRoot, cube_transition_effect_startup, cube_transition_effect_cleanup},
-    {"UtcDaliCubeTransitionEffectIsTransiting", UtcDaliCubeTransitionEffectIsTransiting, cube_transition_effect_startup, cube_transition_effect_cleanup},
-    {"UtcDaliCubeTransitionEffectSetCurrentImage", UtcDaliCubeTransitionEffectSetCurrentImage, cube_transition_effect_startup, cube_transition_effect_cleanup},
-    {"UtcDaliCubeTransitionEffectSetTargetImage", UtcDaliCubeTransitionEffectSetTargetImage, cube_transition_effect_startup, cube_transition_effect_cleanup},
-    {"UtcDaliCubeTransitionWaveEffectStartTransition", UtcDaliCubeTransitionWaveEffectStartTransition, cube_transition_effect_startup, cube_transition_effect_cleanup},
-    {"UtcDaliCubeTransitionCrossEffectStartTransition", UtcDaliCubeTransitionCrossEffectStartTransition, cube_transition_effect_startup, cube_transition_effect_cleanup},
-    {"UtcDaliCubeTransitionFoldEffectStartTransition", UtcDaliCubeTransitionFoldEffectStartTransition, cube_transition_effect_startup, cube_transition_effect_cleanup},
-    {"UtcDaliCubeTransitionEffectSignalTransitionCompleted", UtcDaliCubeTransitionEffectSignalTransitionCompleted, cube_transition_effect_startup, cube_transition_effect_cleanup},
-    {"UtcDaliCubeTransitionEffectPauseResumeTransition", UtcDaliCubeTransitionEffectPauseResumeTransition, cube_transition_effect_startup, cube_transition_effect_cleanup},
-    {"UtcDaliCubeTransitionWaveEffectStopTransition", UtcDaliCubeTransitionWaveEffectStopTransition, cube_transition_effect_startup, cube_transition_effect_cleanup},
-    {"UtcDaliCubeTransitionCrossEffectStopTransition", UtcDaliCubeTransitionCrossEffectStopTransition, cube_transition_effect_startup, cube_transition_effect_cleanup},
-    {"UtcDaliCubeTransitionFoldEffectStopTransition", UtcDaliCubeTransitionFoldEffectStopTransition, cube_transition_effect_startup, cube_transition_effect_cleanup},
-    {"UtcDaliDepthLayoutNew", UtcDaliDepthLayoutNew, depth_layout_startup, depth_layout_cleanup},
-    {"UtcDaliDepthLayoutSetAndGetNumberOfColumns", UtcDaliDepthLayoutSetAndGetNumberOfColumns, depth_layout_startup, depth_layout_cleanup},
-    {"UtcDaliDepthLayoutSetAndGetNumberOfRows", UtcDaliDepthLayoutSetAndGetNumberOfRows, depth_layout_startup, depth_layout_cleanup},
-    {"UtcDaliDepthLayoutSetAndGetRowSpacing", UtcDaliDepthLayoutSetAndGetRowSpacing, depth_layout_startup, depth_layout_cleanup},
-    {"UtcDaliDepthLayoutSetAndGetTiltAngle", UtcDaliDepthLayoutSetAndGetTiltAngle, depth_layout_startup, depth_layout_cleanup},
-    {"UtcDaliDepthLayoutSetAndGetItemSizeFunction", UtcDaliDepthLayoutSetAndGetItemSizeFunction, depth_layout_startup, depth_layout_cleanup},
-    {"UtcDaliDepthLayoutSetAndGetBottomMarginFunction", UtcDaliDepthLayoutSetAndGetBottomMarginFunction, depth_layout_startup, depth_layout_cleanup},
-    {"UtcDaliDepthLayoutSetAndGetItemTiltAngle", UtcDaliDepthLayoutSetAndGetItemTiltAngle, depth_layout_startup, depth_layout_cleanup},
-    {"UtcDaliDepthLayoutSetAndGetColumnPositionFunction", UtcDaliDepthLayoutSetAndGetColumnPositionFunction, depth_layout_startup, depth_layout_cleanup},
-    {"UtcDaliDepthLayoutSetAndGetScrollSpeedFactor", UtcDaliDepthLayoutSetAndGetScrollSpeedFactor, depth_layout_startup, depth_layout_cleanup},
-    {"UtcDaliDepthLayoutSetAndGetMaximumSwipeSpeed", UtcDaliDepthLayoutSetAndGetMaximumSwipeSpeed, depth_layout_startup, depth_layout_cleanup},
-    {"UtcDaliDepthLayoutSetAndGetItemFlickAnimationDuration", UtcDaliDepthLayoutSetAndGetItemFlickAnimationDuration, depth_layout_startup, depth_layout_cleanup},
-    {"UtcDaliDepthLayoutConstraintLeft", UtcDaliDepthLayoutConstraintLeft, depth_layout_startup, depth_layout_cleanup},
-    {"UtcDaliDepthLayoutConstraintRight", UtcDaliDepthLayoutConstraintRight, depth_layout_startup, depth_layout_cleanup},
-    {"UtcDaliDepthLayoutConstraintUp", UtcDaliDepthLayoutConstraintUp, depth_layout_startup, depth_layout_cleanup},
-    {"UtcDaliDepthLayoutConstraintDown", UtcDaliDepthLayoutConstraintDown, depth_layout_startup, depth_layout_cleanup},
-    {"UtcDaliDepthLayoutGetScrollToPosition", UtcDaliDepthLayoutGetScrollToPosition, depth_layout_startup, depth_layout_cleanup},
-    {"UtcDaliDepthLayoutScrollDirection", UtcDaliDepthLayoutScrollDirection, depth_layout_startup, depth_layout_cleanup},
-    {"UtcDaliDisplacementEffectUninitialized", UtcDaliDisplacementEffectUninitialized, utc_displacement_startup, utc_displacement_cleanup},
-    {"UtcDaliDisplacementEffectNew", UtcDaliDisplacementEffectNew, utc_displacement_startup, utc_displacement_cleanup},
-    {"UtcDaliDisplacementEffectPropertyNames", UtcDaliDisplacementEffectPropertyNames, utc_displacement_startup, utc_displacement_cleanup},
-    {"UtcDaliDisplacementEffectTestSetProperty", UtcDaliDisplacementEffectTestSetProperty, utc_displacement_startup, utc_displacement_cleanup},
-    {"UtcDaliDistanceFieldEffectUninitialized", UtcDaliDistanceFieldEffectUninitialized, utc_distance_field_effect_startup, utc_distance_field_effect_cleanup},
-    {"UtcDaliDistanceFieldEffectPropertyNames", UtcDaliDistanceFieldEffectPropertyNames, utc_distance_field_effect_startup, utc_distance_field_effect_cleanup},
-    {"UtcDaliDistanceFieldEffectDefaultValues", UtcDaliDistanceFieldEffectDefaultValues, utc_distance_field_effect_startup, utc_distance_field_effect_cleanup},
-    {"UtcDaliDistanceFieldEffectCustomValues", UtcDaliDistanceFieldEffectCustomValues, utc_distance_field_effect_startup, utc_distance_field_effect_cleanup},
-    {"UtcDaliGaussianBlurViewUninitialized", UtcDaliGaussianBlurViewUninitialized, utc_gaussian_blur_view_startup, utc_gaussian_blur_view_cleanup},
-    {"UtcDaliGaussianBlurViewNew", UtcDaliGaussianBlurViewNew, utc_gaussian_blur_view_startup, utc_gaussian_blur_view_cleanup},
-    {"UtcDaliGaussianBlurViewDownCast", UtcDaliGaussianBlurViewDownCast, utc_gaussian_blur_view_startup, utc_gaussian_blur_view_cleanup},
-    {"UtcDaliGaussianBlurViewPropertyNames", UtcDaliGaussianBlurViewPropertyNames, utc_gaussian_blur_view_startup, utc_gaussian_blur_view_cleanup},
-    {"UtcDaliGaussianBlurViewAddRemove", UtcDaliGaussianBlurViewAddRemove, utc_gaussian_blur_view_startup, utc_gaussian_blur_view_cleanup},
-    {"UtcDaliGaussianBlurActivateDeactivate", UtcDaliGaussianBlurActivateDeactivate, utc_gaussian_blur_view_startup, utc_gaussian_blur_view_cleanup},
-    {"UtcDaliGaussianBlurViewSetGetBackgroundColor", UtcDaliGaussianBlurViewSetGetBackgroundColor, utc_gaussian_blur_view_startup, utc_gaussian_blur_view_cleanup},
-    {"UtcDaliGaussianBlurViewSetGetRenderTarget", UtcDaliGaussianBlurViewSetGetRenderTarget, utc_gaussian_blur_view_startup, utc_gaussian_blur_view_cleanup},
-    {"UtcDaliJsonParserMethod01", UtcDaliJsonParserMethod01, utc_json_parser_startup, utc_json_parser_cleanup},
-    {"UtcDaliJsonParserMethod02", UtcDaliJsonParserMethod02, utc_json_parser_startup, utc_json_parser_cleanup},
-    {"UtcDaliJsonParserMethod03", UtcDaliJsonParserMethod03, utc_json_parser_startup, utc_json_parser_cleanup},
-    {"UtcDaliJsonParserMethod04", UtcDaliJsonParserMethod04, utc_json_parser_startup, utc_json_parser_cleanup},
-    {"UtcDaliJsonParserMethod05", UtcDaliJsonParserMethod05, utc_json_parser_startup, utc_json_parser_cleanup},
-    {"UtcDaliJsonParserMethod06", UtcDaliJsonParserMethod06, utc_json_parser_startup, utc_json_parser_cleanup},
-    {"UtcDaliJsonParserMethod07", UtcDaliJsonParserMethod07, utc_json_parser_startup, utc_json_parser_cleanup},
-    {"UtcDaliJsonParserMethod08", UtcDaliJsonParserMethod08, utc_json_parser_startup, utc_json_parser_cleanup},
-    {"UtcDaliJsonParserMethod09", UtcDaliJsonParserMethod09, utc_json_parser_startup, utc_json_parser_cleanup},
-    {"UtcDaliJsonParserMethod10", UtcDaliJsonParserMethod10, utc_json_parser_startup, utc_json_parser_cleanup},
-    {"UtcDaliJsonParserMethod11", UtcDaliJsonParserMethod11, utc_json_parser_startup, utc_json_parser_cleanup},
-    {"UtcDaliKeyInputFocusManagerGet", UtcDaliKeyInputFocusManagerGet, key_input_focus_manager_startup, key_input_focus_manager_cleanup},
-    {"UtcDaliKeyInputFocusManagerSetFocus", UtcDaliKeyInputFocusManagerSetFocus, key_input_focus_manager_startup, key_input_focus_manager_cleanup},
-    {"UtcDaliKeyInputFocusManagerGetCurrentFocusControl", UtcDaliKeyInputFocusManagerGetCurrentFocusControl, key_input_focus_manager_startup, key_input_focus_manager_cleanup},
-    {"UtcDaliKeyInputFocusManagerRemoveFocus", UtcDaliKeyInputFocusManagerRemoveFocus, key_input_focus_manager_startup, key_input_focus_manager_cleanup},
-    {"UtcDaliKeyInputFocusManagerIsKeyboardListener", UtcDaliKeyInputFocusManagerIsKeyboardListener, key_input_focus_manager_startup, key_input_focus_manager_cleanup},
-    {"UtcDaliKeyInputFocusManagerSignalKeyInputFocusChanged", UtcDaliKeyInputFocusManagerSignalKeyInputFocusChanged, key_input_focus_manager_startup, key_input_focus_manager_cleanup},
-    {"UtcDaliKeyInputFocusManagerSignalUnhandledKeyEvent", UtcDaliKeyInputFocusManagerSignalUnhandledKeyEvent, key_input_focus_manager_startup, key_input_focus_manager_cleanup},
-    {"UtcDaliNavigationControlNew", UtcDaliNavigationControlNew, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationControlDownCast", UtcDaliNavigationControlDownCast, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationControlPushItem", UtcDaliNavigationControlPushItem, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationControlPopItem", UtcDaliNavigationControlPopItem, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationControlGetItemCount", UtcDaliNavigationControlGetItemCount, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationControlGetItem", UtcDaliNavigationControlGetItem, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationControlGetCurrentItem", UtcDaliNavigationControlGetCurrentItem, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationControlSetBackground", UtcDaliNavigationControlSetBackground, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationControlCreateNavigationToolBar", UtcDaliNavigationControlCreateNavigationToolBar, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationControlCreateNavigationTitleBar", UtcDaliNavigationControlCreateNavigationTitleBar, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationLayoutNew", UtcDaliNavigationLayoutNew, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationLayoutColumns", UtcDaliNavigationLayoutColumns, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationLayoutSetGetOrientation", UtcDaliNavigationLayoutSetGetOrientation, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationLayoutTestConstraintLeft", UtcDaliNavigationLayoutTestConstraintLeft, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationLayoutTestConstraintRight", UtcDaliNavigationLayoutTestConstraintRight, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationLayoutTestConstraintUp", UtcDaliNavigationLayoutTestConstraintUp, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationLayoutTestConstraintDown", UtcDaliNavigationLayoutTestConstraintDown, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationLayoutScrollDirection", UtcDaliNavigationLayoutScrollDirection, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationLayoutSetGetColumnSpacing", UtcDaliNavigationLayoutSetGetColumnSpacing, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationLayoutSetGetTopMargin", UtcDaliNavigationLayoutSetGetTopMargin, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationLayoutSetGetBottomMargin", UtcDaliNavigationLayoutSetGetBottomMargin, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationLayoutSetGetScrollSpeedFactor", UtcDaliNavigationLayoutSetGetScrollSpeedFactor, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationLayoutSetGetMaximumSwipeSpeed", UtcDaliNavigationLayoutSetGetMaximumSwipeSpeed, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationLayoutSetAndGetItemFlickAnimationDuration", UtcDaliNavigationLayoutSetAndGetItemFlickAnimationDuration, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliNavigationLayoutGetScrollToPosition", UtcDaliNavigationLayoutGetScrollToPosition, navigation_control_startup, navigation_control_cleanup},
-    {"UtcDaliOverlayConstructor", UtcDaliOverlayConstructor, overlay_effect_startup, overlay_effect_cleanup},
-    {"UtcDaliOverlayUninitializedEffect", UtcDaliOverlayUninitializedEffect, overlay_effect_startup, overlay_effect_cleanup},
-    {"UtcDaliPageNew", UtcDaliPageNew, dali_page_startup, dali_page_cleanup},
-    {"UtcDaliPageDownCast", UtcDaliPageDownCast, dali_page_startup, dali_page_cleanup},
-    {"UtcDaliPageSetGetTitle", UtcDaliPageSetGetTitle, dali_page_startup, dali_page_cleanup},
-    {"UtcDaliPageSetGetSubTitle", UtcDaliPageSetGetSubTitle, dali_page_startup, dali_page_cleanup},
-    {"UtcDaliPageSetGetTitleIcon", UtcDaliPageSetGetTitleIcon, dali_page_startup, dali_page_cleanup},
-    {"UtcDaliPageAddGetToolBarControl", UtcDaliPageAddGetToolBarControl, dali_page_startup, dali_page_cleanup},
-    {"UtcDaliPageAddGetTitleBarControl", UtcDaliPageAddGetTitleBarControl, dali_page_startup, dali_page_cleanup},
-    {"UtcDaliPageSetGetPopupMenu", UtcDaliPageSetGetPopupMenu, dali_page_startup, dali_page_cleanup},
-    {"UtcDaliPageTurnEffectApply", UtcDaliPageTurnEffectApply, page_turn_effect_startup, page_turn_effect_cleanup},
-    {"UtcDaliPageTurnEffectConstruct", UtcDaliPageTurnEffectConstruct, page_turn_effect_startup, page_turn_effect_cleanup},
-    {"UtcDaliPageTurnPortraitViewNew", UtcDaliPageTurnPortraitViewNew, dali_page_turn_view_startup, dali_page_turn_view_cleanup},
-    {"UtcDaliPageTurnLandscapeViewNew", UtcDaliPageTurnLandscapeViewNew, dali_page_turn_view_startup, dali_page_turn_view_cleanup},
-    {"UtcDaliPageTurnViewSetAndGetSpineShadowParameter", UtcDaliPageTurnViewSetAndGetSpineShadowParameter, dali_page_turn_view_startup, dali_page_turn_view_cleanup},
-    {"UtcDaliPageTurnViewGoToPageAndGetCurrentPage", UtcDaliPageTurnViewGoToPageAndGetCurrentPage, dali_page_turn_view_startup, dali_page_turn_view_cleanup},
-    {"UtcDaliPageTurnViewEnterLeaveEditMode", UtcDaliPageTurnViewEnterLeaveEditMode, dali_page_turn_view_startup, dali_page_turn_view_cleanup},
-    {"UtcDaliPageTurnViewGetHitActor", UtcDaliPageTurnViewGetHitActor, dali_page_turn_view_startup, dali_page_turn_view_cleanup},
-    {"UtcDaliPageTurnViewRefresh", UtcDaliPageTurnViewRefresh, dali_page_turn_view_startup, dali_page_turn_view_cleanup},
-    {"UtcDaliPageTurnViewSignals", UtcDaliPageTurnViewSignals, dali_page_turn_view_startup, dali_page_turn_view_cleanup},
-    {"UtcDaliRollLayoutNew", UtcDaliRollLayoutNew, dali_roll_layout_startup, dali_roll_layout_cleanup},
-    {"UtcDaliRollLayoutSetAndGetRowSpacing", UtcDaliRollLayoutSetAndGetRowSpacing, dali_roll_layout_startup, dali_roll_layout_cleanup},
-    {"UtcDaliRollLayoutSetAndGetItemSizeFunction", UtcDaliRollLayoutSetAndGetItemSizeFunction, dali_roll_layout_startup, dali_roll_layout_cleanup},
-    {"UtcDaliRollLayoutSetAndGetScrollSpeedFactor", UtcDaliRollLayoutSetAndGetScrollSpeedFactor, dali_roll_layout_startup, dali_roll_layout_cleanup},
-    {"UtcDaliRollLayoutSetAndGetMaximumSwipeSpeed", UtcDaliRollLayoutSetAndGetMaximumSwipeSpeed, dali_roll_layout_startup, dali_roll_layout_cleanup},
-    {"UtcDaliRollLayoutSetAndGetItemFlickAnimationDuration", UtcDaliRollLayoutSetAndGetItemFlickAnimationDuration, dali_roll_layout_startup, dali_roll_layout_cleanup},
-    {"UtcDaliRollLayoutConstraintLeft", UtcDaliRollLayoutConstraintLeft, dali_roll_layout_startup, dali_roll_layout_cleanup},
-    {"UtcDaliRollLayoutConstraintRight", UtcDaliRollLayoutConstraintRight, dali_roll_layout_startup, dali_roll_layout_cleanup},
-    {"UtcDaliRollLayoutConstraintUp", UtcDaliRollLayoutConstraintUp, dali_roll_layout_startup, dali_roll_layout_cleanup},
-    {"UtcDaliRollLayoutConstraintDown", UtcDaliRollLayoutConstraintDown, dali_roll_layout_startup, dali_roll_layout_cleanup},
-    {"UtcDaliRollLayoutScrollDirection", UtcDaliRollLayoutScrollDirection, dali_roll_layout_startup, dali_roll_layout_cleanup},
-    {"UtcDaliRotatingSelectorNew", UtcDaliRotatingSelectorNew, rotating_selector_startup, rotating_selector_cleanup},
-    {"UtcDaliRotatingSelectorSetSelected", UtcDaliRotatingSelectorSetSelected, rotating_selector_startup, rotating_selector_cleanup},
-    {"UtcDaliRotatingSelectorSetSelectedAndUnSelectedActor", UtcDaliRotatingSelectorSetSelectedAndUnSelectedActor, rotating_selector_startup, rotating_selector_cleanup},
-    {"UtcDaliRotatingSelectorSetSelectable", UtcDaliRotatingSelectorSetSelectable, rotating_selector_startup, rotating_selector_cleanup},
-    {"UtcDaliRotatingSelectorSignalSelected", UtcDaliRotatingSelectorSignalSelected, rotating_selector_startup, rotating_selector_cleanup},
-    {"UtcDaliScrollViewNew", UtcDaliScrollViewNew, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewDownCast", UtcDaliScrollViewDownCast, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewScrollToPosition", UtcDaliScrollViewScrollToPosition, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewScrollToPage", UtcDaliScrollViewScrollToPage, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewScrollToActor", UtcDaliScrollViewScrollToActor, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewScrollToSnapPoint", UtcDaliScrollViewScrollToSnapPoint, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewRulerScale", UtcDaliScrollViewRulerScale, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewTransformTo", UtcDaliScrollViewTransformTo, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewRefreshInterval", UtcDaliScrollViewRefreshInterval, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewWrapMode", UtcDaliScrollViewWrapMode, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewActorAutoSnap", UtcDaliScrollViewActorAutoSnap, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewSignalsStartComplete", UtcDaliScrollViewSignalsStartComplete, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewSignalsUpdate", UtcDaliScrollViewSignalsUpdate, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewSignalsClamped", UtcDaliScrollViewSignalsClamped, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewScrollSensitive", UtcDaliScrollViewScrollSensitive, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewTouchesRequired", UtcDaliScrollViewTouchesRequired, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewAxisAutoLock", UtcDaliScrollViewAxisAutoLock, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewAxisAutoLockGradient", UtcDaliScrollViewAxisAutoLockGradient, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewConstraints", UtcDaliScrollViewConstraints, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewBind", UtcDaliScrollViewBind, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliRulerEnableDisable", UtcDaliRulerEnableDisable, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliRulerDomainEnableDisable", UtcDaliRulerDomainEnableDisable, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliRulerSnapAndClamp", UtcDaliRulerSnapAndClamp, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliRulerFixedRulerSpacing", UtcDaliRulerFixedRulerSpacing, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewOvershoot", UtcDaliScrollViewOvershoot, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewSnapAlphaFunction", UtcDaliScrollViewSnapAlphaFunction, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewSnapDuration", UtcDaliScrollViewSnapDuration, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewSignalsSnapStart", UtcDaliScrollViewSignalsSnapStart, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewSetMouseWheelScrollDistanceStep", UtcDaliScrollViewSetMouseWheelScrollDistanceStep, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliScrollViewGetSet", UtcDaliScrollViewGetSet, scroll_view_startup, scroll_view_cleanup},
-    {"UtcDaliShadowViewUninitialized", UtcDaliShadowViewUninitialized, shadow_view_startup, shadow_view_cleanup},
-    {"UtcDaliShadowViewNew", UtcDaliShadowViewNew, shadow_view_startup, shadow_view_cleanup},
-    {"UtcDaliShadowViewDownCast", UtcDaliShadowViewDownCast, shadow_view_startup, shadow_view_cleanup},
-    {"UtcDaliShadowViewPropertyNames", UtcDaliShadowViewPropertyNames, shadow_view_startup, shadow_view_cleanup},
-    {"UtcDaliShadowViewAddRemove", UtcDaliShadowViewAddRemove, shadow_view_startup, shadow_view_cleanup},
-    {"UtcDaliShadowViewActivateDeactivate", UtcDaliShadowViewActivateDeactivate, shadow_view_startup, shadow_view_cleanup},
-    {"UtcDaliShearEffectUninitialized", UtcDaliShearEffectUninitialized, shear_effect_startup, shear_effect_cleanup},
-    {"UtcDaliShearEffectPropertyNames", UtcDaliShearEffectPropertyNames, shear_effect_startup, shear_effect_cleanup},
-    {"UtcDaliShearEffectDefaultValues", UtcDaliShearEffectDefaultValues, shear_effect_startup, shear_effect_cleanup},
-    {"UtcDaliShearEffectCustomValues", UtcDaliShearEffectCustomValues, shear_effect_startup, shear_effect_cleanup},
-    {"UtcDaliSliderNew", UtcDaliSliderNew, dali_slider_startup, dali_slider_cleanup},
-    {"UtcDaliSliderDestructor", UtcDaliSliderDestructor, dali_slider_startup, dali_slider_cleanup},
-    {"UtcDaliSliderDownCast", UtcDaliSliderDownCast, dali_slider_startup, dali_slider_cleanup},
-    {"UtcDaliSliderSignals", UtcDaliSliderSignals, dali_slider_startup, dali_slider_cleanup},
-    {"UtcDaliSoftButtonEffectUninitialized", UtcDaliSoftButtonEffectUninitialized, soft_button_effect_startup, soft_button_effect_cleanup},
-    {"UtcDaliSoftButtonEffectNew", UtcDaliSoftButtonEffectNew, soft_button_effect_startup, soft_button_effect_cleanup},
-    {"UtcDaliSoftButtonEffectPropertyNames", UtcDaliSoftButtonEffectPropertyNames, soft_button_effect_startup, soft_button_effect_cleanup},
-    {"UtcDaliSpiralLayoutNew", UtcDaliSpiralLayoutNew, spiral_layout_startup, spiral_layout_cleanup},
-    {"UtcDaliSpiralSetAndGetItemSizeFunction", UtcDaliSpiralSetAndGetItemSizeFunction, spiral_layout_startup, spiral_layout_cleanup},
-    {"UtcDaliSpiralSetAndGetItemSpacing", UtcDaliSpiralSetAndGetItemSpacing, spiral_layout_startup, spiral_layout_cleanup},
-    {"UtcDaliSpiralSetAndGetRevolutionDistance", UtcDaliSpiralSetAndGetRevolutionDistance, spiral_layout_startup, spiral_layout_cleanup},
-    {"UtcDaliSpiralSetAndGetSpiralRadiusFunction", UtcDaliSpiralSetAndGetSpiralRadiusFunction, spiral_layout_startup, spiral_layout_cleanup},
-    {"UtcDaliSpiralSetAndGetTopItemAlignment", UtcDaliSpiralSetAndGetTopItemAlignment, spiral_layout_startup, spiral_layout_cleanup},
-    {"UtcDaliSpiralSetAndGetScrollSpeedFactor", UtcDaliSpiralSetAndGetScrollSpeedFactor, spiral_layout_startup, spiral_layout_cleanup},
-    {"UtcDaliSpiralSetAndGetMaximumSwipeSpeed", UtcDaliSpiralSetAndGetMaximumSwipeSpeed, spiral_layout_startup, spiral_layout_cleanup},
-    {"UtcDaliSpiralLayoutSetAndGetItemFlickAnimationDuration", UtcDaliSpiralLayoutSetAndGetItemFlickAnimationDuration, spiral_layout_startup, spiral_layout_cleanup},
-    {"UtcDaliSpiralLayoutConstraintLeft", UtcDaliSpiralLayoutConstraintLeft, spiral_layout_startup, spiral_layout_cleanup},
-    {"UtcDaliSpiralLayoutConstraintRight", UtcDaliSpiralLayoutConstraintRight, spiral_layout_startup, spiral_layout_cleanup},
-    {"UtcDaliSpiralLayoutConstraintUp", UtcDaliSpiralLayoutConstraintUp, spiral_layout_startup, spiral_layout_cleanup},
-    {"UtcDaliSpiralLayoutConstraintDown", UtcDaliSpiralLayoutConstraintDown, spiral_layout_startup, spiral_layout_cleanup},
-    {"UtcDaliSpiralLayoutScrollDirection", UtcDaliSpiralLayoutScrollDirection, spiral_layout_startup, spiral_layout_cleanup},
-    {"UtcDaliSpiralLayoutGetScrollToPosition", UtcDaliSpiralLayoutGetScrollToPosition, spiral_layout_startup, spiral_layout_cleanup},
-    {"UtcDaliSpotUninitializedEffect", UtcDaliSpotUninitializedEffect, spot_effect_startup, spot_effect_cleanup},
-    {"UtcDaliSpotPropertyNamesEffect", UtcDaliSpotPropertyNamesEffect, spot_effect_startup, spot_effect_cleanup},
-    {"UtcDaliSpotDefaultValuesEffect", UtcDaliSpotDefaultValuesEffect, spot_effect_startup, spot_effect_cleanup},
-    {"UtcDaliSpotCustomValuesEffect", UtcDaliSpotCustomValuesEffect, spot_effect_startup, spot_effect_cleanup},
-    {"UtcDaliSquareDissolveEffectUninitialized", UtcDaliSquareDissolveEffectUninitialized, square_dissolve_effect_startup, square_dissolve_effect_cleanup},
-    {"UtcDaliSquareDissolveEffectPropertyNames", UtcDaliSquareDissolveEffectPropertyNames, square_dissolve_effect_startup, square_dissolve_effect_cleanup},
-    {"UtcDaliSquareDissolveEffectDefaultValues", UtcDaliSquareDissolveEffectDefaultValues, square_dissolve_effect_startup, square_dissolve_effect_cleanup},
-    {"UtcDaliSquareDissolveEffectCustomValues", UtcDaliSquareDissolveEffectCustomValues, square_dissolve_effect_startup, square_dissolve_effect_cleanup},
-    {"UtcDaliTableViewNew", UtcDaliTableViewNew, dali_tableview_startup, dali_tableview_cleanup},
-    {"UtcDaliTableViewMetricsPadding", UtcDaliTableViewMetricsPadding, dali_tableview_startup, dali_tableview_cleanup},
-    {"UtcDaliTableViewMetricsFixed", UtcDaliTableViewMetricsFixed, dali_tableview_startup, dali_tableview_cleanup},
-    {"UtcDaliTableViewMetricsRelative", UtcDaliTableViewMetricsRelative, dali_tableview_startup, dali_tableview_cleanup},
-    {"UtcDaliTableViewAnimation", UtcDaliTableViewAnimation, dali_tableview_startup, dali_tableview_cleanup},
-    {"UtcDaliTableViewChild", UtcDaliTableViewChild, dali_tableview_startup, dali_tableview_cleanup},
-    {"UtcDaliTableViewAdd", UtcDaliTableViewAdd, dali_tableview_startup, dali_tableview_cleanup},
-    {"UtcDaliTableViewCells", UtcDaliTableViewCells, dali_tableview_startup, dali_tableview_cleanup},
-    {"UtcDaliTableViewChildAssert", UtcDaliTableViewChildAssert, dali_tableview_startup, dali_tableview_cleanup},
-    {"UtcDaliTableViewMetricsAssert", UtcDaliTableViewMetricsAssert, dali_tableview_startup, dali_tableview_cleanup},
-    {"UtcDaliToolBarNew", UtcDaliToolBarNew, dali_toolbar_startup, dali_toolbar_cleanup},
-    {"UtcDaliToolBarSetBackground", UtcDaliToolBarSetBackground, dali_toolbar_startup, dali_toolbar_cleanup},
-    {"UtcDaliToolBarAddControl01", UtcDaliToolBarAddControl01, dali_toolbar_startup, dali_toolbar_cleanup},
-    {"UtcDaliToolBarAddControl02", UtcDaliToolBarAddControl02, dali_toolbar_startup, dali_toolbar_cleanup},
-    {"UtcDaliToolBarRemoveControl01", UtcDaliToolBarRemoveControl01, dali_toolbar_startup, dali_toolbar_cleanup},
-    {"UtcDaliToolBarRemoveControl02", UtcDaliToolBarRemoveControl02, dali_toolbar_startup, dali_toolbar_cleanup},
-    {"UtcDaliViewNew", UtcDaliViewNew, dali_view_startup, dali_view_cleanup},
-    {"UtcDaliViewAddGetRemoveContentLayer01", UtcDaliViewAddGetRemoveContentLayer01, dali_view_startup, dali_view_cleanup},
-    {"UtcDaliViewAddGetRemoveContentLayer02", UtcDaliViewAddGetRemoveContentLayer02, dali_view_startup, dali_view_cleanup},
-    {"UtcDaliViewSetGetBackgroundLayer01", UtcDaliViewSetGetBackgroundLayer01, dali_view_startup, dali_view_cleanup},
-    {"UtcDaliViewSetGetBackgroundLayer02", UtcDaliViewSetGetBackgroundLayer02, dali_view_startup, dali_view_cleanup},
-    {"UtcDaliViewSetOrientationFunction", UtcDaliViewSetOrientationFunction, dali_view_startup, dali_view_cleanup},
-    {"UtcDaliViewOrientationChanged", UtcDaliViewOrientationChanged, dali_view_startup, dali_view_cleanup},
-    {"UtcSetAutoRotate", UtcSetAutoRotate, dali_view_startup, dali_view_cleanup},
-    {"UtcDaliWaterEffectUninitialized", UtcDaliWaterEffectUninitialized, dali_water_effect_startup, dali_water_effect_cleanup},
-    {"UtcDaliWaterEffectPropertyNames", UtcDaliWaterEffectPropertyNames, dali_water_effect_startup, dali_water_effect_cleanup},
-    {"UtcDaliWaterEffectOutOfBounds", UtcDaliWaterEffectOutOfBounds, dali_water_effect_startup, dali_water_effect_cleanup},
-    {"UtcDaliWaterEffectDefaultValues", UtcDaliWaterEffectDefaultValues, dali_water_effect_startup, dali_water_effect_cleanup},
-    {"UtcDaliWaterEffectCustomValues", UtcDaliWaterEffectCustomValues, dali_water_effect_startup, dali_water_effect_cleanup},
-    {"UtcDaliWaterEffectGetAmplitudePositive", UtcDaliWaterEffectGetAmplitudePositive, dali_water_effect_startup, dali_water_effect_cleanup},
-    {"UtcDaliWaterEffectGetAmplitudeNegative", UtcDaliWaterEffectGetAmplitudeNegative, dali_water_effect_startup, dali_water_effect_cleanup},
-    {"UtcDaliWaterEffectGetCenterPositive", UtcDaliWaterEffectGetCenterPositive, dali_water_effect_startup, dali_water_effect_cleanup},
-    {"UtcDaliWaterEffectGetCenterNegative", UtcDaliWaterEffectGetCenterNegative, dali_water_effect_startup, dali_water_effect_cleanup},
-    {"UtcDaliWaterEffectGetPropagationPositive", UtcDaliWaterEffectGetPropagationPositive, dali_water_effect_startup, dali_water_effect_cleanup},
-    {"UtcDaliWaterEffectGetPropagationNegative", UtcDaliWaterEffectGetPropagationNegative, dali_water_effect_startup, dali_water_effect_cleanup},
-    {"UtcDaliButtonNew", UtcDaliButtonNew, dali_button_startup, dali_button_cleanup},
-    {"UtcDaliButtonProperties", UtcDaliButtonProperties, dali_button_startup, dali_button_cleanup},
-    {"UtcDaliButtonSetGetDimmed", UtcDaliButtonSetGetDimmed, dali_button_startup, dali_button_cleanup},
-    {"UtcDaliControlImplTypeRegistry", UtcDaliControlImplTypeRegistry, control_impl_startup, control_impl_cleanup},
-    {"UtcDaliControlImplMouseWheelEvent", UtcDaliControlImplMouseWheelEvent, control_impl_startup, control_impl_cleanup},
-    {"UtcDaliDefaultControlsCreateCheckBoxButton", UtcDaliDefaultControlsCreateCheckBoxButton, dali_default_controls_startup, dali_default_controls_cleanup},
-    {"UtcDaliItemViewAddAndGetLayout", UtcDaliItemViewAddAndGetLayout, dali_default_controls_startup, dali_default_controls_cleanup},
-    {"UtcDaliItemViewAddAndRemoveLayout", UtcDaliItemViewAddAndRemoveLayout, dali_default_controls_startup, dali_default_controls_cleanup},
-    {"UtcDaliItemViewActivateLayoutAndGetActiveLayout", UtcDaliItemViewActivateLayoutAndGetActiveLayout, dali_default_controls_startup, dali_default_controls_cleanup},
-    {"UtcDaliKeyboardFocusManagerGet", UtcDaliKeyboardFocusManagerGet, dali_keyboard_focus_manager_startup, dali_keyboard_focus_manager_cleanup},
-    {"UtcDaliKeyboardFocusManagerMoveFocus", UtcDaliKeyboardFocusManagerMoveFocus, dali_keyboard_focus_manager_startup, dali_keyboard_focus_manager_cleanup},
-    {"UtcDaliKeyboardFocusManagerSignalFocusGroupChanged", UtcDaliKeyboardFocusManagerSignalFocusGroupChanged, dali_keyboard_focus_manager_startup, dali_keyboard_focus_manager_cleanup},
-    {"UtcDaliScrollViewPageCubeEffectSetup", UtcDaliScrollViewPageCubeEffectSetup, dali_scroll_view_effect_startup, dali_scroll_view_effect_cleanup},
-    {"UtcDaliScrollViewPageCarouselEffectSetup", UtcDaliScrollViewPageCarouselEffectSetup, dali_scroll_view_effect_startup, dali_scroll_view_effect_cleanup},
-    {"UtcDaliScrollViewCarouselEffectSetup", UtcDaliScrollViewCarouselEffectSetup, dali_scroll_view_effect_startup, dali_scroll_view_effect_cleanup},
-    {"UtcDaliScrollViewDepthEffectSetup", UtcDaliScrollViewDepthEffectSetup, dali_scroll_view_effect_startup, dali_scroll_view_effect_cleanup},
-    {"UtcDaliScrollViewPageCubeEffectTest", UtcDaliScrollViewPageCubeEffectTest, dali_scroll_view_effect_startup, dali_scroll_view_effect_cleanup},
-    {"UtcDaliScrollViewPageCarouselEffectTest", UtcDaliScrollViewPageCarouselEffectTest, dali_scroll_view_effect_startup, dali_scroll_view_effect_cleanup},
-    {"UtcDaliScrollViewCarouselEffectTest", UtcDaliScrollViewCarouselEffectTest, dali_scroll_view_effect_startup, dali_scroll_view_effect_cleanup},
-    {"UtcDaliScrollViewDepthEffectTest", UtcDaliScrollViewDepthEffectTest, dali_scroll_view_effect_startup, dali_scroll_view_effect_cleanup},
-    {"UtcDaliTextInputSetActiveStyle", UtcDaliTextInputSetActiveStyle, dali_scroll_view_effect_startup, dali_scroll_view_effect_cleanup},
-    {"UtcDaliTextInputApplyStyleToSelectedText", UtcDaliTextInputApplyStyleToSelectedText, dali_scroll_view_effect_startup, dali_scroll_view_effect_cleanup},
-    {"UtcDaliTextInputApplyStyleToAll", UtcDaliTextInputApplyStyleToAll, dali_scroll_view_effect_startup, dali_scroll_view_effect_cleanup},
-    {"UtcDaliTextInputGetStyleAtCursor", UtcDaliTextInputGetStyleAtCursor, dali_scroll_view_effect_startup, dali_scroll_view_effect_cleanup},
-    {"UtcDaliTextInputSetAndGetTextAlignment", UtcDaliTextInputSetAndGetTextAlignment, dali_scroll_view_effect_startup, dali_scroll_view_effect_cleanup},
-    {"UtcDaliTextInputSetAndGetMultilinePolicy", UtcDaliTextInputSetAndGetMultilinePolicy, dali_scroll_view_effect_startup, dali_scroll_view_effect_cleanup},
-    {"UtcDaliTextInputSetAndGetExceedEnabled", UtcDaliTextInputSetAndGetExceedEnabled, dali_scroll_view_effect_startup, dali_scroll_view_effect_cleanup},
-    {NULL, NULL}
-};
-
-#endif // __TCT_DALI_TOOLKIT_UNMANAGED_CORE_H__
index 138a426..acf3285 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index a38be7c..27161c6 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index b2c59b0..b350e4c 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 
index c797f06..f29bbfa 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 6f63515..4742bed 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index d19761b..4d85f3f 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 1475a69..6d0c4ec 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 96c468a..dacff0c 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 381d1cd..6a35824 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 281ec90..e0d84e1 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index c08582a..71fc956 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index f6222be..a084f79 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index f7eecad..e6dd30b 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <float.h>       // for FLT_MAX
index bd68477..6aa26a3 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 36c6078..d37bf3e 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 4232f72..80d1fbf 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 4209b4f..67715f5 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 07291a3..8a85198 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 5dd331e..d004365 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 6cdfd8d..882d5e7 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 7382bcd..e3ea205 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 6534d6e..6166183 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 13249b2..49e3a41 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 0856998..93f2293 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 533f467..4cab338 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 07265ed..d594aa9 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 236c4b5..59fd84f 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 7f93b2b..48a3af8 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 0b53bff..d554677 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
@@ -66,7 +67,6 @@ const float TEST_RATIO_TOLERANCE = 0.05;                        ///< +/-5% toler
 
 const int MAX_FRAMES_TO_TEST_OVERSHOOT = 600;                         ///< 10 seconds (at 60 frames per second).
 const Vector3 OVERSHOOT_START_SCROLL_POSITION(100.0f, 100.0f, 0.0f);  ///< Scroll start position for the Overshoot tests.
-const float TEST_DEFAULT_SNAP_OVERSHOOT_DURATION = 0.25f;             ///< 0.25 seconds should be default snap overshoot duration
 const float TEST_CUSTOM1_SNAP_OVERSHOOT_DURATION = 0.05f;             ///< a Test duration
 const float TEST_CUSTOM2_SNAP_OVERSHOOT_DURATION = 1.5f;              ///< another Test duration
 const float TEST_CUSTOM3_SNAP_OVERSHOOT_DURATION = TEST_CUSTOM2_SNAP_OVERSHOOT_DURATION * 0.5f; // Same as above, but different alpha function.
@@ -339,8 +339,6 @@ int UtcDaliScrollViewScrollToPosition(void)
 
   // Create the ScrollView actor
   ScrollView scrollView = ScrollView::New();
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
   Stage::GetCurrent().Add( scrollView );
 
   const Vector3 target = Vector3(100.0f, 200.0f, 0.0f);
@@ -363,8 +361,6 @@ int UtcDaliScrollViewScrollToPage(void)
   tet_infoline(" UtcDaliScrollViewScrollToPage");
 
   ScrollView scrollView = ScrollView::New();
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
   Stage::GetCurrent().Add( scrollView );
   RulerPtr rulerX = new FixedRuler( 100.0f );
   rulerX->SetDomain( RulerDomain(0.0f, 800.0f, true) );
@@ -426,8 +422,6 @@ int UtcDaliScrollViewScrollToActor(void)
   tet_infoline(" UtcDaliScrollViewScrollToActor");
 
   ScrollView scrollView = ScrollView::New();
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
   Stage::GetCurrent().Add( scrollView );
 
   Actor actorA = Actor::New();
@@ -467,8 +461,6 @@ int UtcDaliScrollViewScrollToSnapPoint(void)
   tet_infoline(" UtcDaliScrollViewScrollToSnapPoint");
 
   ScrollView scrollView = ScrollView::New();
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
   Stage::GetCurrent().Add( scrollView );
   RulerPtr rulerX = new FixedRuler( 100.0f );
   rulerX->SetDomain( RulerDomain(0.0f, 800.0f, true) );
@@ -489,107 +481,19 @@ int UtcDaliScrollViewScrollToSnapPoint(void)
   END_TEST;
 }
 
-int UtcDaliScrollViewRulerScale(void)
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewRulerScale");
-
-  ScrollView scrollView = ScrollView::New();
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-  Stage::GetCurrent().Add( scrollView );
-
-  RulerPtr rulerScaleX = new FixedRuler(0.25f);
-  RulerPtr rulerScaleY = new DefaultRuler();
-  rulerScaleX->SetDomain( RulerDomain(0.1f, 0.9f, true) );
-  rulerScaleY->SetDomain( RulerDomain(0.1f, 2.0f, true) );
-  scrollView.SetRulerScaleX(rulerScaleX);
-  scrollView.SetRulerScaleY(rulerScaleY);
-
-  scrollView.Add(Actor::New());
-
-  // Scroll to a position, and then snap.
-  scrollView.ScaleTo(Vector3(1.95f, 1.4f, 1.0f), 0.0f);
-  scrollView.ScrollToSnapPoint();
-  Wait(application, RENDER_DELAY_SCROLL);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollScale(), Vector3(0.9f, 1.4f, 1.0f), TEST_LOCATION );
-
-  // Scroll SLOWLY to another position, and then snap.
-  scrollView.ScaleTo(Vector3(0.45f, -1.0f, 1.0f));
-  Wait(application, RENDER_DELAY_SCROLL);
-  scrollView.ScrollToSnapPoint();
-  Wait(application, RENDER_DELAY_SCROLL);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollScale(), Vector3(0.5f, 0.1f, 1.0f), TEST_LOCATION );
-
-  // Scroll to another position, and then snap.
-  scrollView.ScaleTo(Vector3(0.71f, 0.71f, 1.0f), 0.0f);
-  scrollView.ScrollToSnapPoint();
-  Wait(application, RENDER_DELAY_SCROLL);
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollScale(), Vector3(0.75f, 0.71f, 1.0f), TEST_LOCATION );
-  END_TEST;
-}
-
-int UtcDaliScrollViewTransformTo(void)
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewTransformTo");
-
-  ScrollView scrollView = ScrollView::New();
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-  Stage::GetCurrent().Add( scrollView );
-
-  // Position rulers.
-  RulerPtr rulerX = new FixedRuler(50.0f);
-  RulerPtr rulerY = new FixedRuler(50.0f);
-  rulerX->SetDomain( RulerDomain(0.0f, 200.0f, true) );
-  rulerY->SetDomain( RulerDomain(0.0f, 200.0f, true) );
-  scrollView.SetRulerX(rulerX);
-  scrollView.SetRulerY(rulerY);
-
-  // Scale rulers.
-  RulerPtr rulerScaleX = new FixedRuler(0.1f);
-  RulerPtr rulerScaleY = new FixedRuler(0.1f);
-  rulerScaleX->SetDomain( RulerDomain(0.0f, 1.0f, true) );
-  rulerScaleY->SetDomain( RulerDomain(0.0f, 1.0f, true) );
-  scrollView.SetRulerScaleX(rulerScaleX);
-  scrollView.SetRulerScaleY(rulerScaleY);
-
-  // transform to a random position/scale
-  Vector3 targetPosition = Vector3(100.0f, 200.0f, 0.0f);
-  Vector3 targetScale = Vector3(0.44f, 0.58f, 1.0f);
-  float targetRotation = 0.0f;
-  scrollView.TransformTo(targetPosition, targetScale, targetRotation, 0.0f);
-  Wait(application);
-
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), targetPosition, TEST_LOCATION );
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollScale(), targetScale, TEST_LOCATION );
-
-  // transform to another random position/scale (SLOWLY)
-  targetPosition = Vector3(60.0f, 40.0f, 0.0f);
-  targetScale = Vector3(0.4f, 0.6f, 1.0f);
-  targetRotation = 0.0f;
-  scrollView.TransformTo(targetPosition, targetScale, targetRotation);
-  Wait(application, RENDER_DELAY_SCROLL);
-
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollPosition(), targetPosition, TEST_LOCATION );
-  DALI_TEST_EQUALS( scrollView.GetCurrentScrollScale(), targetScale, TEST_LOCATION );
-  END_TEST;
-}
-
-int UtcDaliScrollViewRefreshInterval(void)
+int UtcDaliScrollViewSetScrollUpdateDistance(void)
 {
   ToolkitTestApplication application;
   tet_infoline(" UtcDaliScrollViewRefreshInterval");
 
   ScrollView scrollView = ScrollView::New();
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-  DALI_TEST_EQUALS( scrollView.GetRefreshInterval(), 0, TEST_LOCATION);
-  scrollView.SetRefreshInterval(10);
-  DALI_TEST_EQUALS( scrollView.GetRefreshInterval(), 10, TEST_LOCATION);
-  scrollView.SetRefreshInterval(1000);
-  DALI_TEST_EQUALS( scrollView.GetRefreshInterval(), 1000, TEST_LOCATION);
+
+  scrollView.SetScrollUpdateDistance(0);
+  DALI_TEST_EQUALS( scrollView.GetScrollUpdateDistance(), 0, TEST_LOCATION);
+  scrollView.SetScrollUpdateDistance(10);
+  DALI_TEST_EQUALS( scrollView.GetScrollUpdateDistance(), 10, TEST_LOCATION);
+  scrollView.SetScrollUpdateDistance(1000);
+  DALI_TEST_EQUALS( scrollView.GetScrollUpdateDistance(), 1000, TEST_LOCATION);
   END_TEST;
 }
 
@@ -625,8 +529,6 @@ int UtcDaliScrollViewActorAutoSnap(void)
 
   ScrollView scrollView = ScrollView::New();
   Stage::GetCurrent().Add( scrollView );
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
 
   // Position rulers.
   RulerPtr rulerX = new DefaultRuler();
@@ -678,8 +580,6 @@ int UtcDaliScrollViewSignalsStartComplete(void)
 
   ScrollView scrollView = ScrollView::New();
   Stage::GetCurrent().Add( scrollView );
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
 
   // Position rulers.
   RulerPtr rulerX = new DefaultRuler();
@@ -691,7 +591,7 @@ int UtcDaliScrollViewSignalsStartComplete(void)
   scrollView.ScrollStartedSignal().Connect( &OnScrollStart );
   scrollView.ScrollUpdatedSignal().Connect( &OnScrollUpdate );
   scrollView.ScrollCompletedSignal().Connect( &OnScrollComplete );
-  scrollView.ScrollTo( 100.0f, 100.0f );
+  scrollView.ScrollTo( Vector3(100.0f, 100.0f, 0.0f) );
   Wait(application, RENDER_DELAY_SCROLL);
 
   DALI_TEST_CHECK(gOnScrollStartCalled);
@@ -712,8 +612,6 @@ int UtcDaliScrollViewSignalsUpdate(void)
   Stage::GetCurrent().Add( scrollView );
   Vector2 stageSize = Stage::GetCurrent().GetSize();
   scrollView.SetSize(stageSize);
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
   scrollView.SetParentOrigin(ParentOrigin::TOP_LEFT);
   scrollView.SetAnchorPoint(AnchorPoint::TOP_LEFT);
 
@@ -761,86 +659,6 @@ int UtcDaliScrollViewSignalsUpdate(void)
   END_TEST;
 }
 
-// Creates a scroll domain slightly bigger than the stage size.
-// ScrollView is scrolled to center, slightly to the left.
-// Then a pan gesture is carried out causing the scrollview
-// to pan South-West direction. Resulting in ClampEvents
-// to fire (first Western boundary, then both Western and
-// Southern boundary).
-int UtcDaliScrollViewSignalsClamped(void)
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewSignalsClamped");
-
-  gOnScrollUpdateCalled = false;
-  gOnScrollCompleteCalled = false;
-
-  // Set up a scrollView...
-  ScrollView scrollView = ScrollView::New();
-  Stage::GetCurrent().Add( scrollView );
-  Vector2 stageSize = Stage::GetCurrent().GetSize();
-  scrollView.SetSize(stageSize);
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
-  scrollView.SetParentOrigin(ParentOrigin::TOP_LEFT);
-  scrollView.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-
-  // Position rulers.
-  RulerPtr rulerX = new DefaultRuler();
-  RulerPtr rulerY = new DefaultRuler();
-  rulerX->SetDomain( RulerDomain(0.0f, stageSize.width + CLAMP_EXCESS_WIDTH, true) );
-  rulerY->SetDomain( RulerDomain(0.0f, stageSize.height + CLAMP_EXCESS_HEIGHT, true) );
-  scrollView.SetRulerX(rulerX);
-  scrollView.SetRulerY(rulerY);
-  scrollView.ScrollUpdatedSignal().Connect( &OnScrollUpdate );
-  scrollView.ScrollClampedSignal().Connect( &OnScrollClamped );
-
-  scrollView.ScrollTo(CLAMP_START_SCROLL_POSITION, 0.0f); // move in a little.
-  Wait(application);
-
-  // Now do a pan starting from 100,100 and heading South-West
-  Vector2 pos(CLAMP_TOUCH_START);
-  SendPan(application, Gesture::Possible, pos);
-  SendPan(application, Gesture::Started, pos);
-  pos += CLAMP_TOUCH_MOVEMENT; // Move South-West a little
-  Wait(application);
-
-  int step = CLAMP_STEP_0_CHECK_NOTCLAMPED;
-  // Move 500,500 pixels South-West
-  // should be initially not clamped (0)
-  // then it should clamp against West boundary (X Min) (1)
-  // then it should clamp against South-West boundary (X Min, Y Max) (2)
-  gLastClampPosition.x = Toolkit::NotClamped;
-  gLastClampPosition.y = Toolkit::NotClamped;
-
-  for(int i = 0;i<CLAMP_GESTURE_FRAMES;i++)
-  {
-    SendPan(application, Gesture::Continuing, pos);
-    pos += CLAMP_TOUCH_MOVEMENT; // Move South-West a little
-    Wait(application);
-
-    if((gLastClampPosition.x == Toolkit::NotClamped) && (gLastClampPosition.y == Toolkit::NotClamped) && (step==CLAMP_STEP_0_CHECK_NOTCLAMPED))
-    {
-      step = CLAMP_STEP_1_CHECK_CLAMPED_WEST;
-    }
-    else if((gLastClampPosition.x == Toolkit::ClampedToMin) && (gLastClampPosition.y == Toolkit::NotClamped) && (step==CLAMP_STEP_1_CHECK_CLAMPED_WEST))
-    {
-      step = CLAMP_STEP_2_CHECK_CLAMPED_SOUTH_WEST;
-    }
-    else if((gLastClampPosition.x == Toolkit::ClampedToMin) && (gLastClampPosition.y == Toolkit::ClampedToMax) && (step==CLAMP_STEP_2_CHECK_CLAMPED_SOUTH_WEST))
-    {
-      step = CLAMP_STEP_3_SUCCESS;
-    }
-  }
-
-  SendPan(application, Gesture::Finished, pos);
-  Wait(application);
-
-  DALI_TEST_CHECK( gOnScrollClampedCalled );
-  DALI_TEST_EQUALS( step, CLAMP_STEP_3_SUCCESS, TEST_LOCATION );
-  END_TEST;
-}
-
 static Vector2 PerformGestureDiagonalSwipe(ToolkitTestApplication& application, Vector2 start, Vector2 direction, int frames, bool finish = true)
 {
   gOnScrollStartCalled = false;
@@ -881,8 +699,6 @@ int UtcDaliScrollViewScrollSensitive(void)
   Stage::GetCurrent().Add( scrollView );
   Vector2 stageSize = Stage::GetCurrent().GetSize();
   scrollView.SetSize(stageSize);
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
   scrollView.SetParentOrigin(ParentOrigin::TOP_LEFT);
   scrollView.SetAnchorPoint(AnchorPoint::TOP_LEFT);
 
@@ -906,7 +722,6 @@ int UtcDaliScrollViewScrollSensitive(void)
   PerformGestureDiagonalSwipe(application, CLAMP_TOUCH_START, CLAMP_TOUCH_MOVEMENT, CLAMP_GESTURE_FRAMES, true);
 
   DALI_TEST_CHECK( !gOnScrollStartCalled );
-  DALI_TEST_CHECK( !gOnScrollUpdateCalled );
   DALI_TEST_CHECK( !gOnScrollCompleteCalled );
   DALI_TEST_CHECK( !gOnSnapStartCalled );
 
@@ -915,7 +730,6 @@ int UtcDaliScrollViewScrollSensitive(void)
   PerformGestureDiagonalSwipe(application, CLAMP_TOUCH_START, CLAMP_TOUCH_MOVEMENT, CLAMP_GESTURE_FRAMES, true);
 
   DALI_TEST_CHECK( gOnScrollStartCalled );
-  DALI_TEST_CHECK( gOnScrollUpdateCalled );
   DALI_TEST_CHECK( gOnScrollCompleteCalled );
   DALI_TEST_CHECK( gOnSnapStartCalled );
   END_TEST;
@@ -931,8 +745,6 @@ int UtcDaliScrollViewTouchesRequired(void)
   Stage::GetCurrent().Add( scrollView );
   Vector2 stageSize = Stage::GetCurrent().GetSize();
   scrollView.SetSize(stageSize);
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
   scrollView.SetParentOrigin(ParentOrigin::TOP_LEFT);
   scrollView.SetAnchorPoint(AnchorPoint::TOP_LEFT);
 
@@ -960,9 +772,12 @@ int UtcDaliScrollViewTouchesRequired(void)
   DALI_TEST_CHECK( !gOnScrollCompleteCalled );
   DALI_TEST_CHECK( !gOnSnapStartCalled );
 
+  scrollView.ScrollTo(CLAMP_START_SCROLL_POSITION, 0.0f); // move in a little.
+  Wait(application);
+
   // Second try touches required being a minimum and maximum of 1.
   scrollView.SetTouchesRequiredForPanning(1, 1, true);
-  PerformGestureDiagonalSwipe(application, CLAMP_TOUCH_START, CLAMP_TOUCH_MOVEMENT, CLAMP_GESTURE_FRAMES, true);
+  PerformGestureDiagonalSwipe(application, CLAMP_TOUCH_START, CLAMP_TOUCH_MOVEMENT * 0.1f, CLAMP_GESTURE_FRAMES * 0.1f, true);
 
   DALI_TEST_CHECK( gOnScrollStartCalled );
   DALI_TEST_CHECK( gOnScrollUpdateCalled );
@@ -981,8 +796,6 @@ int UtcDaliScrollViewAxisAutoLock(void)
   Stage::GetCurrent().Add( scrollView );
   Vector2 stageSize = Stage::GetCurrent().GetSize();
   scrollView.SetSize(stageSize);
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
   scrollView.SetParentOrigin(ParentOrigin::TOP_LEFT);
   scrollView.SetAnchorPoint(AnchorPoint::TOP_LEFT);
 
@@ -1049,8 +862,6 @@ int UtcDaliScrollViewConstraints(void)
   Stage::GetCurrent().Add( scrollView );
   Vector2 stageSize = Stage::GetCurrent().GetSize();
   scrollView.SetSize(stageSize);
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
   scrollView.SetParentOrigin(ParentOrigin::TOP_LEFT);
   scrollView.SetAnchorPoint(AnchorPoint::TOP_LEFT);
 
@@ -1098,8 +909,6 @@ int UtcDaliScrollViewBind(void)
   Stage::GetCurrent().Add( scrollView );
   Vector2 stageSize = Stage::GetCurrent().GetSize();
   scrollView.SetSize(stageSize);
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
   scrollView.SetParentOrigin(ParentOrigin::TOP_LEFT);
   scrollView.SetAnchorPoint(AnchorPoint::TOP_LEFT);
 
@@ -1280,8 +1089,6 @@ int UtcDaliScrollViewOvershoot(void)
   Stage::GetCurrent().Add( scrollView );
   Vector2 stageSize = Stage::GetCurrent().GetSize();
   scrollView.SetSize(stageSize);
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
   scrollView.SetParentOrigin(ParentOrigin::TOP_LEFT);
   scrollView.SetAnchorPoint(AnchorPoint::TOP_LEFT);
 
@@ -1308,8 +1115,8 @@ int UtcDaliScrollViewOvershoot(void)
   float overshootXValue = scrollView.GetProperty<float>(overshootXProperty);
   float overshootYValue = scrollView.GetProperty<float>(overshootYProperty);
   Vector3 positionValue = scrollView.GetProperty<Vector3>(scrollPositionProperty);
-  DALI_TEST_EQUALS(overshootXValue, -1.0f, TEST_LOCATION);
-  DALI_TEST_EQUALS(overshootYValue, -1.0f, TEST_LOCATION);
+  DALI_TEST_EQUALS(overshootXValue, 1.0f, TEST_LOCATION);
+  DALI_TEST_EQUALS(overshootYValue, 1.0f, TEST_LOCATION);
   DALI_TEST_EQUALS(positionValue, Vector3::ZERO, TEST_LOCATION);
 
   float timeToReachOrigin;
@@ -1318,8 +1125,8 @@ int UtcDaliScrollViewOvershoot(void)
   SendPan(application, Gesture::Finished, currentPos);
   timeToReachOrigin = TestOvershootSnapDuration(application, scrollView);
 
-  DALI_TEST_CHECK( (timeToReachOrigin > TEST_DEFAULT_SNAP_OVERSHOOT_DURATION - TIME_TOLERANCE) &&
-                   (timeToReachOrigin < TEST_DEFAULT_SNAP_OVERSHOOT_DURATION + TIME_TOLERANCE) );
+  DALI_TEST_CHECK( (timeToReachOrigin > Toolkit::ScrollView::DEFAULT_SNAP_OVERSHOOT_DURATION - TIME_TOLERANCE) &&
+                   (timeToReachOrigin < Toolkit::ScrollView::DEFAULT_SNAP_OVERSHOOT_DURATION + TIME_TOLERANCE) );
 
   // 2. Repeat Scroll, but this time change overshoot snap duration to shorter time
   scrollView.SetSnapOvershootDuration(TEST_CUSTOM1_SNAP_OVERSHOOT_DURATION);
@@ -1344,6 +1151,7 @@ int UtcDaliScrollViewOvershoot(void)
                    (timeToReachOrigin < TEST_CUSTOM2_SNAP_OVERSHOOT_DURATION + TIME_TOLERANCE) );
 
   // 4. Repeat Scroll, but this time change overshoot function.
+  scrollView.SetSnapOvershootDuration(TEST_CUSTOM3_SNAP_OVERSHOOT_DURATION);
   scrollView.SetSnapOvershootAlphaFunction(TestAlphaFunction);
 
   currentPos = PerformGestureDiagonalSwipe(application, Vector2(100.0f, 100.0f), Vector2(5.0f, 5.0f), 100, false);
@@ -1404,8 +1212,6 @@ int UtcDaliScrollViewSignalsSnapStart(void)
   Stage::GetCurrent().Add( scrollView );
   Vector2 stageSize = Stage::GetCurrent().GetSize();
   scrollView.SetSize(stageSize);
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
-  scrollView.SetRefreshInterval(0);
   scrollView.SetParentOrigin(ParentOrigin::TOP_LEFT);
   scrollView.SetAnchorPoint(AnchorPoint::TOP_LEFT);
 
@@ -1421,8 +1227,6 @@ int UtcDaliScrollViewSignalsSnapStart(void)
   scrollView.ScrollTo(CLAMP_START_SCROLL_POSITION, 0.0f); // move in a little.
   Wait(application);
 
-  DALI_TEST_CHECK( !gOnSnapStartCalled );
-
   // First try a snap.
   PerformGestureDiagonalSwipe(application, CLAMP_TOUCH_START, Vector2(0.5f, 0.0f), 60, true);
 
index 2a2f116..487e66c 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 
@@ -139,9 +140,7 @@ ScrollView SetupTestScrollView(int rows, int columns, Vector2 size)
   scrollView.SetAnchorPoint(AnchorPoint::CENTER);
   scrollView.SetParentOrigin(ParentOrigin::CENTER);
   scrollView.ApplyConstraint( Constraint::New<Dali::Vector3>( Dali::Actor::SIZE, Dali::ParentSource( Dali::Actor::SIZE ), Dali::EqualToConstraint() ) );
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
   scrollView.SetWrapMode(false);
-  scrollView.SetRefreshInterval(0);
   scrollView.ScrollStartedSignal().Connect( &OnScrollStart );
   scrollView.ScrollUpdatedSignal().Connect( &OnScrollUpdate );
   scrollView.ScrollCompletedSignal().Connect( &OnScrollComplete );
index 2643b0d..5ed410f 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index d472f50..5feb044 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 5f675de..0b0463f 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 38c8d50..ec39782 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index edc55c8..ea4e8d1 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index cacdb0d..4fe9f4f 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index eee5f13..c394490 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
diff --git a/automated-tests/src/dali-toolkit-unmanaged/utc-Dali-StyleManager.cpp b/automated-tests/src/dali-toolkit-unmanaged/utc-Dali-StyleManager.cpp
new file mode 100644 (file)
index 0000000..97ffeed
--- /dev/null
@@ -0,0 +1,123 @@
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <iostream>
+#include <stdlib.h>
+#include <dali-toolkit-test-suite-utils.h>
+#include <dali-toolkit/dali-toolkit.h>
+#include <dali/integration-api/events/touch-event-integ.h>
+#include <dali-toolkit/public-api/styling/style-manager.h>
+
+
+using namespace Dali;
+using namespace Dali::Toolkit;
+
+void dali_style_manager_startup(void)
+{
+  test_return_value = TET_UNDEF;
+}
+
+void dali_style_manager_cleanup(void)
+{
+  test_return_value = TET_PASS;
+}
+
+int UtcDaliStyleManagerGet(void)
+{
+  ToolkitTestApplication application;
+
+  tet_infoline(" UtcDaliStyleManagerGet");
+
+  // Register Type
+  TypeInfo type;
+  type = TypeRegistry::Get().GetTypeInfo( "StyleManager" );
+  DALI_TEST_CHECK( type );
+  BaseHandle handle = type.CreateInstance();
+  DALI_TEST_CHECK( handle );
+
+  StyleManager manager;
+
+  manager = StyleManager::Get();
+  DALI_TEST_CHECK(manager);
+
+  StyleManager newManager = StyleManager::Get();
+  DALI_TEST_CHECK(newManager);
+
+  // Check that focus manager is a singleton
+  DALI_TEST_CHECK(manager == newManager);
+  END_TEST;
+}
+
+int UtcDaliStyleManagerSetOrientationValue(void)
+{
+  ToolkitTestApplication application;
+
+  tet_infoline( " UtcDaliStyleManagerSetOrientationValue" );
+
+  StyleManager manager = StyleManager::Get();
+
+  int orientation1 = 0;
+  manager.SetOrientationValue( orientation1 );
+  DALI_TEST_CHECK( manager.GetOrientationValue() == orientation1 );
+
+  int orientation2 = 180;
+  manager.SetOrientationValue( orientation2 );
+  DALI_TEST_CHECK( manager.GetOrientationValue() == orientation2 );
+
+  END_TEST;
+}
+
+int UtcDaliStyleManagerSetOrientation(void)
+{
+  ToolkitTestApplication application;
+
+  tet_infoline( " UtcDaliStyleManagerSetOrientation" );
+
+  StyleManager manager = StyleManager::Get();
+
+  Orientation orientation;
+
+  manager.SetOrientation( orientation );
+
+  DALI_TEST_CHECK( manager.GetOrientation() == orientation );
+
+  END_TEST;
+}
+
+int UtcDaliStyleManagerSetStyleConstant(void)
+{
+  ToolkitTestApplication application;
+
+  tet_infoline( " UtcDaliStyleManagerSetStyleConstant" );
+
+  StyleManager manager = StyleManager::Get();
+
+  std::string key( "key" );
+  Property::Value value( 100 );
+
+  manager.SetStyleConstant( key, value );
+
+  Property::Value returnedValue;
+  manager.GetStyleConstant( key, returnedValue );
+
+  DALI_TEST_CHECK( value.Get<int>() == returnedValue.Get<int>() );
+
+  std::string key2( "key2" );
+  Property::Value returnedValue2;
+  DALI_TEST_CHECK( !manager.GetStyleConstant( key2, returnedValue2 ) );
+
+  END_TEST;
+}
index d46f57d..a50ffc9 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
@@ -34,6 +35,15 @@ void dali_tableview_cleanup(void)
 
 namespace
 {
+
+const char* const PROPERTY_NAME_ROWS = "rows";
+const char* const PROPERTY_NAME_COLUMNS = "columns";
+const char* const PROPERTY_NAME_CELL_PADDING = "cell-padding";
+const char* const PROPERTY_NAME_LAYOUT_ANIMATION_DURATION = "layout-animation-duration";
+const char* const PROPERTY_NAME_LAYOUT_ROWS = "layout-rows";
+const char* const PROPERTY_NAME_LAYOUT_COLUMNS = "layout-columns";
+
+
 static bool gObjectCreatedCallBackCalled;
 
 static void TestCallback(BaseHandle handle)
@@ -540,3 +550,146 @@ int UtcDaliTableViewMetricsAssert(void)
   }
   END_TEST;
 }
+
+int UtcDaliTableViewSetGetProperty(void)
+{
+  ToolkitTestApplication application;
+  tet_infoline("UtcDaliTableViewSetGetProperty");
+
+  // Create a 1x1 table-view
+  TableView tableView = TableView::New(1,1);
+  tableView.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, Constraint100() ) );
+  DALI_TEST_CHECK( tableView );
+
+  // Test "rows" property
+  DALI_TEST_CHECK( tableView.GetPropertyIndex( PROPERTY_NAME_ROWS ) == TableView::PROPERTY_ROWS );
+
+  tableView.SetProperty( TableView::PROPERTY_ROWS, 4u );
+
+  DALI_TEST_CHECK( tableView.GetRows() == 4u );
+  DALI_TEST_CHECK( tableView.GetProperty(TableView::PROPERTY_ROWS).Get<unsigned int>() == 4u );
+
+  // Test "columns" property
+  DALI_TEST_CHECK( tableView.GetPropertyIndex( PROPERTY_NAME_COLUMNS ) == TableView::PROPERTY_COLUMNS );
+
+  tableView.SetProperty( TableView::PROPERTY_COLUMNS, 5u );
+
+  DALI_TEST_CHECK( tableView.GetColumns() == 5u );
+  DALI_TEST_CHECK( tableView.GetProperty(TableView::PROPERTY_COLUMNS).Get<unsigned int>() == 5u );
+
+  // Test "cell-padding" property
+  DALI_TEST_CHECK( tableView.GetPropertyIndex( PROPERTY_NAME_CELL_PADDING ) == TableView::PROPERTY_CELL_PADDING );
+
+  tableView.SetProperty( TableView::PROPERTY_CELL_PADDING, Size( 6.f, 8.f ) );
+
+  DALI_TEST_EQUALS( tableView.GetCellPadding(), Size(6.f, 8.f), TEST_LOCATION );
+  DALI_TEST_EQUALS( tableView.GetProperty(TableView::PROPERTY_CELL_PADDING).Get<Vector2>(), Vector2(6.f,8.f), TEST_LOCATION );
+
+  // Test "layout-animation-duration" property
+  DALI_TEST_CHECK( tableView.GetPropertyIndex(PROPERTY_NAME_LAYOUT_ANIMATION_DURATION) == TableView::PROPERTY_LAYOUT_ANIMATION_DURATION );
+
+  tableView.SetProperty( TableView::PROPERTY_LAYOUT_ANIMATION_DURATION, 1.5f );
+
+  DALI_TEST_EQUALS( tableView.GetLayoutAnimationDuration(), 1.5f, TEST_LOCATION );
+  DALI_TEST_EQUALS( tableView.GetProperty(TableView::PROPERTY_LAYOUT_ANIMATION_DURATION).Get<float>(), 1.5f, TEST_LOCATION );
+
+  //{ "policy": "fixed", "value": 30.0 },
+  Property::Map item1;
+  item1.push_back( Property::StringValuePair( "policy", "fixed" ) );
+  item1.push_back( Property::StringValuePair( "value", 30.f) );
+  //{ "policy": "relative", "value": 0.2 },
+  Property::Map item2;
+  item2.push_back( Property::StringValuePair( "policy", "relative" ) );
+  item2.push_back( Property::StringValuePair( "value", 0.2f ) );
+
+  // Test "layout-rows" property
+  DALI_TEST_CHECK( tableView.GetPropertyIndex(PROPERTY_NAME_LAYOUT_ROWS) == TableView::PROPERTY_LAYOUT_ROWS );
+
+  /*
+   * "layout-rows":
+   *  {
+   *    "1": { "policy": "fixed", "value": 30 },
+   *    "3": { "policy": "relative", "value": 0.2 }
+   *   }
+   */
+  Property::Map layoutRows;
+  layoutRows.push_back( Property::StringValuePair("1", item1) );
+  layoutRows.push_back( Property::StringValuePair("3", item2) );
+  tableView.SetProperty( TableView::PROPERTY_LAYOUT_ROWS, layoutRows );
+
+  DALI_TEST_EQUALS( tableView.GetFixedHeight( 1u ), 30.f, TEST_LOCATION );
+  DALI_TEST_EQUALS( tableView.GetRelativeHeight( 3u ), 0.2f, TEST_LOCATION );
+
+  Property::Map layoutRowsGet = tableView.GetProperty(TableView::PROPERTY_LAYOUT_ROWS).Get<Property::Map>();
+  DALI_TEST_CHECK( layoutRowsGet[0].first.compare(layoutRows[0].first) == 0 );
+  DALI_TEST_CHECK( layoutRowsGet[0].second.GetValue( "policy" ).Get<std::string>().compare(layoutRows[0].second.GetValue( "policy" ).Get<std::string>()) == 0 );
+  DALI_TEST_EQUALS( layoutRowsGet[0].second.GetValue( "value" ).Get<float>(),layoutRows[0].second.GetValue( "value" ).Get<float>(), TEST_LOCATION );
+  DALI_TEST_CHECK( layoutRowsGet[1].first.compare(layoutRows[1].first) == 0 );
+  DALI_TEST_CHECK( layoutRowsGet[1].second.GetValue( "policy" ).Get<std::string>().compare(layoutRows[1].second.GetValue( "policy" ).Get<std::string>()) == 0 );
+  DALI_TEST_EQUALS( layoutRowsGet[1].second.GetValue( "value" ).Get<float>(),layoutRows[1].second.GetValue( "value" ).Get<float>(), TEST_LOCATION );
+
+  // Test "layout-columns" property
+  DALI_TEST_CHECK( tableView.GetPropertyIndex( PROPERTY_NAME_LAYOUT_COLUMNS ) == TableView::PROPERTY_LAYOUT_COLUMNS );
+
+  /*
+   * "layout-columns":
+   *  {
+   *    "2": { "policy": "relative", "value": 0.2 },
+   *    "3": { "policy": "fixed", "value": 30 }
+   *   }
+   */
+  Property::Map layoutColumns;
+  layoutColumns.push_back( Property::StringValuePair("2", item2) );
+  layoutColumns.push_back( Property::StringValuePair("3", item1) );
+  tableView.SetProperty( TableView::PROPERTY_LAYOUT_COLUMNS, layoutColumns );
+
+  DALI_TEST_EQUALS( tableView.GetRelativeWidth( 2u ), 0.2f, TEST_LOCATION );
+  DALI_TEST_EQUALS( tableView.GetFixedWidth( 3u ), 30.f, TEST_LOCATION );
+
+  Property::Map layoutColumnsGet = tableView.GetProperty(TableView::PROPERTY_LAYOUT_COLUMNS).Get<Property::Map>();
+  DALI_TEST_CHECK( layoutColumnsGet[0].first.compare(layoutColumns[0].first) == 0 );
+  DALI_TEST_CHECK( layoutColumnsGet[0].second.GetValue( "policy" ).Get<std::string>().compare(layoutColumns[0].second.GetValue( "policy" ).Get<std::string>()) == 0 );
+  DALI_TEST_EQUALS( layoutColumnsGet[0].second.GetValue( "value" ).Get<float>(),layoutColumns[0].second.GetValue( "value" ).Get<float>(), TEST_LOCATION );
+  DALI_TEST_CHECK( layoutColumnsGet[1].first.compare(layoutColumns[1].first) == 0 );
+  DALI_TEST_CHECK( layoutColumnsGet[1].second.GetValue( "policy" ).Get<std::string>().compare(layoutColumns[1].second.GetValue( "policy" ).Get<std::string>()) == 0 );
+  DALI_TEST_EQUALS( layoutColumnsGet[1].second.GetValue( "value" ).Get<float>(),layoutColumns[1].second.GetValue( "value" ).Get<float>(), TEST_LOCATION );
+
+  END_TEST;
+}
+
+int UtcDaliTableViewCustomProperties(void)
+{
+  ToolkitTestApplication application;
+  tet_infoline("UtcDaliTableViewCustomProperties");
+
+  // Create a 10x10 table-view
+  TableView tableView = TableView::New(10,10);
+  tableView.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, Constraint100() ) );
+  DALI_TEST_CHECK( tableView );
+
+  // Create a child actor with the custom properties
+  Actor child1 = Actor::New();
+  child1.RegisterProperty( TableView::CELL_INDICES_PROPERTY_NAME, Vector2( 3, 4 ) );
+  tableView.Add( child1 );
+  // Check for actors at actual positions.
+  DALI_TEST_CHECK( tableView.GetChildAt(TableView::CellPosition(3,4)) == child1);
+
+  // Create a second child actor with the custom properties
+  Actor child2 = Actor::New();
+  float rowSpan = 3.f;
+  float columnSpan = 2.f;
+  child2.RegisterProperty( TableView::CELL_INDICES_PROPERTY_NAME, Vector2( 6, 1 ) );
+  child2.RegisterProperty( TableView::ROW_SPAN_PROPERTY_NAME, rowSpan );
+  child2.RegisterProperty( TableView::COLUMN_SPAN_PROPERTY_NAME, columnSpan );
+  tableView.Add( child2 );
+  // Check for actors at actual positions.
+  for( int i=0; i<rowSpan; i++ )
+  {
+    for(int j=0; j<columnSpan; j++)
+    {
+      DALI_TEST_CHECK( tableView.GetChildAt(TableView::CellPosition(6+i,1+j)) == child2);
+    }
+  }
+
+  END_TEST;
+}
index 177a44d..244e936 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 270882b..fc1cafb 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 80126c8..c731668 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index eba0dc8..2aca9b4 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 64f576e..ef5f20f 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index 1657a4b..dee880b 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TEST_SUITE_UTILS_H__
 #define __DALI_TEST_SUITE_UTILS_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/dali-core.h>
index 350bedc..fcda1d2 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_TEST_SUITE_UTILS_H__
 #define __DALI_TOOLKIT_TEST_SUITE_UTILS_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 
index 8640002..49fe95b 100644 (file)
@@ -1,21 +1,24 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "dummy-control.h"
 
+#include <dali-toolkit/public-api/styling/style-manager.h>
+
 namespace Dali
 {
 
@@ -23,14 +26,11 @@ namespace Toolkit
 {
 
 DummyControl::DummyControl()
-: mCustomSlot1Called(false)
 {
 }
 
 DummyControl::DummyControl(const DummyControl& control)
-: Control( control ),
-  mCustomSlot1Called(false),
-  mCustomSlot1Value(Vector3::ZERO)
+: Control( control )
 {
 }
 
@@ -50,7 +50,7 @@ DummyControl& DummyControl::operator=(const DummyControl& control)
 }
 
 // Used to test signal connections
-void DummyControl::CustomSlot1( Actor actor, const Vector3& value )
+void DummyControlImpl::CustomSlot1( Actor actor, const Vector3& value )
 {
   mCustomSlot1Called = true;
   mCustomSlot1Value = value;
@@ -65,10 +65,13 @@ DummyControl DummyControlImpl::New()
 }
 
 DummyControlImpl::DummyControlImpl()
-: Control(true)
+: Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS | REQUIRES_STYLE_CHANGE_SIGNALS ) ),
+  mCustomSlot1Called(false),
+  mCustomSlot1Value(Vector3::ZERO)
 {
 }
 
+
 DummyControlImpl::~DummyControlImpl()
 {
 }
@@ -85,7 +88,8 @@ DummyControl DummyControlImplOverride::New()
 DummyControlImplOverride::DummyControlImplOverride()
 : DummyControlImpl(),
   initializeCalled(false),
-  styleChangeCalled(false),
+  themeChangeCalled( false ),
+  fontChangeCalled( false ),
   pinchCalled(false),
   panCalled(false),
   tapCalled(false),
@@ -108,7 +112,8 @@ DummyControlImplOverride::~DummyControlImplOverride() { }
 
 
 void DummyControlImplOverride::OnInitialize() { initializeCalled = true; }
-void DummyControlImplOverride::OnStyleChange(StyleChange change) { styleChangeCalled = true;}
+void DummyControlImplOverride::OnThemeChange(StyleManager change) { themeChangeCalled = true;}
+void DummyControlImplOverride::OnFontChange(bool defaultFontChange, bool defaultFontSizeChange) { fontChangeCalled = true; }
 void DummyControlImplOverride::OnPinch(PinchGesture pinch) { pinchCalled = true; }
 void DummyControlImplOverride::OnPan(PanGesture pan) { panCalled = true; }
 void DummyControlImplOverride::OnTap(TapGesture tap) { tapCalled = true; }
@@ -142,16 +147,12 @@ DummyControl DummyControl::New( bool override )
 }
 
 DummyControl::DummyControl( DummyControlImpl& implementation )
-: Control( implementation ),
-  mCustomSlot1Called(false),
-  mCustomSlot1Value(Vector3::ZERO)
+: Control( implementation )
 {
 }
 
 DummyControl::DummyControl( Dali::Internal::CustomActor* internal )
-: Control( internal ),
-  mCustomSlot1Called(false),
-  mCustomSlot1Value(Vector3::ZERO)
+: Control( internal )
 {
   VerifyCustomActorPointer<DummyControlImpl>(internal);
 }
index 649ac0a..0ebf48c 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_TEST_DUMMY_CONTROL_H__
 #define __DALI_TOOLKIT_TEST_DUMMY_CONTROL_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/dali-toolkit.h>
@@ -37,7 +38,7 @@ public:
 
   DummyControl();
   DummyControl(const DummyControl& control);
-  virtual ~DummyControl();
+  ~DummyControl();
 
   static DummyControl New( bool override = false );
 
@@ -46,14 +47,6 @@ public:
 
   DummyControl& operator=(const DummyControl& control);
 
-  // Used to test signal connections
-  void CustomSlot1( Actor actor, const Vector3& value );
-
-public:
-
-  bool mCustomSlot1Called;
-  Vector3 mCustomSlot1Value;
-
 public: // Not intended for application developers
 
   DummyControl( DummyControlImpl& implementation );
@@ -78,6 +71,12 @@ public:
   inline TapGestureDetector GetTapGestureDetector() const { return Internal::Control::GetTapGestureDetector(); }
   inline LongPressGestureDetector GetLongPressGestureDetector() const { return Internal::Control::GetLongPressGestureDetector(); }
 
+  // Used to test signal connections
+  void CustomSlot1( Actor actor, const Vector3& value );
+
+  bool mCustomSlot1Called;
+  Vector3 mCustomSlot1Value;
+
 protected:
 
   DummyControlImpl();
@@ -104,7 +103,8 @@ private:
 private: // From Internal::Control
 
   virtual void OnInitialize();
-  virtual void OnStyleChange(StyleChange change);
+  virtual void OnThemeChange( StyleManager styleManager );
+  virtual void OnFontChange(bool defaultFontChange, bool defaultFontSizeChange);
   virtual void OnPinch(PinchGesture pinch);
   virtual void OnPan(PanGesture pan);
   virtual void OnTap(TapGesture tap);
@@ -127,7 +127,8 @@ private: // From CustomActorImpl
 public:
 
   bool initializeCalled;
-  bool styleChangeCalled;
+  bool themeChangeCalled;
+  bool fontChangeCalled;
   bool pinchCalled;
   bool panCalled;
   bool tapCalled;
index 5aa928e..ea7e48e 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "test-application.h"
 
index a490c96..4084f2d 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TEST_APPLICATION_H__
 #define __DALI_TEST_APPLICATION_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <test-platform-abstraction.h>
index 1c9feb0..2844ff1 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "test-gesture-manager.h"
 
index 5643deb..4c0b766 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TEST_GESTURE_MANAGER_H__
 #define __DALI_TEST_GESTURE_MANAGER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/integration-api/gesture-manager.h>
index eaeef05..49a49c5 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "test-gl-abstraction.h"
 
@@ -71,6 +72,14 @@ void TestGlAbstraction::Initialize()
   mProgramUniforms4f.clear();
 }
 
+void TestGlAbstraction::PreRender()
+{
+}
+
+void TestGlAbstraction::PostRender(unsigned int timeDelta)
+{
+}
+
 } // Namespace dali
 
 bool BlendEnabled(const Dali::TraceCallStack& callStack)
index c4c1304..c17fa22 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __TEST_GL_ABSTRACTION_H__
 #define __TEST_GL_ABSTRACTION_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <sstream>
@@ -50,6 +51,9 @@ public:
   ~TestGlAbstraction();
   void Initialize();
 
+  void PreRender();
+  void PostRender(unsigned int timeDelta);
+
   /* OpenGL ES 2.0 */
 
   inline void ActiveTexture( GLenum textureUnit )
index 8ea52be..533355c 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "test-gl-sync-abstraction.h"
 
index 15f6450..e233176 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __TEST_GL_SYNC_ABSTRACTION_H__
 #define __TEST_GL_SYNC_ABSTRACTION_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <sstream>
index 0604649..b15dfbc 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 
 #include "test-application.h"
index 2ba56a7..b4876cc 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __TEST_NATIVE_IMAGE_H__
 #define __TEST_NATIVE_IMAGE_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/images/native-image.h>
index 27e806e..6b6a8f8 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "test-platform-abstraction.h"
 #include "dali-test-suite-utils.h"
@@ -159,7 +160,7 @@ bool TestPlatformAbstraction::IsLoading()
 /**
  * @copydoc PlatformAbstraction::GetDefaultFontFamily()
  */
-std::string TestPlatformAbstraction::GetDefaultFontFamily() const
+const std::string& TestPlatformAbstraction::GetDefaultFontFamily() const
 {
   mTrace.PushCall("GetDefaultFontFamily", "");
   return mGetDefaultFontFamilyResult;
@@ -168,13 +169,13 @@ std::string TestPlatformAbstraction::GetDefaultFontFamily() const
 /**
  * @copydoc PlatformAbstraction::GetDefaultFontSize()
  */
-const float TestPlatformAbstraction::GetDefaultFontSize() const
+float TestPlatformAbstraction::GetDefaultFontSize() const
 {
   mTrace.PushCall("GetDefaultFontSize", "");
   return mGetDefaultFontSizeResult;
 }
 
-const PixelSize TestPlatformAbstraction::GetFontLineHeightFromCapsHeight(const std::string& fontFamily, const std::string& fontStyle, const CapsHeight& capsHeight) const
+PixelSize TestPlatformAbstraction::GetFontLineHeightFromCapsHeight(const std::string& fontFamily, const std::string& fontStyle, CapsHeight capsHeight) const
 {
   mTrace.PushCall("GetFontLineHeightFromCapsHeight", "");
   // LineHeight will be bigger than CapsHeight, so return capsHeight + 1
@@ -309,7 +310,7 @@ void TestPlatformAbstraction::SetDpi (unsigned int dpiHorizontal, unsigned int d
 /**
  * @copydoc PlatformAbstraction::GetFontFamilyForChars()
  */
-std::string TestPlatformAbstraction::GetFontFamilyForChars(const TextArray& charsRequested) const
+const std::string& TestPlatformAbstraction::GetFontFamilyForChars(const TextArray& charsRequested) const
 {
   mTrace.PushCall("GetFontFamilyForChars", "");
   return mGetDefaultFontFamilyResult;
@@ -336,12 +337,10 @@ bool TestPlatformAbstraction::ValidateFontFamilyName(const std::string& fontFami
 /**
  * @copydoc PlatformAbstraction::GetFontList()
  */
-std::vector<std::string> TestPlatformAbstraction::GetFontList( PlatformAbstraction::FontListMode mode ) const
+void TestPlatformAbstraction::GetFontList( PlatformAbstraction::FontListMode mode, std::vector<std::string>& fonstList ) const
 {
   mFontListMode = mode;
   mTrace.PushCall("ValidateGetFontList", "");
-  std::vector<std::string> fontList;
-  return fontList;
 }
 
 /**
index 5051fce..4723d90 100644 (file)
@@ -1,28 +1,29 @@
 #ifndef __DALI_TEST_PLATFORM_ABSTRACTION_H__
 #define __DALI_TEST_PLATFORM_ABSTRACTION_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
-#include <set>
 #include <stdint.h>
 #include <cstring>
 
 // INTERNAL INCLUDES
+#include <dali/public-api/common/set-wrapper.h>
 #include <dali/integration-api/platform-abstraction.h>
 
 #include <dali/integration-api/glyph-set.h>
@@ -138,14 +139,17 @@ public:
   /**
    * @copydoc PlatformAbstraction::GetDefaultFontFamily()
    */
-  virtual std::string GetDefaultFontFamily() const;
+  virtual const std::string& GetDefaultFontFamily() const;
 
   /**
    * @copydoc PlatformAbstraction::GetDefaultFontSize()
    */
-  virtual const float GetDefaultFontSize() const;
+  virtual float GetDefaultFontSize() const;
 
-  virtual const Dali::PixelSize GetFontLineHeightFromCapsHeight(const std::string& fontFamily, const std::string& fontStyle, const CapsHeight& capsHeight) const;
+  /**
+   * @copydoc PlatformAbstraction::GetFontLineHeightFromCapsHeight()
+   */
+  virtual Dali::PixelSize GetFontLineHeightFromCapsHeight(const std::string& fontFamily, const std::string& fontStyle, CapsHeight capsHeight) const;
 
   /**
    * @copydoc PlatformAbstraction::GetGlyphData()
@@ -181,7 +185,7 @@ public:
   /**
    * @copydoc PlatformAbstraction::GetFontFamilyForChars()
    */
-  virtual std::string GetFontFamilyForChars(const TextArray& charsRequested) const;
+  virtual const std::string& GetFontFamilyForChars(const TextArray& charsRequested) const;
 
   /**
    * @copydoc PlatformAbstraction::AllGlyphsSupported()
@@ -196,7 +200,7 @@ public:
   /**
    * @copydoc PlatformAbstraction::GetFontList()
    */
-  virtual std::vector<std::string> GetFontList( PlatformAbstraction::FontListMode mode ) const;
+  virtual void GetFontList( PlatformAbstraction::FontListMode mode, std::vector<std::string>& fontList ) const;
 
   /**
    * @copydoc PlatformAbstraction::LoadFile()
index 76b20de..f3b04ad 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "test-render-controller.h"
 
index 83b64a6..b00fbf0 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __TEST_RENDER_CONTROLLER_H__
 #define __TEST_RENDER_CONTROLLER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/common/dali-common.h>
index 4837b48..9ed53ec 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "test-trace-call-stack.h"
 
index 76d6061..3dd6065 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __TEST_TRACE_CALL_STACK_H__
 #define __TEST_TRACE_CALL_STACK_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <string>
 #include <vector>
index 1db7f0a..25e2d37 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "toolkit-accessibility-manager.h"
 
index 5365e77..f8575a1 100644 (file)
@@ -4,21 +4,22 @@
 #ifndef __DALI_TOOLKIT_ACCESSIBILITY_MANAGER_H__
 #define __DALI_TOOLKIT_ACCESSIBILITY_MANAGER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <string>
@@ -48,7 +49,7 @@ public: // Typedefs
 
 public: // Construction & Destruction
   AccessibilityManager();
-  virtual ~AccessibilityManager();
+  ~AccessibilityManager();
 
 public: // Getters
   static AccessibilityManager Get();
index c27157d..ea1888d 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #define __DALI_ADAPTOR_H__
 #define __DALI_ACCESSIBILITY_MANAGER_H__
index 20d4697..5d8473c 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_TOOLKIT_ADAPTOR_H__
 #define __DALI_TOOLKIT_TOOLKIT_ADAPTOR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <boost/function.hpp>
index 1b4fcc0..5c61ea8 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "toolkit-application.h"
 
@@ -20,7 +21,7 @@
 
 #include <dali/public-api/common/dali-common.h>
 #include <dali/public-api/signals/dali-signal-v2.h>
-#include <dali/public-api/adaptor-framework/common/orientation.h>
+#include <dali/public-api/orientation.h>
 
 namespace Dali
 {
index 8b376a0..7178b68 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_TOOLKIT_APPLICATION_H__
 #define __DALI_TOOLKIT_TOOLKIT_APPLICATION_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 namespace Dali
 {
index 168625e..e4dc0cc 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "toolkit-clipboard-event-notifier.h"
 
index 4cb9a98..15d7b16 100644 (file)
@@ -1,27 +1,28 @@
 #ifndef __DALI_TOOLKIT_CLIPBOARD_EVENT_NOTIFIER_H__
 #define __DALI_TOOLKIT_CLIPBOARD_EVENT_NOTIFIER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <string>
 
 // PUBLIC INCLUDES
-#include <dali/public-api/adaptor-framework/common/clipboard-event-notifier.h>
+#include <dali/public-api/clipboard-event-notifier.h>
 
 namespace Dali
 {
index bf347d5..956da8d 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "toolkit-clipboard.h"
 
index cbaf46c..a67c0da 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef  __TOOLKIT_CLIPBOARD_H__
 #define  __TOOLKIT_CLIPBOARD_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #define __DALI_CLIPBOARD_H__
 
@@ -49,9 +50,9 @@ public:
   Clipboard();
 
   /**
-   * Virtual destructor.
+   * Non virtual destructor.
    */
-  virtual ~Clipboard();
+  ~Clipboard();
 
   /**
    * This constructor is used by Adaptor::GetClipboard().
index 355b3ed..9639449 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "toolkit-imf-manager.h"
index 2da670a..bd8cb62 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef _DALI_ADAPTOR_IMF_MANAGER_H_
 #define _DALI_ADAPTOR_IMF_MANAGER_H_
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #define IMFMANAGER_H
@@ -210,9 +211,9 @@ public:
   ImfManager();
 
   /**
-   * Virtual destructor.
+   * Non virtual destructor.
    */
-  virtual ~ImfManager();
+  ~ImfManager();
 
   /**
    * This constructor is used by ImfManager::Get().
index 62598d3..e7e2568 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "toolkit-orientation.h"
 
index 31c31f1..303f3a6 100644 (file)
@@ -1,27 +1,28 @@
 #ifndef __DALI_TOOLKIT_TOOLKIT_ORIENTATION_H__
 #define __DALI_TOOLKIT_TOOLKIT_ORIENTATION_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <string>
 
 // INTERNAL INCLUDES
-#include <dali/public-api/adaptor-framework/common/orientation.h>
+#include <dali/public-api/orientation.h>
 
 namespace Dali
 {
index 41b0078..94cd960 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "toolkit-physical-keyboard.h"
 
index aae2d7d..f4afb95 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_PHYSICAL_KEYBOARD_H__
 #define __DALI_TOOLKIT_PHYSICAL_KEYBOARD_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <string>
@@ -37,7 +38,7 @@ class PhysicalKeyboard : public BaseHandle
 public:
   typedef SignalV2< void (PhysicalKeyboard) > Signal;
   PhysicalKeyboard();
-  virtual ~PhysicalKeyboard();
+  ~PhysicalKeyboard();
   static PhysicalKeyboard Get();
   bool IsAttached() const;
   Signal& StatusChangedSignal();
index 6b20063..e77d521 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "toolkit-style-monitor.h"
 
index 3eec7e1..1537e05 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_TOOLKIT_STYLE_MONITOR_H__
 #define __DALI_TOOLKIT_TOOLKIT_STYLE_MONITOR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <string>
@@ -24,7 +25,7 @@
 #define __DALI_STYLE_MONITOR_H__
 #include <dali/public-api/object/base-handle.h>
 #include <dali/public-api/signals/dali-signal-v2.h>
-#include <dali/public-api/adaptor-framework/common/style-change.h>
+#include <dali/public-api/style-change.h>
 
 namespace Dali
 {
@@ -48,7 +49,7 @@ public: // Creation & Destruction
   StyleMonitor();
   StyleMonitor(const StyleMonitor& monitor);
   static StyleMonitor Get();
-  virtual ~StyleMonitor();
+  ~StyleMonitor();
   static StyleMonitor DownCast( BaseHandle handle );
   using BaseHandle::operator=;
 
index a90881c..7a090f5 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_TEST_APPLICATION_H__
 #define __DALI_TOOLKIT_TEST_APPLICATION_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-test-suite-utils.h>
index c6facd5..4ab6a57 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "toolkit-timer.h"
 
index 908dbf0..8f23022 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_TOOLKIT_TIMER_H__
 #define __DALI_TOOLKIT_TOOLKIT_TIMER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <string>
@@ -44,7 +45,7 @@ public:
   static Timer New( unsigned int milliSec );
   Timer( const Timer& timer );
   Timer& operator=( const Timer& timer );
-  virtual ~Timer();
+  ~Timer();
   static Timer DownCast( BaseHandle handle );
   using BaseHandle::operator=;
   void Start();
diff --git a/automated-tests/src/dali-toolkit/tct-dali-toolkit-core.h b/automated-tests/src/dali-toolkit/tct-dali-toolkit-core.h
deleted file mode 100644 (file)
index 6d81eb2..0000000
+++ /dev/null
@@ -1,532 +0,0 @@
-#ifndef __TCT_DALI_TOOLKIT_CORE_H__
-#define __TCT_DALI_TOOLKIT_CORE_H__
-
-#include "testcase.h"
-
-extern void utc_dali_toolkit_alignment_startup(void);
-extern void utc_dali_toolkit_alignment_cleanup(void);
-extern void utc_dali_toolkit_bubble_emitter_startup(void);
-extern void utc_dali_toolkit_bubble_emitter_cleanup(void);
-extern void utc_dali_toolkit_button_startup(void);
-extern void utc_dali_toolkit_button_cleanup(void);
-extern void utc_dali_toolkit_control_startup(void);
-extern void utc_dali_toolkit_control_cleanup(void);
-extern void utc_dali_toolkit_control_impl_startup(void);
-extern void utc_dali_toolkit_control_impl_cleanup(void);
-extern void utc_dali_toolkit_default_controls_startup(void);
-extern void utc_dali_toolkit_default_controls_cleanup(void);
-extern void utc_dali_toolkit_dissolve_effect_startup(void);
-extern void utc_dali_toolkit_dissolve_effect_cleanup(void);
-extern void utc_dali_toolkit_focus_manager_startup(void);
-extern void utc_dali_toolkit_focus_manager_cleanup(void);
-extern void utc_dali_toolkit_grid_layout_startup(void);
-extern void utc_dali_toolkit_grid_layout_cleanup(void);
-extern void utc_dali_toolkit_iris_effect_startup(void);
-extern void utc_dali_toolkit_iris_effect_cleanup(void);
-extern void utc_dali_toolkit_item_view_startup(void);
-extern void utc_dali_toolkit_item_view_cleanup(void);
-extern void utc_dali_toolkit_keyboard_focus_manager_startup(void);
-extern void utc_dali_toolkit_keyboard_focus_manager_cleanup(void);
-extern void utc_dali_toolkit_markup_processor_startup(void);
-extern void utc_dali_toolkit_markup_processor_cleanup(void);
-extern void utc_dali_toolkit_mask_effect_startup(void);
-extern void utc_dali_toolkit_mask_effect_cleanup(void);
-extern void utc_dali_toolkit_nine_patch_startup(void);
-extern void utc_dali_toolkit_nine_patch_cleanup(void);
-extern void utc_dali_toolkit_popup_startup(void);
-extern void utc_dali_toolkit_popup_cleanup(void);
-extern void utc_dali_toolkit_pushbutton_startup(void);
-extern void utc_dali_toolkit_pushbutton_cleanup(void);
-extern void utc_dali_toolkit_ripple_2d_effect_startup(void);
-extern void utc_dali_toolkit_ripple_2d_effect_cleanup(void);
-extern void utc_dali_toolkit_ripple_effect_startup(void);
-extern void utc_dali_toolkit_ripple_effect_cleanup(void);
-extern void utc_dali_toolkit_scroll_view_effect_startup(void);
-extern void utc_dali_toolkit_scroll_view_effect_cleanup(void);
-extern void utc_dali_toolkit_super_blur_view_startup(void);
-extern void utc_dali_toolkit_super_blur_view_cleanup(void);
-extern void utc_dali_toolkit_swirl_effect_startup(void);
-extern void utc_dali_toolkit_swirl_effect_cleanup(void);
-extern void utc_dali_toolkit_text_input_startup(void);
-extern void utc_dali_toolkit_text_input_cleanup(void);
-extern void utc_dali_toolkit_text_view_startup(void);
-extern void utc_dali_toolkit_text_view_cleanup(void);
-
-extern int UtcDaliAlignmentConstructorNegative(void);
-extern int UtcDaliAlignmentConstructorPositive(void);
-extern int UtcDaliAlignmentConstructorRegister(void);
-extern int UtcDaliAlignmentSetAlignmentTypePositiveOffStage(void);
-extern int UtcDaliAlignmentSetAlignmentTypePositiveOnStage(void);
-extern int UtcDaliAlignmentSetAlignmentTypeNegative(void);
-extern int UtcDaliAlignmentGetAlignmentType(void);
-extern int UtcDaliAlignmentSetScaling(void);
-extern int UtcDaliAlignmentGetScaling(void);
-extern int UtcDaliAlignmentSetPaddingPositive(void);
-extern int UtcDaliAlignmentSetPaddingNegative(void);
-extern int UtcDaliAlignmentGetPadding(void);
-extern int UtcDaliAlignmentChildAddAndRemove(void);
-extern int UtcDaliAlignmentOnSizeSet(void);
-extern int UtcDaliAlignmentOnTouchEvent(void);
-extern int UtcDaliAlignmentOnKeyEvent(void);
-extern int UtcDaliAlignmentOnSizeAnimation(void);
-extern int UtcDaliAlignmentCopyAndAssignment(void);
-extern int UtcDaliBubbleEmitterNew(void);
-extern int UtcDaliBubbleEmitterGetRootActor(void);
-extern int UtcDaliBubbleEmitterSetBackground(void);
-extern int UtcDaliBubbleEmitterSetShapeImage(void);
-extern int UtcDaliBubbleEmitterSetBubbleScale(void);
-extern int UtcDaliBubbleEmitterSetBubbleDensity01(void);
-extern int UtcDaliBubbleEmitterSetBubbleDensity02(void);
-extern int UtcDaliBubbleEmitterSetBlendMode(void);
-extern int UtcDaliBubbleEmitterEmitBubble(void);
-extern int UtcDaliBubbleEmitterStartExplosion(void);
-extern int UtcDaliBubbleEmitterRestore(void);
-extern int UtcDaliButtonNew(void);
-extern int UtcDaliButtonSetProperty(void);
-extern int UtcDaliButtonSetGetDimmed(void);
-extern int UtcDaliButtonSize(void);
-extern int UtcDaliButtonClicked(void);
-extern int UtcDaliButtonConnectSignal(void);
-extern int UtcDaliButtonSetGetAnimationTime(void);
-extern int UtcDaliControlConstructor(void);
-extern int UtcDaliControlNew(void);
-extern int UtcDaliControlRegister(void);
-extern int UtcDaliControlCopyAndAssignment(void);
-extern int UtcDaliControlDownCast(void);
-extern int UtcDaliControlDownCastTemplate(void);
-extern int UtcDaliControlKeyInputFocus(void);
-extern int UtcDaliControlGetImplementation(void);
-extern int UtcDaliControlSignalConnectDisconnect(void);
-extern int UtcDaliControlSignalAutomaticDisconnect(void);
-extern int UtcDaliControlTestParameters(void);
-extern int UtcDaliControlBackgroundColor(void);
-extern int UtcDaliControlBackgroundImage(void);
-extern int UtcDaliControlBackgroundProperties(void);
-extern int UtcDaliControlSizePolicyProperties(void);
-extern int UtcDaliControlSizeProperties(void);
-extern int UtcDaliControlKeyProperties(void);
-extern int UtcDaliControlImplNew(void);
-extern int UtcDaliControlImplEnableGestureDetector(void);
-extern int UtcDaliControlImplDisableGestureDetector(void);
-extern int UtcDaliControlImplOnGestureMethods(void);
-extern int UtcDaliControlImplChildAddAndRemove(void);
-extern int UtcDaliControlImplStageConnection(void);
-extern int UtcDaliControlImplSizeSet(void);
-extern int UtcDaliControlImplSizeAnimation(void);
-extern int UtcDaliControlImplTouchEvent(void);
-extern int UtcDaliControlImplKeyEvent(void);
-extern int UtcDaliControlImplStyleChange(void);
-extern int UtcDaliControlImplKeyInputFocusGained(void);
-extern int UtcDaliControlImplKeyInputFocusLost(void);
-extern int UtcDaliDefaultControlsCreateSolidColorActor(void);
-extern int UtcDaliDefaultControlsCreatePushButton(void);
-extern int UtcDaliDissolveUninitializedEffect(void);
-extern int UtcDaliDissolvePropertyNamesEffect(void);
-extern int UtcDaliDissolveDefaultValuesEffect(void);
-extern int UtcDaliDissolveCustomValuesEffect(void);
-extern int UtcDaliSetEffectImageEffect(void);
-extern int UtcDaliFocusManagerGet(void);
-extern int UtcDaliFocusManagerSetAndGetAccessibilityAttribute(void);
-extern int UtcDaliFocusManagerSetAndGetFocusOrder(void);
-extern int UtcDaliFocusManagerGenerateNewFocusOrder(void);
-extern int UtcDaliFocusManagerGetActorByFocusOrder(void);
-extern int UtcDaliFocusManagerSetAndGetCurrentFocusActor(void);
-extern int UtcDaliFocusManagerGetCurrentFocusGroup(void);
-extern int UtcDaliFocusManagerGetCurrentFocusOrder(void);
-extern int UtcDaliFocusManagerMoveFocusForward(void);
-extern int UtcDaliFocusManagerMoveFocusBackward(void);
-extern int UtcDaliFocusManagerClearFocus(void);
-extern int UtcDaliFocusManagerReset(void);
-extern int UtcDaliFocusManagerFocusGroup(void);
-extern int UtcDaliFocusManagerSetAndGetFocusIndicator(void);
-extern int UtcDaliFocusManagerSignalFocusChanged(void);
-extern int UtcDaliFocusManagerSignalFocusOvershot(void);
-extern int UtcDaliGridLayoutNew(void);
-extern int UtcDaliGridLayoutSetAndGetNumberOfColumns(void);
-extern int UtcDaliGridLayoutSetAndGetRowSpacing(void);
-extern int UtcDaliGridLayoutSetAndGetColumnSpacing(void);
-extern int UtcDaliGridLayoutSetAndGetTopMargin(void);
-extern int UtcDaliGridLayoutSetAndGetBottomMargin(void);
-extern int UtcDaliGridLayoutSetAndGetSideMargin(void);
-extern int UtcDaliGridLayoutSetAndGetZGap(void);
-extern int UtcDaliGridLayoutSetAndGetItemSizeFunction(void);
-extern int UtcDaliGridLayoutSetAndGetScrollSpeedFactor(void);
-extern int UtcDaliGridLayoutSetAndGetMaximumSwipeSpeed(void);
-extern int UtcDaliGridLayoutSetAndGetItemFlickAnimationDuration(void);
-extern int UtcDaliGridLayoutConstraintLeft(void);
-extern int UtcDaliGridLayoutConstraintRight(void);
-extern int UtcDaliGridLayoutConstraintUp(void);
-extern int UtcDaliGridLayoutConstraintDown(void);
-extern int UtcDaliGridLayoutScrollDirection(void);
-extern int UtcDaliIrisEffectUninitialized(void);
-extern int UtcDaliIrisEffectPropertyNames(void);
-extern int UtcDaliIrisEffectDefaultValues(void);
-extern int UtcDaliIrisEffectCustomValues(void);
-extern int UtcDaliItemLayoutSetAndGetOrientation(void);
-extern int UtcDaliItemLayoutGetScrollHints(void);
-extern int UtcDaliItemViewNew(void);
-extern int UtcDaliItemViewDownCast(void);
-extern int UtcDaliItemViewAddAndGetLayout(void);
-extern int UtcDaliItemViewAddAndRemoveLayout(void);
-extern int UtcDaliItemViewActivateLayoutAndGetActiveLayout(void);
-extern int UtcDaliItemViewDeactivateCurrentLayout(void);
-extern int UtcDaliItemViewGetItemAndGetItemId(void);
-extern int UtcDaliItemViewRemoveItem(void);
-extern int UtcDaliItemViewGetCurrentLayoutPosition(void);
-extern int UtcDaliItemViewSetAndGetMinimumSwipeSpeed(void);
-extern int UtcDaliItemViewSetAndGetMinimumSwipeDistance(void);
-extern int UtcDaliItemViewSetAndGetAnchoring(void);
-extern int UtcDaliItemViewSetAndGetAnchoringDuration(void);
-extern int UtcDaliItemViewSetAndGetRefreshInterval(void);
-extern int UtcDaliItemViewScrollToItem(void);
-extern int UtcDaliItemViewSetAndGetMouseWheelScrollDistanceStep(void);
-extern int UtcDaliKeyboardFocusManagerGet(void);
-extern int UtcDaliKeyboardFocusManagerSetAndGetCurrentFocusActor(void);
-extern int UtcDaliKeyboardFocusManagerMoveFocus(void);
-extern int UtcDaliKeyboardFocusManagerClearFocus(void);
-extern int UtcDaliKeyboardFocusManagerSetAndGetFocusGroupLoop(void);
-extern int UtcDaliKeyboardFocusManagerSetAsFocusGroup(void);
-extern int UtcDaliKeyboardFocusManagerGetFocusGroup(void);
-extern int UtcDaliKeyboardFocusManagerSetAndGetFocusIndicator(void);
-extern int UtcDaliKeyboardFocusManagerSignalFocusedActorActivated(void);
-extern int UtcDaliMarkupProcessor(void);
-extern int UtcDaliMarkupProcessorSetTextStyle01(void);
-extern int UtcDaliMarkupProcessorSetTextStyle02(void);
-extern int UtcDaliMarkupProcessorTestColors(void);
-extern int UtcDaliMaskEffectCreateEffect(void);
-extern int UtcDaliMaskEffectDestructor(void);
-extern int UtcDaliNinePatchMaskEffectApply(void);
-extern int UtcDaliPopupNew(void);
-extern int UtcDaliPopupDestructor(void);
-extern int UtcDaliPopupDownCast(void);
-extern int UtcDaliPopoupSetProperty(void);
-extern int UtcDaliPopupSetBackgroundImage(void);
-extern int UtcDaliPopupSetTitle(void);
-extern int UtcDaliPopupSetTitleText(void);
-extern int UtcDaliPopupAddButton(void);
-extern int UtcDaliPopupSetState(void);
-extern int UtcDaliPopupSetStateSlow(void);
-extern int UtcDaliPopupShowHide(void);
-extern int UtcDaliPopupShowHideTail(void);
-extern int UtcDaliPopupOnTouchedOutside(void);
-extern int UtcDaliPushButtonSetGetAutoRepeating(void);
-extern int UtcDaliPushButtonSetGetToggleButton(void);
-extern int UtcDaliPushButtonSetGetAutoRepeatingAndToggleButton(void);
-extern int UtcDaliPushButtonSetGetToggled01(void);
-extern int UtcDaliPushButtonSetGetToggled02(void);
-extern int UtcDaliPushButtonSetGetAutorepeatingDelayValues01(void);
-extern int UtcDaliPushButtonSetGetAutorepeatingDelayValues02(void);
-extern int UtcDaliPushButtonSetImages(void);
-extern int UtcDaliPushButtonSetLabelText(void);
-extern int UtcDaliPushButtonPressed(void);
-extern int UtcDaliPushButtonReleased(void);
-extern int UtcDaliPushButtonToggled(void);
-extern int UtcDaliRipple2DEffectUninitialized(void);
-extern int UtcDaliRipple2DEffectPropertyNames(void);
-extern int UtcDaliRipple2DEffectDefaultValues(void);
-extern int UtcDaliRipple2DEffectCustomValues(void);
-extern int UtcDaliRippleUninitializedEffect(void);
-extern int UtcDaliRipplePropertyNamesEffect(void);
-extern int UtcDaliRippleDefaultValuesEffect(void);
-extern int UtcDaliRippleCustomValuesEffect(void);
-extern int UtcDaliScrollViewCustomEffectSetup(void);
-extern int UtcDaliScrollViewCubeEffectSetup(void);
-extern int UtcDaliScrollViewSpiralEffectSetup(void);
-extern int UtcDaliScrollViewSlideEffectSetup(void);
-extern int UtcDaliScrollViewTwistEffectSetup(void);
-extern int UtcDaliScrollViewCubeEffectTest(void);
-extern int UtcDaliScrollViewSpiralEffectTest(void);
-extern int UtcDaliScrollViewSlideEffectTest(void);
-extern int UtcDaliScrollViewTwistEffectTest(void);
-extern int UtcDaliScrollViewCustomEffectTest(void);
-extern int UtcDaliSuperBlurViewNew(void);
-extern int UtcDaliSuperBlurViewSetImage(void);
-extern int UtcDaliSuperBlurViewSetGetBlurStrength(void);
-extern int UtcDaliSuperBlurViewGetBlurStrengthPropertyIndex(void);
-extern int UtcDaliSuperBlurViewGetBlurredImage(void);
-extern int UtcDaliSwirlUninitializedEffect(void);
-extern int UtcDaliSwirlPropertyNamesEffect(void);
-extern int UtcDaliSwirlDefaultValuesEffect(void);
-extern int UtcDaliSwirlCustomValuesEffect(void);
-extern int UtcDaliTextInputConstruction(void);
-extern int UtcDaliTextInputDownCast(void);
-extern int UtcDaliTextInputGetText(void);
-extern int UtcDaliTextInputGetMarkupText(void);
-extern int UtcDaliTextInputSetMaxCharacterLength(void);
-extern int UtcDaliTextInputSetAndGetNumberOfLines(void);
-extern int UtcDaliTextInputGetNumberOfCharacters(void);
-extern int UtcDaliTextInputSetAndGetPlaceholderText(void);
-extern int UtcDaliTextInputSetInitialText(void);
-extern int UtcDaliTextInputSetEditableAndIsEditable(void);
-extern int UtcDaliTextInputSetEditOnTouch(void);
-extern int UtcDaliTextInputSetTextSelectable(void);
-extern int UtcDaliTextInputTextSelection(void);
-extern int UtcDaliTextInputEnableGrabHandleAndIsGrabHandleEnabled(void);
-extern int UtcDaliTextInputSetAndGetBoundingRectangle(void);
-extern int UtcDaliTextInputSetAndGetTextAlignment(void);
-extern int UtcDaliTextInputSetSortModifier(void);
-extern int UtcDaliTextInputSetAndGetSnapshotModeEnabled(void);
-extern int UtcDaliTextInputEndSignalEmit(void);
-extern int UtcDaliTextInputStartSignalEmit(void);
-extern int UtcDaliTextInputExceedMaxCharacters(void);
-extern int UtcDaliTextInputSetAndGetFadeBoundary(void);
-extern int UtcDaliTextInputSetAndGetWidthExceedPolicy(void);
-extern int UtcDaliTextInputSetAndGetHeightExceedPolicy(void);
-extern int UtcDaliTextInputScroll(void);
-extern int UtcDaliTextViewNew(void);
-extern int UtcDaliTextViewSetAndGetText(void);
-extern int UtcDaliTextViewSetStyleToCurrentText(void);
-extern int UtcDaliTextViewSetAndGetLineHeight(void);
-extern int UtcDaliTextViewSetAndGetFadeBoundary(void);
-extern int UtcDaliTextViewSetAndGetEllipsizeText(void);
-extern int UtcDaliTextViewSetAndGetWidthExceedPolicy(void);
-extern int UtcDaliTextViewSetAndGetHeightExceedPolicy(void);
-extern int UtcDaliTextViewTestLayoutOptions02(void);
-extern int UtcDaliTextViewInsertRemoveText(void);
-extern int UtcDaliTextViewSnapshotEnable(void);
-extern int UtcDaliTextViewScroll(void);
-extern int UtcDaliTextViewSetProperty(void);
-extern int UtcDaliTextViewSetSortModifier(void);
-extern int UtcDaliTextViewUnderlineText(void);
-
-testcase tc_array[] = {
-    {"UtcDaliAlignmentConstructorNegative", UtcDaliAlignmentConstructorNegative, utc_dali_toolkit_alignment_startup, utc_dali_toolkit_alignment_cleanup},
-    {"UtcDaliAlignmentConstructorPositive", UtcDaliAlignmentConstructorPositive, utc_dali_toolkit_alignment_startup, utc_dali_toolkit_alignment_cleanup},
-    {"UtcDaliAlignmentConstructorRegister", UtcDaliAlignmentConstructorRegister, utc_dali_toolkit_alignment_startup, utc_dali_toolkit_alignment_cleanup},
-    {"UtcDaliAlignmentSetAlignmentTypePositiveOffStage", UtcDaliAlignmentSetAlignmentTypePositiveOffStage, utc_dali_toolkit_alignment_startup, utc_dali_toolkit_alignment_cleanup},
-    {"UtcDaliAlignmentSetAlignmentTypePositiveOnStage", UtcDaliAlignmentSetAlignmentTypePositiveOnStage, utc_dali_toolkit_alignment_startup, utc_dali_toolkit_alignment_cleanup},
-    {"UtcDaliAlignmentSetAlignmentTypeNegative", UtcDaliAlignmentSetAlignmentTypeNegative, utc_dali_toolkit_alignment_startup, utc_dali_toolkit_alignment_cleanup},
-    {"UtcDaliAlignmentGetAlignmentType", UtcDaliAlignmentGetAlignmentType, utc_dali_toolkit_alignment_startup, utc_dali_toolkit_alignment_cleanup},
-    {"UtcDaliAlignmentSetScaling", UtcDaliAlignmentSetScaling, utc_dali_toolkit_alignment_startup, utc_dali_toolkit_alignment_cleanup},
-    {"UtcDaliAlignmentGetScaling", UtcDaliAlignmentGetScaling, utc_dali_toolkit_alignment_startup, utc_dali_toolkit_alignment_cleanup},
-    {"UtcDaliAlignmentSetPaddingPositive", UtcDaliAlignmentSetPaddingPositive, utc_dali_toolkit_alignment_startup, utc_dali_toolkit_alignment_cleanup},
-    {"UtcDaliAlignmentSetPaddingNegative", UtcDaliAlignmentSetPaddingNegative, utc_dali_toolkit_alignment_startup, utc_dali_toolkit_alignment_cleanup},
-    {"UtcDaliAlignmentGetPadding", UtcDaliAlignmentGetPadding, utc_dali_toolkit_alignment_startup, utc_dali_toolkit_alignment_cleanup},
-    {"UtcDaliAlignmentChildAddAndRemove", UtcDaliAlignmentChildAddAndRemove, utc_dali_toolkit_alignment_startup, utc_dali_toolkit_alignment_cleanup},
-    {"UtcDaliAlignmentOnSizeSet", UtcDaliAlignmentOnSizeSet, utc_dali_toolkit_alignment_startup, utc_dali_toolkit_alignment_cleanup},
-    {"UtcDaliAlignmentOnTouchEvent", UtcDaliAlignmentOnTouchEvent, utc_dali_toolkit_alignment_startup, utc_dali_toolkit_alignment_cleanup},
-    {"UtcDaliAlignmentOnKeyEvent", UtcDaliAlignmentOnKeyEvent, utc_dali_toolkit_alignment_startup, utc_dali_toolkit_alignment_cleanup},
-    {"UtcDaliAlignmentOnSizeAnimation", UtcDaliAlignmentOnSizeAnimation, utc_dali_toolkit_alignment_startup, utc_dali_toolkit_alignment_cleanup},
-    {"UtcDaliAlignmentCopyAndAssignment", UtcDaliAlignmentCopyAndAssignment, utc_dali_toolkit_alignment_startup, utc_dali_toolkit_alignment_cleanup},
-    {"UtcDaliBubbleEmitterNew", UtcDaliBubbleEmitterNew, utc_dali_toolkit_bubble_emitter_startup, utc_dali_toolkit_bubble_emitter_cleanup},
-    {"UtcDaliBubbleEmitterGetRootActor", UtcDaliBubbleEmitterGetRootActor, utc_dali_toolkit_bubble_emitter_startup, utc_dali_toolkit_bubble_emitter_cleanup},
-    {"UtcDaliBubbleEmitterSetBackground", UtcDaliBubbleEmitterSetBackground, utc_dali_toolkit_bubble_emitter_startup, utc_dali_toolkit_bubble_emitter_cleanup},
-    {"UtcDaliBubbleEmitterSetShapeImage", UtcDaliBubbleEmitterSetShapeImage, utc_dali_toolkit_bubble_emitter_startup, utc_dali_toolkit_bubble_emitter_cleanup},
-    {"UtcDaliBubbleEmitterSetBubbleScale", UtcDaliBubbleEmitterSetBubbleScale, utc_dali_toolkit_bubble_emitter_startup, utc_dali_toolkit_bubble_emitter_cleanup},
-    {"UtcDaliBubbleEmitterSetBubbleDensity01", UtcDaliBubbleEmitterSetBubbleDensity01, utc_dali_toolkit_bubble_emitter_startup, utc_dali_toolkit_bubble_emitter_cleanup},
-    {"UtcDaliBubbleEmitterSetBubbleDensity02", UtcDaliBubbleEmitterSetBubbleDensity02, utc_dali_toolkit_bubble_emitter_startup, utc_dali_toolkit_bubble_emitter_cleanup},
-    {"UtcDaliBubbleEmitterSetBlendMode", UtcDaliBubbleEmitterSetBlendMode, utc_dali_toolkit_bubble_emitter_startup, utc_dali_toolkit_bubble_emitter_cleanup},
-    {"UtcDaliBubbleEmitterEmitBubble", UtcDaliBubbleEmitterEmitBubble, utc_dali_toolkit_bubble_emitter_startup, utc_dali_toolkit_bubble_emitter_cleanup},
-    {"UtcDaliBubbleEmitterStartExplosion", UtcDaliBubbleEmitterStartExplosion, utc_dali_toolkit_bubble_emitter_startup, utc_dali_toolkit_bubble_emitter_cleanup},
-    {"UtcDaliBubbleEmitterRestore", UtcDaliBubbleEmitterRestore, utc_dali_toolkit_bubble_emitter_startup, utc_dali_toolkit_bubble_emitter_cleanup},
-    {"UtcDaliButtonNew", UtcDaliButtonNew, utc_dali_toolkit_button_startup, utc_dali_toolkit_button_cleanup},
-    {"UtcDaliButtonSetProperty", UtcDaliButtonSetProperty, utc_dali_toolkit_button_startup, utc_dali_toolkit_button_cleanup},
-    {"UtcDaliButtonSetGetDimmed", UtcDaliButtonSetGetDimmed, utc_dali_toolkit_button_startup, utc_dali_toolkit_button_cleanup},
-    {"UtcDaliButtonSize", UtcDaliButtonSize, utc_dali_toolkit_button_startup, utc_dali_toolkit_button_cleanup},
-    {"UtcDaliButtonClicked", UtcDaliButtonClicked, utc_dali_toolkit_button_startup, utc_dali_toolkit_button_cleanup},
-    {"UtcDaliButtonConnectSignal", UtcDaliButtonConnectSignal, utc_dali_toolkit_button_startup, utc_dali_toolkit_button_cleanup},
-    {"UtcDaliButtonSetGetAnimationTime", UtcDaliButtonSetGetAnimationTime, utc_dali_toolkit_button_startup, utc_dali_toolkit_button_cleanup},
-    {"UtcDaliControlConstructor", UtcDaliControlConstructor, utc_dali_toolkit_control_startup, utc_dali_toolkit_control_cleanup},
-    {"UtcDaliControlNew", UtcDaliControlNew, utc_dali_toolkit_control_startup, utc_dali_toolkit_control_cleanup},
-    {"UtcDaliControlRegister", UtcDaliControlRegister, utc_dali_toolkit_control_startup, utc_dali_toolkit_control_cleanup},
-    {"UtcDaliControlCopyAndAssignment", UtcDaliControlCopyAndAssignment, utc_dali_toolkit_control_startup, utc_dali_toolkit_control_cleanup},
-    {"UtcDaliControlDownCast", UtcDaliControlDownCast, utc_dali_toolkit_control_startup, utc_dali_toolkit_control_cleanup},
-    {"UtcDaliControlDownCastTemplate", UtcDaliControlDownCastTemplate, utc_dali_toolkit_control_startup, utc_dali_toolkit_control_cleanup},
-    {"UtcDaliControlKeyInputFocus", UtcDaliControlKeyInputFocus, utc_dali_toolkit_control_startup, utc_dali_toolkit_control_cleanup},
-    {"UtcDaliControlGetImplementation", UtcDaliControlGetImplementation, utc_dali_toolkit_control_startup, utc_dali_toolkit_control_cleanup},
-    {"UtcDaliControlSignalConnectDisconnect", UtcDaliControlSignalConnectDisconnect, utc_dali_toolkit_control_startup, utc_dali_toolkit_control_cleanup},
-    {"UtcDaliControlSignalAutomaticDisconnect", UtcDaliControlSignalAutomaticDisconnect, utc_dali_toolkit_control_startup, utc_dali_toolkit_control_cleanup},
-    {"UtcDaliControlTestParameters", UtcDaliControlTestParameters, utc_dali_toolkit_control_startup, utc_dali_toolkit_control_cleanup},
-    {"UtcDaliControlBackgroundColor", UtcDaliControlBackgroundColor, utc_dali_toolkit_control_startup, utc_dali_toolkit_control_cleanup},
-    {"UtcDaliControlBackgroundImage", UtcDaliControlBackgroundImage, utc_dali_toolkit_control_startup, utc_dali_toolkit_control_cleanup},
-    {"UtcDaliControlBackgroundProperties", UtcDaliControlBackgroundProperties, utc_dali_toolkit_control_startup, utc_dali_toolkit_control_cleanup},
-    {"UtcDaliControlSizePolicyProperties", UtcDaliControlSizePolicyProperties, utc_dali_toolkit_control_startup, utc_dali_toolkit_control_cleanup},
-    {"UtcDaliControlSizeProperties", UtcDaliControlSizeProperties, utc_dali_toolkit_control_startup, utc_dali_toolkit_control_cleanup},
-    {"UtcDaliControlKeyProperties", UtcDaliControlKeyProperties, utc_dali_toolkit_control_startup, utc_dali_toolkit_control_cleanup},
-    {"UtcDaliControlImplNew", UtcDaliControlImplNew, utc_dali_toolkit_control_impl_startup, utc_dali_toolkit_control_impl_cleanup},
-    {"UtcDaliControlImplEnableGestureDetector", UtcDaliControlImplEnableGestureDetector, utc_dali_toolkit_control_impl_startup, utc_dali_toolkit_control_impl_cleanup},
-    {"UtcDaliControlImplDisableGestureDetector", UtcDaliControlImplDisableGestureDetector, utc_dali_toolkit_control_impl_startup, utc_dali_toolkit_control_impl_cleanup},
-    {"UtcDaliControlImplOnGestureMethods", UtcDaliControlImplOnGestureMethods, utc_dali_toolkit_control_impl_startup, utc_dali_toolkit_control_impl_cleanup},
-    {"UtcDaliControlImplChildAddAndRemove", UtcDaliControlImplChildAddAndRemove, utc_dali_toolkit_control_impl_startup, utc_dali_toolkit_control_impl_cleanup},
-    {"UtcDaliControlImplStageConnection", UtcDaliControlImplStageConnection, utc_dali_toolkit_control_impl_startup, utc_dali_toolkit_control_impl_cleanup},
-    {"UtcDaliControlImplSizeSet", UtcDaliControlImplSizeSet, utc_dali_toolkit_control_impl_startup, utc_dali_toolkit_control_impl_cleanup},
-    {"UtcDaliControlImplSizeAnimation", UtcDaliControlImplSizeAnimation, utc_dali_toolkit_control_impl_startup, utc_dali_toolkit_control_impl_cleanup},
-    {"UtcDaliControlImplTouchEvent", UtcDaliControlImplTouchEvent, utc_dali_toolkit_control_impl_startup, utc_dali_toolkit_control_impl_cleanup},
-    {"UtcDaliControlImplKeyEvent", UtcDaliControlImplKeyEvent, utc_dali_toolkit_control_impl_startup, utc_dali_toolkit_control_impl_cleanup},
-    {"UtcDaliControlImplStyleChange", UtcDaliControlImplStyleChange, utc_dali_toolkit_control_impl_startup, utc_dali_toolkit_control_impl_cleanup},
-    {"UtcDaliControlImplKeyInputFocusGained", UtcDaliControlImplKeyInputFocusGained, utc_dali_toolkit_control_impl_startup, utc_dali_toolkit_control_impl_cleanup},
-    {"UtcDaliControlImplKeyInputFocusLost", UtcDaliControlImplKeyInputFocusLost, utc_dali_toolkit_control_impl_startup, utc_dali_toolkit_control_impl_cleanup},
-    {"UtcDaliDefaultControlsCreateSolidColorActor", UtcDaliDefaultControlsCreateSolidColorActor, utc_dali_toolkit_default_controls_startup, utc_dali_toolkit_default_controls_cleanup},
-    {"UtcDaliDefaultControlsCreatePushButton", UtcDaliDefaultControlsCreatePushButton, utc_dali_toolkit_default_controls_startup, utc_dali_toolkit_default_controls_cleanup},
-    {"UtcDaliDissolveUninitializedEffect", UtcDaliDissolveUninitializedEffect, utc_dali_toolkit_dissolve_effect_startup, utc_dali_toolkit_dissolve_effect_cleanup},
-    {"UtcDaliDissolvePropertyNamesEffect", UtcDaliDissolvePropertyNamesEffect, utc_dali_toolkit_dissolve_effect_startup, utc_dali_toolkit_dissolve_effect_cleanup},
-    {"UtcDaliDissolveDefaultValuesEffect", UtcDaliDissolveDefaultValuesEffect, utc_dali_toolkit_dissolve_effect_startup, utc_dali_toolkit_dissolve_effect_cleanup},
-    {"UtcDaliDissolveCustomValuesEffect", UtcDaliDissolveCustomValuesEffect, utc_dali_toolkit_dissolve_effect_startup, utc_dali_toolkit_dissolve_effect_cleanup},
-    {"UtcDaliSetEffectImageEffect", UtcDaliSetEffectImageEffect, utc_dali_toolkit_dissolve_effect_startup, utc_dali_toolkit_dissolve_effect_cleanup},
-    {"UtcDaliFocusManagerGet", UtcDaliFocusManagerGet, utc_dali_toolkit_focus_manager_startup, utc_dali_toolkit_focus_manager_cleanup},
-    {"UtcDaliFocusManagerSetAndGetAccessibilityAttribute", UtcDaliFocusManagerSetAndGetAccessibilityAttribute, utc_dali_toolkit_focus_manager_startup, utc_dali_toolkit_focus_manager_cleanup},
-    {"UtcDaliFocusManagerSetAndGetFocusOrder", UtcDaliFocusManagerSetAndGetFocusOrder, utc_dali_toolkit_focus_manager_startup, utc_dali_toolkit_focus_manager_cleanup},
-    {"UtcDaliFocusManagerGenerateNewFocusOrder", UtcDaliFocusManagerGenerateNewFocusOrder, utc_dali_toolkit_focus_manager_startup, utc_dali_toolkit_focus_manager_cleanup},
-    {"UtcDaliFocusManagerGetActorByFocusOrder", UtcDaliFocusManagerGetActorByFocusOrder, utc_dali_toolkit_focus_manager_startup, utc_dali_toolkit_focus_manager_cleanup},
-    {"UtcDaliFocusManagerSetAndGetCurrentFocusActor", UtcDaliFocusManagerSetAndGetCurrentFocusActor, utc_dali_toolkit_focus_manager_startup, utc_dali_toolkit_focus_manager_cleanup},
-    {"UtcDaliFocusManagerGetCurrentFocusGroup", UtcDaliFocusManagerGetCurrentFocusGroup, utc_dali_toolkit_focus_manager_startup, utc_dali_toolkit_focus_manager_cleanup},
-    {"UtcDaliFocusManagerGetCurrentFocusOrder", UtcDaliFocusManagerGetCurrentFocusOrder, utc_dali_toolkit_focus_manager_startup, utc_dali_toolkit_focus_manager_cleanup},
-    {"UtcDaliFocusManagerMoveFocusForward", UtcDaliFocusManagerMoveFocusForward, utc_dali_toolkit_focus_manager_startup, utc_dali_toolkit_focus_manager_cleanup},
-    {"UtcDaliFocusManagerMoveFocusBackward", UtcDaliFocusManagerMoveFocusBackward, utc_dali_toolkit_focus_manager_startup, utc_dali_toolkit_focus_manager_cleanup},
-    {"UtcDaliFocusManagerClearFocus", UtcDaliFocusManagerClearFocus, utc_dali_toolkit_focus_manager_startup, utc_dali_toolkit_focus_manager_cleanup},
-    {"UtcDaliFocusManagerReset", UtcDaliFocusManagerReset, utc_dali_toolkit_focus_manager_startup, utc_dali_toolkit_focus_manager_cleanup},
-    {"UtcDaliFocusManagerFocusGroup", UtcDaliFocusManagerFocusGroup, utc_dali_toolkit_focus_manager_startup, utc_dali_toolkit_focus_manager_cleanup},
-    {"UtcDaliFocusManagerSetAndGetFocusIndicator", UtcDaliFocusManagerSetAndGetFocusIndicator, utc_dali_toolkit_focus_manager_startup, utc_dali_toolkit_focus_manager_cleanup},
-    {"UtcDaliFocusManagerSignalFocusChanged", UtcDaliFocusManagerSignalFocusChanged, utc_dali_toolkit_focus_manager_startup, utc_dali_toolkit_focus_manager_cleanup},
-    {"UtcDaliFocusManagerSignalFocusOvershot", UtcDaliFocusManagerSignalFocusOvershot, utc_dali_toolkit_focus_manager_startup, utc_dali_toolkit_focus_manager_cleanup},
-    {"UtcDaliGridLayoutNew", UtcDaliGridLayoutNew, utc_dali_toolkit_grid_layout_startup, utc_dali_toolkit_grid_layout_cleanup},
-    {"UtcDaliGridLayoutSetAndGetNumberOfColumns", UtcDaliGridLayoutSetAndGetNumberOfColumns, utc_dali_toolkit_grid_layout_startup, utc_dali_toolkit_grid_layout_cleanup},
-    {"UtcDaliGridLayoutSetAndGetRowSpacing", UtcDaliGridLayoutSetAndGetRowSpacing, utc_dali_toolkit_grid_layout_startup, utc_dali_toolkit_grid_layout_cleanup},
-    {"UtcDaliGridLayoutSetAndGetColumnSpacing", UtcDaliGridLayoutSetAndGetColumnSpacing, utc_dali_toolkit_grid_layout_startup, utc_dali_toolkit_grid_layout_cleanup},
-    {"UtcDaliGridLayoutSetAndGetTopMargin", UtcDaliGridLayoutSetAndGetTopMargin, utc_dali_toolkit_grid_layout_startup, utc_dali_toolkit_grid_layout_cleanup},
-    {"UtcDaliGridLayoutSetAndGetBottomMargin", UtcDaliGridLayoutSetAndGetBottomMargin, utc_dali_toolkit_grid_layout_startup, utc_dali_toolkit_grid_layout_cleanup},
-    {"UtcDaliGridLayoutSetAndGetSideMargin", UtcDaliGridLayoutSetAndGetSideMargin, utc_dali_toolkit_grid_layout_startup, utc_dali_toolkit_grid_layout_cleanup},
-    {"UtcDaliGridLayoutSetAndGetZGap", UtcDaliGridLayoutSetAndGetZGap, utc_dali_toolkit_grid_layout_startup, utc_dali_toolkit_grid_layout_cleanup},
-    {"UtcDaliGridLayoutSetAndGetItemSizeFunction", UtcDaliGridLayoutSetAndGetItemSizeFunction, utc_dali_toolkit_grid_layout_startup, utc_dali_toolkit_grid_layout_cleanup},
-    {"UtcDaliGridLayoutSetAndGetScrollSpeedFactor", UtcDaliGridLayoutSetAndGetScrollSpeedFactor, utc_dali_toolkit_grid_layout_startup, utc_dali_toolkit_grid_layout_cleanup},
-    {"UtcDaliGridLayoutSetAndGetMaximumSwipeSpeed", UtcDaliGridLayoutSetAndGetMaximumSwipeSpeed, utc_dali_toolkit_grid_layout_startup, utc_dali_toolkit_grid_layout_cleanup},
-    {"UtcDaliGridLayoutSetAndGetItemFlickAnimationDuration", UtcDaliGridLayoutSetAndGetItemFlickAnimationDuration, utc_dali_toolkit_grid_layout_startup, utc_dali_toolkit_grid_layout_cleanup},
-    {"UtcDaliGridLayoutConstraintLeft", UtcDaliGridLayoutConstraintLeft, utc_dali_toolkit_grid_layout_startup, utc_dali_toolkit_grid_layout_cleanup},
-    {"UtcDaliGridLayoutConstraintRight", UtcDaliGridLayoutConstraintRight, utc_dali_toolkit_grid_layout_startup, utc_dali_toolkit_grid_layout_cleanup},
-    {"UtcDaliGridLayoutConstraintUp", UtcDaliGridLayoutConstraintUp, utc_dali_toolkit_grid_layout_startup, utc_dali_toolkit_grid_layout_cleanup},
-    {"UtcDaliGridLayoutConstraintDown", UtcDaliGridLayoutConstraintDown, utc_dali_toolkit_grid_layout_startup, utc_dali_toolkit_grid_layout_cleanup},
-    {"UtcDaliGridLayoutScrollDirection", UtcDaliGridLayoutScrollDirection, utc_dali_toolkit_grid_layout_startup, utc_dali_toolkit_grid_layout_cleanup},
-    {"UtcDaliIrisEffectUninitialized", UtcDaliIrisEffectUninitialized, utc_dali_toolkit_iris_effect_startup, utc_dali_toolkit_iris_effect_cleanup},
-    {"UtcDaliIrisEffectPropertyNames", UtcDaliIrisEffectPropertyNames, utc_dali_toolkit_iris_effect_startup, utc_dali_toolkit_iris_effect_cleanup},
-    {"UtcDaliIrisEffectDefaultValues", UtcDaliIrisEffectDefaultValues, utc_dali_toolkit_iris_effect_startup, utc_dali_toolkit_iris_effect_cleanup},
-    {"UtcDaliIrisEffectCustomValues", UtcDaliIrisEffectCustomValues, utc_dali_toolkit_iris_effect_startup, utc_dali_toolkit_iris_effect_cleanup},
-    {"UtcDaliItemLayoutSetAndGetOrientation", UtcDaliItemLayoutSetAndGetOrientation, utc_dali_toolkit_iris_effect_startup, utc_dali_toolkit_iris_effect_cleanup},
-    {"UtcDaliItemLayoutGetScrollHints", UtcDaliItemLayoutGetScrollHints, utc_dali_toolkit_iris_effect_startup, utc_dali_toolkit_iris_effect_cleanup},
-    {"UtcDaliItemViewNew", UtcDaliItemViewNew, utc_dali_toolkit_item_view_startup, utc_dali_toolkit_item_view_cleanup},
-    {"UtcDaliItemViewDownCast", UtcDaliItemViewDownCast, utc_dali_toolkit_item_view_startup, utc_dali_toolkit_item_view_cleanup},
-    {"UtcDaliItemViewAddAndGetLayout", UtcDaliItemViewAddAndGetLayout, utc_dali_toolkit_item_view_startup, utc_dali_toolkit_item_view_cleanup},
-    {"UtcDaliItemViewAddAndRemoveLayout", UtcDaliItemViewAddAndRemoveLayout, utc_dali_toolkit_item_view_startup, utc_dali_toolkit_item_view_cleanup},
-    {"UtcDaliItemViewActivateLayoutAndGetActiveLayout", UtcDaliItemViewActivateLayoutAndGetActiveLayout, utc_dali_toolkit_item_view_startup, utc_dali_toolkit_item_view_cleanup},
-    {"UtcDaliItemViewDeactivateCurrentLayout", UtcDaliItemViewDeactivateCurrentLayout, utc_dali_toolkit_item_view_startup, utc_dali_toolkit_item_view_cleanup},
-    {"UtcDaliItemViewGetItemAndGetItemId", UtcDaliItemViewGetItemAndGetItemId, utc_dali_toolkit_item_view_startup, utc_dali_toolkit_item_view_cleanup},
-    {"UtcDaliItemViewRemoveItem", UtcDaliItemViewRemoveItem, utc_dali_toolkit_item_view_startup, utc_dali_toolkit_item_view_cleanup},
-    {"UtcDaliItemViewGetCurrentLayoutPosition", UtcDaliItemViewGetCurrentLayoutPosition, utc_dali_toolkit_item_view_startup, utc_dali_toolkit_item_view_cleanup},
-    {"UtcDaliItemViewSetAndGetMinimumSwipeSpeed", UtcDaliItemViewSetAndGetMinimumSwipeSpeed, utc_dali_toolkit_item_view_startup, utc_dali_toolkit_item_view_cleanup},
-    {"UtcDaliItemViewSetAndGetMinimumSwipeDistance", UtcDaliItemViewSetAndGetMinimumSwipeDistance, utc_dali_toolkit_item_view_startup, utc_dali_toolkit_item_view_cleanup},
-    {"UtcDaliItemViewSetAndGetAnchoring", UtcDaliItemViewSetAndGetAnchoring, utc_dali_toolkit_item_view_startup, utc_dali_toolkit_item_view_cleanup},
-    {"UtcDaliItemViewSetAndGetAnchoringDuration", UtcDaliItemViewSetAndGetAnchoringDuration, utc_dali_toolkit_item_view_startup, utc_dali_toolkit_item_view_cleanup},
-    {"UtcDaliItemViewSetAndGetRefreshInterval", UtcDaliItemViewSetAndGetRefreshInterval, utc_dali_toolkit_item_view_startup, utc_dali_toolkit_item_view_cleanup},
-    {"UtcDaliItemViewScrollToItem", UtcDaliItemViewScrollToItem, utc_dali_toolkit_item_view_startup, utc_dali_toolkit_item_view_cleanup},
-    {"UtcDaliItemViewSetAndGetMouseWheelScrollDistanceStep", UtcDaliItemViewSetAndGetMouseWheelScrollDistanceStep, utc_dali_toolkit_item_view_startup, utc_dali_toolkit_item_view_cleanup},
-    {"UtcDaliKeyboardFocusManagerGet", UtcDaliKeyboardFocusManagerGet, utc_dali_toolkit_keyboard_focus_manager_startup, utc_dali_toolkit_keyboard_focus_manager_cleanup},
-    {"UtcDaliKeyboardFocusManagerSetAndGetCurrentFocusActor", UtcDaliKeyboardFocusManagerSetAndGetCurrentFocusActor, utc_dali_toolkit_keyboard_focus_manager_startup, utc_dali_toolkit_keyboard_focus_manager_cleanup},
-    {"UtcDaliKeyboardFocusManagerMoveFocus", UtcDaliKeyboardFocusManagerMoveFocus, utc_dali_toolkit_keyboard_focus_manager_startup, utc_dali_toolkit_keyboard_focus_manager_cleanup},
-    {"UtcDaliKeyboardFocusManagerClearFocus", UtcDaliKeyboardFocusManagerClearFocus, utc_dali_toolkit_keyboard_focus_manager_startup, utc_dali_toolkit_keyboard_focus_manager_cleanup},
-    {"UtcDaliKeyboardFocusManagerSetAndGetFocusGroupLoop", UtcDaliKeyboardFocusManagerSetAndGetFocusGroupLoop, utc_dali_toolkit_keyboard_focus_manager_startup, utc_dali_toolkit_keyboard_focus_manager_cleanup},
-    {"UtcDaliKeyboardFocusManagerSetAsFocusGroup", UtcDaliKeyboardFocusManagerSetAsFocusGroup, utc_dali_toolkit_keyboard_focus_manager_startup, utc_dali_toolkit_keyboard_focus_manager_cleanup},
-    {"UtcDaliKeyboardFocusManagerGetFocusGroup", UtcDaliKeyboardFocusManagerGetFocusGroup, utc_dali_toolkit_keyboard_focus_manager_startup, utc_dali_toolkit_keyboard_focus_manager_cleanup},
-    {"UtcDaliKeyboardFocusManagerSetAndGetFocusIndicator", UtcDaliKeyboardFocusManagerSetAndGetFocusIndicator, utc_dali_toolkit_keyboard_focus_manager_startup, utc_dali_toolkit_keyboard_focus_manager_cleanup},
-    {"UtcDaliKeyboardFocusManagerSignalFocusedActorActivated", UtcDaliKeyboardFocusManagerSignalFocusedActorActivated, utc_dali_toolkit_keyboard_focus_manager_startup, utc_dali_toolkit_keyboard_focus_manager_cleanup},
-    {"UtcDaliMarkupProcessor", UtcDaliMarkupProcessor, utc_dali_toolkit_markup_processor_startup, utc_dali_toolkit_markup_processor_cleanup},
-    {"UtcDaliMarkupProcessorSetTextStyle01", UtcDaliMarkupProcessorSetTextStyle01, utc_dali_toolkit_markup_processor_startup, utc_dali_toolkit_markup_processor_cleanup},
-    {"UtcDaliMarkupProcessorSetTextStyle02", UtcDaliMarkupProcessorSetTextStyle02, utc_dali_toolkit_markup_processor_startup, utc_dali_toolkit_markup_processor_cleanup},
-    {"UtcDaliMarkupProcessorTestColors", UtcDaliMarkupProcessorTestColors, utc_dali_toolkit_markup_processor_startup, utc_dali_toolkit_markup_processor_cleanup},
-    {"UtcDaliMaskEffectCreateEffect", UtcDaliMaskEffectCreateEffect, utc_dali_toolkit_mask_effect_startup, utc_dali_toolkit_mask_effect_cleanup},
-    {"UtcDaliMaskEffectDestructor", UtcDaliMaskEffectDestructor, utc_dali_toolkit_mask_effect_startup, utc_dali_toolkit_mask_effect_cleanup},
-    {"UtcDaliNinePatchMaskEffectApply", UtcDaliNinePatchMaskEffectApply, utc_dali_toolkit_nine_patch_startup, utc_dali_toolkit_nine_patch_cleanup},
-    {"UtcDaliPopupNew", UtcDaliPopupNew, utc_dali_toolkit_popup_startup, utc_dali_toolkit_popup_cleanup},
-    {"UtcDaliPopupDestructor", UtcDaliPopupDestructor, utc_dali_toolkit_popup_startup, utc_dali_toolkit_popup_cleanup},
-    {"UtcDaliPopupDownCast", UtcDaliPopupDownCast, utc_dali_toolkit_popup_startup, utc_dali_toolkit_popup_cleanup},
-    {"UtcDaliPopoupSetProperty", UtcDaliPopoupSetProperty, utc_dali_toolkit_popup_startup, utc_dali_toolkit_popup_cleanup},
-    {"UtcDaliPopupSetBackgroundImage", UtcDaliPopupSetBackgroundImage, utc_dali_toolkit_popup_startup, utc_dali_toolkit_popup_cleanup},
-    {"UtcDaliPopupSetTitle", UtcDaliPopupSetTitle, utc_dali_toolkit_popup_startup, utc_dali_toolkit_popup_cleanup},
-    {"UtcDaliPopupSetTitleText", UtcDaliPopupSetTitleText, utc_dali_toolkit_popup_startup, utc_dali_toolkit_popup_cleanup},
-    {"UtcDaliPopupAddButton", UtcDaliPopupAddButton, utc_dali_toolkit_popup_startup, utc_dali_toolkit_popup_cleanup},
-    {"UtcDaliPopupSetState", UtcDaliPopupSetState, utc_dali_toolkit_popup_startup, utc_dali_toolkit_popup_cleanup},
-    {"UtcDaliPopupSetStateSlow", UtcDaliPopupSetStateSlow, utc_dali_toolkit_popup_startup, utc_dali_toolkit_popup_cleanup},
-    {"UtcDaliPopupShowHide", UtcDaliPopupShowHide, utc_dali_toolkit_popup_startup, utc_dali_toolkit_popup_cleanup},
-    {"UtcDaliPopupShowHideTail", UtcDaliPopupShowHideTail, utc_dali_toolkit_popup_startup, utc_dali_toolkit_popup_cleanup},
-    {"UtcDaliPopupOnTouchedOutside", UtcDaliPopupOnTouchedOutside, utc_dali_toolkit_popup_startup, utc_dali_toolkit_popup_cleanup},
-    {"UtcDaliPushButtonSetGetAutoRepeating", UtcDaliPushButtonSetGetAutoRepeating, utc_dali_toolkit_pushbutton_startup, utc_dali_toolkit_pushbutton_cleanup},
-    {"UtcDaliPushButtonSetGetToggleButton", UtcDaliPushButtonSetGetToggleButton, utc_dali_toolkit_pushbutton_startup, utc_dali_toolkit_pushbutton_cleanup},
-    {"UtcDaliPushButtonSetGetAutoRepeatingAndToggleButton", UtcDaliPushButtonSetGetAutoRepeatingAndToggleButton, utc_dali_toolkit_pushbutton_startup, utc_dali_toolkit_pushbutton_cleanup},
-    {"UtcDaliPushButtonSetGetToggled01", UtcDaliPushButtonSetGetToggled01, utc_dali_toolkit_pushbutton_startup, utc_dali_toolkit_pushbutton_cleanup},
-    {"UtcDaliPushButtonSetGetToggled02", UtcDaliPushButtonSetGetToggled02, utc_dali_toolkit_pushbutton_startup, utc_dali_toolkit_pushbutton_cleanup},
-    {"UtcDaliPushButtonSetGetAutorepeatingDelayValues01", UtcDaliPushButtonSetGetAutorepeatingDelayValues01, utc_dali_toolkit_pushbutton_startup, utc_dali_toolkit_pushbutton_cleanup},
-    {"UtcDaliPushButtonSetGetAutorepeatingDelayValues02", UtcDaliPushButtonSetGetAutorepeatingDelayValues02, utc_dali_toolkit_pushbutton_startup, utc_dali_toolkit_pushbutton_cleanup},
-    {"UtcDaliPushButtonSetImages", UtcDaliPushButtonSetImages, utc_dali_toolkit_pushbutton_startup, utc_dali_toolkit_pushbutton_cleanup},
-    {"UtcDaliPushButtonSetLabelText", UtcDaliPushButtonSetLabelText, utc_dali_toolkit_pushbutton_startup, utc_dali_toolkit_pushbutton_cleanup},
-    {"UtcDaliPushButtonPressed", UtcDaliPushButtonPressed, utc_dali_toolkit_pushbutton_startup, utc_dali_toolkit_pushbutton_cleanup},
-    {"UtcDaliPushButtonReleased", UtcDaliPushButtonReleased, utc_dali_toolkit_pushbutton_startup, utc_dali_toolkit_pushbutton_cleanup},
-    {"UtcDaliPushButtonToggled", UtcDaliPushButtonToggled, utc_dali_toolkit_pushbutton_startup, utc_dali_toolkit_pushbutton_cleanup},
-    {"UtcDaliRipple2DEffectUninitialized", UtcDaliRipple2DEffectUninitialized, utc_dali_toolkit_ripple_2d_effect_startup, utc_dali_toolkit_ripple_2d_effect_cleanup},
-    {"UtcDaliRipple2DEffectPropertyNames", UtcDaliRipple2DEffectPropertyNames, utc_dali_toolkit_ripple_2d_effect_startup, utc_dali_toolkit_ripple_2d_effect_cleanup},
-    {"UtcDaliRipple2DEffectDefaultValues", UtcDaliRipple2DEffectDefaultValues, utc_dali_toolkit_ripple_2d_effect_startup, utc_dali_toolkit_ripple_2d_effect_cleanup},
-    {"UtcDaliRipple2DEffectCustomValues", UtcDaliRipple2DEffectCustomValues, utc_dali_toolkit_ripple_2d_effect_startup, utc_dali_toolkit_ripple_2d_effect_cleanup},
-    {"UtcDaliRippleUninitializedEffect", UtcDaliRippleUninitializedEffect, utc_dali_toolkit_ripple_effect_startup, utc_dali_toolkit_ripple_effect_cleanup},
-    {"UtcDaliRipplePropertyNamesEffect", UtcDaliRipplePropertyNamesEffect, utc_dali_toolkit_ripple_effect_startup, utc_dali_toolkit_ripple_effect_cleanup},
-    {"UtcDaliRippleDefaultValuesEffect", UtcDaliRippleDefaultValuesEffect, utc_dali_toolkit_ripple_effect_startup, utc_dali_toolkit_ripple_effect_cleanup},
-    {"UtcDaliRippleCustomValuesEffect", UtcDaliRippleCustomValuesEffect, utc_dali_toolkit_ripple_effect_startup, utc_dali_toolkit_ripple_effect_cleanup},
-    {"UtcDaliScrollViewCustomEffectSetup", UtcDaliScrollViewCustomEffectSetup, utc_dali_toolkit_scroll_view_effect_startup, utc_dali_toolkit_scroll_view_effect_cleanup},
-    {"UtcDaliScrollViewCubeEffectSetup", UtcDaliScrollViewCubeEffectSetup, utc_dali_toolkit_scroll_view_effect_startup, utc_dali_toolkit_scroll_view_effect_cleanup},
-    {"UtcDaliScrollViewSpiralEffectSetup", UtcDaliScrollViewSpiralEffectSetup, utc_dali_toolkit_scroll_view_effect_startup, utc_dali_toolkit_scroll_view_effect_cleanup},
-    {"UtcDaliScrollViewSlideEffectSetup", UtcDaliScrollViewSlideEffectSetup, utc_dali_toolkit_scroll_view_effect_startup, utc_dali_toolkit_scroll_view_effect_cleanup},
-    {"UtcDaliScrollViewTwistEffectSetup", UtcDaliScrollViewTwistEffectSetup, utc_dali_toolkit_scroll_view_effect_startup, utc_dali_toolkit_scroll_view_effect_cleanup},
-    {"UtcDaliScrollViewCubeEffectTest", UtcDaliScrollViewCubeEffectTest, utc_dali_toolkit_scroll_view_effect_startup, utc_dali_toolkit_scroll_view_effect_cleanup},
-    {"UtcDaliScrollViewSpiralEffectTest", UtcDaliScrollViewSpiralEffectTest, utc_dali_toolkit_scroll_view_effect_startup, utc_dali_toolkit_scroll_view_effect_cleanup},
-    {"UtcDaliScrollViewSlideEffectTest", UtcDaliScrollViewSlideEffectTest, utc_dali_toolkit_scroll_view_effect_startup, utc_dali_toolkit_scroll_view_effect_cleanup},
-    {"UtcDaliScrollViewTwistEffectTest", UtcDaliScrollViewTwistEffectTest, utc_dali_toolkit_scroll_view_effect_startup, utc_dali_toolkit_scroll_view_effect_cleanup},
-    {"UtcDaliScrollViewCustomEffectTest", UtcDaliScrollViewCustomEffectTest, utc_dali_toolkit_scroll_view_effect_startup, utc_dali_toolkit_scroll_view_effect_cleanup},
-    {"UtcDaliSuperBlurViewNew", UtcDaliSuperBlurViewNew, utc_dali_toolkit_super_blur_view_startup, utc_dali_toolkit_super_blur_view_cleanup},
-    {"UtcDaliSuperBlurViewSetImage", UtcDaliSuperBlurViewSetImage, utc_dali_toolkit_super_blur_view_startup, utc_dali_toolkit_super_blur_view_cleanup},
-    {"UtcDaliSuperBlurViewSetGetBlurStrength", UtcDaliSuperBlurViewSetGetBlurStrength, utc_dali_toolkit_super_blur_view_startup, utc_dali_toolkit_super_blur_view_cleanup},
-    {"UtcDaliSuperBlurViewGetBlurStrengthPropertyIndex", UtcDaliSuperBlurViewGetBlurStrengthPropertyIndex, utc_dali_toolkit_super_blur_view_startup, utc_dali_toolkit_super_blur_view_cleanup},
-    {"UtcDaliSuperBlurViewGetBlurredImage", UtcDaliSuperBlurViewGetBlurredImage, utc_dali_toolkit_super_blur_view_startup, utc_dali_toolkit_super_blur_view_cleanup},
-    {"UtcDaliSwirlUninitializedEffect", UtcDaliSwirlUninitializedEffect, utc_dali_toolkit_swirl_effect_startup, utc_dali_toolkit_swirl_effect_cleanup},
-    {"UtcDaliSwirlPropertyNamesEffect", UtcDaliSwirlPropertyNamesEffect, utc_dali_toolkit_swirl_effect_startup, utc_dali_toolkit_swirl_effect_cleanup},
-    {"UtcDaliSwirlDefaultValuesEffect", UtcDaliSwirlDefaultValuesEffect, utc_dali_toolkit_swirl_effect_startup, utc_dali_toolkit_swirl_effect_cleanup},
-    {"UtcDaliSwirlCustomValuesEffect", UtcDaliSwirlCustomValuesEffect, utc_dali_toolkit_swirl_effect_startup, utc_dali_toolkit_swirl_effect_cleanup},
-    {"UtcDaliTextInputConstruction", UtcDaliTextInputConstruction, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputDownCast", UtcDaliTextInputDownCast, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputGetText", UtcDaliTextInputGetText, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputGetMarkupText", UtcDaliTextInputGetMarkupText, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputSetMaxCharacterLength", UtcDaliTextInputSetMaxCharacterLength, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputSetAndGetNumberOfLines", UtcDaliTextInputSetAndGetNumberOfLines, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputGetNumberOfCharacters", UtcDaliTextInputGetNumberOfCharacters, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputSetAndGetPlaceholderText", UtcDaliTextInputSetAndGetPlaceholderText, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputSetInitialText", UtcDaliTextInputSetInitialText, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputSetEditableAndIsEditable", UtcDaliTextInputSetEditableAndIsEditable, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputSetEditOnTouch", UtcDaliTextInputSetEditOnTouch, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputSetTextSelectable", UtcDaliTextInputSetTextSelectable, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputTextSelection", UtcDaliTextInputTextSelection, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputEnableGrabHandleAndIsGrabHandleEnabled", UtcDaliTextInputEnableGrabHandleAndIsGrabHandleEnabled, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputSetAndGetBoundingRectangle", UtcDaliTextInputSetAndGetBoundingRectangle, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputSetAndGetTextAlignment", UtcDaliTextInputSetAndGetTextAlignment, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputSetSortModifier", UtcDaliTextInputSetSortModifier, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputSetAndGetSnapshotModeEnabled", UtcDaliTextInputSetAndGetSnapshotModeEnabled, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputEndSignalEmit", UtcDaliTextInputEndSignalEmit, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputStartSignalEmit", UtcDaliTextInputStartSignalEmit, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputExceedMaxCharacters", UtcDaliTextInputExceedMaxCharacters, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputSetAndGetFadeBoundary", UtcDaliTextInputSetAndGetFadeBoundary, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputSetAndGetWidthExceedPolicy", UtcDaliTextInputSetAndGetWidthExceedPolicy, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputSetAndGetHeightExceedPolicy", UtcDaliTextInputSetAndGetHeightExceedPolicy, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextInputScroll", UtcDaliTextInputScroll, utc_dali_toolkit_text_input_startup, utc_dali_toolkit_text_input_cleanup},
-    {"UtcDaliTextViewNew", UtcDaliTextViewNew, utc_dali_toolkit_text_view_startup, utc_dali_toolkit_text_view_cleanup},
-    {"UtcDaliTextViewSetAndGetText", UtcDaliTextViewSetAndGetText, utc_dali_toolkit_text_view_startup, utc_dali_toolkit_text_view_cleanup},
-    {"UtcDaliTextViewSetStyleToCurrentText", UtcDaliTextViewSetStyleToCurrentText, utc_dali_toolkit_text_view_startup, utc_dali_toolkit_text_view_cleanup},
-    {"UtcDaliTextViewSetAndGetLineHeight", UtcDaliTextViewSetAndGetLineHeight, utc_dali_toolkit_text_view_startup, utc_dali_toolkit_text_view_cleanup},
-    {"UtcDaliTextViewSetAndGetFadeBoundary", UtcDaliTextViewSetAndGetFadeBoundary, utc_dali_toolkit_text_view_startup, utc_dali_toolkit_text_view_cleanup},
-    {"UtcDaliTextViewSetAndGetEllipsizeText", UtcDaliTextViewSetAndGetEllipsizeText, utc_dali_toolkit_text_view_startup, utc_dali_toolkit_text_view_cleanup},
-    {"UtcDaliTextViewSetAndGetWidthExceedPolicy", UtcDaliTextViewSetAndGetWidthExceedPolicy, utc_dali_toolkit_text_view_startup, utc_dali_toolkit_text_view_cleanup},
-    {"UtcDaliTextViewSetAndGetHeightExceedPolicy", UtcDaliTextViewSetAndGetHeightExceedPolicy, utc_dali_toolkit_text_view_startup, utc_dali_toolkit_text_view_cleanup},
-    {"UtcDaliTextViewTestLayoutOptions02", UtcDaliTextViewTestLayoutOptions02, utc_dali_toolkit_text_view_startup, utc_dali_toolkit_text_view_cleanup},
-    {"UtcDaliTextViewInsertRemoveText", UtcDaliTextViewInsertRemoveText, utc_dali_toolkit_text_view_startup, utc_dali_toolkit_text_view_cleanup},
-    {"UtcDaliTextViewSnapshotEnable", UtcDaliTextViewSnapshotEnable, utc_dali_toolkit_text_view_startup, utc_dali_toolkit_text_view_cleanup},
-    {"UtcDaliTextViewScroll", UtcDaliTextViewScroll, utc_dali_toolkit_text_view_startup, utc_dali_toolkit_text_view_cleanup},
-    {"UtcDaliTextViewSetProperty", UtcDaliTextViewSetProperty, utc_dali_toolkit_text_view_startup, utc_dali_toolkit_text_view_cleanup},
-    {"UtcDaliTextViewSetSortModifier", UtcDaliTextViewSetSortModifier, utc_dali_toolkit_text_view_startup, utc_dali_toolkit_text_view_cleanup},
-    {"UtcDaliTextViewUnderlineText", UtcDaliTextViewUnderlineText, utc_dali_toolkit_text_view_startup, utc_dali_toolkit_text_view_cleanup},
-    {NULL, NULL}
-};
-
-#endif // __TCT_DALI_TOOLKIT_CORE_H__
index 7b5ff87..879dbb3 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 412dd3f..7a15412 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index e7f9aa4..fd5c491 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index e816ff6..5e78d31 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
@@ -267,23 +268,27 @@ int UtcDaliControlSignalConnectDisconnect(void)
 
     Actor actor = Actor::New();
     DALI_TEST_EQUALS( actor.SetSizeSignal().GetConnectionCount(), 0u, TEST_LOCATION );
-    actor.SetSizeSignal().Connect( &dummy, &DummyControl::CustomSlot1 );
+    Toolkit::Internal::Control& control = dummy.GetImplementation();
+    DummyControlImpl* dummyImpl = dynamic_cast<DummyControlImpl*>(&control);
+    DALI_TEST_CHECK( dummyImpl );
+
+    actor.SetSizeSignal().Connect( dummyImpl, &DummyControlImpl::CustomSlot1 );
     DALI_TEST_EQUALS( actor.SetSizeSignal().GetConnectionCount(), 1u, TEST_LOCATION );
-    DALI_TEST_EQUALS( dummy.mCustomSlot1Called, false, TEST_LOCATION );
-    DALI_TEST_EQUALS( dummy.mCustomSlot1Value,  Vector3::ZERO, TEST_LOCATION );
+    DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Called, false, TEST_LOCATION );
+    DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Value,  Vector3::ZERO, TEST_LOCATION );
 
     const Vector3 newSize( 10, 10, 0 );
     actor.SetSize( newSize );
-    DALI_TEST_EQUALS( dummy.mCustomSlot1Called, true, TEST_LOCATION );
-    DALI_TEST_EQUALS( dummy.mCustomSlot1Value,  newSize, TEST_LOCATION );
+    DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Called, true, TEST_LOCATION );
+    DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Value,  newSize, TEST_LOCATION );
 
-    dummy.mCustomSlot1Called = false;
-    actor.SetSizeSignal().Disconnect( &dummy, &DummyControl::CustomSlot1 );
+    dummyImpl->mCustomSlot1Called = false;
+    actor.SetSizeSignal().Disconnect( dummyImpl, &DummyControlImpl::CustomSlot1 );
     DALI_TEST_EQUALS( actor.SetSizeSignal().GetConnectionCount(), 0u, TEST_LOCATION );
     const Vector3 ignoredSize( 20, 20, 0 );
     actor.SetSize( ignoredSize );
-    DALI_TEST_EQUALS( dummy.mCustomSlot1Called, false, TEST_LOCATION );
-    DALI_TEST_EQUALS( dummy.mCustomSlot1Value,  newSize/*not ignoredSize*/, TEST_LOCATION );
+    DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Called, false, TEST_LOCATION );
+    DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Value,  newSize/*not ignoredSize*/, TEST_LOCATION );
   }
   END_TEST;
 }
@@ -296,16 +301,19 @@ int UtcDaliControlSignalAutomaticDisconnect(void)
 
   {
     DummyControl dummy = DummyControlImpl::New();
+    Toolkit::Internal::Control& control = dummy.GetImplementation();
+    DummyControlImpl* dummyImpl = dynamic_cast<DummyControlImpl*>(&control);
+    DALI_TEST_CHECK( dummyImpl );
 
-    actor.SetSizeSignal().Connect( &dummy, &DummyControl::CustomSlot1 );
+    actor.SetSizeSignal().Connect( dummyImpl, &DummyControlImpl::CustomSlot1 );
     DALI_TEST_EQUALS( actor.SetSizeSignal().GetConnectionCount(), 1u, TEST_LOCATION );
-    DALI_TEST_EQUALS( dummy.mCustomSlot1Called, false, TEST_LOCATION );
-    DALI_TEST_EQUALS( dummy.mCustomSlot1Value,  Vector3::ZERO, TEST_LOCATION );
+    DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Called, false, TEST_LOCATION );
+    DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Value,  Vector3::ZERO, TEST_LOCATION );
 
     const Vector3 newSize( 10, 10, 0 );
     actor.SetSize( newSize );
-    DALI_TEST_EQUALS( dummy.mCustomSlot1Called, true, TEST_LOCATION );
-    DALI_TEST_EQUALS( dummy.mCustomSlot1Value,  newSize, TEST_LOCATION );
+    DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Called, true, TEST_LOCATION );
+    DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Value,  newSize, TEST_LOCATION );
   }
   // dummyControl automatically disconnects
 
@@ -343,8 +351,6 @@ int UtcDaliControlTestParameters(void)
   DALI_TEST_CHECK( test.GetMaximumSize() == maxSize );
 
   test.KeyEventSignal();
-  DummyControl test2 = DummyControl::New();
-  dynamic_cast< ConnectionTrackerInterface& >( test2 ).GetConnectionCount();
 
   // Provide coverage for pointer destructor
   Control* testControlPtr = new Control;
index f704531..5d0e4ab 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
@@ -652,13 +653,13 @@ int UtcDaliControlImplStyleChange(void)
   Actor actor = Actor::New();
   dummy.Add(actor);
 
-  DALI_TEST_EQUALS( dummyImpl.styleChangeCalled, false, TEST_LOCATION );
+  DALI_TEST_EQUALS( dummyImpl.fontChangeCalled, false, TEST_LOCATION );
   StyleChange styleChange;
   styleChange.defaultFontChange = true;
   Dali::StyleMonitor styleMonitor = application.GetAdaptor().GetToolkitStyleMonitor();
   styleMonitor.EmitStyleChangeSignal(styleChange);
 
-  DALI_TEST_EQUALS( dummyImpl.styleChangeCalled, true, TEST_LOCATION );
+  DALI_TEST_EQUALS( dummyImpl.fontChangeCalled, true, TEST_LOCATION );
 
   Stage::GetCurrent().Remove(dummy);
   END_TEST;
index a5c9a0b..947f530 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 799bad1..befc3b2 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index c9fc767..95d849d 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 0d9a1fd..7e9d341 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 978283f..1567618 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index d1ccae3..b81aa6d 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 12a07c0..cb506a9 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 8b03227..3cec62f 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 0f2812d..d2317a7 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 1e38b08..d139b9f 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 40ae747..f33ca00 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 3abf2d0..4374bfa 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 26abdea..723d35d 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index b8a08cc..55d9c28 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index bda200b..32f162b 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index f0b6215..9c89b59 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
@@ -173,9 +174,7 @@ ScrollView SetupTestScrollView(int rows, int columns, Vector2 size)
   scrollView.SetAnchorPoint(AnchorPoint::CENTER);
   scrollView.SetParentOrigin(ParentOrigin::CENTER);
   scrollView.ApplyConstraint( Constraint::New<Dali::Vector3>( Dali::Actor::SIZE, Dali::ParentSource( Dali::Actor::SIZE ), Dali::EqualToConstraint() ) );
-  // Disable Refresh signal (TET environment cannot use adaptor's Timer)
   scrollView.SetWrapMode(false);
-  scrollView.SetRefreshInterval(0);
   scrollView.ScrollStartedSignal().Connect( &OnScrollStart );
   scrollView.ScrollUpdatedSignal().Connect( &OnScrollUpdate );
   scrollView.ScrollCompletedSignal().Connect( &OnScrollComplete );
index 705c6e7..055d632 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index cac6977..41436d6 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
index 1cf8bea..5b56cec 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 
index 705b2f4..08e37d1 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <iostream>
 #include <stdlib.h>
diff --git a/automated-tests/templates/tct-package/README b/automated-tests/templates/tct-package/README
new file mode 100644 (file)
index 0000000..0af341f
--- /dev/null
@@ -0,0 +1,43 @@
+The scripts contained in the automated-tests/scripts folder are based on
+the Web Application Security & Privacy module test suite from Intel,
+with the following license:
+
+----------------------------------------------
+License
+----------------------------------------------
+Copyright (c) 2012 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original 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 Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "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 INTEL CORPORATION 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.
+
+Authors:
+        Yue, Jianhui <jianhuix.a.yue@intel.com>
+
+Modifications to scripts:
+Added mechanism to build and execute tests with finer granularity.
+Added option to generate tests for executing on desktop
+
+Copyright (c) 2014 Samsung Electronics Co., Ltd.
+
+Authors:
+        Steele, David <david.steele@partner.samsung.com>
diff --git a/automated-tests/templates/tct-package/inst.sh b/automated-tests/templates/tct-package/inst.sh
new file mode 100755 (executable)
index 0000000..c2888df
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/bash
+NAME=$(basename $(cd $(dirname $0);pwd))
+PKG_DIR=%{PKG_DIR} # directory supplied by external script
+PKG_NAME=%{PKG_NAME} # name supplied by external script
+PKG_FULLNAME=%{PKG_FULLNAME} # name supplied by external script
+
+#parse params
+USAGE="Usage: ./inst.sh [-i] [-u]
+  -i install wgt and config environment
+  -u uninstall wgt and remove source file
+[-i] option was set as default."
+
+function installpkg(){
+    rpm -e `rpm -qa | grep $PKG_NAME`
+    rpm -ivh --quiet /$PKG_DIR/$PKG_FULLNAME
+    /tmp/add_all_smack_rule.sh
+}
+
+function uninstallpkg(){
+### remove source file ###
+if [ -d /opt/usr/media/tct/opt/$NAME ];then
+    rm -rf /opt/usr/media/tct/opt/$NAME
+    rpm -e $PKG_NAME
+else
+    echo "Remove source file fail, please check if the source file exist: /opt/usr/media/tct/opt/$NAME ..."
+fi
+}
+
+case "$1" in
+    -h|--help) echo "$USAGE"
+               exit ;;
+    ""|-i) installpkg;;
+    -u) uninstallpkg;;
+    *) echo "Unknown option: $1"
+       echo "$USAGE"
+       exit ;;
+esac
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/base/dali-toolkit/images/copypanelLine.png b/base/dali-toolkit/images/copypanelLine.png
deleted file mode 100755 (executable)
index 4a9a101..0000000
Binary files a/base/dali-toolkit/images/copypanelLine.png and /dev/null differ
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/base/dali-toolkit/images/popup_bubble_bg.#.png b/base/dali-toolkit/images/popup_bubble_bg.#.png
new file mode 100644 (file)
index 0000000..202ecec
Binary files /dev/null and b/base/dali-toolkit/images/popup_bubble_bg.#.png differ
similarity index 61%
rename from base/dali-toolkit/images/cutCopyPastePopup_bg.png
rename to base/dali-toolkit/images/popup_bubble_bg_ef.#.png
index b9c6365..462c9db 100644 (file)
Binary files a/base/dali-toolkit/images/cutCopyPastePopup_bg.png and b/base/dali-toolkit/images/popup_bubble_bg_ef.#.png differ
diff --git a/base/dali-toolkit/images/popup_bubble_bg_line.#.png b/base/dali-toolkit/images/popup_bubble_bg_line.#.png
new file mode 100644 (file)
index 0000000..92aee52
Binary files /dev/null and b/base/dali-toolkit/images/popup_bubble_bg_line.#.png differ
diff --git a/base/dali-toolkit/images/popup_bubble_tail_bottom.png b/base/dali-toolkit/images/popup_bubble_tail_bottom.png
new file mode 100644 (file)
index 0000000..2ca1593
Binary files /dev/null and b/base/dali-toolkit/images/popup_bubble_tail_bottom.png differ
diff --git a/base/dali-toolkit/images/popup_bubble_tail_bottom_ef.png b/base/dali-toolkit/images/popup_bubble_tail_bottom_ef.png
new file mode 100644 (file)
index 0000000..53b87fe
Binary files /dev/null and b/base/dali-toolkit/images/popup_bubble_tail_bottom_ef.png differ
diff --git a/base/dali-toolkit/images/popup_bubble_tail_bottom_line.png b/base/dali-toolkit/images/popup_bubble_tail_bottom_line.png
new file mode 100644 (file)
index 0000000..99a9c23
Binary files /dev/null and b/base/dali-toolkit/images/popup_bubble_tail_bottom_line.png differ
diff --git a/base/dali-toolkit/images/popup_bubble_tail_top.png b/base/dali-toolkit/images/popup_bubble_tail_top.png
new file mode 100755 (executable)
index 0000000..6e635fc
Binary files /dev/null and b/base/dali-toolkit/images/popup_bubble_tail_top.png differ
old mode 100644 (file)
new mode 100755 (executable)
similarity index 87%
rename from base/dali-toolkit/images/cursor.png
rename to base/dali-toolkit/images/popup_bubble_tail_top_ef.png
index 14f288b..1ace985
Binary files a/base/dali-toolkit/images/cursor.png and b/base/dali-toolkit/images/popup_bubble_tail_top_ef.png differ
diff --git a/base/dali-toolkit/images/popup_bubble_tail_top_line.png b/base/dali-toolkit/images/popup_bubble_tail_top_line.png
new file mode 100755 (executable)
index 0000000..3b1ad65
Binary files /dev/null and b/base/dali-toolkit/images/popup_bubble_tail_top_line.png differ
diff --git a/base/dali-toolkit/internal/builder/builder-actor.cpp b/base/dali-toolkit/internal/builder/builder-actor.cpp
new file mode 100644 (file)
index 0000000..c453839
--- /dev/null
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// EXTERNAL INCLUDES
+#include <string>
+#include <dali/integration-api/debug.h>
+#include <dali/public-api/scripting/scripting.h>
+
+// INTERNAL INCLUDES
+#include <dali-toolkit/internal/builder/replacement.h>
+#include <dali-toolkit/internal/builder/builder-impl.h>
+
+namespace Dali
+{
+
+namespace Toolkit
+{
+
+namespace Internal
+{
+
+using namespace Dali::Scripting;
+extern bool SetPropertyFromNode( const TreeNode& node, Property::Value& value, const Replacement& constant );
+
+/*
+ * Handles special case actor configuration (anything thats not already a property)
+ *
+ */
+Actor SetupActor( const TreeNode& child, Actor& actor, const Replacement& constant )
+{
+  DALI_ASSERT_ALWAYS( actor && "Empty actor handle" );
+
+  // we allow enums strings for parent-origin and anchor-point but as with the current json
+  // strings always succeed if they exist then check its not vector. If they are Vec3s then
+  // this has already been set as a generic property.
+  if( !IsVector3( child, "parent-origin") )
+  {
+    if( OptionalVector3 v = IsVector3(child, "parent-origin") )
+    {
+      actor.SetParentOrigin( *v );
+    }
+    else if( OptionalString origin = IsString(child, "parent-origin") )
+    {
+      actor.SetParentOrigin( GetAnchorConstant(*origin) );
+    }
+  }
+
+  if( !IsVector3(child, "anchor-point") )
+  {
+    if( OptionalVector3 v = IsVector3(child, "anchor-point") )
+    {
+      actor.SetAnchorPoint( *v );
+    }
+    else if( OptionalString anchor = IsString(child, "anchor-point") )
+    {
+      actor.SetAnchorPoint( GetAnchorConstant(*anchor) );
+    }
+  }
+
+  // Add custom properties
+  if( OptionalChild customPropertiesChild = IsChild(child,  "custom-properties") )
+  {
+    const TreeNode& customPropertiesNode = *customPropertiesChild;
+    const TreeConstIter endIter = customPropertiesNode.CEnd();
+    for( TreeConstIter iter = customPropertiesNode.CBegin(); endIter != iter; ++iter )
+    {
+      const TreeNode::KeyNodePair& keyChild = *iter;
+      std::string key( keyChild.first );
+
+      Property::Index index = actor.GetPropertyIndex( key );
+      Property::Value value;
+      if( SetPropertyFromNode( keyChild.second, value, constant ))
+      {
+        if( Property::INVALID_INDEX == index )
+        {
+          index = actor.RegisterProperty( key, value );
+        }
+        else
+        {
+          actor.SetProperty( index, value );
+        }
+      }
+    }
+  }
+
+  return actor;
+}
+
+} // namespace Internal
+
+} // namespace Toolkit
+
+} // namespace Dali
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <dali/integration-api/debug.h>
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_BUILDER_DECLARATIONS_H__
 #define __DALI_TOOLKIT_BUILDER_DECLARATIONS_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <dali.h>
@@ -1,25 +1,27 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_BUILDER_FILESYSTEM_H__
 #define __DALI_TOOLKIT_INTERNAL_BUILDER_FILESYSTEM_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <string>
 #include <fstream>
+#include <sstream>
 
 #include <wordexp.h>
 #include <stdio.h>
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_BUILDER_GET_IS_INL__
 #define __DALI_TOOLKIT_INTERNAL_BUILDER_GET_IS_INL__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/internal/builder/builder-declarations.h>
@@ -1,24 +1,26 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/internal/builder/builder-impl.h>
 
 // EXTERNAL INCLUDES
 #include <sys/stat.h>
+#include <sstream>
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -49,7 +51,7 @@ extern bool SetPropertyFromNode( const TreeNode& node, Property::Type type, Prop
 extern bool SetPropertyFromNode( const TreeNode& node, Property::Type type, Property::Value& value, const Replacement& replacements );
 extern Actor SetupSignalAction(ConnectionTracker* tracker, const TreeNode &root, const TreeNode &child, Actor actor);
 extern Actor SetupPropertyNotification(ConnectionTracker* tracker, const TreeNode &root, const TreeNode &child, Actor actor);
-extern Actor SetupActor( const TreeNode& node, Actor& actor );
+extern Actor SetupActor( const TreeNode& node, Actor& actor, const Replacement& constant );
 
 #if defined(DEBUG_ENABLED)
 Integration::Log::Filter* gFilterScript  = Integration::Log::Filter::New(Debug::NoLogging, false, "LOG_SCRIPT");
@@ -221,7 +223,7 @@ void Builder::SetProperties( const TreeNode& node, Handle& handle, const Replace
 
       std::string key( keyChild.first );
 
-      // ignore special fields; type,actors,signals
+      // ignore special fields; type,actors,signals,styles
       if(key == KEYNAME_TYPE || key == KEYNAME_ACTORS || key == KEYNAME_SIGNALS || key == KEYNAME_STYLES)
       {
         continue;
@@ -327,7 +329,7 @@ void Builder::ApplyProperties( const TreeNode& root, const TreeNode& node,
 
     if( actor )
     {
-      SetupActor( node, actor );
+      SetupActor( node, actor, constant );
 
       // add signals
       SetupSignalAction( mSlotDelegate.GetConnectionTracker(), root, node, actor );
@@ -994,13 +996,13 @@ void Builder::LoadConstants( const TreeNode& root, PropertyValueMap& intoMap )
 
 }
 
-void Builder::ApplyStyle( const std::string& styleName, Handle& handle )
+bool Builder::ApplyStyle( const std::string& styleName, Handle& handle )
 {
   Replacement replacer( mReplacementMap );
-  ApplyStyle( styleName, handle, replacer );
+  return ApplyStyle( styleName, handle, replacer );
 }
 
-void Builder::ApplyStyle( const std::string& styleName, Handle& handle, const Replacement& replacement )
+bool Builder::ApplyStyle( const std::string& styleName, Handle& handle, const Replacement& replacement )
 {
   DALI_ASSERT_ALWAYS(mParser.GetRoot() && "Builder script not loaded");
 
@@ -1010,12 +1012,13 @@ void Builder::ApplyStyle( const std::string& styleName, Handle& handle, const Re
   if( styles && style )
   {
     ApplyAllStyleProperties( *mParser.GetRoot(), *style, handle, replacement );
+    return true;
   }
   else
   {
     DALI_SCRIPT_WARNING("No styles section to create style '%s'\n", styleName.c_str());
+    return false;
   }
-
 }
 
 BaseHandle Builder::Create( const std::string& templateName, const PropertyValueMap& map )
@@ -1,27 +1,27 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_BUILDER_H__
 #define __DALI_TOOLKIT_INTERNAL_BUILDER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <string>
 #include <list>
 #include <map>
-#include <boost/property_tree/ptree.hpp>
 #include <dali/dali.h>
 #include <dali/integration-api/debug.h>
 
@@ -151,7 +151,7 @@ public:
   /**
    * @copydoc Toolkit::Builder::ApplyStyle
    */
-  void ApplyStyle( const std::string& styleName, Handle& handle );
+  bool ApplyStyle( const std::string& styleName, Handle& handle );
 
   void AnimateTo( const std::string& styleName, Handle& handle );
 
@@ -232,7 +232,7 @@ private:
 
   void LoadIncludes( const std::string& data );
 
-  void ApplyStyle( const std::string& styleName, Handle& handle, const Replacement& replacement);
+  bool ApplyStyle( const std::string& styleName, Handle& handle, const Replacement& replacement);
 
   Animation CreateAnimation( const std::string& animationName, const Replacement& replacement, Dali::Actor sourceActor );
 
@@ -1,24 +1,29 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// EXTERNAL INCLUDES
+#include <sstream>
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/internal/builder/builder-impl.h>
 #include <dali-toolkit/internal/builder/builder-get-is.inl.h>
 #include <dali-toolkit/internal/builder/replacement.h>
 
+
 namespace Dali
 {
 
@@ -202,7 +207,7 @@ bool SetPropertyFromNode( const TreeNode& node, Property::Type type, Property::V
     }
     case Property::UNSIGNED_INTEGER:
     {
-      if( OptionalInteger v = replacer.IsInteger(node) )
+      if( OptionalUnsignedInt v = replacer.IsUnsignedInteger( node) )
       {
         if( *v >= 0 ) // with a loss of resolution....
         {
@@ -244,6 +249,12 @@ bool SetPropertyFromNode( const TreeNode& node, Property::Type type, Property::V
           value = HexStringToVector4( &(*s)[1] );
           done = true;
         }
+        else if( Dali::ColorController::Get() )
+        {
+          Vector4 color;
+          done = Dali::ColorController::Get().RetrieveColor( *s, color );
+          value = color;
+        }
       }
       else if( TreeNode::OBJECT == node.GetType() )
       {
@@ -1,21 +1,23 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <dali/integration-api/debug.h>
+#include <boost/function.hpp>
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/internal/builder/builder-impl.h>
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/internal/builder/json-parser-impl.h>
@@ -1,21 +1,22 @@
 #ifndef __DALI_JSON_PARSER_IMPL_H__
 #define __DALI_JSON_PARSER_IMPL_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <string>
 #include <vector>
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/internal/builder/json-parser-state.h>
@@ -349,6 +350,11 @@ bool JsonParserState::ParseWhiteSpace()
   bool c_comment   = false;
   bool cpp_comment = false;
 
+  if( mIter == mEnd )
+  {
+    return true;
+  }
+
   // skip white space
   char nextChar = 0;
   while(1)
@@ -1,21 +1,22 @@
 #ifndef __DALI_JSON_PARSE_STATE_H__
 #define __DALI_JSON_PARSE_STATE_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali/public-api/common/dali-common.h>
 
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_BUILDER_OPTIONAL__
 #define __DALI_TOOLKIT_INTERNAL_BUILDER_OPTIONAL__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 template <typename T>
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/internal/builder/replacement.h>
@@ -377,6 +378,27 @@ OptionalInteger Replacement::IsInteger( const TreeNode & node ) const
   return ret;
 }
 
+OptionalUnsignedInt Replacement::IsUnsignedInteger( const TreeNode & node ) const
+{
+  OptionalUnsignedInt ret;
+  if( OptionalString replace = HasFullReplacement( node ) )
+  {
+    Property::Value value = GetFullReplacement( *replace );
+    if( Property::UNSIGNED_INTEGER == value.GetType() )
+    {
+      ret = value.Get<unsigned int>();
+    }
+  }
+  else
+  {
+    if ( OptionalInteger i = ::IsInteger( node ) )
+    {
+      ret = OptionalUnsignedInt(static_cast<unsigned int>(*i) );
+    }
+  }
+  return ret;
+}
+
 OptionalVector2 Replacement::IsVector2( const TreeNode & node ) const
 {
   OptionalVector2 ret;
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_BUILDER_REPLACEMENT__
 #define __DALI_TOOLKIT_INTERNAL_BUILDER_REPLACEMENT__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali/public-api/object/property-value.h>
 #include <dali-toolkit/public-api/builder/builder.h>
@@ -98,6 +99,13 @@ public:
    * @param node The TreeNode to check
    * @return Optional value
    */
+  OptionalUnsignedInt IsUnsignedInteger( const TreeNode & node ) const;
+
+  /* @brief Check node for a type
+   *
+   * @param node The TreeNode to check
+   * @return Optional value
+   */
   OptionalVector2 IsVector2( const TreeNode & node ) const;
 
   /* @brief Check node for a type
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <cstring>
@@ -1,21 +1,22 @@
 #ifndef __DALI_SCRIPT_TREE_NODE_MANIPULATOR_H__
 #define __DALI_SCRIPT_TREE_NODE_MANIPULATOR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <utility> // pair
 #include <iterator>
index e661a87..a02ef71 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
@@ -623,7 +624,7 @@ void Alignment::OnRelaidOut( Vector2 size, ActorSizeContainer& container )
 }
 
 Alignment::Alignment( Toolkit::Alignment::Type horizontal, Toolkit::Alignment::Type vertical )
-: Control( false ),  // doesn't require touch events
+: Control( CONTROL_BEHAVIOUR_NONE ),
   mHorizontal( horizontal ),
   mVertical( vertical ),
   mScaling( Toolkit::Alignment::ScaleNone ),
index 73f51d6..132ccb0 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_ALIGNMENT_H__
 #define __DALI_TOOLKIT_INTERNAL_ALIGNMENT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/control-impl.h>
index 8536b0b..f2e4af1 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
@@ -52,7 +53,7 @@ PropertyRegistration property1( typeRegistration, "dimmed", Toolkit::Button::PRO
 } // unnamed namespace
 
 Button::Button()
-: Control( true ),
+: Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS | REQUIRES_STYLE_CHANGE_SIGNALS ) ),
   mState( ButtonUp ),
   mDimmed( false ),
   mPainter( NULL )
index 076777a..441a725 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_BUTTON_H__
 #define __DALI_TOOLKIT_INTERNAL_BUTTON_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index 4626c3a..f03c191 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_BUTTON_PAINTER_H__
 #define __DALI_TOOLKIT_INTERNAL_BUTTON_PAINTER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/object/ref-object.h>
index 9623ff4..29d3d0e 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
index 951659c..b6a2ee1 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_CHECK_BOX_BUTTON_DEFAULT_PAINTER_H__
 #define __DALI_TOOLKIT_INTERNAL_CHECK_BOX_BUTTON_DEFAULT_PAINTER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/images/image.h>
index 4eb7831..ea4909d 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
index 45bb173..b607050 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_CHECK_BOX_BUTTON_H__
 #define __DALI_TOOLKIT_INTERNAL_CHECK_BOX_BUTTON_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/common/dali-vector.h>
index c923344..79bd572 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_CHECK_BOX_BUTTON_PAINTER_H__
 #define __DALI_TOOLKIT_INTERNAL_CHECK_BOX_BUTTON_PAINTER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include "button-painter-impl.h"
index d44470d..55ec87b 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
index c1ea567..3301408 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_DEFAULT_PAINTER_H__
 #define __DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_DEFAULT_PAINTER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/images/image.h>
index 4f87d38..46159ed 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
index 7ea0239..a6c0b86 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_H__
 #define __DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/common/dali-vector.h>
index 8f0574a..7591eea 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_PAINTER_H__
 #define __DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_PAINTER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include "button-painter-impl.h"
index 47995d4..81e7887 100755 (executable)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/internal/controls/popup/popup-impl.h>
 
@@ -169,7 +170,7 @@ Dali::Toolkit::Popup Popup::New()
 }
 
 Popup::Popup(PopupStyle& style)
-: Control(true),
+: Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS | REQUIRES_STYLE_CHANGE_SIGNALS ) ),
   mShowing(false),
   mState(Toolkit::Popup::POPUP_NONE), // Initially, the popup state should not be set, it's set in OnInitialize
   mAlterAddedChild(false),
index 63ddb1a..ccf9e8e 100755 (executable)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_POPUP_H__
 #define __DALI_TOOLKIT_INTERNAL_POPUP_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index e6ef2c9..7ce77b1 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/internal/controls/popup/popup-style-impl.h>
 
index 80b65bc..51c596b 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_POPUP_STYLE_H__
 #define __DALI_TOOLKIT_INTERNAL_POPUP_STYLE_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index e76632b..e235d98 100644 (file)
@@ -1,34 +1,32 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // FILE HEADER
 
 #include "relayout-controller-impl.h"
 
 // EXTERNAL INCLUDES
-
-#include <stack>
-#include <sstream>
 #include <dali/integration-api/debug.h>
+#if defined(DEBUG_ENABLED)
+#include <sstream>
+#endif // defined(DEBUG_ENABLED)
 
 // INTERNAL INCLUDES
-
-#include "dali-toolkit/public-api/controls/control.h"
-#include "dali-toolkit/public-api/controls/control-impl.h"
-#include "dali-toolkit/public-api/controls/text-view/text-view.h"
+#include <dali-toolkit/public-api/controls/text-view/text-view.h>
 
 namespace Dali
 {
@@ -36,9 +34,6 @@ namespace Dali
 namespace Toolkit
 {
 
-typedef std::pair< Control, Vector2 > ControlSizePair;
-typedef std::stack< ControlSizePair > ControlStack;
-
 namespace Internal
 {
 
@@ -138,7 +133,7 @@ void FindControls( Actor actor, ControlStack& controls, Vector2 size )
     // Only set the width and height if they are non zero.
     SetIfNotZero( size, controlSetSize );
 
-    controls.push( ControlSizePair( control, size ) );
+    controls.push_back( ControlSizePair( control, size ) );
   }
   else
   {
@@ -166,6 +161,15 @@ void PushToStack( ControlStack& controlStack, const ActorSizeContainer& containe
 
 } // unnamed namespace
 
+RelayoutControllerImpl::RelayoutControllerImpl( bool& relayoutFlag )
+: mRelayoutFlag( relayoutFlag ),
+  mRelayoutConnection( false )
+{
+  // make space for 32 controls to avoid having to copy construct a lot in the beginning
+  mControlStack.reserve( 32 );
+  mSizecontainer.reserve( 32 );
+}
+
 RelayoutControllerImpl::~RelayoutControllerImpl()
 {
 }
@@ -184,49 +188,40 @@ void RelayoutControllerImpl::Request()
 
 void RelayoutControllerImpl::Relayout()
 {
-  PRINT_HIERARCHY;
-
-  // 1. Finds all top-level controls from the root actor and allocate them the size of the stage
-  //    These controls are paired with the stage size and added to the stack.
-  ControlStack controlStack;
-  FindControls( Stage().GetCurrent().GetRootLayer(), controlStack, Stage::GetCurrent().GetSize() );
-
-  // 2. Iterate through the stack until it's empty.
-  while ( !controlStack.empty() )
+  // only do something when requested
+  if( mRelayoutFlag )
   {
-    ControlSizePair pair ( controlStack.top() );
-    Toolkit::Control control ( pair.first );
-    Vector2 size ( pair.second );
-    controlStack.pop();
+    // clear the flag as we're now doing the relayout
+    mRelayoutFlag = false;
+    PRINT_HIERARCHY;
 
-    DALI_LOG_INFO( gLogFilter, Debug::General, "Allocating %p (%.2f, %.2f)\n", control.GetObjectPtr(), size.width, size.height );
+    mControlStack.clear(); // we do not release memory, just empty the container
 
-    // 3. Negotiate the size with the current control. Pass it an empty container which the control
-    //    has to fill with all the actors it has not done any size negotiation for.
-    ActorSizeContainer container;
-    control.GetImplementation().NegotiateSize( size, container );
+    // 1. Finds all top-level controls from the root actor and allocate them the size of the stage
+    //    These controls are paired with the stage size and added to the stack.
+    FindControls( Stage().GetCurrent().GetRootLayer(), mControlStack, Stage::GetCurrent().GetSize() );
 
-    // 4. Push the controls from the actors in the container to the stack.
-    PushToStack( controlStack, container );
-  }
+    // 2. Iterate through the stack until it's empty.
+    while ( !mControlStack.empty() )
+    {
+      ControlSizePair pair ( mControlStack.back() );
+      Toolkit::Control control ( pair.first );
+      Vector2 size ( pair.second );
+      mControlStack.pop_back();
 
-  //Disconnect so that we relayout only when requested to do so.
-  Disconnect();
-}
+      DALI_LOG_INFO( gLogFilter, Debug::General, "Allocating %p (%.2f, %.2f)\n", control.GetObjectPtr(), size.width, size.height );
 
-void RelayoutControllerImpl::Disconnect()
-{
-  if( mRelayoutConnection )
-  {
-    Stage stage = Stage::GetCurrent();
-    stage.EventProcessingFinishedSignal().Disconnect( this, &RelayoutControllerImpl::Relayout );
-    mRelayoutConnection = false;
-  }
-}
+      mSizecontainer.clear();
+      // 3. Negotiate the size with the current control. Pass it an empty container which the control
+      //    has to fill with all the actors it has not done any size negotiation for.
+      control.GetImplementation().NegotiateSize( size, mSizecontainer );
 
-RelayoutControllerImpl::RelayoutControllerImpl()
-: mRelayoutConnection( false )
-{
+      // 4. Push the controls from the actors in the container to the stack.
+      PushToStack( mControlStack, mSizecontainer );
+    }
+  }
+  // should not disconnect the signal as that causes some control size negotiations to not work correctly
+  // this algorithm needs more optimization as well
 }
 
 } // namespace Internal
index 0ffed08..8339e99 100644 (file)
@@ -1,23 +1,30 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_RELAYOUT_CONTROLLER_IMPL_H__
 #define __DALI_TOOLKIT_INTERNAL_RELAYOUT_CONTROLLER_IMPL_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
+// EXTERNAL INCLUDES
 #include <dali/dali.h>
+#include <dali/public-api/common/vector-wrapper.h>
+
+// INTERNAL INCLUDES
+#include <dali-toolkit/public-api/controls/control.h>
+#include <dali-toolkit/public-api/controls/control-impl.h>
 #include "relayout-controller.h"
 
 namespace Dali
@@ -31,6 +38,9 @@ namespace Internal
 
 class RelayoutController;
 
+typedef std::pair< Dali::Toolkit::Control, Vector2 > ControlSizePair;
+typedef std::vector< ControlSizePair > ControlStack;
+
 /**
  * @copydoc Toolkit::Internal::RelayoutController
  */
@@ -41,8 +51,9 @@ public:
   /**
    * Constructor.
    * We should only create a unique instance.
+   * @param relayoutFlag to avoid unnecessary calls inside a single frame
    */
-  RelayoutControllerImpl();
+  RelayoutControllerImpl( bool& relayoutFlag );
 
 
   /**
@@ -78,7 +89,11 @@ private:
 
 private:
 
-  bool mRelayoutConnection:1; ///< Whether EventProcessingFinishedSignal signal is connected.
+  bool& mRelayoutFlag;               ///< reference to relayout flag to avoid unnecessary calls
+  ControlStack mControlStack;        ///< stack for relayouting
+  ActorSizeContainer mSizecontainer; ///< size container
+  bool mRelayoutConnection:1;        ///< Whether EventProcessingFinishedSignal signal is connected.
+
 };
 
 } // namespace Internal
index 834ab27..8dce13a 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // FILE HEADER
 
@@ -21,7 +22,6 @@
 
 // EXTERNAL INCLUDES
 
-#include <boost/thread/tss.hpp>
 #include <stack>
 #include <sstream>
 #include <dali/integration-api/debug.h>
@@ -41,6 +41,14 @@ namespace Toolkit
 namespace Internal
 {
 
+namespace
+{
+// Flag to avoid doing more than one request per frame
+// getting the singleton handle can be expensive as it requires calling to adaptor, dynamic cast etc
+// and it can get called 100 times per frame easily in startup and new view initialization
+  bool gRelayoutRequestPending = false;
+}
+
 RelayoutController::RelayoutController()
 {
 
@@ -51,28 +59,33 @@ RelayoutController::~RelayoutController()
 
 }
 
-RelayoutController RelayoutController::Get()
+void RelayoutController::Request()
 {
-  RelayoutController controller;
-
-  // Check whether the RelayoutController is already created
-  Dali::Adaptor& adaptor = Dali::Adaptor::Get();
-  Dali::BaseHandle handle = adaptor.GetSingleton(typeid(RelayoutController));
-
-  if(handle)
+  // are we already going to do it this frame
+  if( !gRelayoutRequestPending )
   {
-    // If so, downcast the handle of singleton to RelayoutController
-    controller = RelayoutController(dynamic_cast<Internal::RelayoutControllerImpl*>(handle.GetObjectPtr()));
+    RelayoutController controller;
+
+    // Check whether the RelayoutController is already created
+    Dali::Adaptor& adaptor = Dali::Adaptor::Get();
+    Dali::BaseHandle handle = adaptor.GetSingleton(typeid(RelayoutController));
+
+    if(handle)
+    {
+      // If so, downcast the handle of singleton to RelayoutController
+      controller = RelayoutController(dynamic_cast<Internal::RelayoutControllerImpl*>(handle.GetObjectPtr()));
+    }
+
+    if(!controller)
+    {
+      // If not, create the RelayoutController and register it as a singleton
+      controller = RelayoutController( new Internal::RelayoutControllerImpl(gRelayoutRequestPending) );
+      adaptor.RegisterSingleton( typeid(controller), controller );
+    }
+
+    GetImpl(controller).Request();
+    gRelayoutRequestPending = true;
   }
-
-  if(!controller)
-  {
-    // If not, create the RelayoutController and register it as a singleton
-    controller = RelayoutController(new Internal::RelayoutControllerImpl());
-    adaptor.RegisterSingleton(typeid(controller), controller);
-  }
-
-  return controller;
 }
 
 RelayoutController::RelayoutController(Internal::RelayoutControllerImpl *impl)
@@ -80,12 +93,6 @@ RelayoutController::RelayoutController(Internal::RelayoutControllerImpl *impl)
 {
 }
 
-void RelayoutController::Request()
-{
-  GetImpl(*this).Request();
-}
-
-
 } // namespace Internal
 
 } // namespace Toolkit
index dd7abca..7ec67b8 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_RELAYOUT_CONTROLLER_H__
 #define __DALI_TOOLKIT_INTERNAL_RELAYOUT_CONTROLLER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali/dali.h>
 
@@ -45,24 +46,21 @@ public:
   RelayoutController();
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~RelayoutController();
-
-  /**
-   * Get the singleton of RelayoutController object.
-   * @return A handle to the RelayoutController.
-   */
-  static RelayoutController Get();
+  ~RelayoutController();
 
   /**
    * Request to relayout.
    */
-  void Request();
+  static void Request();
 
 private:
 
-  RelayoutController(Internal::RelayoutControllerImpl *impl);
+  RelayoutController(Internal::RelayoutControllerImpl* impl);
+
 };
 
 } // namespace Internal
index e951e80..5315c53 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "relayout-helper.h"
 
index 1f61406..15fbfe4 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_RELAYOUT_HELPER_H__
 #define __DALI_TOOLKIT_INTERNAL_RELAYOUT_HELPER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -34,12 +35,30 @@ namespace RelayoutHelper
 {
 
 /**
+ * Gets the natural size of the given actor.
  *
+ * If the actor is a Control, it returns the natural size of the Control. @see Control::GetNaturalSize()
+ * If the actor is an ImageActor, it returns the size of the image.
+ * If the actor is a TextActor, it returns the size of the text. @see Font::MeasureText()
+ * Otherwise it returns the actor's current size. @see Actor::GetCurrentSize()
+ *
+ * @param[in] actor The actor.
+ *
+ * @return The natural size.
  */
 Vector3 GetNaturalSize( Actor actor );
 
 /**
+ * Gets the actor's height for the given width.
+ *
+ * If the actor is a Control it returns the height for width. @see Control::GetHeightForWidth()
+ * If the actor is an ImageActor or a TextActor it scales the natural size to fit the given width. @see GetNaturalSize()
+ * Otherwise it returns the actor's current size. @see Actor::GetCurrentSize()
+ *
+ * @param[in] actor The actor.
+ * @param[in] width The width.
  *
+ * @return The actor's height for given width.
  */
 float GetHeightForWidth( Actor actor, float width );
 
index db2fdc7..6298e7d 100755 (executable)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.h>
 #include <dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.h>
@@ -198,11 +199,15 @@ void ScrollBar::SetBackgroundImage( Image image, const Vector4& border )
   {
     mBackground.SetImage(image);
   }
-
   mBackground.SetNinePatchBorder( border );
   mBackground.SetStyle( ImageActor::STYLE_NINE_PATCH );
 }
 
+void ScrollBar::SetIndicatorImage( Image image )
+{
+  mIndicator.SetImage(image);
+}
+
 void ScrollBar::SetIndicatorImage( Image image, const Vector4& border )
 {
   mIndicator.SetImage(image);
@@ -279,7 +284,7 @@ void ScrollBar::SetPositionNotifications( const std::vector<float>& positions )
 void ScrollBar::OnScrollPositionNotified(PropertyNotification& source)
 {
   // Emit the signal to notify the scroll position crossing
-  mScrollPositionNotifiedSignal.Emit(mScrollPositionObject.GetProperty<float>( Toolkit::ScrollConnector::SCROLL_POSITION ));
+  mScrollPositionNotifiedSignal.Emit(mScrollConnector.GetScrollPosition());
 }
 
 void ScrollBar::Show()
@@ -313,13 +318,9 @@ void ScrollBar::Hide()
 bool ScrollBar::OnPanGestureProcessTick()
 {
   // Update the scroll position property.
-  mScrollPositionObject.SetProperty( Toolkit::ScrollConnector::SCROLL_POSITION, mCurrentScrollPosition );
-
-  Dali::Toolkit::ItemView itemView = Dali::Toolkit::ItemView::DownCast(Self().GetParent());
-  if(itemView)
+  if( mScrollConnector )
   {
-    // Refresh ItemView immediately when the scroll position is changed.
-    GetImpl(itemView).DoRefresh(mCurrentScrollPosition, false); // No need to cache extra items.
+    mScrollConnector.SetScrollPosition(mCurrentScrollPosition);
   }
 
   return true;
@@ -327,8 +328,10 @@ bool ScrollBar::OnPanGestureProcessTick()
 
 void ScrollBar::OnPan( PanGesture gesture )
 {
-  if(mScrollPositionObject)
+  if(mScrollConnector)
   {
+    Dali::Toolkit::ItemView itemView = Dali::Toolkit::ItemView::DownCast(Self().GetParent());
+
     switch(gesture.state)
     {
       case Gesture::Started:
@@ -342,7 +345,7 @@ void ScrollBar::OnPan( PanGesture gesture )
         }
 
         Show();
-        mScrollStart = mScrollPositionObject.GetProperty<float>( Toolkit::ScrollConnector::SCROLL_POSITION );
+        mScrollStart = mScrollConnector.GetScrollPosition();
         mGestureDisplacement = Vector3::ZERO;
         mIsPanning = true;
 
@@ -372,11 +375,16 @@ void ScrollBar::OnPan( PanGesture gesture )
           mTimer.Reset();
         }
 
+        if(itemView)
+        {
+          // Refresh the ItemView cache with extra items
+          GetImpl(itemView).DoRefresh(mCurrentScrollPosition, true);
+        }
+
         break;
       }
     }
 
-    Dali::Toolkit::ItemView itemView = Dali::Toolkit::ItemView::DownCast(Self().GetParent());
     if(itemView)
     {
       // Disable automatic refresh in ItemView during fast scrolling
index 0b4c344..fb6786c 100755 (executable)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SCROLL_BAR_H__
 #define __DALI_TOOLKIT_INTERNAL_SCROLL_BAR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/scrollable/scroll-component-impl.h>
@@ -84,6 +85,11 @@ public:
   /**
    * @copydoc Toolkit::ScrollBar::SetIndicatorImage()
    */
+  void SetIndicatorImage( Image image );
+
+  /**
+   * @copydoc Toolkit::ScrollBar::SetIndicatorImage()
+   */
   void SetIndicatorImage( Image image, const Vector4& border );
 
   /**
index 408530d..c4eca74 100755 (executable)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/internal/controls/scroll-component/scroll-bar-internal-impl.h>
 #include <dali-toolkit/public-api/enums.h>
index 3e3f20d..65a3033 100755 (executable)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SCROLL_BAR_INTERNAL_H__
 #define __DALI_TOOLKIT_INTERNAL_SCROLL_BAR_INTERNAL_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/scrollable/scroll-component-impl.h>
index 18189fe..bb1e629 100755 (executable)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/internal/controls/scroll-component/scroll-bar-internal.h>
 #include <dali-toolkit/internal/controls/scroll-component/scroll-bar-internal-impl.h>
index 47cf67c..f1e84af 100755 (executable)
@@ -1,24 +1,25 @@
 #ifndef __DALI_TOOLKIT_SCROLL_BAR_INTERNAL_H__
 #define __DALI_TOOLKIT_SCROLL_BAR_INTERNAL_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
-#include <dali-toolkit/public-api/controls/scrollable//scroll-component.h>
+#include <dali-toolkit/public-api/controls/scrollable/scroll-component.h>
 #include <dali-toolkit/public-api/controls/scrollable/scrollable.h>
 
 namespace Dali DALI_IMPORT_API
diff --git a/base/dali-toolkit/internal/controls/scrollable/bouncing-effect-actor.cpp b/base/dali-toolkit/internal/controls/scrollable/bouncing-effect-actor.cpp
new file mode 100644 (file)
index 0000000..237e81a
--- /dev/null
@@ -0,0 +1,127 @@
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// CLASS HEADER
+#include <dali-toolkit/internal/controls/scrollable/bouncing-effect-actor.h>
+
+// INTERNAL INCLUDES
+#include <dali/public-api/actors/mesh-actor.h>
+#include <dali/public-api/geometry/animatable-mesh.h>
+#include <dali/public-api/animation/constraint.h>
+#include <dali/public-api/shader-effects/shader-effect.h>
+#include <dali/public-api/math/vector3.h>
+
+// EXTERNAL INCLUDES
+#include <math.h>
+
+namespace Dali
+{
+
+namespace Toolkit
+{
+
+namespace Internal
+{
+
+namespace
+{
+// Bouncing effect is presented by stacked three layers with same color and opacity
+const size_t NUM_LAYERS( 3 );
+const Vector3 LAYER_HEIGHTS( 1.f, 27.f/42.f, 13.f/42.f);
+
+// use the actor color to paint every layer
+const char* MESH_FRAGMENT_SHADER =
+"void main()\n"
+"{\n"
+"  gl_FragColor = uColor;\n"
+"}\n";
+
+// Constraint to move the vertices vertically
+struct VertexPositionConstraint
+{
+  VertexPositionConstraint( float initialY, float range )
+  : mInitialY( initialY ),
+    mRange( range )
+  {
+  }
+
+  Vector3 operator()( const Vector3& current, const PropertyInput& bounceCoef )
+  {
+    float positionY = mInitialY + mRange * fabsf(bounceCoef.GetFloat());
+    return Vector3( current.x, positionY, current.z );
+  }
+
+  float mInitialY;
+  float mRange;
+};
+
+} // namespace Anon
+
+Actor CreateBouncingEffectActor( Property::Index& bouncePropertyIndex )
+{
+  Dali::AnimatableMesh             mesh;
+  Dali::MeshActor                  meshActor;
+
+  Dali::AnimatableMesh::Faces faces;
+  faces.reserve( NUM_LAYERS * 6 ); // 2 triangles per layer
+  for( size_t i=0; i<NUM_LAYERS; i++ )
+  {
+    size_t j=i*4;
+    faces.push_back(j); faces.push_back(j+3); faces.push_back(j+1);
+    faces.push_back(j); faces.push_back(j+2); faces.push_back(j+3);
+  }
+
+  mesh = Dali::AnimatableMesh::New(NUM_LAYERS*4, faces); // 4 vertices per layer
+  for( size_t i=0;i<NUM_LAYERS;i++ )
+  {
+    size_t j=i*4;
+    float positionZ = 0.01f*static_cast<float>( i ); // the interval between each layer is 0.01
+    mesh[j  ].SetPosition( Vector3( -0.5f, -0.5f, positionZ ) );
+    mesh[j+1].SetPosition( Vector3( 0.5f, -0.5f, positionZ ) );
+    mesh[j+2].SetPosition( Vector3( -0.5f, -0.5f, positionZ ) );
+    mesh[j+3].SetPosition( Vector3( 0.5f, -0.5f, positionZ ) );
+  }
+
+  meshActor = Dali::MeshActor::New(mesh);
+  meshActor.SetAffectedByLighting(false);
+
+  Dali::ShaderEffect shaderEffect = Dali::ShaderEffect::New( "", MESH_FRAGMENT_SHADER,
+                                                             GEOMETRY_TYPE_MESH,
+                                                             Dali::ShaderEffect::HINT_BLENDING );
+  meshActor.SetShaderEffect(shaderEffect);
+
+  // To control the movement of all vertices with one custom property
+  bouncePropertyIndex = meshActor.RegisterProperty("BounceCoeffcient", 0.f);
+  for( size_t i=0;i<NUM_LAYERS;i++ )
+  {
+    size_t j=i*4;
+    mesh.ApplyConstraint( Constraint::New<Vector3>( mesh.GetPropertyIndex(j+2, AnimatableVertex::POSITION ),
+                                                    Source(meshActor, bouncePropertyIndex),
+                                                    VertexPositionConstraint(-0.5f, LAYER_HEIGHTS[i]) ) );
+    mesh.ApplyConstraint( Constraint::New<Vector3>( mesh.GetPropertyIndex(j+3,  AnimatableVertex::POSITION),
+                                                    Source(meshActor, bouncePropertyIndex),
+                                                    VertexPositionConstraint(-0.5f, LAYER_HEIGHTS[i]) ) );
+  }
+
+  return meshActor;
+}
+
+} // namespace Internal
+
+} // namespace Toolkit
+
+} // namespace Dali
diff --git a/base/dali-toolkit/internal/controls/scrollable/bouncing-effect-actor.h b/base/dali-toolkit/internal/controls/scrollable/bouncing-effect-actor.h
new file mode 100644 (file)
index 0000000..b374df5
--- /dev/null
@@ -0,0 +1,69 @@
+#ifndef __DALI_TOOLKIT_INTERNAL_BOUNCING_EFFECT_ACTOR_H__
+#define __DALI_TOOLKIT_INTERNAL_BOUNCING_EFFECT_ACTOR_H__
+
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// INTERNAL INCLUDES
+#include <dali/public-api/actors/actor.h>
+#include <dali/public-api/object/property.h>
+
+namespace Dali
+{
+
+namespace Toolkit
+{
+
+namespace Internal
+{
+
+/**
+ * @brief Creates a Dali::Actor to display the bouncing effect for overshoot
+ *
+ * Usage example:
+ * @code
+ *  // create the actor and get the property index for animation
+ *  Property::Index bouncePropertyIndex = Property::INVALID_INDEX;
+ *  Actor bounceActor = CreateBouncingEffectActor( bouncePropertyIndex );
+
+ *  // set size and color
+ *  bounceActor.SetSize(720.f, 42.f );
+ *  bounceActor.SetColor( Vector4( 0.0,0.64f,0.85f,0.25f ) );
+ *
+ *  // add to stage
+ *  bounceActor.SetParentOrigin(ParentOrigin::CENTER);
+ *  Stage::GetCurrent().Add(bounceActor);
+
+ *  // start the bouncing animation
+ *  Animation anim = Animation::New(2.0f);
+ *  anim.AnimateTo( Property( bounceActor, bouncePropertyIndex ), 1.f, AlphaFunctions::Sin );
+ *  anim.Play();
+ * @endcode
+ *
+ * @param[out] bouncePropertyIndex The property index which controls the bouncing
+ * @return The actor which displays the bouncing effect
+ */
+Actor CreateBouncingEffectActor( Property::Index& bouncePropertyIndex);
+
+} // namespace Internal
+
+} // namespace Toolkit
+
+} // namespace Dali
+
+
+#endif /* __DALI_TOOLKIT_INTERNAL_BOUNCING_EFFECT_ACTOR_H__ */
index ea5341f..dc5a456 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.h>
@@ -24,7 +25,7 @@
 #include <dali/public-api/events/mouse-wheel-event.h>
 #include <dali-toolkit/public-api/controls/scrollable/item-view/item-factory.h>
 #include <dali-toolkit/internal/controls/scrollable/scroll-connector-impl.h>
-#include <dali-toolkit/public-api/controls/default-controls/solid-color-actor.h>
+#include <dali-toolkit/internal/controls/scrollable/bouncing-effect-actor.h>
 
 using namespace std;
 using namespace Dali;
@@ -39,15 +40,18 @@ const float DEFAULT_MINIMUM_SWIPE_SPEED = 1.0f;
 const float DEFAULT_MINIMUM_SWIPE_DISTANCE = 3.0f;
 const float DEFAULT_MOUSE_WHEEL_SCROLL_DISTANCE_STEP_PROPORTION = 0.1f;
 
+const float DEFAULT_MINIMUM_SWIPE_DURATION = 0.45f;
+const float DEFAULT_MAXIMUM_SWIPE_DURATION = 2.6f;
+
 const float DEFAULT_REFRESH_INTERVAL_LAYOUT_POSITIONS = 20.0f; // 1 updates per 20 items
 const int MOUSE_WHEEL_EVENT_FINISHED_TIME_OUT = 500;  // 0.5 second
 
 const float DEFAULT_ANCHORING_DURATION = 1.0f;  // 1 second
-const float DEFAULT_COLOR_VISIBILITY_REMOVE_TIME = 0.5f; // 0.5 second
 
 const float MILLISECONDS_PER_SECONDS = 1000.0f;
 
-const Rect<int> OVERSHOOT_BOUNCE_IMAGE_1_PIXEL_AREA( 0, 0, 720, 58 );
+const Vector2 OVERSHOOT_BOUNCE_ACTOR_DEFAULT_SIZE( 720.0f, 42.0f );
+const float OVERSHOOT_BOUNCE_ACTOR_RESIZE_THRESHOLD = 180.0f;
 const Vector4 OVERSHOOT_OVERLAY_NINE_PATCH_BORDER(0.0f, 0.0f, 1.0f, 12.0f);
 const float MAXIMUM_OVERSHOOT_HEIGHT = 36.0f;  // 36 pixels
 const float DEFAULT_OVERSHOOT_ANIMATION_DURATION = 0.5f;  // 0.5 second
@@ -60,84 +64,6 @@ const string SCROLL_SPEED_PROPERTY_NAME( "item-view-scroll-speed" );
 const string SCROLL_DIRECTION_PROPERTY_NAME( "item-view-scroll-direction" );
 const string OVERSHOOT_PROPERTY_NAME( "item-view-overshoot" );
 
-// Functors which wrap constraint functions with stored item IDs
-
-struct WrappedVector3Constraint
-{
-  WrappedVector3Constraint(Toolkit::ItemLayout::Vector3Function wrapMe, unsigned int itemId)
-  : mWrapMe(wrapMe),
-    mItemId(itemId)
-  {
-  }
-
-  Vector3 operator()(const Vector3& current, const PropertyInput& layoutPosition, const PropertyInput& scrollSpeed, const PropertyInput& layoutSize)
-  {
-    float offsetLayoutPosition = layoutPosition.GetFloat() + static_cast<float>(mItemId);
-
-    return mWrapMe(current, offsetLayoutPosition, scrollSpeed.GetFloat(), layoutSize.GetVector3());
-  }
-
-  Toolkit::ItemLayout::Vector3Function mWrapMe;
-  unsigned int mItemId;
-};
-
-struct WrappedQuaternionConstraint
-{
-  WrappedQuaternionConstraint(Toolkit::ItemLayout::QuaternionFunction wrapMe, unsigned int itemId)
-  : mWrapMe(wrapMe),
-    mItemId(itemId)
-  {
-  }
-
-  Quaternion operator()(const Quaternion& current, const PropertyInput& layoutPosition, const PropertyInput& scrollSpeed, const PropertyInput& layoutSize)
-  {
-    float offsetLayoutPosition = layoutPosition.GetFloat() + static_cast<float>(mItemId);
-
-    return mWrapMe(current, offsetLayoutPosition, scrollSpeed.GetFloat(), layoutSize.GetVector3());
-  }
-
-  Toolkit::ItemLayout::QuaternionFunction mWrapMe;
-  unsigned int mItemId;
-};
-
-struct WrappedVector4Constraint
-{
-  WrappedVector4Constraint(Toolkit::ItemLayout::Vector4Function wrapMe, unsigned int itemId)
-  : mWrapMe(wrapMe),
-    mItemId(itemId)
-  {
-  }
-
-  Vector4 operator()(const Vector4& current, const PropertyInput& layoutPosition, const PropertyInput& scrollSpeed, const PropertyInput& layoutSize)
-  {
-    float offsetLayoutPosition = layoutPosition.GetFloat() + static_cast<float>(mItemId);
-
-    return mWrapMe(current, offsetLayoutPosition, scrollSpeed.GetFloat(), layoutSize.GetVector3());
-  }
-
-  Toolkit::ItemLayout::Vector4Function mWrapMe;
-  unsigned int mItemId;
-};
-
-struct WrappedBoolConstraint
-{
-  WrappedBoolConstraint(Toolkit::ItemLayout::BoolFunction wrapMe, unsigned int itemId)
-  : mWrapMe(wrapMe),
-    mItemId(itemId)
-  {
-  }
-
-  bool operator()(const bool& current, const PropertyInput& layoutPosition, const PropertyInput& scrollSpeed, const PropertyInput& layoutSize)
-  {
-    float offsetLayoutPosition = layoutPosition.GetFloat() + static_cast<float>(mItemId);
-
-    return mWrapMe(current, offsetLayoutPosition, scrollSpeed.GetFloat(), layoutSize.GetVector3());
-  }
-
-  Toolkit::ItemLayout::BoolFunction mWrapMe;
-  unsigned int mItemId;
-};
-
 /**
  * Local helper to convert pan distance (in actor coordinates) to the layout-specific scrolling direction
  */
@@ -155,7 +81,7 @@ float CalculateScrollDistance(Vector2 panDistance, Toolkit::ItemLayout& layout)
 
 struct OvershootOverlaySizeConstraint
 {
-  float operator()(const float& current,
+  Vector3 operator()(const Vector3& current,
                      const PropertyInput& parentScrollDirectionProperty,
                      const PropertyInput& parentOvershootProperty,
                      const PropertyInput& parentSizeProperty)
@@ -175,7 +101,9 @@ struct OvershootOverlaySizeConstraint
       overlayWidth = fabsf(parentScrollDirection.x) > Math::MACHINE_EPSILON_1 ? parentSize.y : parentSize.x;
     }
 
-    return overlayWidth;
+    float overlayHeight = (overlayWidth > OVERSHOOT_BOUNCE_ACTOR_RESIZE_THRESHOLD) ? OVERSHOOT_BOUNCE_ACTOR_DEFAULT_SIZE.height : OVERSHOOT_BOUNCE_ACTOR_DEFAULT_SIZE.height*0.5f;
+
+    return Vector3( overlayWidth, overlayHeight, current.depth );
   }
 };
 
@@ -400,7 +328,7 @@ ItemView::ItemView(ItemFactory& factory)
   mAnimateOvershootOff(false),
   mAnchoringEnabled(true),
   mAnchoringDuration(DEFAULT_ANCHORING_DURATION),
-  mRefreshIntervalLayoutPositions(DEFAULT_REFRESH_INTERVAL_LAYOUT_POSITIONS),
+  mRefreshIntervalLayoutPositions(0.0f),
   mRefreshOrderHint(true/*Refresh item 0 first*/),
   mMinimumSwipeSpeed(DEFAULT_MINIMUM_SWIPE_SPEED),
   mMinimumSwipeDistance(DEFAULT_MINIMUM_SWIPE_DISTANCE),
@@ -429,6 +357,7 @@ void ItemView::OnInitialize()
 
   mScrollConnector = Dali::Toolkit::ScrollConnector::New();
   mScrollPositionObject = mScrollConnector.GetScrollPositionObject();
+  mScrollConnector.ScrollPositionChangedSignal().Connect( this, &ItemView::OnScrollPositionChanged );
 
   mPropertyMinimumLayoutPosition = self.RegisterProperty(MINIMUM_LAYOUT_POSITION_PROPERTY_NAME, 0.0f);
   mPropertyPosition = self.RegisterProperty(POSITION_PROPERTY_NAME, 0.0f);
@@ -452,7 +381,7 @@ void ItemView::OnInitialize()
   mMouseWheelEventFinishedTimer = Timer::New( MOUSE_WHEEL_EVENT_FINISHED_TIME_OUT );
   mMouseWheelEventFinishedTimer.TickSignal().Connect( this, &ItemView::OnMouseWheelEventFinished );
 
-  SetRefreshInterval(mRefreshIntervalLayoutPositions);
+  SetRefreshInterval(DEFAULT_REFRESH_INTERVAL_LAYOUT_POSITIONS);
 }
 
 ItemView::~ItemView()
@@ -498,13 +427,15 @@ ItemLayoutPtr ItemView::GetActiveLayout() const
 
 float ItemView::GetCurrentLayoutPosition(unsigned int itemId) const
 {
-  return mScrollPositionObject.GetProperty<float>( ScrollConnector::SCROLL_POSITION ) + static_cast<float>( itemId );
+  return mScrollConnector.GetScrollPosition() + static_cast<float>( itemId );
 }
 
 void ItemView::ActivateLayout(unsigned int layoutIndex, const Vector3& targetSize, float durationSeconds)
 {
   DALI_ASSERT_ALWAYS(layoutIndex < mLayouts.size());
 
+  mRefreshEnabled = false;
+
   Actor self = Self();
 
   // The ItemView size should match the active layout size
@@ -517,7 +448,6 @@ void ItemView::ActivateLayout(unsigned int layoutIndex, const Vector3& targetSiz
   // Move the items to the new layout positions...
 
   bool resizeAnimationNeeded(false);
-
   for (ConstItemPoolIter iter = mItemPool.begin(); iter != mItemPool.end(); ++iter)
   {
     unsigned int itemId = iter->first;
@@ -549,7 +479,7 @@ void ItemView::ActivateLayout(unsigned int layoutIndex, const Vector3& targetSiz
       }
     }
 
-    ApplyConstraints(actor, *mActiveLayout, itemId, durationSeconds);
+    mActiveLayout->ApplyConstraints(actor, itemId, durationSeconds, mScrollPositionObject, Self() );
   }
 
   if (resizeAnimationNeeded)
@@ -558,7 +488,7 @@ void ItemView::ActivateLayout(unsigned int layoutIndex, const Vector3& targetSiz
   }
 
   // Refresh the new layout
-  ItemRange range = GetItemRange(*mActiveLayout, targetSize, GetCurrentLayoutPosition(0), true/*reserve extra*/);
+  ItemRange range = GetItemRange(*mActiveLayout, targetSize, GetCurrentLayoutPosition(0), false/* don't reserve extra*/);
   AddActorsWithinRange( range, durationSeconds );
 
   // Scroll to an appropriate layout position
@@ -584,9 +514,10 @@ void ItemView::ActivateLayout(unsigned int layoutIndex, const Vector3& targetSiz
   if (scrollAnimationNeeded)
   {
     RemoveAnimation(mScrollAnimation);
-    mScrollAnimation = Animation::New(mAnchoringDuration);
+    mScrollAnimation = Animation::New(durationSeconds);
     mScrollAnimation.AnimateTo( Property( mScrollPositionObject, ScrollConnector::SCROLL_POSITION ), firstItemScrollPosition, AlphaFunctions::EaseOut );
     mScrollAnimation.AnimateTo( Property(self, mPropertyPosition), GetScrollPosition(firstItemScrollPosition, targetSize), AlphaFunctions::EaseOut );
+    mScrollAnimation.FinishedSignal().Connect(this, &ItemView::OnLayoutActivationScrollFinished);
     mScrollAnimation.Play();
   }
 
@@ -629,7 +560,7 @@ AlphaFunction ItemView::GetDefaultAlphaFunction() const
 
 void ItemView::OnRefreshNotification(PropertyNotification& source)
 {
-  if(mRefreshEnabled)
+  if(mRefreshEnabled || mScrollAnimation)
   {
     // Only refresh the cache during normal scrolling
     DoRefresh(GetCurrentLayoutPosition(0), true);
@@ -700,14 +631,17 @@ float ItemView::GetAnchoringDuration() const
 
 void ItemView::SetRefreshInterval(float intervalLayoutPositions)
 {
-  mRefreshIntervalLayoutPositions = intervalLayoutPositions;
-
-  if(mRefreshNotification)
+  if(mRefreshIntervalLayoutPositions != intervalLayoutPositions)
   {
-    mScrollPositionObject.RemovePropertyNotification(mRefreshNotification);
+    mRefreshIntervalLayoutPositions = intervalLayoutPositions;
+
+    if(mRefreshNotification)
+    {
+      mScrollPositionObject.RemovePropertyNotification(mRefreshNotification);
+    }
+    mRefreshNotification = mScrollPositionObject.AddPropertyNotification( ScrollConnector::SCROLL_POSITION, StepCondition(mRefreshIntervalLayoutPositions, 0.0f) );
+    mRefreshNotification.NotifySignal().Connect( this, &ItemView::OnRefreshNotification );
   }
-  mRefreshNotification = mScrollPositionObject.AddPropertyNotification( ScrollConnector::SCROLL_POSITION, StepCondition(mRefreshIntervalLayoutPositions, 0.0f) );
-  mRefreshNotification.NotifySignal().Connect( this, &ItemView::OnRefreshNotification );
 }
 
 float ItemView::GetRefreshInterval() const
@@ -770,7 +704,7 @@ void ItemView::InsertItem( Item newItem, float durationSeconds )
       moveMe = temp;
 
       iter->second.RemoveConstraints();
-      ApplyConstraints( iter->second, *mActiveLayout, iter->first, durationSeconds );
+      mActiveLayout->ApplyConstraints(iter->second, iter->first, durationSeconds, mScrollPositionObject, Self() );
     }
 
     // Create last item
@@ -779,7 +713,7 @@ void ItemView::InsertItem( Item newItem, float durationSeconds )
     mItemPool.insert( lastItem );
 
     lastItem.second.RemoveConstraints();
-    ApplyConstraints( lastItem.second, *mActiveLayout, lastItem.first, durationSeconds );
+    mActiveLayout->ApplyConstraints(lastItem.second, lastItem.first, durationSeconds, mScrollPositionObject, Self() );
   }
   else
   {
@@ -844,7 +778,7 @@ void ItemView::InsertItems( const ItemContainer& newItems, float durationSeconds
     else
     {
       iter->second.RemoveConstraints();
-      ApplyConstraints( iter->second, *mActiveLayout, iter->first, durationSeconds );
+      mActiveLayout->ApplyConstraints( iter->second, iter->first, durationSeconds, mScrollPositionObject, Self() );
     }
   }
 
@@ -895,7 +829,8 @@ bool ItemView::RemoveActor(unsigned int itemId)
 
   if( removeIter != mItemPool.end() )
   {
-    Self().Remove( removeIter->second );
+    ReleaseActor(itemId, removeIter->second);
+
     removed = true;
 
     // Adjust the remaining item IDs, for example if item 2 is removed:
@@ -931,7 +866,7 @@ void ItemView::ReplaceItem( Item replacementItem, float durationSeconds )
   const ItemPoolIter iter = mItemPool.find( replacementItem.first );
   if( mItemPool.end() != iter )
   {
-    Self().Remove( iter->second );
+    ReleaseActor(iter->first, iter->second);
     iter->second = replacementItem.second;
   }
   else
@@ -961,7 +896,7 @@ void ItemView::RemoveActorsOutsideRange( ItemRange range )
 
     if( ! range.Within( current ) )
     {
-      Self().Remove( iter->second );
+      ReleaseActor(iter->first, iter->second);
 
       mItemPool.erase( iter++ ); // erase invalidates the return value of post-increment; iter remains valid
     }
@@ -1032,10 +967,16 @@ void ItemView::SetupActor( Item item, float durationSeconds )
       item.second.SetSize( size );
     }
 
-    ApplyConstraints( item.second, *mActiveLayout, item.first, durationSeconds );
+    mActiveLayout->ApplyConstraints( item.second, item.first, durationSeconds, mScrollPositionObject, Self() );
   }
 }
 
+void ItemView::ReleaseActor( ItemId item, Actor actor )
+{
+  Self().Remove( actor );
+  mItemFactory.ItemReleased(item, actor);
+}
+
 ItemRange ItemView::GetItemRange(ItemLayout& layout, const Vector3& layoutSize, float layoutPosition, bool reserveExtra)
 {
   unsigned int itemCount = mItemFactory.GetNumberOfItems();
@@ -1089,7 +1030,10 @@ bool ItemView::OnTouchEvent(const TouchEvent& event)
     mScrollOvershoot = 0.0f;
     AnimateScrollOvershoot(0.0f);
 
-    mScrollCompletedSignalV2.Emit(GetCurrentScrollPosition());
+    if(mScrollAnimation)
+    {
+      mScrollCompletedSignalV2.Emit(GetCurrentScrollPosition());
+    }
 
     RemoveAnimation(mScrollAnimation);
   }
@@ -1104,12 +1048,13 @@ bool ItemView::OnMouseWheelEvent(const MouseWheelEvent& event)
   {
     Actor self = Self();
     const Vector3 layoutSize = Self().GetCurrentSize();
-    float layoutPositionDelta = GetCurrentLayoutPosition(0) + (event.z * mMouseWheelScrollDistanceStep * mActiveLayout->GetScrollSpeedFactor());
+    float layoutPositionDelta = GetCurrentLayoutPosition(0) - (event.z * mMouseWheelScrollDistanceStep * mActiveLayout->GetScrollSpeedFactor());
     float firstItemScrollPosition = ClampFirstItemPosition(layoutPositionDelta, layoutSize, *mActiveLayout);
 
     mScrollPositionObject.SetProperty( ScrollConnector::SCROLL_POSITION, firstItemScrollPosition );
     self.SetProperty(mPropertyPosition, GetScrollPosition(firstItemScrollPosition, layoutSize));
     mScrollStartedSignalV2.Emit(GetCurrentScrollPosition());
+    mRefreshEnabled = true;
   }
 
   if (mMouseWheelEventFinishedTimer.IsRunning())
@@ -1147,97 +1092,6 @@ bool ItemView::OnMouseWheelEventFinished()
   return false;
 }
 
-void ItemView::ApplyConstraints(Actor& actor, ItemLayout& layout, unsigned int itemId, float duration)
-{
-  ItemLayout::Vector3Function positionConstraint;
-  if (layout.GetPositionConstraint(itemId, positionConstraint))
-  {
-    WrappedVector3Constraint wrapped(positionConstraint, itemId);
-
-    Constraint constraint = Constraint::New<Vector3>( Actor::POSITION,
-                                                      Source( mScrollPositionObject, ScrollConnector::SCROLL_POSITION ),
-                                                      ParentSource( mPropertyScrollSpeed ),
-                                                      ParentSource( Actor::SIZE ),
-                                                      wrapped );
-    constraint.SetApplyTime(duration);
-    constraint.SetAlphaFunction(mDefaultAlphaFunction);
-
-    actor.ApplyConstraint(constraint);
-  }
-
-  ItemLayout::QuaternionFunction rotationConstraint;
-  if (layout.GetRotationConstraint(itemId, rotationConstraint))
-  {
-    WrappedQuaternionConstraint wrapped(rotationConstraint, itemId);
-
-    Constraint constraint = Constraint::New<Quaternion>( Actor::ROTATION,
-                                                         Source( mScrollPositionObject, ScrollConnector::SCROLL_POSITION ),
-                                                         ParentSource( mPropertyScrollSpeed ),
-                                                         ParentSource( Actor::SIZE ),
-                                                         wrapped );
-    constraint.SetApplyTime(duration);
-    constraint.SetAlphaFunction(mDefaultAlphaFunction);
-
-    actor.ApplyConstraint(constraint);
-  }
-
-  ItemLayout::Vector3Function scaleConstraint;
-  if (layout.GetScaleConstraint(itemId, scaleConstraint))
-  {
-    WrappedVector3Constraint wrapped(scaleConstraint, itemId);
-
-    Constraint constraint = Constraint::New<Vector3>( Actor::SCALE,
-                                                      Source( mScrollPositionObject, ScrollConnector::SCROLL_POSITION ),
-                                                      ParentSource( mPropertyScrollSpeed ),
-                                                      ParentSource( Actor::SIZE ),
-                                                      wrapped );
-    constraint.SetApplyTime(duration);
-    constraint.SetAlphaFunction(mDefaultAlphaFunction);
-
-    actor.ApplyConstraint(constraint);
-  }
-
-  ItemLayout::Vector4Function colorConstraint;
-  if (layout.GetColorConstraint(itemId, colorConstraint))
-  {
-    WrappedVector4Constraint wrapped(colorConstraint, itemId);
-
-    Constraint constraint = Constraint::New<Vector4>( Actor::COLOR,
-                                                      Source( mScrollPositionObject, ScrollConnector::SCROLL_POSITION ),
-                                                      ParentSource( mPropertyScrollSpeed ),
-                                                      ParentSource( Actor::SIZE ),
-                                                      wrapped );
-    constraint.SetApplyTime(duration);
-    constraint.SetAlphaFunction(mDefaultAlphaFunction);
-
-    // Release color constraints slowly; this allows ItemView to co-exist with ImageActor fade-in
-    constraint.SetRemoveTime(DEFAULT_COLOR_VISIBILITY_REMOVE_TIME);
-    constraint.SetRemoveAction(Dali::Constraint::Discard);
-
-    actor.ApplyConstraint(constraint);
-  }
-
-  ItemLayout::BoolFunction visibilityConstraint;
-  if (layout.GetVisibilityConstraint(itemId, visibilityConstraint))
-  {
-    WrappedBoolConstraint wrapped(visibilityConstraint, itemId);
-
-    Constraint constraint = Constraint::New<bool>( Actor::VISIBLE,
-                                                   Source( mScrollPositionObject, ScrollConnector::SCROLL_POSITION ),
-                                                   ParentSource( mPropertyScrollSpeed ),
-                                                   ParentSource( Actor::SIZE ),
-                                                   wrapped );
-    constraint.SetApplyTime(duration);
-    constraint.SetAlphaFunction(mDefaultAlphaFunction);
-
-    // Release visibility constraints the same time as the color constraint
-    constraint.SetRemoveTime(DEFAULT_COLOR_VISIBILITY_REMOVE_TIME);
-    constraint.SetRemoveAction(Dali::Constraint::Discard);
-
-    actor.ApplyConstraint(constraint);
-  }
-}
-
 void ItemView::ReapplyAllConstraints( float durationSeconds )
 {
   for (ConstItemPoolIter iter = mItemPool.begin(); iter != mItemPool.end(); ++iter)
@@ -1246,7 +1100,7 @@ void ItemView::ReapplyAllConstraints( float durationSeconds )
     Actor actor = iter->second;
 
     actor.RemoveConstraints();
-    ApplyConstraints(actor, *mActiveLayout, id, durationSeconds);
+    mActiveLayout->ApplyConstraints(actor, id, durationSeconds, mScrollPositionObject, Self());
   }
 
   CalculateDomainSize(Self().GetCurrentSize());
@@ -1303,7 +1157,9 @@ void ItemView::OnPan(PanGesture gesture)
 
         RemoveAnimation(mScrollAnimation);
 
-        float flickAnimationDuration = mActiveLayout->GetItemFlickAnimationDuration() * max(1.0f, fabsf(firstItemScrollPosition - GetCurrentLayoutPosition(0)));
+        float flickAnimationDuration = Clamp( mActiveLayout->GetItemFlickAnimationDuration() * max(1.0f, fabsf(firstItemScrollPosition - GetCurrentLayoutPosition(0)))
+                                       , DEFAULT_MINIMUM_SWIPE_DURATION, DEFAULT_MAXIMUM_SWIPE_DURATION);
+
         mScrollAnimation = Animation::New(flickAnimationDuration);
         mScrollAnimation.AnimateTo( Property( mScrollPositionObject, ScrollConnector::SCROLL_POSITION ), firstItemScrollPosition, AlphaFunctions::EaseOut );
         mScrollAnimation.AnimateTo( Property(self, mPropertyPosition), GetScrollPosition(firstItemScrollPosition, layoutSize), AlphaFunctions::EaseOut );
@@ -1336,28 +1192,24 @@ void ItemView::OnPan(PanGesture gesture)
     case Gesture::Started: // Fall through
     {
       mTotalPanDisplacement = Vector2::ZERO;
+      mScrollStartedSignalV2.Emit(GetCurrentScrollPosition());
+      mRefreshEnabled = true;
     }
 
     case Gesture::Continuing:
     {
       mScrollDistance = CalculateScrollDistance(gesture.displacement, *mActiveLayout);
-      mScrollSpeed = Clamp((gesture.GetSpeed() * mActiveLayout->GetScrollSpeedFactor() * MILLISECONDS_PER_SECONDS), 0.0f, mActiveLayout->GetMaximumSwipeSpeed());
+      mScrollSpeed = Clamp((gesture.GetSpeed() * gesture.GetSpeed() * mActiveLayout->GetFlickSpeedFactor() * MILLISECONDS_PER_SECONDS), 0.0f, mActiveLayout->GetMaximumSwipeSpeed());
 
       // Refresh order depends on the direction of the scroll; negative is towards the last item.
       mRefreshOrderHint = mScrollDistance < 0.0f;
 
-      RemoveAnimation(mScrollSpeedAnimation);
-      mScrollSpeedAnimation = Animation::New(0.3f);
-      mScrollSpeedAnimation.AnimateTo( Property(self, mPropertyScrollSpeed), mScrollSpeed, AlphaFunctions::Linear );
-      mScrollSpeedAnimation.Play();
-
       float layoutPositionDelta = GetCurrentLayoutPosition(0) + (mScrollDistance * mActiveLayout->GetScrollSpeedFactor());
 
       float firstItemScrollPosition = ClampFirstItemPosition(layoutPositionDelta, layoutSize, *mActiveLayout);
 
       mScrollPositionObject.SetProperty( ScrollConnector::SCROLL_POSITION, firstItemScrollPosition );
       self.SetProperty(mPropertyPosition, GetScrollPosition(firstItemScrollPosition, layoutSize));
-      mScrollStartedSignalV2.Emit(GetCurrentScrollPosition());
 
       mTotalPanDisplacement += gesture.displacement;
       mScrollOvershoot = layoutPositionDelta - firstItemScrollPosition;
@@ -1442,12 +1294,6 @@ void ItemView::OnKeyboardFocusChangeCommitted(Actor commitedFocusableActor)
     int nextItemID = GetItemId(commitedFocusableActor);
     float layoutPosition = GetCurrentLayoutPosition(0);
     Vector3 layoutSize = Self().GetCurrentSize();
-    Vector3 focusItemPosition = Vector3::ZERO;
-    ItemLayout::Vector3Function itemPositionConstraint;
-    if (mActiveLayout->GetPositionConstraint(nextItemID, itemPositionConstraint))
-    {
-      focusItemPosition = itemPositionConstraint(Vector3::ZERO, layoutPosition + nextItemID, 0.0f, layoutSize);
-    }
 
     float scrollTo = mActiveLayout->GetClosestOnScreenLayoutPosition(nextItemID, layoutPosition, layoutSize);
     ScrollTo(Vector3(0.0f, scrollTo, 0.0f), DEFAULT_KEYBOARD_FOCUS_SCROLL_DURATION);
@@ -1498,6 +1344,13 @@ void ItemView::OnScrollFinished(Animation& source)
   mScrollOvershoot = 0.0f;
 }
 
+void ItemView::OnLayoutActivationScrollFinished(Animation& source)
+{
+  RemoveAnimation(mScrollAnimation);
+  mRefreshEnabled = true;
+  DoRefresh(GetCurrentLayoutPosition(0), true);
+}
+
 void ItemView::OnOvershootOnFinished(Animation& animation)
 {
   mAnimatingOvershootOn = false;
@@ -1531,6 +1384,7 @@ void ItemView::ScrollToItem(unsigned int itemId, float durationSeconds)
   }
 
   mScrollStartedSignalV2.Emit(GetCurrentScrollPosition());
+  mRefreshEnabled = true;
 }
 
 void ItemView::RemoveAnimation(Animation& animation)
@@ -1552,20 +1406,11 @@ void ItemView::CalculateDomainSize(const Vector3& layoutSize)
 
   if(mActiveLayout)
   {
-    ItemLayout::Vector3Function firstItemPositionConstraint;
-    if (mActiveLayout->GetPositionConstraint(0, firstItemPositionConstraint))
-    {
-      firstItemPosition = firstItemPositionConstraint(Vector3::ZERO, 0, 0.0f, layoutSize);
-    }
+    firstItemPosition = mActiveLayout->GetItemPosition( 0,0,layoutSize );
 
     float minLayoutPosition = mActiveLayout->GetMinimumLayoutPosition(mItemFactory.GetNumberOfItems(), layoutSize);
     self.SetProperty(mPropertyMinimumLayoutPosition, minLayoutPosition);
-
-    ItemLayout::Vector3Function lastItemPositionConstraint;
-    if (mActiveLayout->GetPositionConstraint(fabs(minLayoutPosition), lastItemPositionConstraint))
-    {
-      lastItemPosition = lastItemPositionConstraint(Vector3::ZERO, fabs(minLayoutPosition), 0.0f, layoutSize);
-    }
+    lastItemPosition = mActiveLayout->GetItemPosition( fabs(minLayoutPosition),fabs(minLayoutPosition),layoutSize );
 
     float domainSize;
 
@@ -1613,13 +1458,7 @@ bool ItemView::IsLayoutScrollable(const Vector3& layoutSize)
 
 float ItemView::GetScrollPosition(float layoutPosition, const Vector3& layoutSize) const
 {
-  Vector3 firstItemPosition(Vector3::ZERO);
-  ItemLayout::Vector3Function firstItemPositionConstraint;
-  if (mActiveLayout->GetPositionConstraint(0, firstItemPositionConstraint))
-  {
-    firstItemPosition = firstItemPositionConstraint(Vector3::ZERO, layoutPosition, 0.0f, layoutSize);
-  }
-
+  Vector3 firstItemPosition( mActiveLayout->GetItemPosition(0, layoutPosition, layoutSize ) );
   return IsHorizontal(mActiveLayout->GetOrientation()) ? firstItemPosition.x: firstItemPosition.y;
 }
 
@@ -1662,6 +1501,16 @@ void ItemView::ScrollTo(const Vector3& position, float duration)
   }
 
   mScrollStartedSignalV2.Emit(GetCurrentScrollPosition());
+  mRefreshEnabled = true;
+}
+
+void ItemView::SetOvershootEffectColor( const Vector4& color )
+{
+  mOvershootEffectColor = color;
+  if( mOvershootOverlay )
+  {
+    mOvershootOverlay.SetColor( color );
+  }
 }
 
 void ItemView::SetOvershootEnabled( bool enable )
@@ -1669,20 +1518,21 @@ void ItemView::SetOvershootEnabled( bool enable )
   Actor self = Self();
   if( enable )
   {
-    mOvershootEffect = BouncingEffect::New(Scrollable::DEFAULT_OVERSHOOT_COLOUR);
-    mOvershootOverlay = CreateSolidColorActor(Vector4::ONE);
+    Property::Index effectOvershootPropertyIndex = Property::INVALID_INDEX;
+    mOvershootOverlay = CreateBouncingEffectActor( effectOvershootPropertyIndex );
+    mOvershootOverlay.SetColor(mOvershootEffectColor);
     mOvershootOverlay.SetParentOrigin(ParentOrigin::TOP_LEFT);
     mOvershootOverlay.SetAnchorPoint(AnchorPoint::TOP_LEFT);
     mOvershootOverlay.SetDrawMode(DrawMode::OVERLAY);
-    mOvershootOverlay.SetShaderEffect(mOvershootEffect);
     self.Add(mOvershootOverlay);
-    Constraint constraint = Constraint::New<float>( Actor::SIZE_WIDTH,
+
+    Constraint constraint = Constraint::New<Vector3>( Actor::SIZE,
                                                       ParentSource( mPropertyScrollDirection ),
                                                       Source( mScrollPositionObject, ScrollConnector::OVERSHOOT ),
                                                       ParentSource( Actor::SIZE ),
                                                       OvershootOverlaySizeConstraint() );
     mOvershootOverlay.ApplyConstraint(constraint);
-    mOvershootOverlay.SetSize(OVERSHOOT_BOUNCE_IMAGE_1_PIXEL_AREA.width, OVERSHOOT_BOUNCE_IMAGE_1_PIXEL_AREA.height);
+    mOvershootOverlay.SetSize(OVERSHOOT_BOUNCE_ACTOR_DEFAULT_SIZE.width, OVERSHOOT_BOUNCE_ACTOR_DEFAULT_SIZE.height);
 
     constraint = Constraint::New<Quaternion>( Actor::ROTATION,
                                               ParentSource( mPropertyScrollDirection ),
@@ -1702,12 +1552,11 @@ void ItemView::SetOvershootEnabled( bool enable )
                                         OvershootOverlayVisibilityConstraint() );
     mOvershootOverlay.ApplyConstraint(constraint);
 
-    int effectOvershootPropertyIndex = mOvershootEffect.GetPropertyIndex(mOvershootEffect.GetProgressRatePropertyName());
     Actor self = Self();
     constraint = Constraint::New<float>( effectOvershootPropertyIndex,
                                          Source( mScrollPositionObject, ScrollConnector::OVERSHOOT ),
                                          EqualToConstraint() );
-    mOvershootEffect.ApplyConstraint(constraint);
+    mOvershootOverlay.ApplyConstraint(constraint);
   }
   else
   {
@@ -1716,7 +1565,6 @@ void ItemView::SetOvershootEnabled( bool enable )
       self.Remove(mOvershootOverlay);
       mOvershootOverlay.Reset();
     }
-    mOvershootEffect.Reset();
   }
 }
 
@@ -1800,6 +1648,21 @@ Vector3 ItemView::GetItemsAnchorPoint() const
   return mItemsAnchorPoint;
 }
 
+void ItemView::GetItemsRange(ItemRange& range)
+{
+  range.begin = mItemPool.begin()->first;
+  range.end = mItemPool.rbegin()->first + 1;
+}
+
+void ItemView::OnScrollPositionChanged( float position )
+{
+  // Cancel scroll animation to prevent any fighting of setting the scroll position property.
+  RemoveAnimation(mScrollAnimation);
+
+  // Refresh the cache immediately when the scroll position is changed.
+  DoRefresh(position, false); // No need to cache extra items.
+}
+
 } // namespace Internal
 
 } // namespace Toolkit
index c995f13..164bd8c 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_ITEM_VIEW_H__
 #define __DALI_TOOLKIT_INTERNAL_ITEM_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <dali/dali.h>
@@ -27,7 +28,6 @@
 #include <dali-toolkit/public-api/controls/scrollable/scroll-connector.h>
 #include <dali-toolkit/internal/controls/scrollable/scrollable-impl.h>
 #include <dali-toolkit/public-api/focus-manager/keyboard-focus-manager.h>
-#include <dali-toolkit/public-api/shader-effects/bouncing-effect.h>
 
 namespace Dali
 {
@@ -244,6 +244,11 @@ public:
   void ScrollTo(const Vector3& position, float duration);
 
   /**
+   * @copydoc Toolkit::Internal::Scrollable::SetOvershootEffectColor
+   */
+  void SetOvershootEffectColor( const Vector4& color );
+
+  /**
    * @brief Set whether to enable automatic refresh or not. When refresh is disabled,
    * ItemView will not automatically refresh the cache in the given interval when the
    * layout position is changed. This is useful in some cases, for example, automatic
@@ -262,7 +267,6 @@ public:
    */
   void DoRefresh(float currentLayoutPosition, bool cacheExtra);
 
-
   /**
    * @copydoc Toolkit::ItemView::SetItemsParentOrigin
    */
@@ -283,6 +287,11 @@ public:
    */
   Vector3 GetItemsAnchorPoint() const;
 
+  /**
+   * @copydoc Toolkit::ItemView::GetItemsRange
+   */
+  void GetItemsRange(ItemRange& range);
+
 private:
 
   /**
@@ -319,6 +328,13 @@ private:
    */
   void SetupActor( Item item, float durationSeconds );
 
+  /**
+   * Remove the Actor from the ItemPool and notify the ItemFactory the actor has been released by ItemView.
+   * @param[in] item The ID for the item to be released.
+   * @param[in] actor The actor to be removed from ItemView.
+   */
+  void ReleaseActor( ItemId item, Actor actor );
+
 private: // From CustomActorImpl
 
   /**
@@ -385,15 +401,6 @@ private:
   ItemView& operator=(const ItemView& rhs);
 
   /**
-   * Helper to apply constraints to an actor.
-   * @param[in] actor The actor to constrain.
-   * @param[in] layout The active layout.
-   * @param[in] itemId The ID of the item represented by the actor.
-   * @param[in] durationSeconds The time taken to fully constrain the actors.
-   */
-  void ApplyConstraints(Actor& actor, ItemLayout& layout, unsigned int itemId, float durationSeconds);
-
-  /**
    * Helper to re-apply all the constraints after items have been inserted, removed etc.
    * @param[in] durationSeconds The time taken to fully constrain the actors.
    */
@@ -460,6 +467,12 @@ private:
   void OnScrollFinished(Animation& animation);
 
   /**
+   * Callback from layout activation scroll animations
+   * @param[in] animation The scroll-animation which has finished.
+   */
+  void OnLayoutActivationScrollFinished(Animation& animation);
+
+  /**
    * Called by animation system when overshoot has finished animating to maximum (either -1.0f or 1.0f)
    *
    * @param[in] animation the animation that has finished
@@ -525,6 +538,12 @@ private:
    */
   void OnRefreshNotification(PropertyNotification& source);
 
+  /**
+   * This is called when scroll position has been changed by ScrollConnector::SetScrollPosition.
+   * @param[in] position The new scroll position
+   */
+  void OnScrollPositionChanged( float position );
+
 private:
 
   ItemFactory& mItemFactory;
@@ -543,7 +562,6 @@ private:
 
   Animation mResizeAnimation;
   Animation mScrollAnimation;
-  Animation mScrollSpeedAnimation;
   Animation mScrollOvershootAnimation;
   bool      mAnimatingOvershootOn;          ///< whether we are currently animating overshoot to 1.0f/-1.0f (on) or to 0.0f (off)
   bool      mAnimateOvershootOff;         ///< whether we are currently animating overshoot to 1.0f/-1.0f (on) or to 0.0f (off)
@@ -572,8 +590,7 @@ private:
 
   Dali::Gesture::State mGestureState;
 
-  ImageActor mOvershootOverlay;           ///< The overlay actor for overshoot effect
-  BouncingEffect mOvershootEffect; ///< The vertex/fragment shader used to display the overshoot ripple effect
+  Actor mOvershootOverlay;           ///< The overlay actor for overshoot effect
 
   Dali::Toolkit::ScrollConnector mScrollConnector; ///< Connects ItemView with scrollable components e.g. scroll bars
   Constrainable   mScrollPositionObject;     ///< From mScrollConnector
index a001f0c..a84a419 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/internal/controls/scrollable/scroll-connector-impl.h>
@@ -46,6 +47,12 @@ void ScrollConnector::SetScrollDomain( float min, float max, float length )
   mDomainChangedSignal.Emit( mMinLimit, mMaxLimit, mContentLength );
 }
 
+void ScrollConnector::SetScrollPosition( float position )
+{
+  mScrollPositionObject.SetProperty( Toolkit::ScrollConnector::SCROLL_POSITION, position );
+  mScrollPositionChangedSignal.Emit( position );
+}
+
 ScrollConnector::ScrollConnector()
 : mMinLimit( 0.0f ),
   mMaxLimit( 0.0f ),
index a5603a9..e9d8679 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SCROLL_CONNECTOR_H__
 #define __DALI_TOOLKIT_INTERNAL_SCROLL_CONNECTOR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/scrollable/scroll-connector.h>
@@ -37,6 +38,7 @@ class ScrollConnector : public Dali::BaseObject
 public:
 
   typedef Toolkit::ScrollConnector::DomainChangedSignalType DomainChangedSignalType;
+  typedef Toolkit::ScrollConnector::ScrollPositionChangedSignalType ScrollPositionChangedSignalType;
 
   static const Property::Index SCROLL_POSITION;
   static const Property::Index OVERSHOOT;
@@ -77,6 +79,27 @@ public:
   }
 
   /**
+   * @copydoc Toolkit::ScrollConnector::SetScrollPosition()
+   */
+  void SetScrollPosition( float position );
+
+  /**
+   * @copydoc Toolkit::ScrollConnector::GetScrollPosition()
+   */
+  float GetScrollPosition() const
+  {
+    return mScrollPositionObject.GetProperty<float>( Toolkit::ScrollConnector::SCROLL_POSITION );
+  }
+
+  /**
+   * Signal emitted after the SetScrollPosition() method has been called.
+   */
+  ScrollPositionChangedSignalType& ScrollPositionChangedSignal()
+  {
+    return mScrollPositionChangedSignal;
+  }
+
+  /**
    * Signal emitted after the SetScrollDomain() method has been called.
    */
   DomainChangedSignalType& DomainChangedSignal()
@@ -116,6 +139,7 @@ private:
   Constrainable mScrollPositionObject;
 
   DomainChangedSignalType mDomainChangedSignal;
+  ScrollPositionChangedSignalType mScrollPositionChangedSignal;
 
   float mMinLimit;
   float mMaxLimit;
index bcaf8e1..e346ccb 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-base-impl.h>
 
@@ -37,8 +38,6 @@ ScrollBase::ScrollBase()
 : Scrollable(),
   mParent(NULL),
   mPropertyTime(Property::INVALID_INDEX),
-  mPropertyX(Property::INVALID_INDEX),
-  mPropertyY(Property::INVALID_INDEX),
   mPropertyPrePosition(Property::INVALID_INDEX),
   mPropertyPosition(Property::INVALID_INDEX),
   mPropertyScale(Property::INVALID_INDEX),
@@ -74,8 +73,6 @@ void ScrollBase::RegisterProperties()
   mPropertyOvershootX = self.RegisterProperty(Toolkit::ScrollView::SCROLL_OVERSHOOT_X_PROPERTY_NAME, 0.0f);
   mPropertyOvershootY = self.RegisterProperty(Toolkit::ScrollView::SCROLL_OVERSHOOT_Y_PROPERTY_NAME, 0.0f);
   mPropertyFinal = self.RegisterProperty(Toolkit::ScrollView::SCROLL_FINAL_PROPERTY_NAME, Vector3::ZERO);
-  mPropertyX = self.RegisterProperty(Toolkit::ScrollView::SCROLL_X_PROPERTY_NAME, 0.0f);
-  mPropertyY = self.RegisterProperty(Toolkit::ScrollView::SCROLL_Y_PROPERTY_NAME, 0.0f);
   mPropertyScale = self.RegisterProperty(Toolkit::ScrollView::SCROLL_SCALE_PROPERTY_NAME, Vector3::ONE);
   mPropertyWrap = self.RegisterProperty(Toolkit::ScrollView::SCROLL_WRAP_PROPERTY_NAME, false);
   mPropertyPanning = self.RegisterProperty(Toolkit::ScrollView::SCROLL_PANNING_PROPERTY_NAME, false);
index 5dd0a3f..3f1cf81 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SCROLL_BASE_H__
 #define __DALI_TOOLKIT_INTERNAL_SCROLL_BASE_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 // TODO - Replace list with dali-vector.h
@@ -198,8 +199,6 @@ protected:
 
   ScrollBase *mParent;                              ///< Pointer to ScrollBase parent, if exists.
   Property::Index mPropertyTime;                    ///< Scroll Time (0 to animationDuration while animating, otherwise 0)
-  Property::Index mPropertyX;                       ///< Scroll Position X ("scroll-x")
-  Property::Index mPropertyY;                       ///< Scroll Position Y ("scroll-y")
   Property::Index mPropertyPrePosition;             ///< Scroll Position ("scroll-position") [function of scroll-x, scroll-y]
   Property::Index mPropertyPosition;                ///< Scroll Position ("scroll-position") [function of scroll-pre-position]
   Property::Index mPropertyScale;                   ///< Scroll Scale ("scroll-scale")
index b5f1b10..2662324 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-overshoot-indicator-impl.h>
 
 #include <boost/bind.hpp>
 
 #include <dali-toolkit/internal/controls/scrollable/scrollable-impl.h>
+#include <dali-toolkit/internal/controls/scrollable/bouncing-effect-actor.h>
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.h>
-#include <dali-toolkit/public-api/controls/default-controls/solid-color-actor.h>
 
 using namespace Dali;
 
+namespace
+{
+const float DEFAULT_MAX_OVERSHOOT_HEIGHT = 36.0f;  // 36 pixels
+const Vector2 OVERSHOOT_BOUNCE_ACTOR_DEFAULT_SIZE( 720.0f, 42.0f );
+const float OVERSHOOT_BOUNCE_ACTOR_RESIZE_THRESHOLD = 180.0f;
+
+// local helper function to resize the height of the bounce actor
+float GetBounceActorHeight( float width )
+{
+  return (width > OVERSHOOT_BOUNCE_ACTOR_RESIZE_THRESHOLD) ? OVERSHOOT_BOUNCE_ACTOR_DEFAULT_SIZE.height : OVERSHOOT_BOUNCE_ACTOR_DEFAULT_SIZE.height * 0.5f;
+}
+
+const float DEFAULT_OVERSHOOT_ANIMATION_DURATION = 0.35f;  // time in seconds
+const float MAX_OVERSHOOT_NOTIFY_AMOUNT = 0.9f;                     // maximum amount to set notification for increased overshoot, beyond this we just wait for it to reduce again
+const float MIN_OVERSHOOT_NOTIFY_AMOUNT = Math::MACHINE_EPSILON_1;  // minimum amount to set notification for reduced overshoot, beyond this we just wait for it to increase again
+const float OVERSHOOT_NOTIFY_STEP = 0.1f;                           // amount to set notifications beyond current overshoot value
+
+}
+
 namespace Dali
 {
 
@@ -34,12 +54,7 @@ namespace Toolkit
 namespace Internal
 {
 
-const float DEFAULT_MAX_OVERSHOOT_HEIGHT = 36.0f;  // 36 pixels
-const Rect<int> OVERSHOOT_RIPPLE_IMAGE_1_PIXEL_AREA( 0, 0, 720, 58 );
-const float DEFAULT_OVERSHOOT_ANIMATION_DURATION = 0.35f;  // time in seconds
-
-ScrollOvershootIndicator::ScrollOvershootIndicator(Scrollable& scrollable) :
-  mScrollable(scrollable),
+ScrollOvershootIndicator::ScrollOvershootIndicator() :
   mEffectX(NULL),
   mEffectY(NULL)
 {
@@ -50,39 +65,35 @@ ScrollOvershootIndicator::~ScrollOvershootIndicator()
 
 }
 
-ScrollOvershootIndicator* ScrollOvershootIndicator::New(Scrollable& scrollable)
+ScrollOvershootIndicator* ScrollOvershootIndicator::New()
 {
-  ScrollOvershootIndicator* scrollOvershootPtr = new ScrollOvershootIndicator(scrollable);
+  ScrollOvershootIndicator* scrollOvershootPtr = new ScrollOvershootIndicator();
   return scrollOvershootPtr;
 }
 
-void ScrollOvershootIndicator::Enable(bool enable)
+void ScrollOvershootIndicator::AttachToScrollable(Scrollable& scrollable)
 {
-  if(enable)
+  if(!mEffectX)
   {
-    Actor scrollableActor = mScrollable.Self();
-    if(!mEffectX)
-    {
-      mEffectX = ScrollOvershootEffectRipple::New(false);
-    }
-    mEffectX->Apply(mScrollable);
-    if(!mEffectY)
-    {
-      mEffectY = ScrollOvershootEffectRipple::New(true);
-    }
-    mEffectY->Apply(mScrollable);
-    mEffectY->SetPropertyNotifications(scrollableActor);
+    mEffectX = ScrollOvershootEffectRipple::New(false, scrollable);
   }
-  else
+  mEffectX->Apply();
+  if(!mEffectY)
   {
-    if(mEffectX)
-    {
-      mEffectX->Remove(mScrollable);
-    }
-    if(mEffectY)
-    {
-      mEffectY->Remove(mScrollable);
-    }
+    mEffectY = ScrollOvershootEffectRipple::New(true, scrollable);
+  }
+  mEffectY->Apply();
+}
+
+void ScrollOvershootIndicator::DetachFromScrollable(Scrollable& scrollable)
+{
+  if(mEffectX)
+  {
+    mEffectX->Remove(scrollable);
+  }
+  if(mEffectY)
+  {
+    mEffectY->Remove(scrollable);
   }
 }
 
@@ -92,287 +103,304 @@ void ScrollOvershootIndicator::Reset()
   mEffectY->Reset();
 }
 
-ScrollOvershootEffect::ScrollOvershootEffect(bool vertical) :
+void ScrollOvershootIndicator::SetOvershootEffectColor( const Vector4& color )
+{
+  if(mEffectX)
+  {
+    mEffectX->SetOvershootEffectColor(color);
+  }
+  if(mEffectY)
+  {
+    mEffectY->SetOvershootEffectColor(color);
+  }
+}
+
+void ScrollOvershootIndicator::ClearOvershoot()
+{
+  if(mEffectX)
+  {
+    mEffectX->SetOvershoot(0.0f);
+  }
+  if(mEffectY)
+  {
+    mEffectY->SetOvershoot(0.0f);
+  }
+}
+
+ScrollOvershootEffect::ScrollOvershootEffect( bool vertical ) :
     mVertical(vertical)
 {
 
 }
 
-ScrollOvershootEffectRipple::ScrollOvershootEffectRipple(bool vertical) :
-    ScrollOvershootEffect(vertical),
-    mMaxOvershootImageSize(DEFAULT_MAX_OVERSHOOT_HEIGHT)
+bool ScrollOvershootEffect::IsVertical() const
 {
-  mRippleEffect = BouncingEffect::New(Scrollable::DEFAULT_OVERSHOOT_COLOUR);
-  mOvershootImage = CreateSolidColorActor(Vector4::ONE);
-  mOvershootImage.SetParentOrigin(ParentOrigin::TOP_LEFT);
-  mOvershootImage.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-  mOvershootImage.SetDrawMode(DrawMode::OVERLAY);
-  mOvershootImage.SetShaderEffect(mRippleEffect);
-  mOvershootImage.SetVisible(false);
-  mAnimatingOvershootOn = false;
-  mAnimateOvershootOff = false;
+  return mVertical;
+}
+
+ScrollOvershootEffectRipple::ScrollOvershootEffectRipple( bool vertical, Scrollable& scrollable ) :
+    ScrollOvershootEffect( vertical ),
+    mAttachedScrollView(scrollable),
+    mCanScrollPropertyIndex(Property::INVALID_INDEX),
+    mOvershootProperty(Property::INVALID_INDEX),
+    mEffectOvershootProperty(Property::INVALID_INDEX),
+    mMaxOvershootImageSize(DEFAULT_MAX_OVERSHOOT_HEIGHT),
+    mOvershootAnimationDuration(DEFAULT_OVERSHOOT_ANIMATION_DURATION),
+    mOvershoot(0.0f),
+    mAnimationStateFlags(0)
+{
+  mOvershootOverlay = CreateBouncingEffectActor(mEffectOvershootProperty);
+  mOvershootOverlay.SetColor(mAttachedScrollView.GetOvershootEffectColor());
+  mOvershootOverlay.SetParentOrigin(ParentOrigin::TOP_LEFT);
+  mOvershootOverlay.SetAnchorPoint(AnchorPoint::TOP_LEFT);
+  mOvershootOverlay.SetDrawMode(DrawMode::OVERLAY);
+  mOvershootOverlay.SetVisible(false);
+
 }
 
-void ScrollOvershootEffectRipple::Apply(Scrollable& scrollable)
+void ScrollOvershootEffectRipple::Apply()
 {
-  Actor scrollableActor = scrollable.Self();
+  Actor self = mAttachedScrollView.Self();
+  mOvershootProperty = self.GetPropertyIndex(IsVertical() ? Toolkit::ScrollView::SCROLL_OVERSHOOT_Y_PROPERTY_NAME : Toolkit::ScrollView::SCROLL_OVERSHOOT_X_PROPERTY_NAME);
+  mCanScrollPropertyIndex = self.GetPropertyIndex(IsVertical() ? Scrollable::SCROLLABLE_CAN_SCROLL_VERTICAL : Scrollable::SCROLLABLE_CAN_SCROLL_HORIZONTAL);
 
   // make sure height is set, since we only create a constraint for image width
-  mOvershootImage.SetSize(OVERSHOOT_RIPPLE_IMAGE_1_PIXEL_AREA.width, OVERSHOOT_RIPPLE_IMAGE_1_PIXEL_AREA.height);
+  mOvershootOverlay.SetSize(OVERSHOOT_BOUNCE_ACTOR_DEFAULT_SIZE.width, OVERSHOOT_BOUNCE_ACTOR_DEFAULT_SIZE.height);
 
-  UpdateConstraints(scrollableActor);
-  scrollable.AddOverlay(mOvershootImage);
+  mAttachedScrollView.AddOverlay(mOvershootOverlay);
 
-  SetPropertyNotifications(scrollableActor);
+  UpdatePropertyNotifications();
 }
 
-void ScrollOvershootEffectRipple::Remove(Scrollable& scrollable)
+void ScrollOvershootEffectRipple::Remove( Scrollable& scrollable )
 {
-  if(mOvershootImage)
+  if(mOvershootOverlay)
   {
-    if(mSizeConstraint)
+    if(mOvershootIncreaseNotification)
     {
-      mOvershootImage.RemoveConstraint(mSizeConstraint);
-      mSizeConstraint = NULL;
+      scrollable.Self().RemovePropertyNotification(mOvershootIncreaseNotification);
+      mOvershootIncreaseNotification.Reset();
     }
-    if(mPositionConstraint)
+    if(mOvershootDecreaseNotification)
     {
-      mOvershootImage.RemoveConstraint(mPositionConstraint);
-      mPositionConstraint = NULL;
+      scrollable.Self().RemovePropertyNotification(mOvershootDecreaseNotification);
+      mOvershootDecreaseNotification.Reset();
     }
-    scrollable.RemoveOverlay(mOvershootImage);
+    scrollable.RemoveOverlay(mOvershootOverlay);
   }
 }
 
 void ScrollOvershootEffectRipple::Reset()
 {
-  mAnimatingOvershootOn = false;
-  mAnimateOvershootOff = false;
-  mOvershootImage.SetVisible(false);
-  mRippleEffect.SetProgressRate(0.0f);
-  if(mScrollOvershootAnimation)
-  {
-    mScrollOvershootAnimation.Clear();
-    mScrollOvershootAnimation.Reset();
-  }
+  mOvershootOverlay.SetVisible(false);
+  mOvershootOverlay.SetProperty( mEffectOvershootProperty, 0.f);
 }
 
-void ScrollOvershootEffectRipple::UpdateConstraints(Actor& scrollable)
+void ScrollOvershootEffectRipple::UpdatePropertyNotifications()
 {
-  int overshootPropertyIndex = mRippleEffect.GetPropertyIndex(mRippleEffect.GetProgressRatePropertyName());
-  Constraint constraint;
-  if(!mSizeConstraint)
+  float absOvershoot = fabsf(mOvershoot);
+
+  Actor self = mAttachedScrollView.Self();
+  // update overshoot increase notify
+  if( mOvershootIncreaseNotification )
   {
-    constraint = Constraint::New<float>( Actor::SIZE_WIDTH,
-                                                      Source( scrollable, IsVertical() ? Actor::SIZE_WIDTH : Actor::SIZE_HEIGHT),
-                                                      EqualToConstraint() );
-    mSizeConstraint = mOvershootImage.ApplyConstraint(constraint);
+    self.RemovePropertyNotification( mOvershootIncreaseNotification );
+    mOvershootIncreaseNotification.Reset();
   }
-
-  if(!mPositionConstraint)
+  if( absOvershoot < MAX_OVERSHOOT_NOTIFY_AMOUNT )
   {
-    constraint = Constraint::New<Vector3>( Actor::POSITION,
-                                           Source( scrollable, Actor::SIZE ),
-                                           Source( mRippleEffect, overshootPropertyIndex ),
-                                           boost::bind( &ScrollOvershootEffectRipple::PositionConstraint, this, _1, _2, _3) );
-    mPositionConstraint = mOvershootImage.ApplyConstraint(constraint);
+    float increaseStep = absOvershoot + OVERSHOOT_NOTIFY_STEP;
+    if( increaseStep > MAX_OVERSHOOT_NOTIFY_AMOUNT )
+    {
+      increaseStep = MAX_OVERSHOOT_NOTIFY_AMOUNT;
+    }
+    mOvershootIncreaseNotification = self.AddPropertyNotification( mOvershootProperty, OutsideCondition(-increaseStep, increaseStep) );
+    mOvershootIncreaseNotification.SetNotifyMode(PropertyNotification::NotifyOnTrue);
+    mOvershootIncreaseNotification.NotifySignal().Connect(this, &ScrollOvershootEffectRipple::OnOvershootNotification);
   }
-}
-
-void ScrollOvershootEffectRipple::SetPropertyNotifications(Actor& scrollable)
-{
-  int overshootXPropertyIndex = scrollable.GetPropertyIndex(Toolkit::ScrollView::SCROLL_OVERSHOOT_X_PROPERTY_NAME);
-  int overshootYPropertyIndex = scrollable.GetPropertyIndex(Toolkit::ScrollView::SCROLL_OVERSHOOT_Y_PROPERTY_NAME);
-  mCanScrollPropertyIndex = scrollable.GetPropertyIndex(IsVertical() ? Scrollable::SCROLLABLE_CAN_SCROLL_VERTICAL : Scrollable::SCROLLABLE_CAN_SCROLL_HORIZONTAL);
 
-  if(!mOvershootNegativeNotification)
+  // update overshoot decrease notify
+  if( mOvershootDecreaseNotification )
   {
-    mOvershootNegativeNotification = scrollable.AddPropertyNotification(IsVertical() ? overshootYPropertyIndex : overshootXPropertyIndex, LessThanCondition(-Math::MACHINE_EPSILON_1));
-    mOvershootNegativeNotification.SetNotifyMode(PropertyNotification::NotifyOnChanged);
-    mOvershootNegativeNotification.NotifySignal().Connect(this, &ScrollOvershootEffectRipple::OnNegativeOvershootNotification);
+    self.RemovePropertyNotification( mOvershootDecreaseNotification );
+    mOvershootDecreaseNotification.Reset();
   }
-
-  if(!mOvershootPositiveNotification)
+  if( absOvershoot > MIN_OVERSHOOT_NOTIFY_AMOUNT )
   {
-    mOvershootPositiveNotification = scrollable.AddPropertyNotification(IsVertical() ? overshootYPropertyIndex : overshootXPropertyIndex, GreaterThanCondition(Math::MACHINE_EPSILON_1));
-    mOvershootPositiveNotification.SetNotifyMode(PropertyNotification::NotifyOnChanged);
-    mOvershootPositiveNotification.NotifySignal().Connect(this, &ScrollOvershootEffectRipple::OnPositiveOvershootNotification);
+    float reduceStep = absOvershoot - OVERSHOOT_NOTIFY_STEP;
+    if( reduceStep < MIN_OVERSHOOT_NOTIFY_AMOUNT )
+    {
+      reduceStep = MIN_OVERSHOOT_NOTIFY_AMOUNT;
+    }
+    mOvershootDecreaseNotification = self.AddPropertyNotification( mOvershootProperty, InsideCondition(-reduceStep, reduceStep) );
+    mOvershootDecreaseNotification.SetNotifyMode(PropertyNotification::NotifyOnTrue);
+    mOvershootDecreaseNotification.NotifySignal().Connect(this, &ScrollOvershootEffectRipple::OnOvershootNotification);
   }
 }
 
-Vector3 ScrollOvershootEffectRipple::PositionConstraint(const Vector3& current,
-    const PropertyInput& parentSizeProperty, const PropertyInput& overshootProperty)
+void ScrollOvershootEffectRipple::SetOvershootEffectColor( const Vector4& color )
 {
-  float overshoot = overshootProperty.GetFloat();
-  const Vector3 parentSize = parentSizeProperty.GetVector3();
-
-  Vector3 relativeOffset = Vector3::ZERO;
-
-  if(IsVertical())
+  if(mOvershootOverlay)
   {
-    if(overshoot > Math::MACHINE_EPSILON_0)
-    {
-      relativeOffset = Vector3(0.0f, 0.0f, 0.0f);
-    }
-    else if (overshoot < -Math::MACHINE_EPSILON_0)
-    {
-      relativeOffset = Vector3(1.0f, 1.0f, 0.0f);
-    }
+    mOvershootOverlay.SetColor(color);
   }
-  else
+}
+
+void ScrollOvershootEffectRipple::UpdateVisibility( bool visible )
+{
+  mOvershootOverlay.SetVisible(visible);
+  // make sure overshoot image is correctly placed
+  if( visible )
   {
-    if(overshoot > Math::MACHINE_EPSILON_0)
+    Actor self = mAttachedScrollView.Self();
+    if(mOvershoot > 0.0f)
     {
-      relativeOffset = Vector3(0.0f, 1.0f, 0.0f);
+      // positive overshoot
+      const Vector3 size = mOvershootOverlay.GetCurrentSize();
+      Vector3 relativeOffset;
+      const Vector3 parentSize = self.GetCurrentSize();
+      if(IsVertical())
+      {
+        mOvershootOverlay.SetRotation(Quaternion(0.0f, Vector3::ZAXIS));
+        mOvershootOverlay.SetSize(parentSize.width, GetBounceActorHeight(parentSize.width), size.depth);
+      }
+      else
+      {
+        mOvershootOverlay.SetRotation(Quaternion(1.5f * Math::PI, Vector3::ZAXIS));
+        mOvershootOverlay.SetSize(parentSize.height, GetBounceActorHeight(parentSize.height), size.depth);
+        relativeOffset = Vector3(0.0f, 1.0f, 0.0f);
+      }
+      mOvershootOverlay.SetPosition(relativeOffset * parentSize);
     }
-    else if (overshoot < -Math::MACHINE_EPSILON_0)
+    else
     {
-      relativeOffset = Vector3(1.0f, 0.0f, 0.0f);
+      // negative overshoot
+      const Vector3 size = mOvershootOverlay.GetCurrentSize();
+      Vector3 relativeOffset;
+      const Vector3 parentSize = self.GetCurrentSize();
+      if(IsVertical())
+      {
+        mOvershootOverlay.SetRotation(Quaternion(Math::PI, Vector3::ZAXIS));
+        mOvershootOverlay.SetSize(parentSize.width, GetBounceActorHeight(parentSize.width), size.depth);
+        relativeOffset = Vector3(1.0f, 1.0f, 0.0f);
+      }
+      else
+      {
+        mOvershootOverlay.SetRotation(Quaternion(0.5f * Math::PI, Vector3::ZAXIS));
+        mOvershootOverlay.SetSize(parentSize.height, GetBounceActorHeight(parentSize.height), size.depth);
+        relativeOffset = Vector3(1.0f, 0.0f, 0.0f);
+      }
+      mOvershootOverlay.SetPosition(relativeOffset * parentSize);
     }
   }
-
-  return relativeOffset * parentSize;
 }
 
-void ScrollOvershootEffectRipple::OnPositiveOvershootNotification(PropertyNotification& source)
+void ScrollOvershootEffectRipple::OnOvershootNotification(PropertyNotification& source)
 {
-  Actor delegate = Actor::DownCast(source.GetTarget());
-  float overshoot = delegate.GetProperty<float>(source.GetTargetProperty());
-  bool canScroll = delegate.GetProperty<bool>(mCanScrollPropertyIndex);
-  if(!canScroll)
+  Actor self = mAttachedScrollView.Self();
+  mOvershoot = self.GetProperty<float>(mOvershootProperty);
+  if( source == mOvershootIncreaseNotification )
   {
-    mOvershootImage.SetVisible(false);
-    return;
-  }
-  mOvershootImage.SetVisible(true);
-
-  if (fabsf(overshoot) < Math::MACHINE_EPSILON_1)
-  {
-    AnimateScrollOvershoot(0.0f);
-    return;
-  }
-  if(overshoot > 0.0f)
-  {
-    const Vector3 imageSize = mOvershootImage.GetCurrentSize();
-    Vector3 relativeOffset = Vector3::ZERO;
-    const Vector3 parentSize = delegate.GetCurrentSize();
-    AnimateScrollOvershoot(1.0f);
-    if(IsVertical())
+    if( mOvershoot > Math::MACHINE_EPSILON_0 )
     {
-      mOvershootImage.SetRotation(Quaternion(0.0f, Vector3::ZAXIS));
-      mOvershootImage.SetSize(parentSize.width, imageSize.height, imageSize.depth);
-      relativeOffset = Vector3(0.0f, 0.0f, 0.0f);
+      SetOvershoot(1.0f);
     }
-    else
+    else if ( mOvershoot < -Math::MACHINE_EPSILON_0 )
     {
-      mOvershootImage.SetRotation(Quaternion(1.5f * Math::PI, Vector3::ZAXIS));
-      mOvershootImage.SetSize(parentSize.height, imageSize.height, imageSize.depth);
-      relativeOffset = Vector3(0.0f, 1.0f, 0.0f);
+      SetOvershoot(-1.0f);
     }
-    mOvershootImage.SetPosition(relativeOffset * parentSize);
   }
+  else if( source == mOvershootDecreaseNotification )
+  {
+    SetOvershoot(0.0f);
+    // overshoot reducing
+  }
+  UpdatePropertyNotifications();
 }
 
-void ScrollOvershootEffectRipple::OnNegativeOvershootNotification(PropertyNotification& source)
+void ScrollOvershootEffectRipple::SetOvershoot(float amount, bool animate)
 {
-  Actor delegate = Actor::DownCast(source.GetTarget());
-  float overshoot = delegate.GetProperty<float>(source.GetTargetProperty());
-  bool canScroll = delegate.GetProperty<bool>(mCanScrollPropertyIndex);
-  if(!canScroll)
+  float absAmount = fabsf(amount);
+  bool animatingOn = absAmount > Math::MACHINE_EPSILON_0;
+  if( (animatingOn && (mAnimationStateFlags & AnimatingIn)) )
   {
-    mOvershootImage.SetVisible(false);
+    // trying to do what we are already doing
+    if( mAnimationStateFlags & AnimateBack )
+    {
+      mAnimationStateFlags &= ~AnimateBack;
+    }
     return;
   }
-  mOvershootImage.SetVisible(true);
-
-  if (fabsf(overshoot) < Math::MACHINE_EPSILON_1)
+  if( (!animatingOn && (mAnimationStateFlags & AnimatingOut)) )
   {
-    AnimateScrollOvershoot(0.0f);
+    // trying to do what we are already doing
     return;
   }
-
-  if(overshoot < 0.0f)
+  if( !animatingOn && (mAnimationStateFlags & AnimatingIn) )
   {
-    const Vector3 imageSize = mOvershootImage.GetCurrentSize();
-    Vector3 relativeOffset = Vector3::ZERO;
-    const Vector3 parentSize = delegate.GetCurrentSize();
-    AnimateScrollOvershoot(-1.0f);
-    if(IsVertical())
-    {
-      mOvershootImage.SetRotation(Quaternion(Math::PI, Vector3::ZAXIS));
-      mOvershootImage.SetSize(parentSize.width, imageSize.height, imageSize.depth);
-      relativeOffset = Vector3(1.0f, 1.0f, 0.0f);
-    }
-    else
-    {
-      mOvershootImage.SetRotation(Quaternion(0.5f * Math::PI, Vector3::ZAXIS));
-      mOvershootImage.SetSize(parentSize.height, imageSize.height, imageSize.depth);
-      relativeOffset = Vector3(1.0f, 0.0f, 0.0f);
-    }
-    mOvershootImage.SetPosition(relativeOffset * parentSize);
+    // dont interrupt while animating on
+    mAnimationStateFlags |= AnimateBack;
+    return;
   }
-}
-
-void ScrollOvershootEffectRipple::AnimateScrollOvershoot(float overshootAmount)
-{
-  bool animatingOn = fabsf(overshootAmount) > Math::MACHINE_EPSILON_1;
-
-  // make sure we animate back if needed
-  mAnimateOvershootOff = (!animatingOn && mAnimatingOvershootOn);
-
-  int overShootProperty = mRippleEffect.GetPropertyIndex(mRippleEffect.GetProgressRatePropertyName());
-  float currentOvershoot = mRippleEffect.GetProperty<float>(overShootProperty);
-  if(((currentOvershoot < 0.0f && overshootAmount > 0.0f)
-      || (currentOvershoot > 0.0f && overshootAmount < 0.0f)))
+  // When we need to animate overshoot to 0
+  if( mOvershootAnimationDuration > Math::MACHINE_EPSILON_1 )
   {
-    // cancel current animation
-    mAnimatingOvershootOn = false;
-    // reset currentOvershoot to 0.0f
-    mRippleEffect.SetProperty(overShootProperty, 0.0f);
-    currentOvershoot = 0.0f;
+    // setup the new overshoot to 0 animation
+    float currentOvershoot = fabsf( mOvershootOverlay.GetProperty( mEffectOvershootProperty ).Get<float>() );
+    float duration = mOvershootAnimationDuration * (animatingOn ? (1.0f - currentOvershoot) : currentOvershoot);
+
+    if( duration > Math::MACHINE_EPSILON_0 )
+    {
+      if(mScrollOvershootAnimation)
+      {
+        mScrollOvershootAnimation.FinishedSignal().Disconnect( this, &ScrollOvershootEffectRipple::OnOvershootAnimFinished );
+        mScrollOvershootAnimation.Stop();
+        mScrollOvershootAnimation.Clear();
+        mScrollOvershootAnimation = NULL;
+      }
+      mScrollOvershootAnimation = Animation::New(duration);
+      mScrollOvershootAnimation.FinishedSignal().Connect( this, &ScrollOvershootEffectRipple::OnOvershootAnimFinished );
+      mScrollOvershootAnimation.AnimateTo( Property(mOvershootOverlay, mEffectOvershootProperty), amount, TimePeriod(duration) );
+      mScrollOvershootAnimation.Play();
+      mAnimationStateFlags = animatingOn ? AnimatingIn : AnimatingOut;
+    }
   }
-  if( mAnimatingOvershootOn )
+  else
   {
-    // animating on in same direction, do not allow animate off
-    return;
+    mOvershootOverlay.SetProperty( mEffectOvershootProperty, amount);
   }
-  float duration = DEFAULT_OVERSHOOT_ANIMATION_DURATION * (animatingOn ? (1.0f - fabsf(currentOvershoot)) : fabsf(currentOvershoot));
-
-  if(mScrollOvershootAnimation)
+  if( absAmount > Math::MACHINE_EPSILON_1 )
   {
-    mScrollOvershootAnimation.Clear();
-    mScrollOvershootAnimation.Reset();
+    UpdateVisibility(true);
   }
-  mScrollOvershootAnimation = Animation::New(duration);
-  mScrollOvershootAnimation.FinishedSignal().Connect(this, &ScrollOvershootEffectRipple::OnOvershootAnimFinished);
-  mScrollOvershootAnimation.AnimateTo( Property(mRippleEffect, overShootProperty), overshootAmount, TimePeriod(0.0f, duration) );
-  mScrollOvershootAnimation.Play();
-
-  mOvershootImage.SetVisible(true);
-
-  mAnimatingOvershootOn = animatingOn;
 }
 
 void ScrollOvershootEffectRipple::OnOvershootAnimFinished(Animation& animation)
 {
-  if(!mAnimatingOvershootOn && !mAnimateOvershootOff)
+  bool animateOff = false;
+  if( mAnimationStateFlags & AnimatingOut )
+  {
+    // should now be offscreen
+    mOvershootOverlay.SetVisible(false);
+  }
+  if( (mAnimationStateFlags & AnimateBack) )
   {
-    // just finished animating overshoot to 0
-    mOvershootImage.SetVisible(false);
+    animateOff = true;
   }
-  mAnimatingOvershootOn = false;
-  mScrollOvershootAnimation.FinishedSignal().Disconnect(this, &ScrollOvershootEffectRipple::OnOvershootAnimFinished);
+  mScrollOvershootAnimation.FinishedSignal().Disconnect( this, &ScrollOvershootEffectRipple::OnOvershootAnimFinished );
+  mScrollOvershootAnimation.Stop();
   mScrollOvershootAnimation.Clear();
-  mScrollOvershootAnimation.Reset();
-  if(mAnimateOvershootOff)
+  mScrollOvershootAnimation = NULL;
+  mAnimationStateFlags = 0;
+  if( animateOff )
   {
-    AnimateScrollOvershoot(0.0f);
+    SetOvershoot(0.0f, true);
   }
 }
 
-ScrollOvershootEffectRipplePtr ScrollOvershootEffectRipple::New(bool vertical)
+ScrollOvershootEffectRipplePtr ScrollOvershootEffectRipple::New( bool vertical, Scrollable& scrollable )
 {
-  return new ScrollOvershootEffectRipple(vertical);
+  return new ScrollOvershootEffectRipple(vertical, scrollable);
 }
 
 } // namespace Internal
index d59df83..7263f0c 100644 (file)
@@ -1,24 +1,24 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SCROLL_OVERSHOOT_INDICATOR_H__
 #define __DALI_TOOLKIT_INTERNAL_SCROLL_OVERSHOOT_INDICATOR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali/dali.h>
-#include <dali-toolkit/public-api/shader-effects/bouncing-effect.h>
 
 namespace Dali
 {
@@ -42,10 +42,8 @@ public:
 
   /**
    * ScrollOvershootIndicator constructor.
-   * @param[in] scrollView reference to ScrollView implementation
-   * or horizontally (false)
    */
-  ScrollOvershootIndicator( Scrollable& scrollable);
+  ScrollOvershootIndicator();
 
   /**
    * Virtual destructor
@@ -53,10 +51,18 @@ public:
   virtual ~ScrollOvershootIndicator();
 
   /**
-   * Enables and disables the indicator
-   * &param[in] enable true to enable, false to disable
+   * Attaches the scroll indicator to a scrollable actor
+   *
+   * &param[in] scrollable The scrollable actor to attach to
+   */
+  void AttachToScrollable(Scrollable& scrollable);
+
+  /**
+   * Detaches the scroll indicator from a scrollable actor
+   *
+   * &param[in] scrollable The scrollable actor to detach from
    */
-  void Enable(bool enable);
+  void DetachFromScrollable(Scrollable& scrollable);
 
   /**
    * Resets the indicator
@@ -64,15 +70,24 @@ public:
   void Reset();
 
   /**
+   * Clears the overshoot
+   */
+  void ClearOvershoot();
+
+  /**
    * Create an initialized ScrollOvershootIndicator
-   * @param[in] scrollView reference to ScrollView implementation
-   * or horizontally (false)
+   *
    * @return A pointer to the created ScrollOvershootIndicator.
    */
-  static ScrollOvershootIndicator* New( Scrollable& scrollable);
+  static ScrollOvershootIndicator* New();
+
+  /**
+   * Set the color of the overshoot effect.
+   * @parm[in] color The color of the overshoot effect
+   */
+  void SetOvershootEffectColor( const Vector4& color );
 
 private:
-  Scrollable& mScrollable;                                ///< Internal::Scrollable object
   ScrollOvershootEffectPtr mEffectX;                      ///< effect used for x-axis/horizontal display
   ScrollOvershootEffectPtr mEffectY;                      ///< effect used for y-axis/vertical display
 };
@@ -89,7 +104,7 @@ public:
    *
    * @param[in] vertical whether this effect is a vertical or horizontal one
    */
-  ScrollOvershootEffect(bool vertical);
+  ScrollOvershootEffect( bool vertical );
 
   /**
    * Virtual destructor
@@ -101,21 +116,21 @@ public:
    *
    * @return true or false
    */
-  inline bool IsVertical() { return mVertical; }
+  bool IsVertical() const;
 
   /**
    * Applies the indicator effect, all derived effects must implement this function
    *
    * @param[in] scrollable the scrollable object to apply this effect to
    */
-  virtual void Apply(Scrollable& scrollable) = 0;
+  virtual void Apply() = 0;
 
   /**
    * Removes the indicator effect, all derived effects must implement this function
    *
    * @param[in] scrollable the scrollable object to remove this effect from
    */
-  virtual void Remove(Scrollable& scrollable) = 0;
+  virtual void Remove( Scrollable& scrollable ) = 0;
 
   /**
    * Resets this overshoot effect
@@ -123,18 +138,22 @@ public:
   virtual void Reset() = 0;
 
   /**
-   * Updates the constraints used for the overshoot effect
-   *
-   * @param[in] scrollable the container for the overshoot effect
+   * Sets up property notifications for overshoot values
    */
-  virtual void UpdateConstraints(Actor& scrollable) {}
+  virtual void UpdatePropertyNotifications() {}
 
   /**
-   * Sets up property notifications for overshoot values
+   * @copydoc ScrollOvershootIndicator::SetOvershootEffectColor()
+   */
+  virtual void SetOvershootEffectColor( const Vector4& color ) = 0;
+
+  /**
+   * Sets shader overshoot value, either immediately of by animating over time
    *
-   * @param[in] scrollable the container for the overshoot effect
+   * @param[in] amount The amount to set overshoot to [-1.0f,1.0f]
+   * @param[in] animate Whether to animate or set immediately
    */
-  virtual void SetPropertyNotifications(Actor& scrollable) {}
+  virtual void SetOvershoot(float amount, bool animate = true) = 0;
 
 private:
   bool mVertical;                      ///< whether this is a vertical/horizontal effect
@@ -146,21 +165,31 @@ private:
  */
 struct ScrollOvershootEffectRipple : public ScrollOvershootEffect, public ConnectionTracker
 {
+  enum AnimationState
+  {
+    AnimatingIn  = 0x01,  ///< animating overshoot to 0
+    AnimatingOut = 0x02,  ///< animating overshoot to negative (overshoot image displays in +ve area of screen)
+    AnimateBack  = 0x04,  ///< indicates that we need to animate overshoot back to zero immediately after it has finished animating in
+  };
+
 public:
+
   /**
    * Create a new gradient overshoot effect, passing in whether it is vertical or horizontal
+   *
+   * @param[in] vertical Whether this indicator is vertical or horizontal
    */
-  ScrollOvershootEffectRipple(bool vertical);
+  ScrollOvershootEffectRipple( bool vertical, Scrollable& scrollable );
 
   /**
    * @copydoc ScrollOvershootEffect::Apply
    */
-  virtual void Apply(Scrollable& scrollable);
+  virtual void Apply();
 
   /**
    * @copydoc ScrollOvershootEffect::Remove
    */
-  virtual void Remove(Scrollable& scrollable);
+  virtual void Remove( Scrollable& scrollable );
 
   /**
    * @copydoc ScrollOvershootEffect::Reset
@@ -168,46 +197,35 @@ public:
   virtual void Reset();
 
   /**
-   * @copydoc ScrollOvershootEffect::UpdateConstraints(Actor& scrollable)
-   */
-  virtual void UpdateConstraints(Actor& scrollable);
-
-  /**
-   * @copydoc ScrollOvershootEffect::SetPropertyNotification
+   * @copydoc ScrollOvershootEffect::UpdatePropertyNotifications
    */
-  virtual void SetPropertyNotifications(Actor& scrollable);
+  void UpdatePropertyNotifications();
 
   /**
-   * Constrains the size of the gradient image
-   * @param[in] current current position of the image actor
-   * @param[in] parentSizeProperty size of the scrollable area so we can position image on the edge of it
-   * @param[in] overshootProperty current overshoot amount for this indicator's axis
-   * @return new position of the gradient image actor
+   * @copydoc ScrollOvershootEffect::SetOvershootEffectColor()
    */
-  Vector3 PositionConstraint(const Vector3& current, const PropertyInput& parentSizeProperty, const PropertyInput& overshootProperty);
+  void SetOvershootEffectColor( const Vector4& color );
 
   /**
-   * Informs overshoot effect to update image position and to animate effect overshoot value for a
-   * positive overshoot value from scrollview
+   * Updates the vibility of the overshoot image as well as updating its size, position and rotation
+   * This function is called when animation starts and finishes
    *
-   * @param[in] source the property notification that triggered this callback
+   * @param[in] visible Whether to set the image visible or not
    */
-  void OnPositiveOvershootNotification(PropertyNotification& source);
+  void UpdateVisibility( bool visible );
 
   /**
    * Informs overshoot effect to update image position and to animate effect overshoot value for a
-   * negative overshoot value from scrollview
+   * positive overshoot value from scrollview
    *
    * @param[in] source the property notification that triggered this callback
    */
-  void OnNegativeOvershootNotification(PropertyNotification& source);
+  void OnOvershootNotification(PropertyNotification& source);
 
   /**
-   * Function to animate effect overshoot value either to -1.0f/1.0f or 0.0f
-   *
-   * @param[in] overshootAmount the amount to animate overshoot to [-1.0f,0.0f,1.0f]
+   * @copydoc ScrollOvershootEffect::SetOvershoot()
    */
-  void AnimateScrollOvershoot(float overshootAmount);
+  void SetOvershoot(float amount, bool animate = true);
 
   /**
    * Connects to the animation finished signal of our overshoot animation
@@ -218,24 +236,25 @@ public:
 
   /**
    * Creates a new ScrollOvershootEffectGradient objects and returns a pointer to it
+   *
    * @param[in] vertical whether to create a vertical(true) or horizontal effect
    * @return a pointer to the new effect
    */
-  static ScrollOvershootEffectRipplePtr New( bool vertical );
+  static ScrollOvershootEffectRipplePtr New( bool vertical, Scrollable& scrollable );
 
 private:
-
-  float mMaxOvershootImageSize;            ///< maximum size of the image when overshoot value is 1.0f
-  ImageActor mOvershootImage;              ///< the overshoot image...
-  Animation mScrollOvershootAnimation;     ///< animation
-  bool      mAnimatingOvershootOn;         ///< whether we are currently animating overshoot to 1.0f/-1.0f (on) or to 0.0f (off)
-  bool      mAnimateOvershootOff;          ///< whether we are currently animating overshoot to 1.0f/-1.0f (on) or to 0.0f (off)
-  int       mCanScrollPropertyIndex;       ///< property index to a property that informs indicator if it is needed
-  BouncingEffect mRippleEffect;                 // the ripple vertex/fragment shader effect
-  PropertyNotification mOvershootPositiveNotification; // stores the property notification used for positive overshoot values
-  PropertyNotification mOvershootNegativeNotification; // stores the property notification used for negative overshoot values
-  ActiveConstraint    mSizeConstraint;                 // active constraint handle used to store the image width constraint
-  ActiveConstraint    mPositionConstraint;             // active constraint handle used to store the image position constraint
+  Actor                 mOvershootOverlay;             ///< the actor which displays the overshoot effect
+  Scrollable&           mAttachedScrollView;           ///< the actor that this indicator has been attached to
+  Animation             mScrollOvershootAnimation;     ///< overshoot animation
+  PropertyNotification  mOvershootIncreaseNotification;///< notification used to inform as overshoot increases
+  PropertyNotification  mOvershootDecreaseNotification;///< notification used to inform as overshoot decreases
+  Property::Index       mCanScrollPropertyIndex;       ///< property index to a property that informs indicator if it is needed
+  Property::Index       mOvershootProperty;            ///< index of the overshoot property in the scrollable actor
+  Property::Index       mEffectOvershootProperty;      ///< index of the effect's overshoot property
+  float                 mMaxOvershootImageSize;        ///< maximum height of the image when overshoot value is 1.0f
+  float                 mOvershootAnimationDuration;   ///< time taken for overshoot to go from fully offscreen to fully onscreen and vice versa
+  float                 mOvershoot;                    ///< last overshoot value as detected by notifications
+  unsigned short        mAnimationStateFlags;          ///< contains flags indicating the current state of the overshoot animation
 };
 
 } // namespace Internal
index ea5c6eb..87e9a58 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <boost/bind.hpp>
index a84b256..ccd08b2 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_CAROUSEL_EFFECT_H__
 #define __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_CAROUSEL_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/animation/animation.h>
index f0c6f7a..65fdd5f 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <boost/bind.hpp>
index 4ad0ac3..e747c69 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_CUBE_EFFECT_H__
 #define __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_CUBE_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/animation/animation.h>
index 4223a8f..a6d1cde 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-custom-effect-impl.h>
index c6c952c..4943fb2 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_CUSTOM_EFFECT_H__
 #define __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_CUSTOM_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/animation/animation.h>
index cdef6d5..9c63f2c 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-effect-impl.h>
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-depth-effect-impl.h>
index 8372fbe..c1d6f9c 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_DEPTH_EFFECT_H__
 #define __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_DEPTH_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/animation/animation.h>
index 365aeaa..fa4d89c 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-effect-impl.h>
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.h>
index 2bb3d32..53b73ea 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_EFFECT_H__
 #define __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index 39808e6..3f627ec 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-helper-functions.h>
 
index c9227d8..2077c3c 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_HELPER_FUNCTIONS_H__
 #define __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_HELPER_FUNCTIONS_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index b11b64c..96a9c84 100644 (file)
@@ -1,33 +1,44 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
-// INTERNAL INCLUDES
+// CLASS HEADER
+#include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.h>
+
+// EXTERNAL INCLUDES
 #include <dali/public-api/events/mouse-wheel-event.h>
+#include <dali/integration-api/debug.h>
 
+// INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-constraints.h>
 #include <dali-toolkit/public-api/controls/scrollable/scroll-component-impl.h>
-#include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.h>
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-effect-impl.h>
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-overshoot-indicator-impl.h>
 
+//#define ENABLED_SCROLL_STATE_LOGGING
+
+#ifdef ENABLED_SCROLL_STATE_LOGGING
+#define DALI_LOG_SCROLL_STATE(format, args...) Dali::Integration::Log::LogMessage(Dali::Integration::Log::DebugInfo, "%s:%d " format "\n", __PRETTY_FUNCTION__, __LINE__, ## args)
+#else
+#define DALI_LOG_SCROLL_STATE(format, args...)
+#endif
+
 // TODO: Change to two class system:
-// 1. DraggableActor (is an actor which can be dragged anywhere/scaled/rotated, can be set to range using the ruler)
+// 1. DraggableActor (is an actor which can be dragged anywhere, can be set to range using the ruler)
 // 2. ScrollView (contains a draggable actor that can a) be dragged in the negative X, and Y domain, b) has a hitArea for touches)
-// TODO: Rotation
-// TODO: Asymetrical scaling
 // TODO: external components (page and status overlays).
 // TODO: Orientation.
 // TODO: upgrade Vector2/3 to support returning Unit vectors, normals, & cross product (dot product is already provided)
@@ -38,13 +49,18 @@ namespace
 {
 
 const int DEFAULT_REFRESH_INTERVAL_MILLISECONDS = 50;                                     ///< Refresh rate TODO: Animation should have an update signal (and see item-view-impl)
-const float FLICK_SPEED_THRESHOLD = 500.0f;                                               ///< Flick threshold in pixels/ms
+const Vector2 DEFAULT_MIN_FLICK_DISTANCE(30.0f, 30.0f);                                   ///< minimum distance for pan before flick allowed
+const float DEFAULT_MIN_FLICK_SPEED_THRESHOLD(500.0f);                          ///< Minimum pan speed required for flick in pixels/s
 const float FREE_FLICK_SPEED_THRESHOLD = 200.0f;                                          ///< Free-Flick threshold in pixels/ms
 const float AUTOLOCK_AXIS_MINIMUM_DISTANCE2 = 100.0f;                                     ///< Auto-lock axis after minimum distance squared.
-const float FLICK_ORTHO_ANGLE_RANGE = 60.0f;                                              ///< degrees. (if >45, then supports diagonal flicking)
+const float FLICK_ORTHO_ANGLE_RANGE = 75.0f;                                              ///< degrees. (if >45, then supports diagonal flicking)
 const unsigned int MAXIMUM_NUMBER_OF_VALUES = 5;                                          ///< Number of values to use for weighted pan calculation.
 const Vector2 DEFAULT_MOUSE_WHEEL_SCROLL_DISTANCE_STEP_PROPORTION = Vector2(0.17f, 0.1f); ///< The step of horizontal scroll distance in the proportion of stage size for each mouse wheel event received.
 const unsigned long MINIMUM_TIME_BETWEEN_DOWN_AND_UP_FOR_RESET( 150u );
+const float DEFAULT_OVERSHOOT_ANIMATION_DURATION = 0.35f;  // time in seconds
+const Vector2 OVERSCROLL_CLAMP(1.0f, 1.0f);                // maximum overscroll allowed in pixels when overshoot indicator is being used
+const float TOUCH_DOWN_TIMER_INTERVAL = 100.0f;
+const float DEFAULT_SCROLL_UPDATE_DISTANCE( 30.0f );                               ///< Default distance to travel in pixels for scroll update signal
 
 // predefined effect values
 const Vector3 ANGLE_CAROUSEL_ROTATE(Math::PI * 0.5f, Math::PI * 0.5f, 0.0f);
@@ -186,11 +202,14 @@ Vector3 InternalRelativePositionConstraint(const Vector3&    current,
                                            const PropertyInput& scrollMaxProperty,
                                            const PropertyInput& scrollSizeProperty)
 {
-  const Vector3& position = -scrollPositionProperty.GetVector3();
+  Vector3 position = -scrollPositionProperty.GetVector3();
   const Vector3& min = scrollMinProperty.GetVector3();
   const Vector3& max = scrollMaxProperty.GetVector3();
   const Vector3& size = scrollSizeProperty.GetVector3();
 
+  position.x = WrapInDomain(position.x, min.x, max.x);
+  position.y = WrapInDomain(position.y, min.y, max.y);
+
   Vector3 relativePosition;
   Vector3 domainSize = (max - min) - size;
 
@@ -215,112 +234,152 @@ namespace
 {
 
 /**
+ * Returns whether to lock scrolling to a particular axis
+ *
+ * @param[in] panDelta Distance panned since gesture started
+ * @param[in] currentLockAxis The current lock axis value
+ * @param[in] lockGradient How quickly to lock to a particular axis
+ *
+ * @return The new axis lock state
+ */
+ScrollView::LockAxis GetLockAxis(const Vector2& panDelta, ScrollView::LockAxis currentLockAxis, float lockGradient)
+{
+  if(panDelta.LengthSquared() > AUTOLOCK_AXIS_MINIMUM_DISTANCE2 &&
+      currentLockAxis == ScrollView::LockPossible)
+  {
+    float dx = fabsf(panDelta.x);
+    float dy = fabsf(panDelta.y);
+    if(dx * lockGradient >= dy)
+    {
+      // 0.36:1 gradient to the horizontal (deviate < 20 degrees)
+      currentLockAxis = ScrollView::LockVertical;
+    }
+    else if(dy * lockGradient > dx)
+    {
+      // 0.36:1 gradient to the vertical (deviate < 20 degrees)
+      currentLockAxis = ScrollView::LockHorizontal;
+    }
+    else
+    {
+      currentLockAxis = ScrollView::LockNone;
+    }
+  }
+  return currentLockAxis;
+}
+
+/**
  * Internal Pre-Position Property Constraint.
  *
  * Generates position property based on current position + gesture displacement.
  * Or generates position property based on positionX/Y.
  * Note: This is the position prior to any clamping at scroll boundaries.
- * TODO: Scale & Rotation Transforms.
  */
 struct InternalPrePositionConstraint
 {
-  InternalPrePositionConstraint(const Vector2& initialPanMask,
+  InternalPrePositionConstraint(const Vector2& initialPanPosition,
+                                const Vector2& initialPanMask,
                                 bool axisAutoLock,
-                                float axisAutoLockGradient)
-  : mInitialPanMask(initialPanMask),
-    mAxisAutoLock(axisAutoLock),
-    mLockAxis(ScrollView::LockPossible),
+                                float axisAutoLockGradient,
+                                ScrollView::LockAxis initialLockAxis,
+                                const Vector2& maxOvershoot,
+                                const RulerDomain& domainX, const RulerDomain& domainY)
+  : mLocalStart(initialPanPosition),
+    mInitialPanMask(initialPanMask),
+    mDomainMin( -domainX.min, -domainY.min ),
+    mDomainMax( -domainX.max, -domainY.max ),
+    mMaxOvershoot(maxOvershoot),
     mAxisAutoLockGradient(axisAutoLockGradient),
-    mPrePosition(Vector3::ZERO),
-    mWasPanning(false)
+    mLockAxis(initialLockAxis),
+    mAxisAutoLock(axisAutoLock),
+    mWasPanning(false),
+    mClampX( domainX.enabled ),
+    mClampY( domainY.enabled )
   {
   }
 
   Vector3 operator()(const Vector3&    current,
                      const PropertyInput& gesturePositionProperty,
-                     const PropertyInput& gestureDisplacementProperty,
-                     const PropertyInput& scrollPositionXProperty,
-                     const PropertyInput& scrollPositionYProperty,
-                     const PropertyInput& panningProperty)
+                     const PropertyInput& sizeProperty)
   {
-    const bool panning = panningProperty.GetBoolean();
-    Vector3 scrollPostPosition;
+    Vector3 scrollPostPosition = current;
+    Vector2 panPosition = gesturePositionProperty.GetVector2();
 
-    if(panning)
+    if(!mWasPanning)
     {
-      // Check if panning has just started...
-      if(!mWasPanning)
-      {
-        mLocalStart = gesturePositionProperty.GetVector2() - gestureDisplacementProperty.GetVector2();
-        mPrePosition = current;
-        mLockAxis = ScrollView::LockPossible;
+      mPrePosition = current;
+      mCurrentPanMask = mInitialPanMask;
+      mWasPanning = true;
+    }
 
-        mCurrentPanMask = mInitialPanMask;
-      }
+    // Calculate Deltas...
+    Vector2 currentPosition = gesturePositionProperty.GetVector2();
+    Vector2 panDelta( currentPosition - mLocalStart );
 
-      // Calculate Deltas...
-      Vector2 currentPosition = gesturePositionProperty.GetVector2();
-      Vector2 panDelta( currentPosition - mLocalStart );
+    // Axis Auto Lock - locks the panning to the horizontal or vertical axis if the pan
+    // appears mostly horizontal or mostly vertical respectively...
+    if( mAxisAutoLock )
+    {
+      mLockAxis = GetLockAxis(panDelta, mLockAxis, mAxisAutoLockGradient);
+      if( mLockAxis == ScrollView::LockVertical )
+      {
+        mCurrentPanMask.y = 0.0f;
+      }
+      else if( mLockAxis == ScrollView::LockHorizontal )
+      {
+        mCurrentPanMask.x = 0.0f;
+      }
+    }
 
-      // Axis Auto Lock - locks the panning to the horizontal or vertical axis if the pan
-      // appears mostly horizontal or mostly vertical respectively...
-      AxisAutoLock(panDelta);
+    // Restrict deltas based on ruler enable/disable and axis-lock state...
+    panDelta *= mCurrentPanMask;
 
-      // Restrict deltas based on ruler enable/disable and axis-lock state...
-      panDelta *= mCurrentPanMask;
+    // Perform Position transform based on input deltas...
+    scrollPostPosition = mPrePosition;
+    scrollPostPosition.GetVectorXY() += panDelta;
 
-      // Perform Position transform based on input deltas...
-      scrollPostPosition = mPrePosition;
-      scrollPostPosition.GetVectorXY() += panDelta;
-    }
-    else
+    // if no wrapping then clamp preposition to maximum overshoot amount
+    const Vector3& size = sizeProperty.GetVector3();
+    if( mClampX )
     {
-      scrollPostPosition.x = scrollPositionXProperty.GetFloat();
-      scrollPostPosition.y = scrollPositionYProperty.GetFloat();
+      float newXPosition = Clamp(scrollPostPosition.x, (mDomainMax.x + size.x) - mMaxOvershoot.x, mDomainMin.x + mMaxOvershoot.x );
+      if( (newXPosition < scrollPostPosition.x - Math::MACHINE_EPSILON_1)
+              || (newXPosition > scrollPostPosition.x + Math::MACHINE_EPSILON_1) )
+      {
+        mPrePosition.x = newXPosition;
+        mLocalStart.x = panPosition.x;
+      }
+      scrollPostPosition.x = newXPosition;
     }
-
-    mWasPanning = panning;
-    return scrollPostPosition;
-  }
-
-  void AxisAutoLock(Vector2& panDelta)
-  {
-    if(mAxisAutoLock)
+    if( mClampY )
     {
-      if(panDelta.LengthSquared() > AUTOLOCK_AXIS_MINIMUM_DISTANCE2 &&
-          mLockAxis == ScrollView::LockPossible)
+      float newYPosition = Clamp(scrollPostPosition.y, (mDomainMax.y + size.y) - mMaxOvershoot.y, mDomainMin.y + mMaxOvershoot.y );
+      if( (newYPosition < scrollPostPosition.y - Math::MACHINE_EPSILON_1)
+              || (newYPosition > scrollPostPosition.y + Math::MACHINE_EPSILON_1) )
       {
-        float dx = fabsf(panDelta.x);
-        float dy = fabsf(panDelta.y);
-        if(dx * mAxisAutoLockGradient >= dy)
-        {
-          // 0.36:1 gradient to the horizontal (deviate < 20 degrees)
-          mLockAxis = ScrollView::LockVertical;
-          mCurrentPanMask.y = 0.0f;
-        }
-        else if(dy * mAxisAutoLockGradient > dx)
-        {
-          // 0.36:1 gradient to the vertical (deviate < 20 degrees)
-          mLockAxis = ScrollView::LockHorizontal;
-          mCurrentPanMask.x = 0.0f;
-        }
-        else
-        {
-          mLockAxis = ScrollView::LockNone;
-        }
+        mPrePosition.y = newYPosition;
+        mLocalStart.y = panPosition.y;
       }
-    } // end if mAxisAutoLock
+      scrollPostPosition.y = newYPosition;
+    }
+
+    return scrollPostPosition;
   }
 
+  Vector3 mPrePosition;
   Vector2 mLocalStart;
   Vector2 mInitialPanMask;              ///< Initial pan mask (based on ruler settings)
   Vector2 mCurrentPanMask;              ///< Current pan mask that can be altered by axis lock mode.
+  Vector2 mDomainMin;
+  Vector2 mDomainMax;
+  Vector2 mMaxOvershoot;
 
-  bool mAxisAutoLock;                   ///< Set by ScrollView
-  ScrollView::LockAxis mLockAxis;
   float mAxisAutoLockGradient;          ///< Set by ScrollView
-  Vector3 mPrePosition;
-  bool mWasPanning;
+  ScrollView::LockAxis mLockAxis;
+
+  bool mAxisAutoLock:1;                   ///< Set by ScrollView
+  bool mWasPanning:1;
+  bool mClampX:1;
+  bool mClampY:1;
 };
 
 /**
@@ -332,23 +391,37 @@ struct InternalPrePositionConstraint
  */
 struct InternalPositionConstraint
 {
-  InternalPositionConstraint(const RulerDomain& domainX, const RulerDomain& domainY)
+  InternalPositionConstraint(const RulerDomain& domainX, const RulerDomain& domainY, bool wrap)
   : mDomainMin( -domainX.min, -domainY.min ),
     mDomainMax( -domainX.max, -domainY.max ),
     mClampX( domainX.enabled ),
-    mClampY( domainY.enabled )
+    mClampY( domainY.enabled ),
+    mWrap( wrap )
   {
   }
 
   Vector3 operator()(const Vector3&    current,
                      const PropertyInput& scrollPositionProperty,
+                     const PropertyInput& scrollMinProperty,
+                     const PropertyInput& scrollMaxProperty,
                      const PropertyInput& scrollSizeProperty)
   {
     Vector3 position = scrollPositionProperty.GetVector3();
     const Vector2& size = scrollSizeProperty.GetVector3().GetVectorXY();
+    const Vector3& min = scrollMinProperty.GetVector3();
+    const Vector3& max = scrollMaxProperty.GetVector3();
 
-    position.x = mClampX ? Clamp(position.x, mDomainMax.x + size.x, mDomainMin.x ) : position.x;
-    position.y = mClampY ? Clamp(position.y, mDomainMax.y + size.y, mDomainMin.y ) : position.y;
+    if( mWrap )
+    {
+      position.x = -WrapInDomain(-position.x, min.x, max.x);
+      position.y = -WrapInDomain(-position.y, min.y, max.y);
+    }
+    else
+    {
+      // clamp post position to domain
+      position.x = mClampX ? Clamp(position.x, mDomainMax.x + size.x, mDomainMin.x ) : position.x;
+      position.y = mClampY ? Clamp(position.y, mDomainMax.y + size.y, mDomainMin.y ) : position.y;
+    }
 
     return position;
   }
@@ -357,6 +430,7 @@ struct InternalPositionConstraint
   Vector2 mDomainMax;
   bool mClampX;
   bool mClampY;
+  bool mWrap;
 
 };
 
@@ -366,19 +440,23 @@ struct InternalPositionConstraint
  */
 struct OvershootXConstraint
 {
-  OvershootXConstraint(float maxOvershoot) : mLastOvershoot(0.0f), mMaxOvershoot(maxOvershoot) {}
+  OvershootXConstraint(float maxOvershoot) : mMaxOvershoot(maxOvershoot) {}
 
   float operator()(const float&    current,
       const PropertyInput& scrollPrePositionProperty,
-      const PropertyInput& scrollPostPositionProperty)
+      const PropertyInput& scrollPostPositionProperty,
+      const PropertyInput& canScrollProperty)
   {
-    Vector3 scrollPrePosition = scrollPrePositionProperty.GetVector3();
-    Vector3 scrollPostPosition = scrollPostPositionProperty.GetVector3();
-    float newOvershoot = scrollPrePosition.x - scrollPostPosition.x;
-    return (newOvershoot > 0.0f ? std::min(newOvershoot, mMaxOvershoot) : std::max(newOvershoot, -mMaxOvershoot)) / mMaxOvershoot;
+    if( canScrollProperty.GetBoolean() )
+    {
+      const Vector3& scrollPrePosition = scrollPrePositionProperty.GetVector3();
+      const Vector3& scrollPostPosition = scrollPostPositionProperty.GetVector3();
+      float newOvershoot = scrollPrePosition.x - scrollPostPosition.x;
+      return (newOvershoot > 0.0f ? std::min(newOvershoot, mMaxOvershoot) : std::max(newOvershoot, -mMaxOvershoot)) / mMaxOvershoot;
+    }
+    return 0.0f;
   }
 
-  float mLastOvershoot;
   float mMaxOvershoot;
 };
 
@@ -388,45 +466,27 @@ struct OvershootXConstraint
  */
 struct OvershootYConstraint
 {
-  OvershootYConstraint(float maxOvershoot) : mLastOvershoot(0.0f), mMaxOvershoot(maxOvershoot) {}
+  OvershootYConstraint(float maxOvershoot) : mMaxOvershoot(maxOvershoot) {}
 
   float operator()(const float&    current,
       const PropertyInput& scrollPrePositionProperty,
-      const PropertyInput& scrollPostPositionProperty)
+      const PropertyInput& scrollPostPositionProperty,
+      const PropertyInput& canScrollProperty)
   {
-    Vector3 scrollPrePosition = scrollPrePositionProperty.GetVector3();
-    Vector3 scrollPostPosition = scrollPostPositionProperty.GetVector3();
-    float newOvershoot = scrollPrePosition.y - scrollPostPosition.y;
-    return (newOvershoot > 0.0f ? std::min(newOvershoot, mMaxOvershoot) : std::max(newOvershoot, -mMaxOvershoot)) / mMaxOvershoot;
+    if( canScrollProperty.GetBoolean() )
+    {
+      const Vector3& scrollPrePosition = scrollPrePositionProperty.GetVector3();
+      const Vector3& scrollPostPosition = scrollPostPositionProperty.GetVector3();
+      float newOvershoot = scrollPrePosition.y - scrollPostPosition.y;
+      return (newOvershoot > 0.0f ? std::min(newOvershoot, mMaxOvershoot) : std::max(newOvershoot, -mMaxOvershoot)) / mMaxOvershoot;
+    }
+    return 0.0f;
   }
 
-  float mLastOvershoot;
   float mMaxOvershoot;
 };
 
 /**
- * When panning, this constraint updates the X property, otherwise
- * it has no effect on the X property.
- */
-float InternalXConstraint(const float&    current,
-                          const PropertyInput& scrollPosition,
-                          const PropertyInput& panningProperty)
-{
-  return scrollPosition.GetVector3().x;
-}
-
-/**
- * When panning, this constraint updates the Y property, otherwise
- * it has no effect on the Y property.
- */
-float InternalYConstraint(const float&    current,
-                          const PropertyInput& scrollPosition,
-                          const PropertyInput& panningProperty)
-{
-  return scrollPosition.GetVector3().y;
-}
-
-/**
  * Internal Position-Delta Property Constraint.
  *
  * Generates position-delta property based on scroll-position + scroll-offset properties.
@@ -509,38 +569,43 @@ Dali::Toolkit::ScrollView ScrollView::New()
 
 ScrollView::ScrollView()
 : ScrollBase(),
-  mInitialized(false),
-  mScrolling(false),
-  mScrollInterrupted(false),
   mTouchDownTime(0u),
-  mSensitive(true),
   mGestureStackDepth(0),
-  mRotationDelta(0.0f),
-  mScrollPreRotation(0.0f),
-  mScrollPostRotation(0.0f),
-  mTouchDownReceived(false),
-  mActorAutoSnapEnabled(false),
-  mAutoResizeContainerEnabled(false),
-  mWrapMode(false),
-  mAxisAutoLock(false),
+  mScrollStateFlags(0),
   mMinTouchesForPanning(1),
   mMaxTouchesForPanning(1),
   mLockAxis(LockPossible),
-  mRefreshIntervalMilliseconds(DEFAULT_REFRESH_INTERVAL_MILLISECONDS),
-  mAlterChild(false),
+  mScrollUpdateDistance(DEFAULT_SCROLL_UPDATE_DISTANCE),
   mOvershootDelay(1.0f),
   mMaxOvershoot(Toolkit::ScrollView::DEFAULT_MAX_OVERSHOOT, Toolkit::ScrollView::DEFAULT_MAX_OVERSHOOT),
-  mDefaultMaxOvershoot(true),
+  mUserMaxOvershoot(Toolkit::ScrollView::DEFAULT_MAX_OVERSHOOT, Toolkit::ScrollView::DEFAULT_MAX_OVERSHOOT),
   mSnapOvershootDuration(Toolkit::ScrollView::DEFAULT_SNAP_OVERSHOOT_DURATION),
   mSnapOvershootAlphaFunction(AlphaFunctions::EaseOut),
   mSnapDuration(Toolkit::ScrollView::DEFAULT_SLOW_SNAP_ANIMATION_DURATION),
   mSnapAlphaFunction(AlphaFunctions::EaseOut),
+  mMinFlickDistance(DEFAULT_MIN_FLICK_DISTANCE),
+  mFlickSpeedThreshold(DEFAULT_MIN_FLICK_SPEED_THRESHOLD),
   mFlickDuration(Toolkit::ScrollView::DEFAULT_FAST_SNAP_ANIMATION_DURATION),
   mFlickAlphaFunction(AlphaFunctions::EaseOut),
   mAxisAutoLockGradient(Toolkit::ScrollView::DEFAULT_AXIS_AUTO_LOCK_GRADIENT),
   mFrictionCoefficient(Toolkit::ScrollView::DEFAULT_FRICTION_COEFFICIENT),
   mFlickSpeedCoefficient(Toolkit::ScrollView::DEFAULT_FLICK_SPEED_COEFFICIENT),
-  mMaxFlickSpeed(Toolkit::ScrollView::DEFAULT_MAX_FLICK_SPEED)
+  mMaxFlickSpeed(Toolkit::ScrollView::DEFAULT_MAX_FLICK_SPEED),
+  mInAccessibilityPan(false),
+  mInitialized(false),
+  mScrolling(false),
+  mScrollInterrupted(false),
+  mPanning(false),
+  mSensitive(true),
+  mTouchDownTimeoutReached(false),
+  mActorAutoSnapEnabled(false),
+  mAutoResizeContainerEnabled(false),
+  mWrapMode(false),
+  mAxisAutoLock(false),
+  mAlterChild(false),
+  mDefaultMaxOvershoot(true),
+  mCanScrollHorizontal(true),
+  mCanScrollVertical(true)
 {
   SetRequiresMouseWheelEvents(true);
 }
@@ -548,7 +613,6 @@ ScrollView::ScrollView()
 void ScrollView::OnInitialize()
 {
   Actor self = Self();
-  self.SetLeaveRequired(true);
 
   // Internal Actor, used to hide actors from enumerations.
   // Also actors added to Internal actor appear as overlays e.g. ScrollBar components.
@@ -565,8 +629,6 @@ void ScrollView::OnInitialize()
   RegisterProperties();
 
   mScrollPostPosition = mScrollPrePosition = Vector3::ZERO;
-  mScrollPostScale = mScrollPreScale = Vector3::ONE;
-  mScrollPostRotation = mScrollPreRotation = 0.0f;
 
   mMouseWheelScrollDistanceStep = Stage::GetCurrent().GetSize() * DEFAULT_MOUSE_WHEEL_SCROLL_DISTANCE_STEP_PROPORTION;
 
@@ -582,13 +644,8 @@ void ScrollView::OnInitialize()
   // By default we'll allow the user to freely drag the scroll view,
   // while disabling the other rulers.
   RulerPtr ruler = new DefaultRuler();
-  RulerPtr rulerDisabled = new DefaultRuler();
-  rulerDisabled->Disable();
   mRulerX = ruler;
   mRulerY = ruler;
-  mRulerScaleX = rulerDisabled;
-  mRulerScaleY = rulerDisabled;
-  mRulerRotation = rulerDisabled;
 
   EnableScrollComponent(Toolkit::Scrollable::OvershootIndicator);
 
@@ -599,6 +656,8 @@ void ScrollView::OnInitialize()
 
 void ScrollView::OnControlStageConnection()
 {
+  DALI_LOG_SCROLL_STATE("[0x%X]", this);
+
   if ( mSensitive )
   {
     SetScrollSensitive( false );
@@ -613,16 +672,14 @@ void ScrollView::OnControlStageConnection()
 
 void ScrollView::OnControlStageDisconnection()
 {
-  if ( mSnapOvershootAnimation )
-  {
-    SetOvershootToOrigin();
-  }
+  DALI_LOG_SCROLL_STATE("[0x%X]", this);
 
   StopAnimation();
 }
 
 ScrollView::~ScrollView()
 {
+  DALI_LOG_SCROLL_STATE("[0x%X]", this);
 }
 
 AlphaFunction ScrollView::GetScrollSnapAlphaFunction() const
@@ -845,70 +902,104 @@ void ScrollView::SetRulerY(RulerPtr ruler)
 
 void ScrollView::UpdatePropertyDomain(const Vector3& size)
 {
-  Vector3 min;
-  Vector3 max;
+  Actor self = Self();
+  Vector3 min = mMinScroll;
+  Vector3 max = mMaxScroll;
+  bool scrollPositionChanged = false;
+  bool domainChanged = false;
 
   bool canScrollVertical = false;
   bool canScrollHorizontal = false;
-  Actor self = Self();
+  UpdateLocalScrollProperties();
   if(mRulerX->IsEnabled())
   {
     const Toolkit::RulerDomain& rulerDomain = mRulerX->GetDomain();
-    min.x = rulerDomain.min;
-    max.x = rulerDomain.max;
+    if( fabsf(min.x - rulerDomain.min) > Math::MACHINE_EPSILON_100
+        || fabsf(max.x - rulerDomain.max) > Math::MACHINE_EPSILON_100 )
+    {
+      domainChanged = true;
+      min.x = rulerDomain.min;
+      max.x = rulerDomain.max;
 
-    // make sure new scroll value is within new domain
-    float newScroll = min.x;
-    int scrollXPropertyIndex = self.GetPropertyIndex(Toolkit::ScrollView::SCROLL_X_PROPERTY_NAME);
-    if((fabsf(max.x - min.x) - size.x) > Math::MACHINE_EPSILON_1)
+      // make sure new scroll value is within new domain
+      if( mScrollPrePosition.x < min.x
+          || mScrollPrePosition.x > max.x )
+      {
+        scrollPositionChanged = true;
+        mScrollPrePosition.x = Clamp(mScrollPrePosition.x, -(max.x - size.x), -min.x);
+      }
+    }
+    if( (fabsf(rulerDomain.max - rulerDomain.min) - size.x) > Math::MACHINE_EPSILON_100 )
     {
       canScrollHorizontal = true;
-      float currentScroll = self.GetProperty<float>(scrollXPropertyIndex);
-      newScroll = Clamp(currentScroll, -(max.x - size.x), -min.x);
     }
-    self.SetProperty(scrollXPropertyIndex, newScroll);
+  }
+  else if( fabs(min.x) > Math::MACHINE_EPSILON_100
+           || fabs(max.x) > Math::MACHINE_EPSILON_100 )
+  {
+    // need to reset to 0
+    domainChanged = true;
+    min.x = 0.0f;
+    max.x = 0.0f;
+    canScrollHorizontal = false;
   }
 
   if(mRulerY->IsEnabled())
   {
     const Toolkit::RulerDomain& rulerDomain = mRulerY->GetDomain();
-    min.y = rulerDomain.min;
-    max.y = rulerDomain.max;
+    if( fabsf(min.y - rulerDomain.min) > Math::MACHINE_EPSILON_100
+        || fabsf(max.y - rulerDomain.max) > Math::MACHINE_EPSILON_100 )
+    {
+      domainChanged = true;
+      min.y = rulerDomain.min;
+      max.y = rulerDomain.max;
 
-    // make sure new scroll value is within new domain
-    float newScroll = min.y;
-    int scrollYPropertyIndex = self.GetPropertyIndex(Toolkit::ScrollView::SCROLL_Y_PROPERTY_NAME);
-    if((fabsf(max.y - min.y) - size.y) > Math::MACHINE_EPSILON_1)
+      // make sure new scroll value is within new domain
+      if( mScrollPrePosition.y < min.y
+          || mScrollPrePosition.y > max.y )
+      {
+        scrollPositionChanged = true;
+        mScrollPrePosition.y = Clamp(mScrollPrePosition.y, -(max.y - size.y), -min.y);
+      }
+    }
+    if( (fabsf(rulerDomain.max - rulerDomain.min) - size.y) > Math::MACHINE_EPSILON_100 )
     {
       canScrollVertical = true;
-      float currentScroll = self.GetProperty<float>(scrollYPropertyIndex);
-      newScroll = Clamp(currentScroll, -(max.y - size.y), -min.y);
     }
-    self.SetProperty(scrollYPropertyIndex, newScroll);
   }
-  self.SetProperty(mPropertyCanScrollVertical, canScrollVertical);
-  self.SetProperty(mPropertyCanScrollHorizontal, canScrollHorizontal);
-
-  self.SetProperty(mPropertyPositionMin, min );
-  self.SetProperty(mPropertyPositionMax, max );
-}
-
-void ScrollView::SetRulerScaleX(RulerPtr ruler)
-{
-  mRulerScaleX = ruler;
-  UpdateMainInternalConstraint();
-}
-
-void ScrollView::SetRulerScaleY(RulerPtr ruler)
-{
-  mRulerScaleY = ruler;
-  UpdateMainInternalConstraint();
-}
+  else if( fabs(min.y) > Math::MACHINE_EPSILON_100
+           || fabs(max.y) > Math::MACHINE_EPSILON_100 )
+  {
+    // need to reset to 0
+    domainChanged = true;
+    min.y = 0.0f;
+    max.y = 0.0f;
+    canScrollVertical = false;
+  }
 
-void ScrollView::SetRulerRotation(RulerPtr ruler)
-{
-  mRulerRotation = ruler;
-  UpdateMainInternalConstraint();
+  // avoid setting properties if possible, otherwise this will cause an entire update as well as triggering constraints using each property we update
+  if( mCanScrollVertical != canScrollVertical )
+  {
+    mCanScrollVertical = canScrollVertical;
+    self.SetProperty(mPropertyCanScrollVertical, canScrollVertical);
+  }
+  if( mCanScrollHorizontal != canScrollHorizontal )
+  {
+    mCanScrollHorizontal = canScrollHorizontal;
+    self.SetProperty(mPropertyCanScrollHorizontal, canScrollHorizontal);
+  }
+  if( scrollPositionChanged )
+  {
+    DALI_LOG_SCROLL_STATE("[0x%X] Domain Changed, setting mPropertyPrePosition To[%.2f, %.2f]", this, mScrollPrePosition.x, mScrollPrePosition.y );
+    self.SetProperty(mPropertyPrePosition, mScrollPrePosition);
+  }
+  if( domainChanged )
+  {
+    mMinScroll = min;
+    mMaxScroll = max;
+    self.SetProperty(mPropertyPositionMin, mMinScroll );
+    self.SetProperty(mPropertyPositionMax, mMaxScroll );
+  }
 }
 
 void ScrollView::SetScrollSensitive(bool sensitive)
@@ -916,6 +1007,8 @@ void ScrollView::SetScrollSensitive(bool sensitive)
   Actor self = Self();
   PanGestureDetector panGesture( GetPanGestureDetector() );
 
+  DALI_LOG_SCROLL_STATE("[0x%X] sensitive: before:[%d] setting[%d]", this, int(mSensitive), int(sensitive));
+
   if((!mSensitive) && (sensitive))
   {
     mSensitive = sensitive;
@@ -923,9 +1016,10 @@ void ScrollView::SetScrollSensitive(bool sensitive)
   }
   else if((mSensitive) && (!sensitive))
   {
+    DALI_LOG_SCROLL_STATE("[0x%X] BEFORE: panning:[%d]", this, int(mPanning));
+
     // while the scroll view is panning, the state needs to be reset.
-    bool isPanning = self.GetProperty<bool>( mPropertyPanning );
-    if ( isPanning )
+    if ( mPanning )
     {
       PanGesture cancelGesture( Gesture::Cancelled );
       OnPan( cancelGesture );
@@ -935,6 +1029,7 @@ void ScrollView::SetScrollSensitive(bool sensitive)
     mSensitive = sensitive;
 
     mGestureStackDepth = 0;
+    DALI_LOG_SCROLL_STATE("[0x%X] AFTER: panning:[%d]", this, int(mPanning));
   }
 }
 
@@ -942,6 +1037,7 @@ void ScrollView::SetMaxOvershoot(float overshootX, float overshootY)
 {
   mMaxOvershoot.x = overshootX;
   mMaxOvershoot.y = overshootY;
+  mUserMaxOvershoot = mMaxOvershoot;
   mDefaultMaxOvershoot = false;
   UpdateMainInternalConstraint();
 }
@@ -999,12 +1095,22 @@ void ScrollView::SetWrapMode(bool enable)
 
 int ScrollView::GetRefreshInterval() const
 {
-  return mRefreshIntervalMilliseconds;
+  return mScrollUpdateDistance;
 }
 
 void ScrollView::SetRefreshInterval(int milliseconds)
 {
-  mRefreshIntervalMilliseconds = milliseconds;
+  mScrollUpdateDistance = milliseconds;
+}
+
+int ScrollView::GetScrollUpdateDistance() const
+{
+  return mScrollUpdateDistance;
+}
+
+void ScrollView::SetScrollUpdateDistance(int distance)
+{
+  mScrollUpdateDistance = distance;
 }
 
 bool ScrollView::GetAxisAutoLock() const
@@ -1051,6 +1157,26 @@ void ScrollView::SetFlickSpeedCoefficient(float speed)
   mFlickSpeedCoefficient = speed;
 }
 
+Vector2 ScrollView::GetMinimumDistanceForFlick() const
+{
+  return mMinFlickDistance;
+}
+
+void ScrollView::SetMinimumDistanceForFlick( const Vector2& distance )
+{
+  mMinFlickDistance = distance;
+}
+
+float ScrollView::GetMinimumSpeedForFlick() const
+{
+  return mFlickSpeedThreshold;
+}
+
+void ScrollView::SetMinimumSpeedForFlick( float speed )
+{
+  mFlickSpeedThreshold = speed;
+}
+
 float ScrollView::GetMaxFlickSpeed() const
 {
   return mMaxFlickSpeed;
@@ -1074,7 +1200,7 @@ Vector2 ScrollView::GetMouseWheelScrollDistanceStep() const
 unsigned int ScrollView::GetCurrentPage() const
 {
   // in case animation is currently taking place.
-  Vector3 position = GetPropertyPrePosition();
+  Vector3 position = GetPropertyPosition();
 
   Actor self = Self();
   unsigned int page = 0;
@@ -1091,14 +1217,12 @@ unsigned int ScrollView::GetCurrentPage() const
 
 Vector3 ScrollView::GetCurrentScrollPosition() const
 {
-  // in case animation is currently taking place.
-  return -GetPropertyPrePosition();
+  return -GetPropertyPosition();
 }
 
-Vector3 ScrollView::GetCurrentScrollScale() const
+void ScrollView::SetScrollPosition(const Vector3& position)
 {
-  // in case animation is currently taking place.
-  return GetPropertyScale();
+  mScrollPrePosition = position;
 }
 
 Vector3 ScrollView::GetDomainSize() const
@@ -1112,38 +1236,55 @@ Vector3 ScrollView::GetDomainSize() const
   return domainSize;
 }
 
-void ScrollView::TransformTo(const Vector3& position, const Vector3& scale, float rotation,
+void ScrollView::TransformTo(const Vector3& position,
                              DirectionBias horizontalBias, DirectionBias verticalBias)
 {
-  TransformTo(position, scale, rotation, mSnapDuration, horizontalBias, verticalBias);
+  TransformTo(position, mSnapDuration, horizontalBias, verticalBias);
 }
 
-void ScrollView::TransformTo(const Vector3& position, const Vector3& scale, float rotation, float duration,
+void ScrollView::TransformTo(const Vector3& position, float duration,
                              DirectionBias horizontalBias, DirectionBias verticalBias)
 {
+  Actor self( Self() );
+
   // Guard against destruction during signal emission
   // Note that Emit() methods are called indirectly e.g. from within ScrollView::AnimateTo()
   Toolkit::ScrollView handle( GetOwner() );
 
+  DALI_LOG_SCROLL_STATE("[0x%X] pos[%.2f,%.2f], duration[%.2f] bias[%d, %d]",
+    this, position.x, position.y, duration, int(horizontalBias), int(verticalBias));
+
   Vector3 currentScrollPosition = GetCurrentScrollPosition();
-  Self().SetProperty( mPropertyScrollStartPagePosition, currentScrollPosition );
+  self.SetProperty( mPropertyScrollStartPagePosition, currentScrollPosition );
 
-  if(mScrolling) // are we interrupting a current scroll?
+  if( mScrolling ) // are we interrupting a current scroll?
   {
     // set mScrolling to false, in case user has code that interrogates mScrolling Getter() in complete.
     mScrolling = false;
+    DALI_LOG_SCROLL_STATE("[0x%X] mScrollCompletedSignalV2 1 [%.2f, %.2f]", this, currentScrollPosition.x, currentScrollPosition.y);
     mScrollCompletedSignalV2.Emit( currentScrollPosition );
   }
 
-  Self().SetProperty(mPropertyScrolling, true);
+  if( mPanning ) // are we interrupting a current pan?
+  {
+    DALI_LOG_SCROLL_STATE("[0x%X] Interrupting Pan, set to false", this );
+    mPanning = false;
+    mGestureStackDepth = 0;
+    self.SetProperty( mPropertyPanning, false );
+
+    if( mScrollMainInternalPrePositionConstraint )
+    {
+      self.RemoveConstraint(mScrollMainInternalPrePositionConstraint);
+    }
+  }
+
+  self.SetProperty(mPropertyScrolling, true);
   mScrolling = true;
+
+  DALI_LOG_SCROLL_STATE("[0x%X] mScrollStartedSignalV2 1 [%.2f, %.2f]", this, currentScrollPosition.x, currentScrollPosition.y);
   mScrollStartedSignalV2.Emit( currentScrollPosition );
   bool animating = AnimateTo(-position,
                              Vector3::ONE * duration,
-                             scale,
-                             Vector3::ONE * duration,
-                             rotation,
-                             duration,
                              mSnapAlphaFunction,
                              true,
                              horizontalBias,
@@ -1153,9 +1294,20 @@ void ScrollView::TransformTo(const Vector3& position, const Vector3& scale, floa
   if(!animating)
   {
     // if not animating, then this pan has completed right now.
-    Self().SetProperty(mPropertyScrolling, false);
+    self.SetProperty(mPropertyScrolling, false);
     mScrolling = false;
-    mScrollCompletedSignalV2.Emit( currentScrollPosition );
+
+    // If we have no duration, then in the next update frame, we will be at the position specified as we just set.
+    // In this scenario, we cannot return the currentScrollPosition as this is out-of-date and should instead return the requested final position
+    Vector3 completedPosition( currentScrollPosition );
+    if( duration <= Math::MACHINE_EPSILON_10 )
+    {
+      completedPosition = position;
+    }
+
+    DALI_LOG_SCROLL_STATE("[0x%X] mScrollCompletedSignalV2 2 [%.2f, %.2f]", this, completedPosition.x, completedPosition.y);
+    SetScrollUpdateNotification(false);
+    mScrollCompletedSignalV2.Emit( completedPosition );
   }
 }
 
@@ -1172,7 +1324,10 @@ void ScrollView::ScrollTo(const Vector3& position, float duration)
 void ScrollView::ScrollTo(const Vector3& position, float duration,
                           DirectionBias horizontalBias, DirectionBias verticalBias)
 {
-  TransformTo(position, mScrollPostScale, mScrollPostRotation, duration, horizontalBias, verticalBias);
+  DALI_LOG_SCROLL_STATE("[0x%X] position[%.2f, %.2f] duration[%.2f]",
+    this, position.x, position.y, duration, int(horizontalBias), int(verticalBias));
+
+  TransformTo(position, duration, horizontalBias, verticalBias);
 }
 
 void ScrollView::ScrollTo(unsigned int page)
@@ -1313,21 +1468,11 @@ Actor ScrollView::FindClosestActorToPosition(const Vector3& position, FindDirect
 
 bool ScrollView::ScrollToSnapPoint()
 {
+  DALI_LOG_SCROLL_STATE("[0x%X]", this );
   Vector2 stationaryVelocity = Vector2(0.0f, 0.0f);
   return SnapWithVelocity( stationaryVelocity );
 }
 
-void ScrollView::ScaleTo(const Vector3& scale)
-{
-  ScaleTo(scale, mSnapDuration);
-}
-
-void ScrollView::ScaleTo(const Vector3& scale, float duration)
-{
-  TransformTo(mScrollPostPosition, scale, mScrollPostRotation, duration);
-}
-
-
 // TODO: In situations where axes are different (X snap, Y free)
 // Each axis should really have their own independent animation (time and equation)
 // Consider, X axis snapping to nearest grid point (EaseOut over fixed time)
@@ -1344,8 +1489,6 @@ bool ScrollView::SnapWithVelocity(Vector2 velocity)
   float speed2 = velocity.LengthSquared();
   AlphaFunction alphaFunction = mSnapAlphaFunction;
   Vector3 positionDuration = Vector3::ONE * mSnapDuration;
-  Vector3 scaleDuration = Vector3::ONE * mSnapDuration;
-  float rotationDuration = mSnapDuration;
   float biasX = 0.5f;
   float biasY = 0.5f;
   FindDirection horizontal = None;
@@ -1355,17 +1498,18 @@ bool ScrollView::SnapWithVelocity(Vector2 velocity)
   // that will be accepted as a general N,E,S,W flick direction.
 
   const float orthoAngleRange = FLICK_ORTHO_ANGLE_RANGE * M_PI / 180.0f;
-  const float flickSpeedThreshold2 = FLICK_SPEED_THRESHOLD*FLICK_SPEED_THRESHOLD;
+  const float flickSpeedThreshold2 = mFlickSpeedThreshold * mFlickSpeedThreshold;
 
-  Vector3 positionSnap = mScrollPostPosition;
+  Vector3 positionSnap = mScrollPrePosition;
 
   // Flick logic X Axis
 
-  if(mRulerX->IsEnabled())
+  if(mRulerX->IsEnabled() && mLockAxis != LockHorizontal)
   {
     horizontal = All;
 
-    if(speed2 > flickSpeedThreshold2) // exceeds flick threshold
+    if( speed2 > flickSpeedThreshold2 || // exceeds flick threshold
+        mInAccessibilityPan ) // With AccessibilityPan its easier to move between snap positions
     {
       if((angle >= -orthoAngleRange) && (angle < orthoAngleRange)) // Swiping East
       {
@@ -1388,11 +1532,12 @@ bool ScrollView::SnapWithVelocity(Vector2 velocity)
 
   // Flick logic Y Axis
 
-  if(mRulerY->IsEnabled())
+  if(mRulerY->IsEnabled() && mLockAxis != LockVertical)
   {
     vertical = All;
 
-    if(speed2 > flickSpeedThreshold2) // exceeds flick threshold
+    if( speed2 > flickSpeedThreshold2 || // exceeds flick threshold
+        mInAccessibilityPan ) // With AccessibilityPan its easier to move between snap positions
     {
       if((angle >= M_PI_2-orthoAngleRange) && (angle < M_PI_2+orthoAngleRange)) // Swiping South
       {
@@ -1533,70 +1678,34 @@ bool ScrollView::SnapWithVelocity(Vector2 velocity)
   }
   positionSnap += clampDelta;
 
-  // Scale Snap ///////////////////////////////////////////////////////////////
-  Vector3 scaleSnap = mScrollPostScale;
-
-  scaleSnap.x = mRulerScaleX->Snap(scaleSnap.x);
-  scaleSnap.y = mRulerScaleY->Snap(scaleSnap.y);
-
-  ClampScale(scaleSnap);
-
-  // Rotation Snap ////////////////////////////////////////////////////////////
-  float rotationSnap = mScrollPostRotation;
-  // TODO: implement rotation snap
-
   bool animating = AnimateTo(positionSnap, positionDuration,
-                             scaleSnap, scaleDuration,
-                             rotationSnap, rotationDuration,
                              alphaFunction, false,
                              DirectionBiasNone, DirectionBiasNone,
                              isFlick || isFreeFlick ? Flick : Snap);
 
-  if(animating)
-  {
-    AnimateOvershootToOrigin(positionDuration.x, positionDuration.y);
-  }
-
   return animating;
 }
 
 void ScrollView::StopAnimation(void)
 {
   // Clear Snap animation if exists.
-  if(mSnapAnimation)
-  {
-    mSnapAnimation.Stop();
-    mSnapAnimation.FinishedSignal().Disconnect(this, &ScrollView::OnSnapAnimationFinished);
-    mSnapAnimation.Clear();
-    mSnapAnimation = NULL;
-  }
-  if(mSnapXAnimation)
-  {
-    mSnapXAnimation.Stop();
-    mSnapXAnimation.FinishedSignal().Disconnect(this, &ScrollView::OnSnapXAnimationFinished);
-    mSnapXAnimation.Clear();
-    mSnapXAnimation = NULL;
-  }
-  if(mSnapYAnimation)
-  {
-    mSnapYAnimation.Stop();
-    mSnapYAnimation.FinishedSignal().Disconnect(this, &ScrollView::OnSnapYAnimationFinished);
-    mSnapYAnimation.Clear();
-    mSnapYAnimation = NULL;
-  }
-  if(mSnapOvershootAnimation)
+  StopAnimation(mInternalXAnimation);
+  StopAnimation(mInternalYAnimation);
+  mScrollStateFlags = 0;
+  // remove scroll animation flags
+  HandleStoppedAnimation();
+}
+
+void ScrollView::StopAnimation(Animation& animation)
+{
+  if(animation)
   {
-    mSnapOvershootAnimation.FinishedSignal().Disconnect(this, &ScrollView::OnSnapOvershootAnimationFinished);
-    mSnapOvershootAnimation.Stop();
-    mSnapOvershootAnimation.Clear();
-    mSnapOvershootAnimation = NULL;
+    animation.Stop();
+    animation.Reset();
   }
-  HandleStoppedAnimation();
 }
 
 bool ScrollView::AnimateTo(const Vector3& position, const Vector3& positionDuration,
-                           const Vector3& scale, const Vector3& scaleDuration,
-                           float rotation, float rotationDuration,
                            AlphaFunction alpha, bool findShortcuts,
                            DirectionBias horizontalBias, DirectionBias verticalBias,
                            SnapType snapType)
@@ -1604,124 +1713,96 @@ bool ScrollView::AnimateTo(const Vector3& position, const Vector3& positionDurat
   // Here we perform an animation on a number of properties (depending on which have changed)
   // The animation is applied to all ScrollBases
   Actor self = Self();
-  bool startAnimation = false;
-  Vector3 positionTransformed = position;
+  mScrollTargetPosition = position;
   float totalDuration = 0.0f;
 
-  bool positionChanged = (positionTransformed != mScrollPostPosition);
-  bool scaleChanged = (scale != mScrollPostScale);
-  bool rotationChanged = fabsf(rotation - mScrollPostRotation) > Math::MACHINE_EPSILON_0;
+  bool positionChanged = (mScrollTargetPosition != mScrollPostPosition);
 
   if(positionChanged)
   {
     totalDuration = std::max(totalDuration, positionDuration.x);
     totalDuration = std::max(totalDuration, positionDuration.y);
   }
-
-  if(scaleChanged)
+  else
   {
-    totalDuration = std::max(totalDuration, scaleDuration.x);
-    totalDuration = std::max(totalDuration, scaleDuration.y);
+    // try to animate for a frame, on some occasions update will be changing scroll value while event side thinks it hasnt changed
+    totalDuration = 0.01f;
+    positionChanged = true;
   }
 
-  if(rotationChanged)
-  {
-    totalDuration = std::max(totalDuration, rotationDuration);
-  }
+  StopAnimation();
 
-  if(totalDuration > Math::MACHINE_EPSILON_1)
+  // Position Delta ///////////////////////////////////////////////////////
+  if(positionChanged)
   {
-    StopAnimation();
-    mSnapAnimation = Animation::New(totalDuration);
-    mSnapAnimation.FinishedSignal().Connect(this, &ScrollView::OnSnapAnimationFinished);
-    mSnapXAnimation = Animation::New(positionDuration.x);
-    mSnapXAnimation.FinishedSignal().Connect(this, &ScrollView::OnSnapXAnimationFinished);
-    mSnapYAnimation = Animation::New(positionDuration.y);
-    mSnapYAnimation.FinishedSignal().Connect(this, &ScrollView::OnSnapYAnimationFinished);
-    startAnimation = true;
-
-    // Position Delta ///////////////////////////////////////////////////////
-    if(positionChanged)
-    {
-      if(mWrapMode && findShortcuts)
-      {
-        // In Wrap Mode, the shortest distance is a little less intuitive...
-        const RulerDomain rulerDomainX = mRulerX->GetDomain();
-        const RulerDomain rulerDomainY = mRulerY->GetDomain();
-
-        if(mRulerX->IsEnabled())
-        {
-          float dir = VectorInDomain(-mScrollPostPosition.x, -positionTransformed.x, rulerDomainX.min, rulerDomainX.max, horizontalBias);
-          positionTransformed.x = mScrollPostPosition.x + -dir;
-        }
+    if(mWrapMode && findShortcuts)
+    {
+      // In Wrap Mode, the shortest distance is a little less intuitive...
+      const RulerDomain rulerDomainX = mRulerX->GetDomain();
+      const RulerDomain rulerDomainY = mRulerY->GetDomain();
 
-        if(mRulerY->IsEnabled())
-        {
-          float dir = VectorInDomain(-mScrollPostPosition.y, -positionTransformed.y, rulerDomainY.min, rulerDomainY.max, verticalBias);
-          positionTransformed.y = mScrollPostPosition.y + -dir;
-        }
+      if(mRulerX->IsEnabled())
+      {
+        float dir = VectorInDomain(-mScrollPrePosition.x, -mScrollTargetPosition.x, rulerDomainX.min, rulerDomainX.max, horizontalBias);
+        mScrollTargetPosition.x = mScrollPrePosition.x + -dir;
       }
 
-      // note we have two separate animations for X & Y, this deals with sliding diagonally and hitting
-      // a horizonal/vertical wall.delay
-      mSnapXAnimation.AnimateTo( Property(self, mPropertyX), positionTransformed.x, alpha, TimePeriod(0.0f, positionDuration.x));
-      mSnapYAnimation.AnimateTo( Property(self, mPropertyY), positionTransformed.y, alpha, TimePeriod(0.0f, positionDuration.y));
-    }
-
-    // Scale Delta ///////////////////////////////////////////////////////
-    if(scaleChanged)
-    {
-      // TODO: for non-uniform scaling to different bounds e.g. scaling a square to a 4:3 aspect ratio screen with a velocity
-      // the height will hit first, and then the width, so that would require two different animation times just like position.
-      mSnapAnimation.AnimateTo( Property(self, mPropertyScale), scale, alpha, TimePeriod(0.0f, scaleDuration.x));
+      if(mRulerY->IsEnabled())
+      {
+        float dir = VectorInDomain(-mScrollPrePosition.y, -mScrollTargetPosition.y, rulerDomainY.min, rulerDomainY.max, verticalBias);
+        mScrollTargetPosition.y = mScrollPrePosition.y + -dir;
+      }
     }
 
-    mSnapAnimation.AnimateTo( Property(self, mPropertyTime), totalDuration, AlphaFunctions::Linear );
+    // note we have two separate animations for X & Y, this deals with sliding diagonally and hitting
+    // a horizonal/vertical wall.delay
+    AnimateInternalXTo(mScrollTargetPosition.x, positionDuration.x, alpha);
+    AnimateInternalYTo(mScrollTargetPosition.y, positionDuration.y, alpha);
 
-    mSnapAnimation.Play();
-    mSnapXAnimation.Play();
-    mSnapYAnimation.Play();
-    StartRefreshTimer();
-  } // end if(totalDuration > Math::MACHINE_EPSILON_1)
-  else // totalDuration == 0
-  {
-    // instantly set transform.
-    if(positionChanged)
+    if( !(mScrollStateFlags & SCROLL_ANIMATION_FLAGS) )
     {
-      self.SetProperty(mPropertyX, positionTransformed.x);
-      self.SetProperty(mPropertyY, positionTransformed.y);
-
-      mScrollPrePosition = mScrollPostPosition = positionTransformed;
+      DALI_LOG_SCROLL_STATE("[0x%X] Setting mPropertyPrePosition To[%.2f, %.2f]", this, mScrollTargetPosition.x, mScrollTargetPosition.y );
+      self.SetProperty(mPropertyPrePosition, mScrollTargetPosition);
+      mScrollPrePosition = mScrollTargetPosition;
+      mScrollPostPosition = mScrollTargetPosition;
+      WrapPosition(mScrollPostPosition);
     }
 
-    if(scaleChanged)
-    {
-      self.SetProperty(mPropertyScale, scale);
-
-      mScrollPreScale = mScrollPostScale = scale;
-    }
+    DALI_LOG_SCROLL_STATE("[0x%X] position-changed, mScrollTargetPosition[%.2f, %.2f], mScrollPrePosition[%.2f, %.2f], mScrollPostPosition[%.2f, %.2f]", this, mScrollTargetPosition.x, mScrollTargetPosition.y, mScrollPrePosition.x, mScrollPrePosition.y, mScrollPostPosition.x, mScrollPostPosition.y );
+    DALI_LOG_SCROLL_STATE("[0x%X] mPropertyPrePosition[%.2f, %.2f], mPropertyPosition[%.2f, %.2f]", this, self.GetProperty( mPropertyPrePosition ).Get<Vector3>().x, self.GetProperty( mPropertyPrePosition ).Get<Vector3>().y, self.GetProperty( mPropertyPosition ).Get<Vector3>().x, self.GetProperty( mPropertyPosition ).Get<Vector3>().y );
   }
 
+  SetScrollUpdateNotification(true);
+
   // Always send a snap event when AnimateTo is called.
   Toolkit::ScrollView::SnapEvent snapEvent;
   snapEvent.type = snapType;
-  snapEvent.position = positionTransformed;
-  snapEvent.scale = scale;
-  snapEvent.rotation = rotation;
+  snapEvent.position = -mScrollTargetPosition;
   snapEvent.duration = totalDuration;
 
+  DALI_LOG_SCROLL_STATE("[0x%X] mSnapStartedSignalV2 [%.2f, %.2f]", this, snapEvent.position.x, snapEvent.position.y);
   mSnapStartedSignalV2.Emit( snapEvent );
 
-  return startAnimation;
+  return (mScrollStateFlags & SCROLL_ANIMATION_FLAGS) != 0;
 }
 
 void ScrollView::SetOvershootEnabled(bool enabled)
 {
   if(enabled && !mOvershootIndicator)
   {
-    mOvershootIndicator = ScrollOvershootIndicator::New(*this);
+    mOvershootIndicator = ScrollOvershootIndicator::New();
+  }
+  if( enabled )
+  {
+    mMaxOvershoot = OVERSCROLL_CLAMP;
+    mOvershootIndicator->AttachToScrollable(*this);
+  }
+  else
+  {
+    mMaxOvershoot = mUserMaxOvershoot;
+    mOvershootIndicator->DetachFromScrollable(*this);
   }
-  mOvershootIndicator->Enable(enabled);
+  UpdateMainInternalConstraint();
 }
 
 void ScrollView::AddOverlay(Actor actor)
@@ -1734,6 +1815,15 @@ void ScrollView::RemoveOverlay(Actor actor)
   mInternalActor.Remove( actor );
 }
 
+void ScrollView::SetOvershootEffectColor( const Vector4& color )
+{
+  mOvershootEffectColor = color;
+  if( mOvershootIndicator )
+  {
+    mOvershootIndicator->SetOvershootEffectColor( color );
+  }
+}
+
 void ScrollView::SetScrollingDirection( Radian direction, Radian threshold )
 {
   PanGestureDetector panGesture( GetPanGestureDetector() );
@@ -1761,9 +1851,8 @@ void ScrollView::FindAndUnbindActor(Actor child)
 
 Vector3 ScrollView::GetPropertyPrePosition() const
 {
-  Vector3 position(Self().GetProperty<float>(mPropertyX), Self().GetProperty<float>(mPropertyY), 0.0f);
+  Vector3 position = Self().GetProperty<Vector3>(mPropertyPrePosition);
   WrapPosition(position);
-
   return position;
 }
 
@@ -1775,48 +1864,70 @@ Vector3 ScrollView::GetPropertyPosition() const
   return position;
 }
 
-Vector3 ScrollView::GetPropertyScale() const
+void ScrollView::HandleStoppedAnimation()
 {
-  return Self().GetProperty<Vector3>(mPropertyScale);
+  SetScrollUpdateNotification(false);
 }
 
-void ScrollView::HandleStoppedAnimation()
+void ScrollView::HandleSnapAnimationFinished()
 {
-  // Animation has stopped, so stop sending the scroll-update signal.
-  CancelRefreshTimer();
-
-  // cement transform now, and allow interactivity to resume.
-  mScrollPostPosition = GetPropertyPosition();
+  // Emit Signal that scrolling has completed.
+  mScrolling = false;
+  Actor self = Self();
+  self.SetProperty(mPropertyScrolling, false);
 
-  mScrollPostScale = GetPropertyScale();
+  Vector3 deltaPosition(mScrollPrePosition);
 
-  // Update Actor position with this wrapped value.
+  UpdateLocalScrollProperties();
+  WrapPosition(mScrollPrePosition);
+  DALI_LOG_SCROLL_STATE("[0x%X] Setting mPropertyPrePosition To[%.2f, %.2f]", this, mScrollPrePosition.x, mScrollPrePosition.y );
+  self.SetProperty(mPropertyPrePosition, mScrollPrePosition);
 
-  Self().SetProperty(mPropertyX, mScrollPostPosition.x);
-  Self().SetProperty(mPropertyY, mScrollPostPosition.y);
-  // TODO Rotation
+  Vector3 currentScrollPosition = GetCurrentScrollPosition();
+  DALI_LOG_SCROLL_STATE("[0x%X] mScrollCompletedSignalV2 3 current[%.2f, %.2f], mScrollTargetPosition[%.2f, %.2f]", this, currentScrollPosition.x, currentScrollPosition.y, -mScrollTargetPosition.x, -mScrollTargetPosition.y );
+  mScrollCompletedSignalV2.Emit( currentScrollPosition );
 
-  mScrollPrePosition = mScrollPostPosition;
-  mScrollPreScale = mScrollPostScale;
-  mScrollPreRotation = mScrollPostRotation;
+  mDomainOffset += deltaPosition - mScrollPostPosition;
+  self.SetProperty(mPropertyDomainOffset, mDomainOffset);
+  HandleStoppedAnimation();
 }
 
-void ScrollView::HandleSnapAnimationFinished()
+void ScrollView::SetScrollUpdateNotification( bool enabled )
 {
-  // Emit Signal that scrolling has completed.
-  mScrolling = false;
-  Self().SetProperty(mPropertyScrolling, false);
+  Actor self = Self();
+  if( mScrollXUpdateNotification )
+  {
+    // disconnect now to avoid a notification before removed from update thread
+    mScrollXUpdateNotification.NotifySignal().Disconnect(this, &ScrollView::OnScrollUpdateNotification);
+    self.RemovePropertyNotification(mScrollXUpdateNotification);
+    mScrollXUpdateNotification.Reset();
+  }
+  if( enabled )
+  {
+    mScrollXUpdateNotification = self.AddPropertyNotification(mPropertyPosition, 0, StepCondition(mScrollUpdateDistance, 0.0f));
+    mScrollXUpdateNotification.NotifySignal().Connect( this, &ScrollView::OnScrollUpdateNotification );
+  }
+  if( mScrollYUpdateNotification )
+  {
+    // disconnect now to avoid a notification before removed from update thread
+    mScrollYUpdateNotification.NotifySignal().Disconnect(this, &ScrollView::OnScrollUpdateNotification);
+    self.RemovePropertyNotification(mScrollYUpdateNotification);
+    mScrollYUpdateNotification.Reset();
+  }
+  if( enabled )
+  {
+    mScrollYUpdateNotification = self.AddPropertyNotification(mPropertyPosition, 1, StepCondition(mScrollUpdateDistance, 0.0f));
+    mScrollYUpdateNotification.NotifySignal().Connect( this, &ScrollView::OnScrollUpdateNotification );
+  }
+}
 
-  Vector3 deltaPosition(Self().GetProperty<float>(mPropertyX),
-                        Self().GetProperty<float>(mPropertyY),
-                        0.0f);
+void ScrollView::OnScrollUpdateNotification(Dali::PropertyNotification& source)
+{
+  // Guard against destruction during signal emission
+  Toolkit::ScrollView handle( GetOwner() );
 
   Vector3 currentScrollPosition = GetCurrentScrollPosition();
-  mScrollCompletedSignalV2.Emit( currentScrollPosition );
-
-  mDomainOffset += deltaPosition - mScrollPostPosition;
-  Self().SetProperty(mPropertyDomainOffset, mDomainOffset);
-  HandleStoppedAnimation();
+  mScrollUpdatedSignalV2.Emit( currentScrollPosition );
 }
 
 bool ScrollView::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor )
@@ -1850,8 +1961,12 @@ void ScrollView::OnControlSizeSet( const Vector3& size )
   // need to update domain properties for new size
   if( mDefaultMaxOvershoot )
   {
-    mMaxOvershoot.x = size.x * 0.5f;
-    mMaxOvershoot.y = size.y * 0.5f;
+    mUserMaxOvershoot.x = size.x * 0.5f;
+    mUserMaxOvershoot.y = size.y * 0.5f;
+    if( !IsScrollComponentEnabled(Toolkit::Scrollable::OvershootIndicator) )
+    {
+      mMaxOvershoot = mUserMaxOvershoot;
+    }
   }
   UpdatePropertyDomain(size);
   UpdateMainInternalConstraint();
@@ -1875,10 +1990,72 @@ void ScrollView::OnChildRemove(Actor& child)
   UnbindActor(child);
 }
 
+void ScrollView::OnPropertySet( Property::Index index, Property::Value propertyValue )
+{
+  Actor self = Self();
+  if( index == mPropertyPrePosition )
+  {
+    DALI_LOG_SCROLL_STATE("[0x%X]: mPropertyPrePosition[%.2f, %.2f]", this, propertyValue.Get<Vector3>().x, propertyValue.Get<Vector3>().y);
+    propertyValue.Get(mScrollPrePosition);
+  }
+}
+
+void ScrollView::StartTouchDownTimer()
+{
+  if ( !mTouchDownTimer )
+  {
+    mTouchDownTimer = Timer::New( TOUCH_DOWN_TIMER_INTERVAL );
+    mTouchDownTimer.TickSignal().Connect( this, &ScrollView::OnTouchDownTimeout );
+  }
+
+  mTouchDownTimer.Start();
+}
+
+void ScrollView::StopTouchDownTimer()
+{
+  if ( mTouchDownTimer )
+  {
+    mTouchDownTimer.Stop();
+  }
+}
+
+bool ScrollView::OnTouchDownTimeout()
+{
+  DALI_LOG_SCROLL_STATE("[0x%X]", this);
+
+  mTouchDownTimeoutReached = true;
+
+  unsigned int currentScrollStateFlags( mScrollStateFlags ); // Cleared in StopAnimation so keep local copy for comparison
+  if( currentScrollStateFlags & (SCROLL_ANIMATION_FLAGS | SNAP_ANIMATION_FLAGS) )
+  {
+    DALI_LOG_SCROLL_STATE("[0x%X] Scrolling Or snapping flags set, stopping animation", this);
+
+    StopAnimation();
+    if( currentScrollStateFlags & SCROLL_ANIMATION_FLAGS )
+    {
+      DALI_LOG_SCROLL_STATE("[0x%X] Scrolling flags set, emitting signal", this);
+
+      mScrollInterrupted = true;
+      // reset domain offset as scrolling from original plane.
+      mDomainOffset = Vector3::ZERO;
+      Self().SetProperty(mPropertyDomainOffset, Vector3::ZERO);
+
+      UpdateLocalScrollProperties();
+      Vector3 currentScrollPosition = GetCurrentScrollPosition();
+      DALI_LOG_SCROLL_STATE("[0x%X] mScrollCompletedSignalV2 4 [%.2f, %.2f]", this, currentScrollPosition.x, currentScrollPosition.y);
+      mScrollCompletedSignalV2.Emit( currentScrollPosition );
+    }
+  }
+
+  return false;
+}
+
 bool ScrollView::OnTouchEvent(const TouchEvent& event)
 {
   if(!mSensitive)
   {
+    DALI_LOG_SCROLL_STATE("[0x%X], Not Sensitive, ignoring", this);
+
     // Ignore this touch event, if scrollview is insensitive.
     return false;
   }
@@ -1886,62 +2063,60 @@ bool ScrollView::OnTouchEvent(const TouchEvent& event)
   // Ignore events with multiple-touch points
   if (event.GetPointCount() != 1)
   {
+    DALI_LOG_SCROLL_STATE("[0x%X], multiple touch, ignoring", this);
+
     return false;
   }
 
-  if (event.GetPoint(0).state == TouchPoint::Down)
+  const TouchPoint::State pointState = event.GetPoint(0).state;
+  if( pointState == TouchPoint::Down )
   {
-    mTouchDownTime = event.time;
-    mTouchDownReceived = true;
-    mTouchDownPosition = event.GetPoint(0).local;
+    DALI_LOG_SCROLL_STATE("[0x%X] Down", this);
 
-    if( mSnapAnimation || mSnapXAnimation || mSnapYAnimation || mSnapOvershootAnimation )
-    {
-      mScrollInterrupted = true;
-      StopAnimation();
-    }
-
-    if(mScrolling) // are we interrupting a current scroll?
+    if(mGestureStackDepth==0)
     {
-      // reset domain offset as scrolling from original plane.
-      mDomainOffset = Vector3::ZERO;
-      Self().SetProperty(mPropertyDomainOffset, Vector3::ZERO);
+      mTouchDownTime = event.time;
 
-      mScrolling = false;
-      Vector3 currentScrollPosition = GetCurrentScrollPosition();
-      mScrollCompletedSignalV2.Emit( currentScrollPosition );
+      // This allows time for a pan-gesture to start, to avoid breaking snap-animation behavior with fast flicks.
+      // If touch-down does not become a pan (after timeout interval), then snap-animation can be interrupted.
+      mTouchDownTimeoutReached = false;
+      mScrollInterrupted = false;
+      StartTouchDownTimer();
     }
   }
-  else if(event.GetPoint(0).state == TouchPoint::Up)
+  else if( ( pointState == TouchPoint::Up ) ||
+           ( ( pointState == TouchPoint::Interrupted ) && ( event.GetPoint(0).hitActor == Self() ) ) )
   {
+    DALI_LOG_SCROLL_STATE("[0x%X] %s", this, ( ( pointState == TouchPoint::Up ) ? "Up" : "Interrupted" ) );
+
+    StopTouchDownTimer();
+
     // if the user touches and releases without enough movement to go
     // into a gesture state, then we should snap to nearest point.
     // otherwise our scroll could be stopped (interrupted) half way through an animation.
-    if(mGestureStackDepth==0 && mTouchDownReceived)
+    if(mGestureStackDepth==0 && mTouchDownTimeoutReached)
     {
-      unsigned timeDelta( event.time - mTouchDownTime );
-      if ( timeDelta >= MINIMUM_TIME_BETWEEN_DOWN_AND_UP_FOR_RESET )
+      if( ( event.GetPoint(0).state == TouchPoint::Interrupted ) ||
+          ( ( event.time - mTouchDownTime ) >= MINIMUM_TIME_BETWEEN_DOWN_AND_UP_FOR_RESET ) )
       {
         // Reset the velocity only if down was received a while ago
         mLastVelocity = Vector2( 0.0f, 0.0f );
       }
-      else
-      {
-        Vector2 positionDelta( mTouchDownPosition - event.GetPoint(0).local );
-        mLastVelocity = positionDelta / timeDelta;
-      }
 
+      UpdateLocalScrollProperties();
       // Only finish the transform if scrolling was interrupted on down or if we are scrolling
-      if ( mSnapAnimation || mSnapXAnimation || mSnapYAnimation || mSnapOvershootAnimation || mScrollInterrupted || mScrolling )
+      if ( mScrollInterrupted || mScrolling )
       {
+        DALI_LOG_SCROLL_STATE("[0x%X] Calling FinishTransform", this);
+
         FinishTransform();
       }
     }
-    mTouchDownReceived = false;
+    mTouchDownTimeoutReached = false;
     mScrollInterrupted = false;
   }
 
-  return true; // consume since we're potentially scrolling
+  return true;
 }
 
 bool ScrollView::OnMouseWheelEvent(const MouseWheelEvent& event)
@@ -1960,14 +2135,14 @@ bool ScrollView::OnMouseWheelEvent(const MouseWheelEvent& event)
     if(mRulerX->GetType() == Ruler::Free)
     {
       // Free panning mode
-      targetScrollPosition.x -= event.z * mMouseWheelScrollDistanceStep.x;
+      targetScrollPosition.x += event.z * mMouseWheelScrollDistanceStep.x;
       ClampPosition(targetScrollPosition);
       ScrollTo(-targetScrollPosition);
     }
     else if(!mScrolling)
     {
       // Snap mode, only respond to the event when the previous snap animation is finished.
-      ScrollTo(GetCurrentPage() + event.z);
+      ScrollTo(GetCurrentPage() - event.z);
     }
   }
   else
@@ -1976,75 +2151,245 @@ bool ScrollView::OnMouseWheelEvent(const MouseWheelEvent& event)
     if(mRulerY->GetType() == Ruler::Free)
     {
       // Free panning mode
-      targetScrollPosition.y -= event.z * mMouseWheelScrollDistanceStep.y;
+      targetScrollPosition.y += event.z * mMouseWheelScrollDistanceStep.y;
       ClampPosition(targetScrollPosition);
       ScrollTo(-targetScrollPosition);
     }
     else if(!mScrolling)
     {
       // Snap mode, only respond to the event when the previous snap animation is finished.
-      ScrollTo(GetCurrentPage() + event.z * mRulerX->GetTotalPages());
+      ScrollTo(GetCurrentPage() - event.z * mRulerX->GetTotalPages());
     }
   }
 
   return true;
 }
 
-void ScrollView::OnSnapAnimationFinished( Animation& source )
+void ScrollView::ResetScrolling()
 {
-  mSnapAnimation.FinishedSignal().Disconnect( this, &ScrollView::OnSnapAnimationFinished );
-  mSnapAnimation = NULL;
+  Actor self = Self();
+  self.GetProperty(mPropertyPosition).Get(mScrollPostPosition);
+  mScrollPrePosition = mScrollPostPosition;
+  DALI_LOG_SCROLL_STATE("[0x%X] Setting mPropertyPrePosition To[%.2f, %.2f]", this, mScrollPostPosition.x, mScrollPostPosition.y );
+  self.SetProperty(mPropertyPrePosition, mScrollPostPosition);
 }
 
-void ScrollView::OnSnapXAnimationFinished( Animation& source )
+void ScrollView::UpdateLocalScrollProperties()
 {
-  // Guard against destruction during signal emission
-  // Note that ScrollCompletedSignal is emitted from HandleSnapAnimationFinished()
-  Toolkit::ScrollView handle( GetOwner() );
+  Actor self = Self();
+  self.GetProperty(mPropertyPrePosition).Get(mScrollPrePosition);
+  self.GetProperty(mPropertyPosition).Get(mScrollPostPosition);
+}
+
+// private functions
 
-  if(!mSnapYAnimation)
+void ScrollView::PreAnimatedScrollSetup()
+{
+  // mPropertyPrePosition is our unclamped property with wrapping
+  // mPropertyPosition is our final scroll position after clamping
+
+  Actor self = Self();
+
+  Vector3 deltaPosition(mScrollPostPosition);
+  WrapPosition(mScrollPostPosition);
+  mDomainOffset += deltaPosition - mScrollPostPosition;
+  Self().SetProperty(mPropertyDomainOffset, mDomainOffset);
+
+  if( mScrollStateFlags & SCROLL_X_STATE_MASK )
   {
-    HandleSnapAnimationFinished();
+    // already performing animation on internal x position
+    StopAnimation(mInternalXAnimation);
   }
-  if(mScrollMainInternalOvershootXConstraint)
+
+  if( mScrollStateFlags & SCROLL_Y_STATE_MASK )
   {
-    Self().RemoveConstraint(mScrollMainInternalOvershootXConstraint);
-    mScrollMainInternalOvershootXConstraint.Reset();
-    mScrollMainInternalOvershootXConstraint = 0;
+    // already performing animation on internal y position
+    StopAnimation(mInternalYAnimation);
   }
-  mSnapXAnimation.FinishedSignal().Disconnect(this, &ScrollView::OnSnapXAnimationFinished);
-  mSnapXAnimation.Reset();
-  mSnapXAnimation = NULL;
-  if( IsScrollComponentEnabled(Toolkit::Scrollable::OvershootIndicator) )
+
+  mScrollStateFlags = 0;
+
+  // Update Actor position with this wrapped value.
+}
+
+void ScrollView::FinaliseAnimatedScroll()
+{
+  // TODO - common animation finishing code in here
+}
+
+void ScrollView::AnimateInternalXTo( float position, float duration, AlphaFunction alpha )
+{
+  StopAnimation(mInternalXAnimation);
+
+  if( duration > Math::MACHINE_EPSILON_10 )
   {
-    // kick start animation to 0
-    Self().SetProperty(mPropertyOvershootX, 0.0f);
+    Actor self = Self();
+    DALI_LOG_SCROLL_STATE("[0x%X], Animating from[%.2f] to[%.2f]", this, self.GetProperty(mPropertyPrePosition).Get<Vector3>().x, position );
+    mInternalXAnimation = Animation::New(duration);
+    DALI_LOG_SCROLL_STATE("[0x%X], mInternalXAnimation[0x%X]", this, mInternalXAnimation.GetObjectPtr() );
+    mInternalXAnimation.FinishedSignal().Connect(this, &ScrollView::OnScrollAnimationFinished);
+    mInternalXAnimation.AnimateTo( Property(self, mPropertyPrePosition, 0), position, alpha, duration);
+    mInternalXAnimation.Play();
+
+    // erase current state flags
+    mScrollStateFlags &= ~SCROLL_X_STATE_MASK;
+    // add internal animation state flag
+    mScrollStateFlags |= AnimatingInternalX;
   }
 }
 
-void ScrollView::OnSnapYAnimationFinished( Animation& source )
+void ScrollView::AnimateInternalYTo( float position, float duration, AlphaFunction alpha )
+{
+  StopAnimation(mInternalYAnimation);
+
+  if( duration > Math::MACHINE_EPSILON_10 )
+  {
+    Actor self = Self();
+    DALI_LOG_SCROLL_STATE("[0x%X], Animating from[%.2f] to[%.2f]", this, self.GetProperty(mPropertyPrePosition).Get<Vector3>().y, position );
+    mInternalYAnimation = Animation::New(duration);
+    DALI_LOG_SCROLL_STATE("[0x%X], mInternalYAnimation[0x%X]", this, mInternalYAnimation.GetObjectPtr() );
+    mInternalYAnimation.FinishedSignal().Connect(this, &ScrollView::OnScrollAnimationFinished);
+    mInternalYAnimation.AnimateTo( Property(self, mPropertyPrePosition, 1), position, alpha, TimePeriod(duration));
+    mInternalYAnimation.Play();
+
+    // erase current state flags
+    mScrollStateFlags &= ~SCROLL_Y_STATE_MASK;
+    // add internal animation state flag
+    mScrollStateFlags |= AnimatingInternalY;
+  }
+}
+
+void ScrollView::OnScrollAnimationFinished( Animation& source )
 {
   // Guard against destruction during signal emission
   // Note that ScrollCompletedSignal is emitted from HandleSnapAnimationFinished()
   Toolkit::ScrollView handle( GetOwner() );
 
-  if(!mSnapXAnimation)
+  bool scrollingFinished = false;
+
+  // update our local scroll positions
+  UpdateLocalScrollProperties();
+
+  if( source == mInternalXAnimation )
+  {
+    DALI_LOG_SCROLL_STATE("[0x%X] mInternalXAnimation[0x%X], expected[%.2f], actual[%.2f], post[%.2f]", this, mInternalXAnimation.GetObjectPtr(), mScrollTargetPosition.x, Self().GetProperty(mPropertyPrePosition).Get<Vector3>().x, mScrollPostPosition.x );
+
+    if( !(mScrollStateFlags & AnimatingInternalY) )
+    {
+      scrollingFinished = true;
+    }
+    mInternalXAnimation.Reset();
+    // wrap pre scroll x position and set it
+    if( mWrapMode )
+    {
+      const RulerDomain rulerDomain = mRulerX->GetDomain();
+      mScrollPrePosition.x = -WrapInDomain(-mScrollPrePosition.x, rulerDomain.min, rulerDomain.max);
+      DALI_LOG_SCROLL_STATE("[0x%X] Setting mPropertyPrePosition To[%.2f, %.2f]", this, mScrollPrePosition.x, mScrollPrePosition.y );
+      handle.SetProperty(mPropertyPrePosition, mScrollPrePosition);
+    }
+    SnapInternalXTo(mScrollPostPosition.x);
+  }
+
+  if( source == mInternalYAnimation )
+  {
+    DALI_LOG_SCROLL_STATE("[0x%X] mInternalYAnimation[0x%X], expected[%.2f], actual[%.2f], post[%.2f]", this, mInternalYAnimation.GetObjectPtr(), mScrollTargetPosition.y, Self().GetProperty(mPropertyPrePosition).Get<Vector3>().y, mScrollPostPosition.y );
+
+    if( !(mScrollStateFlags & AnimatingInternalX) )
+    {
+      scrollingFinished = true;
+    }
+    mInternalYAnimation.Reset();
+    if( mWrapMode )
+    {
+      // wrap pre scroll y position and set it
+      const RulerDomain rulerDomain = mRulerY->GetDomain();
+      mScrollPrePosition.y = -WrapInDomain(-mScrollPrePosition.y, rulerDomain.min, rulerDomain.max);
+      DALI_LOG_SCROLL_STATE("[0x%X] Setting mPropertyPrePosition To[%.2f, %.2f]", this, mScrollPrePosition.x, mScrollPrePosition.y );
+      handle.SetProperty(mPropertyPrePosition, mScrollPrePosition);
+    }
+    SnapInternalYTo(mScrollPostPosition.y);
+  }
+
+  DALI_LOG_SCROLL_STATE("[0x%X] scrollingFinished[%d] Animation[0x%X]", this, scrollingFinished, source.GetObjectPtr());
+
+  if(scrollingFinished)
   {
     HandleSnapAnimationFinished();
   }
-  if(mScrollMainInternalOvershootYConstraint)
+}
+
+void ScrollView::OnSnapInternalPositionFinished( Animation& source )
+{
+  Actor self = Self();
+  UpdateLocalScrollProperties();
+  if( source == mInternalXAnimation )
+  {
+    DALI_LOG_SCROLL_STATE("[0x%X] Finished X PostPosition Animation", this );
+
+    // clear internal x animation flags
+    mScrollStateFlags &= ~SCROLL_X_STATE_MASK;
+    mInternalXAnimation.Reset();
+    WrapPosition(mScrollPrePosition);
+  }
+  if( source == mInternalYAnimation )
   {
-    Self().RemoveConstraint(mScrollMainInternalOvershootYConstraint);
-    mScrollMainInternalOvershootYConstraint.Reset();
-    mScrollMainInternalOvershootYConstraint = 0;
+    DALI_LOG_SCROLL_STATE("[0x%X] Finished Y PostPosition Animation", this );
+
+    mScrollStateFlags &= ~SCROLL_Y_STATE_MASK;
+    mInternalYAnimation.Reset();
+    WrapPosition(mScrollPrePosition);
   }
-  mSnapYAnimation.FinishedSignal().Disconnect(this, &ScrollView::OnSnapYAnimationFinished);
-  mSnapYAnimation.Reset();
-  mSnapYAnimation = NULL;
-  if( IsScrollComponentEnabled(Toolkit::Scrollable::OvershootIndicator) )
+}
+
+void ScrollView::SnapInternalXTo(float position)
+{
+  Actor self = Self();
+
+  StopAnimation(mInternalXAnimation);
+
+  // erase current state flags
+  mScrollStateFlags &= ~SCROLL_X_STATE_MASK;
+
+  // if internal x not equal to inputed parameter, animate it
+  float duration = std::min(fabsf((position - mScrollPrePosition.x) / mMaxOvershoot.x) * mSnapOvershootDuration, mSnapOvershootDuration);
+  DALI_LOG_SCROLL_STATE("[0x%X] duration[%.2f]", this, duration );
+  if( duration > Math::MACHINE_EPSILON_1 )
+  {
+    DALI_LOG_SCROLL_STATE("[0x%X] Starting X Snap Animation to[%.2f]", this, position );
+
+    mInternalXAnimation = Animation::New(duration);
+    mInternalXAnimation.FinishedSignal().Connect(this, &ScrollView::OnSnapInternalPositionFinished);
+    mInternalXAnimation.AnimateTo(Property(self, mPropertyPrePosition, 0), position);
+    mInternalXAnimation.Play();
+
+    // add internal animation state flag
+    mScrollStateFlags |= SnappingInternalX;
+  }
+}
+
+void ScrollView::SnapInternalYTo(float position)
+{
+  Actor self = Self();
+
+  StopAnimation(mInternalYAnimation);
+
+  // erase current state flags
+  mScrollStateFlags &= ~SCROLL_Y_STATE_MASK;
+
+  // if internal y not equal to inputed parameter, animate it
+  float duration = std::min(fabsf((position - mScrollPrePosition.y) / mMaxOvershoot.y) * mSnapOvershootDuration, mSnapOvershootDuration);
+  DALI_LOG_SCROLL_STATE("[0x%X] duration[%.2f]", this, duration );
+  if( duration > Math::MACHINE_EPSILON_1 )
   {
-    // kick start animation to 0
-    Self().SetProperty(mPropertyOvershootY, 0.0f);
+    DALI_LOG_SCROLL_STATE("[0x%X] Starting Y Snap Animation to[%.2f]", this, position );
+
+    mInternalYAnimation = Animation::New(duration);
+    mInternalYAnimation.FinishedSignal().Connect(this, &ScrollView::OnSnapInternalPositionFinished);
+    mInternalYAnimation.AnimateTo(Property(self, mPropertyPrePosition, 1), position);
+    mInternalYAnimation.Play();
+
+    // add internal animation state flag
+    mScrollStateFlags |= SnappingInternalY;
   }
 }
 
@@ -2055,30 +2400,42 @@ void ScrollView::GestureStarted()
   // we continue and combine the effects of the gesture instead of reseting.
   if(mGestureStackDepth++==0)
   {
+    Actor self = Self();
+    StopTouchDownTimer();
     StopAnimation();
     mPanDelta = Vector3::ZERO;
-    mScaleDelta = Vector3::ONE;
-    mRotationDelta = 0.0f;
     mLastVelocity = Vector2(0.0f, 0.0f);
-    mLockAxis = LockPossible;
+    if( !mScrolling )
+    {
+      mLockAxis = LockPossible;
+    }
+
+    if( mScrollStateFlags & SCROLL_X_STATE_MASK )
+    {
+      StopAnimation(mInternalXAnimation);
+    }
+    if( mScrollStateFlags & SCROLL_Y_STATE_MASK )
+    {
+      StopAnimation(mInternalYAnimation);
+    }
+    mScrollStateFlags = 0;
 
     if(mScrolling) // are we interrupting a current scroll?
     {
       // set mScrolling to false, in case user has code that interrogates mScrolling Getter() in complete.
       mScrolling = false;
-      Vector3 currentScrollPosition = GetCurrentScrollPosition();
-      mScrollCompletedSignalV2.Emit( currentScrollPosition );
+      // send negative scroll position since scroll internal scroll position works as an offset for actors,
+      // give applications the position within the domain from the scroll view's anchor position
+      DALI_LOG_SCROLL_STATE("[0x%X] mScrollCompletedSignalV2 5 [%.2f, %.2f]", this, -mScrollPostPosition.x, -mScrollPostPosition.y);
+      mScrollCompletedSignalV2.Emit( -mScrollPostPosition );
     }
   }
 }
 
-void ScrollView::GestureContinuing(Vector2 panDelta, Vector2 scaleDelta, float rotationDelta)
+void ScrollView::GestureContinuing(const Vector2& panDelta)
 {
   mPanDelta.x+= panDelta.x;
   mPanDelta.y+= panDelta.y;
-  mScaleDelta.x*= scaleDelta.x;
-  mScaleDelta.y*= scaleDelta.y;
-  mRotationDelta+= rotationDelta;
 
   // Save the velocity, there is a bug in PanGesture
   // Whereby the Gesture::Finished's velocity is either:
@@ -2089,32 +2446,11 @@ void ScrollView::GestureContinuing(Vector2 panDelta, Vector2 scaleDelta, float r
   // appears mostly horizontal or mostly vertical respectively.
   if(mAxisAutoLock)
   {
-    if(mPanDelta.LengthSquared() > AUTOLOCK_AXIS_MINIMUM_DISTANCE2 &&
-        mLockAxis == LockPossible)
-    {
-      float dx = fabsf(mPanDelta.x);
-      float dy = fabsf(mPanDelta.y);
-      if(dx * mAxisAutoLockGradient >= dy)
-      {
-        // 0.36:1 gradient to the horizontal (deviate < 20 degrees)
-        mLockAxis = LockVertical;
-      }
-      else if(dy * mAxisAutoLockGradient > dx)
-      {
-        // 0.36:1 gradient to the vertical (deviate < 20 degrees)
-        mLockAxis = LockHorizontal;
-      }
-      else
-      {
-        mLockAxis = LockNone;
-      }
-    }
+    mLockAxis = GetLockAxis(mPanDelta.GetVectorXY(), mLockAxis, mAxisAutoLockGradient);
   } // end if mAxisAutoLock
 }
 
 // TODO: Upgrade to use a more powerful gesture detector (one that supports multiple touches on pan - so works as pan and flick gesture)
-// TODO: Reimplement Scaling (pinching 2+ points)
-// TODO: Reimplment Rotation (pinching 2+ points)
 // BUG: Gesture::Finished doesn't always return velocity on release (due to
 // timeDelta between last two events being 0 sometimes, or posiiton being the same)
 void ScrollView::OnPan(PanGesture gesture)
@@ -2125,6 +2461,8 @@ void ScrollView::OnPan(PanGesture gesture)
 
   if(!mSensitive)
   {
+    DALI_LOG_SCROLL_STATE("[0x%X] Pan Ignored, Insensitive", this);
+
     // If another callback on the same original signal disables sensitivity,
     // this callback will still be called, so we must suppress it.
     return;
@@ -2135,42 +2473,60 @@ void ScrollView::OnPan(PanGesture gesture)
   {
     case Gesture::Started:
     {
+      DALI_LOG_SCROLL_STATE("[0x%X] Pan Started", this);
+      mPanStartPosition = gesture.position - gesture.displacement;
+      UpdateLocalScrollProperties();
       GestureStarted();
+      mPanning = true;
       self.SetProperty( mPropertyPanning, true );
-      self.SetProperty( mPropertyScrollStartPagePosition, GetCurrentScrollPosition() );
-
-      //  Update property: X & Y = Position (only when in panning mode - in snapping mode, X & Y are animated).
-      Constraint constraint = Constraint::New<float>( mPropertyX,
-                                           LocalSource( mPropertyPosition ),
-                                           Source( self, mPropertyPanning ),
-                                           InternalXConstraint );
-      mScrollMainInternalXConstraint = self.ApplyConstraint(constraint);
+      self.SetProperty( mPropertyScrollStartPagePosition, Vector3(gesture.position.x, gesture.position.y, 0.0f) );
 
-      constraint = Constraint::New<float>( mPropertyY,
-                                           LocalSource( mPropertyPosition ),
-                                           Source( self, mPropertyPanning ),
-                                           InternalYConstraint );
-      mScrollMainInternalYConstraint = self.ApplyConstraint(constraint);
-      // When panning we want to make sure overshoot values are affected by pre position and post position
-      SetOvershootConstraintsEnabled(true);
+      UpdateMainInternalConstraint();
       break;
     }
 
     case Gesture::Continuing:
     {
-      // Nothing to do, handled in constraint.
+      if ( mPanning )
+      {
+        DALI_LOG_SCROLL_STATE("[0x%X] Pan Continuing", this);
+        GestureContinuing(gesture.screenDisplacement);
+      }
+      else
+      {
+        // If we do not think we are panning, then we should not do anything here
+        return;
+      }
       break;
     }
 
     case Gesture::Finished:
     case Gesture::Cancelled:
     {
-      mLastVelocity = gesture.velocity;
-      self.SetProperty( mPropertyPanning, false );
+      if ( mPanning )
+      {
+        DALI_LOG_SCROLL_STATE("[0x%X] Pan %s", this, ( ( gesture.state == Gesture::Finished ) ? "Finished" : "Cancelled" ) );
+
+        UpdateLocalScrollProperties();
+        mLastVelocity = gesture.velocity;
+        mPanning = false;
+        self.SetProperty( mPropertyPanning, false );
 
-      // Remove X & Y position constraints as they are not required when we are not panning.
-      self.RemoveConstraint(mScrollMainInternalXConstraint);
-      self.RemoveConstraint(mScrollMainInternalYConstraint);
+        if( mScrollMainInternalPrePositionConstraint )
+        {
+          self.RemoveConstraint(mScrollMainInternalPrePositionConstraint);
+        }
+
+        if( mOvershootIndicator )
+        {
+          mOvershootIndicator->ClearOvershoot();
+        }
+      }
+      else
+      {
+        // If we do not think we are panning, then we should not do anything here
+        return;
+      }
       break;
     }
 
@@ -2195,6 +2551,7 @@ void ScrollView::OnGestureEx(Gesture::State state)
     Vector3 currentScrollPosition = GetCurrentScrollPosition();
     Self().SetProperty(mPropertyScrolling, true);
     mScrolling = true;
+    DALI_LOG_SCROLL_STATE("[0x%X] mScrollStartedSignalV2 2 [%.2f, %.2f]", this, currentScrollPosition.x, currentScrollPosition.y);
     mScrollStartedSignalV2.Emit( currentScrollPosition );
   }
   else if( (state == Gesture::Finished) ||
@@ -2207,39 +2564,49 @@ void ScrollView::OnGestureEx(Gesture::State state)
     mGestureStackDepth--;
     if(mGestureStackDepth==0)
     {
+      // no flick if we have not exceeded min flick distance
+      if( (fabsf(mPanDelta.x) < mMinFlickDistance.x)
+          && (fabsf(mPanDelta.y) < mMinFlickDistance.y) )
+      {
+        // reset flick velocity
+        mLastVelocity = Vector2::ZERO;
+      }
       FinishTransform();
     }
+    else
+    {
+      DALI_LOG_SCROLL_STATE("[0x%X] mGestureStackDepth[%d]", this, mGestureStackDepth);
+    }
   }
 }
 
-void ScrollView::UpdateTransform()
-{
-// TODO: notify clamps using property notifications (or see if we need this, can deprecate it)
-}
-
 void ScrollView::FinishTransform()
 {
-  const Vector3& scrollPosition = Self().GetProperty<Vector3>(mPropertyPosition);
-
-  mScrollPostPosition.x = scrollPosition.x;
-  mScrollPostPosition.y = scrollPosition.y;
-
-  Vector3 deltaPosition(mScrollPostPosition);
-  // Cement PRE transform (PRE = POST), and Begin Snap Animation if necessary.
-  WrapPosition(mScrollPostPosition);
+  // at this stage internal x and x scroll position should have followed prescroll position exactly
+  Actor self = Self();
 
-  mDomainOffset += deltaPosition - mScrollPostPosition;
-  Self().SetProperty(mPropertyDomainOffset, mDomainOffset);
+  PreAnimatedScrollSetup();
 
+  // convert pixels/millisecond to pixels per second
   bool animating = SnapWithVelocity(mLastVelocity * 1000.0f);
 
   if(!animating)
   {
-    AnimateOvershootToOrigin(0.0f, 0.0f);
     // if not animating, then this pan has completed right now.
+    SetScrollUpdateNotification(false);
     mScrolling = false;
     Self().SetProperty(mPropertyScrolling, false);
+
+    if( fabs(mScrollPrePosition.x - mScrollTargetPosition.x) > Math::MACHINE_EPSILON_10 )
+    {
+      SnapInternalXTo(mScrollTargetPosition.x);
+    }
+    if( fabs(mScrollPrePosition.y - mScrollTargetPosition.y) > Math::MACHINE_EPSILON_10 )
+    {
+      SnapInternalYTo(mScrollTargetPosition.y);
+    }
     Vector3 currentScrollPosition = GetCurrentScrollPosition();
+    DALI_LOG_SCROLL_STATE("[0x%X] mScrollCompletedSignalV2 6 [%.2f, %.2f]", this, currentScrollPosition.x, currentScrollPosition.y);
     mScrollCompletedSignalV2.Emit( currentScrollPosition );
   }
 }
@@ -2285,7 +2652,11 @@ Vector3 ScrollView::GetOvershoot(Vector3& position) const
 
 bool ScrollView::OnAccessibilityPan(PanGesture gesture)
 {
+  // Keep track of whether this is an AccessibilityPan
+  mInAccessibilityPan = true;
   OnPan(gesture);
+  mInAccessibilityPan = false;
+
   return true;
 }
 
@@ -2299,18 +2670,6 @@ void ScrollView::ClampPosition(Vector3& position, ClampState3 &clamped) const
 {
   Vector3 size = Self().GetCurrentSize();
 
-  // determine size of viewport relative to current scaled size.
-  // e.g. if you're zoomed in 200%, then each pixel on screen is only 0.5 pixels on subject.
-  if(fabsf(mScrollPostScale.x) > Math::MACHINE_EPSILON_0)
-  {
-    size.x /= mScrollPostScale.x;
-  }
-
-  if(fabsf(mScrollPostScale.y) > Math::MACHINE_EPSILON_0)
-  {
-    size.y /= mScrollPostScale.y;
-  }
-
   position.x = -mRulerX->Clamp(-position.x, size.width, 1.0f, clamped.x);    // NOTE: X & Y rulers think in -ve coordinate system.
   position.y = -mRulerY->Clamp(-position.y, size.height, 1.0f, clamped.y);   // That is scrolling RIGHT (e.g. 100.0, 0.0) means moving LEFT.
 
@@ -2336,19 +2695,6 @@ void ScrollView::WrapPosition(Vector3& position) const
   }
 }
 
-void ScrollView::ClampScale(Vector3& scale) const
-{
-  ClampState3 clamped;
-  ClampScale(scale, clamped);
-}
-
-void ScrollView::ClampScale(Vector3& scale, ClampState3 &clamped) const
-{
-  scale.x = mRulerScaleX->Clamp(scale.x, 0.0f, 1.0f, clamped.x);
-  scale.y = mRulerScaleY->Clamp(scale.y, 0.0f, 1.0f, clamped.y);
-  clamped.z = NotClamped;
-}
-
 void ScrollView::UpdateMainInternalConstraint()
 {
   // TODO: Only update the constraints which have changed, rather than remove all and add all again.
@@ -2356,14 +2702,17 @@ void ScrollView::UpdateMainInternalConstraint()
   Actor self = Self();
   PanGestureDetector detector( GetPanGestureDetector() );
 
-  if(mScrollMainInternalPrePositionConstraint)
+  if(mScrollMainInternalPositionConstraint)
   {
-    self.RemoveConstraint(mScrollMainInternalPrePositionConstraint);
     self.RemoveConstraint(mScrollMainInternalPositionConstraint);
     self.RemoveConstraint(mScrollMainInternalDeltaConstraint);
     self.RemoveConstraint(mScrollMainInternalFinalConstraint);
     self.RemoveConstraint(mScrollMainInternalRelativeConstraint);
   }
+  if( mScrollMainInternalPrePositionConstraint )
+  {
+    self.RemoveConstraint(mScrollMainInternalPrePositionConstraint);
+  }
 
   // TODO: It's probably better to use a local displacement value as this will give a displacement when scrolling just commences
   // but we need to make sure than the gesture system gives displacement since last frame (60Hz), not displacement since last touch event (90Hz).
@@ -2371,28 +2720,40 @@ void ScrollView::UpdateMainInternalConstraint()
   // 1. First calculate the pre-position (this is the scroll position if no clamping has taken place)
   Vector2 initialPanMask = Vector2(mRulerX->IsEnabled() ? 1.0f : 0.0f, mRulerY->IsEnabled() ? 1.0f : 0.0f);
 
-  Constraint constraint = Constraint::New<Vector3>( mPropertyPrePosition,
-                                                    Source( detector, PanGestureDetector::LOCAL_POSITION ),
-                                                    Source( detector, PanGestureDetector::LOCAL_DISPLACEMENT ),
-                                                    LocalSource( mPropertyX ),
-                                                    LocalSource( mPropertyY ),
-                                                    Source( self, mPropertyPanning ),
-                                                    InternalPrePositionConstraint( initialPanMask, mAxisAutoLock, mAxisAutoLockGradient ) );
-  mScrollMainInternalPrePositionConstraint = self.ApplyConstraint(constraint);
+  if( mLockAxis == LockVertical )
+  {
+    initialPanMask.y = 0.0f;
+  }
+  else if( mLockAxis == LockHorizontal )
+  {
+    initialPanMask.x = 0.0f;
+  }
+  Constraint constraint;
+
+  if( mPanning )
+  {
+    constraint = Constraint::New<Vector3>( mPropertyPrePosition,
+                                                      Source( detector, PanGestureDetector::LOCAL_POSITION ),
+                                                      Source( self, Actor::SIZE ),
+                                                      InternalPrePositionConstraint( mPanStartPosition, initialPanMask, mAxisAutoLock, mAxisAutoLockGradient, mLockAxis, mMaxOvershoot, mRulerX->GetDomain(), mRulerY->GetDomain() ) );
+    mScrollMainInternalPrePositionConstraint = self.ApplyConstraint( constraint );
+  }
 
   // 2. Second calculate the clamped position (actual position)
   constraint = Constraint::New<Vector3>( mPropertyPosition,
                                          LocalSource( mPropertyPrePosition ),
+                                         LocalSource( mPropertyPositionMin ),
+                                         LocalSource( mPropertyPositionMax ),
                                          Source( self, Actor::SIZE ),
                                          InternalPositionConstraint( mRulerX->GetDomain(),
-                                                                     mRulerY->GetDomain()) );
-  mScrollMainInternalPositionConstraint = self.ApplyConstraint(constraint);
+                                                                     mRulerY->GetDomain(), mWrapMode ) );
+  mScrollMainInternalPositionConstraint = self.ApplyConstraint( constraint );
 
   constraint = Constraint::New<Vector3>( mPropertyPositionDelta,
                                          LocalSource( mPropertyPosition ),
                                          LocalSource( mPropertyDomainOffset ),
                                          InternalPositionDeltaConstraint );
-  mScrollMainInternalDeltaConstraint = self.ApplyConstraint(constraint);
+  mScrollMainInternalDeltaConstraint = self.ApplyConstraint( constraint );
 
   constraint = Constraint::New<Vector3>( mPropertyFinal,
                                          LocalSource( mPropertyPosition ),
@@ -2400,7 +2761,7 @@ void ScrollView::UpdateMainInternalConstraint()
                                          LocalSource( mPropertyOvershootY ),
                                          InternalFinalConstraint( FinalDefaultAlphaFunction,
                                                                   FinalDefaultAlphaFunction ) );
-  mScrollMainInternalFinalConstraint = self.ApplyConstraint(constraint);
+  mScrollMainInternalFinalConstraint = self.ApplyConstraint( constraint );
 
   constraint = Constraint::New<Vector3>( mPropertyRelativePosition,
                                          LocalSource( mPropertyPosition ),
@@ -2408,61 +2769,43 @@ void ScrollView::UpdateMainInternalConstraint()
                                          LocalSource( mPropertyPositionMax ),
                                          LocalSource( Actor::SIZE ),
                                          InternalRelativePositionConstraint );
-  mScrollMainInternalRelativeConstraint = self.ApplyConstraint(constraint);
-
-  if(mScrollMainInternalOvershootXConstraint)
-  {
-    // reset these constraints in correct order
-    self.RemoveConstraint(mScrollMainInternalOvershootXConstraint);
-    mScrollMainInternalOvershootXConstraint.Reset();
+  mScrollMainInternalRelativeConstraint = self.ApplyConstraint( constraint );
 
-    Constraint constraint = Constraint::New<float>( mPropertyOvershootX,
-                                           LocalSource( mPropertyPrePosition ),
-                                           LocalSource( mPropertyPosition ),
-                                           OvershootXConstraint(mMaxOvershoot.x) );
-    mScrollMainInternalOvershootXConstraint = self.ApplyConstraint(constraint);
-  }
-
-  if(mScrollMainInternalOvershootYConstraint)
-  {
-    // reset these constraints in correct order
-    self.RemoveConstraint(mScrollMainInternalOvershootYConstraint);
-    mScrollMainInternalOvershootYConstraint.Reset();
-
-    Constraint constraint = Constraint::New<float>( mPropertyOvershootY,
-                                           LocalSource( mPropertyPrePosition ),
-                                           LocalSource( mPropertyPosition ),
-                                           OvershootXConstraint(mMaxOvershoot.y) );
-    mScrollMainInternalOvershootYConstraint = self.ApplyConstraint(constraint);
-  }
+  // When panning we want to make sure overshoot values are affected by pre position and post position
+  SetOvershootConstraintsEnabled(!mWrapMode);
 }
 
 void ScrollView::SetOvershootConstraintsEnabled(bool enabled)
 {
   Actor self( Self() );
   // remove and reset, it may now be in wrong order with the main internal constraints
-  if(mScrollMainInternalOvershootXConstraint)
+  if( mScrollMainInternalOvershootXConstraint )
   {
     self.RemoveConstraint(mScrollMainInternalOvershootXConstraint);
     mScrollMainInternalOvershootXConstraint.Reset();
-  }
-  if(mScrollMainInternalOvershootYConstraint)
-  {
     self.RemoveConstraint(mScrollMainInternalOvershootYConstraint);
     mScrollMainInternalOvershootYConstraint.Reset();
   }
-  if(enabled)
+  if( enabled )
   {
     Constraint constraint = Constraint::New<float>( mPropertyOvershootX,
                                            LocalSource( mPropertyPrePosition ),
                                            LocalSource( mPropertyPosition ),
+                                           LocalSource( mPropertyCanScrollHorizontal ),
                                            OvershootXConstraint(mMaxOvershoot.x) );
-    mScrollMainInternalOvershootXConstraint = self.ApplyConstraint(constraint);
+    mScrollMainInternalOvershootXConstraint = self.ApplyConstraint( constraint );
+
     constraint = Constraint::New<float>( mPropertyOvershootY,
                                            LocalSource( mPropertyPrePosition ),
                                            LocalSource( mPropertyPosition ),
+                                           LocalSource( mPropertyCanScrollVertical ),
                                            OvershootYConstraint(mMaxOvershoot.y) );
-    mScrollMainInternalOvershootYConstraint = self.ApplyConstraint(constraint);
+    mScrollMainInternalOvershootYConstraint = self.ApplyConstraint( constraint );
+  }
+  else
+  {
+    self.SetProperty(mPropertyOvershootX, 0.0f);
+    self.SetProperty(mPropertyOvershootY, 0.0f);
   }
 }
 
@@ -2474,26 +2817,15 @@ void ScrollView::SetInternalConstraints()
   // User definable constraints to apply to all child actors //////////////////
   Actor self = Self();
 
-  // LocalSource - The Actors to be moved.
-  // self - The ScrollView
-
-  // Apply some default constraints to ScrollView.
-  // Movement + Scaling + Wrap function
+  // Apply some default constraints to ScrollView & its bound actors
+  // Movement + Wrap function
 
   Constraint constraint;
 
-  // MoveScaledActor (scrolling/zooming)
+  // MoveActor (scrolling)
   constraint = Constraint::New<Vector3>( Actor::POSITION,
                                          Source( self, mPropertyPosition ),
-                                         Source( self, mPropertyScale ),
-                                         MoveScaledActorConstraint );
-  constraint.SetRemoveAction(Constraint::Discard);
-  ApplyConstraintToBoundActors(constraint);
-
-  // ScaleActor (scrolling/zooming)
-  constraint = Constraint::New<Vector3>( Actor::SCALE,
-                                         Source( self, mPropertyScale ),
-                                         ScaleActorConstraint );
+                                         MoveActorConstraint );
   constraint.SetRemoveAction(Constraint::Discard);
   ApplyConstraintToBoundActors(constraint);
 
@@ -2510,121 +2842,6 @@ void ScrollView::SetInternalConstraints()
   ApplyConstraintToBoundActors(constraint);
 }
 
-void ScrollView::SetOvershootToOrigin()
-{
-  // Clear Snap animation if exists.
-  if(mSnapOvershootAnimation)
-  {
-    mSnapOvershootAnimation.FinishedSignal().Disconnect(this, &ScrollView::OnSnapOvershootAnimationFinished);
-    mSnapOvershootAnimation.Stop();
-    mSnapOvershootAnimation.Clear();
-    mSnapOvershootAnimation = NULL;
-  }
-  SetOvershootConstraintsEnabled(false);
-  Self().SetProperty(mPropertyOvershootX, 0.0f);
-  Self().SetProperty(mPropertyOvershootY, 0.0f);
-}
-
-void ScrollView::AnimateOvershootToOrigin(float xDelay, float yDelay)
-{
-  if( IsScrollComponentEnabled(Toolkit::Scrollable::OvershootIndicator) )
-  {
-    if(xDelay < Math::MACHINE_EPSILON_1)
-    {
-      // kick start animation to 0
-      Self().SetProperty(mPropertyOvershootX, 0.0f);
-    }
-    if(yDelay < Math::MACHINE_EPSILON_1)
-    {
-      // kick start animation to 0
-      Self().SetProperty(mPropertyOvershootY, 0.0f);
-    }
-    return;
-  }
-  // When we need to animate overshoot to 0
-  if(mSnapOvershootDuration > Math::MACHINE_EPSILON_1)
-  {
-    Actor self = Self();
-    // Clear Snap animation if exists.
-    if(mSnapOvershootAnimation)
-    {
-      mSnapOvershootAnimation.FinishedSignal().Disconnect( this, &ScrollView::OnSnapOvershootAnimationFinished );
-      mSnapOvershootAnimation.Stop();
-      mSnapOvershootAnimation.Clear();
-      mSnapOvershootAnimation = NULL;
-    }
-    if(!mSnapXAnimation && mScrollMainInternalOvershootXConstraint)
-    {
-      // need to remove the x overshoot constraint now or it will override animation to 0
-      Self().RemoveConstraint(mScrollMainInternalOvershootXConstraint);
-      mScrollMainInternalOvershootXConstraint.Reset();
-      mScrollMainInternalOvershootXConstraint = 0;
-    }
-    if(!mSnapYAnimation && mScrollMainInternalOvershootYConstraint)
-    {
-      // need to remove the y overshoot constraint now or it will override animation to 0
-      Self().RemoveConstraint(mScrollMainInternalOvershootYConstraint);
-      mScrollMainInternalOvershootYConstraint.Reset();
-      mScrollMainInternalOvershootYConstraint = 0;
-    }
-    // setup the new overshoot to 0 animation
-    float totalDuration = (xDelay > yDelay ? xDelay : yDelay) + mSnapOvershootDuration;
-    mSnapOvershootAnimation = Animation::New(totalDuration);
-    mSnapOvershootAnimation.FinishedSignal().Connect( this, &ScrollView::OnSnapOvershootAnimationFinished );
-
-    mSnapOvershootAnimation.AnimateTo( Property(self, mPropertyOvershootX), 0.0f, mSnapOvershootAlphaFunction, TimePeriod(xDelay, mSnapOvershootDuration) );
-    mSnapOvershootAnimation.AnimateTo( Property(self, mPropertyOvershootY), 0.0f, mSnapOvershootAlphaFunction, TimePeriod(yDelay, mSnapOvershootDuration) );
-
-    mSnapOvershootAnimation.SetDuration(totalDuration);
-    mSnapOvershootAnimation.Play();
-  }
-  else
-  {
-    SetOvershootToOrigin();
-  }
-}
-
-void ScrollView::OnSnapOvershootAnimationFinished( Animation& source )
-{
-  mSnapOvershootAnimation = NULL;
-}
-
-void ScrollView::StartRefreshTimer()
-{
-  if(mRefreshIntervalMilliseconds > 0)
-  {
-    if (!mRefreshTimer)
-    {
-      mRefreshTimer = Timer::New( mRefreshIntervalMilliseconds );
-      mRefreshTimer.TickSignal().Connect( this, &ScrollView::OnRefreshTick );
-    }
-
-    if (!mRefreshTimer.IsRunning())
-    {
-      mRefreshTimer.Start();
-    }
-  }
-}
-
-void ScrollView::CancelRefreshTimer()
-{
-  if (mRefreshTimer)
-  {
-    mRefreshTimer.Stop();
-  }
-}
-
-bool ScrollView::OnRefreshTick()
-{
-  // Guard against destruction during signal emission
-  Toolkit::ScrollView handle( GetOwner() );
-
-  Vector3 currentScrollPosition = GetCurrentScrollPosition();
-  mScrollUpdatedSignalV2.Emit( currentScrollPosition );
-
-  return true;
-}
-
 } // namespace Internal
 
 } // namespace Toolkit
index 860878f..eeec6d5 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_H__
 #define __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <dali/dali.h>
@@ -77,6 +78,19 @@ public:
     LockNone          ///< Locking is set to none (free panning).
   };
 
+  enum ScrollStateFlag
+  {
+    AnimatingInternalX = 0x01, ///< animating mPropertyX due to externally requested ScrollTo or internal snapping operation
+    AnimatingInternalY = 0x02, ///< animating mPropertyY due to externally requested ScrollTo or internal snapping operation
+    SnappingInternalX  = 0x04, ///< snapping mPropertyX back to mPropertyPreScroll x value to remove x overshoot over time
+    SnappingInternalY  = 0x08, ///< snapping mPropertyY back to mPropertyPreScroll y value to remove y overshoot over time
+  };
+
+  static const unsigned int SCROLL_X_STATE_MASK = AnimatingInternalX | SnappingInternalX;
+  static const unsigned int SCROLL_Y_STATE_MASK = AnimatingInternalY | SnappingInternalY;
+  static const unsigned int SCROLL_ANIMATION_FLAGS = AnimatingInternalX | AnimatingInternalY;
+  static const unsigned int SNAP_ANIMATION_FLAGS = SnappingInternalX | SnappingInternalY;
+
 public:
 
   /**
@@ -179,22 +193,6 @@ public:
   void SetRulerY(RulerPtr ruler);
 
   /**
-   * @copydoc Toolkit::ScrollView::SetRulerScaleX
-   */
-  void SetRulerScaleX(RulerPtr ruler);
-
-  /**
-   * @copydoc Toolkit::ScrollView::SetRulerScaleY
-   */
-  void SetRulerScaleY(RulerPtr ruler);
-
-  /**
-   * Set Rotation axis ruler (defines how rotating is snapped in radians)
-   * @param[in] ruler The ruler to be used for the Rotation axis
-   */
-  void SetRulerRotation(RulerPtr ruler);
-
-  /**
    * @copydoc Toolkit::ScrollView::SetScrollSensitive
    */
   void SetScrollSensitive(bool sensitive);
@@ -252,16 +250,28 @@ public:
   void SetWrapMode(bool enable);
 
   /**
+   * @deprecated
    * @copydoc Toolkit::ScrollView::GetRefreshInterval
    */
   int GetRefreshInterval() const;
 
   /**
+   * @deprecated
    * @copydoc Toolkit::ScrollView::SetRefreshInterval
    */
   void SetRefreshInterval(int milliseconds);
 
   /**
+   * @copydoc Toolkit::ScrollView::GetScrollupdateDistance
+   */
+  int GetScrollUpdateDistance() const;
+
+  /**
+   * @copydoc Toolkit::ScrollView::SetScrollUpdateDistance
+   */
+  void SetScrollUpdateDistance(int distance);
+
+  /**
    * @copydoc Toolkit::ScrollView::GetAxisAutoLock
    */
   bool GetAxisAutoLock() const;
@@ -302,6 +312,26 @@ public:
   void SetFlickSpeedCoefficient(float speed);
 
   /**
+   * @copydoc Toolkit::ScrollView::GetMinimumDistanceForFlick
+   */
+  Vector2 GetMinimumDistanceForFlick() const;
+
+  /**
+   * @copydoc Toolkit::ScrollView::SetMinimumDistanceForFlick
+   */
+  void SetMinimumDistanceForFlick( const Vector2& distance );
+
+  /**
+   * @copydoc Toolkit::ScrollView::GetMinimumSpeedForFlick
+   */
+  float GetMinimumSpeedForFlick() const;
+
+  /**
+   * @copydoc Toolkit::ScrollView::SetMinimumSpeedForFlick
+   */
+  void SetMinimumSpeedForFlick( float speed );
+
+  /**
    * @copydoc Toolkit::ScrollView::GetMaxFlickSpeed
    */
   float GetMaxFlickSpeed() const;
@@ -332,9 +362,9 @@ public:
   Vector3 GetCurrentScrollPosition() const;
 
   /**
-   * @copydoc Toolkit::ScrollView::GetCurrentScrollScale
+   * @copydoc Toolkit::ScrollView::SetScrollPosition
    */
-  Vector3 GetCurrentScrollScale() const;
+  void SetScrollPosition(const Vector3& position);
 
   /**
    * @copydoc Toolkit::Scrollable::GetDomainSize
@@ -342,15 +372,15 @@ public:
   Vector3 GetDomainSize() const;
 
   /**
-   * @copydoc Toolkit::ScrollView::TransformTo(const Vector3& position, const Vector3& scale, float rotation)
+   * @copydoc ScrollTo(const Vector3&)
    */
-  void TransformTo(const Vector3& position, const Vector3& scale, float rotation,
+  void TransformTo(const Vector3& position,
                    DirectionBias horizontalBias = DirectionBiasNone, DirectionBias verticalBias = DirectionBiasNone);
 
   /**
-   * @copydoc Toolkit::ScrollView::TransformTo(const Vector3& position, const Vector3& scale, float rotation, float duration)
+   * @copydoc ScrollTo(const Vector3&, float, DirectionBias, DirectionBias)
    */
-  void TransformTo(const Vector3& position, const Vector3& scale, float rotation, float duration,
+  void TransformTo(const Vector3& position, float duration,
                    DirectionBias horizontalBias = DirectionBiasNone, DirectionBias verticalBias = DirectionBiasNone);
 
   /**
@@ -423,29 +453,22 @@ public:
   bool ScrollToSnapPoint();
 
   /**
-   * @copydoc Toolkit::ScrollView::ScaleTo(const Vector3& scale)
-   */
-  void ScaleTo(const Vector3& scale);
-
-  /**
-   * @copydoc Toolkit::ScrollView::ScaleTo(const Vector3& scale, float duration)
+   * Stops animation
    */
-  void ScaleTo(const Vector3& scale, float duration);
+  void StopAnimation(void);
 
   /**
-   * Stops animation
+   * Stops the input animation
+   *
+   * @param[in] the animation to stop
    */
-  void StopAnimation(void);
+  void StopAnimation(Animation& animation);
 
   /**
-   * Animates to position/scale/rotation transform.
+   * Animates to position transform.
    *
    * @param[in] position The position to animate to
    * @param[in] positionDuration The number of seconds this animation should run for in each axis.
-   * @param[in] scale The scale to animate to
-   * @param[in] scaleDuration The number of seconds this animation should run for in each axis.
-   * @param[in] rotation The angle to animate to
-   * @param[in] rotationDuration The number of seconds this animation should run for in each axis.
    * @param[in] alpha The easing alpha function to use.
    * @param[in] findShortcuts (optional) Whether to find the shortest route (in Wrap mode)
    * @param[in] horizontalBias (optional) Whether to bias animation to left or right (or no biasing)
@@ -453,8 +476,6 @@ public:
    * @return True if animation necessary and taking place to reach desired transform.
    */
   bool AnimateTo(const Vector3& position, const Vector3& positionDuration,
-                             const Vector3& scale, const Vector3& scaleDuration,
-                             float rotation, float rotationDuration,
                              AlphaFunction alpha, bool findShortcuts = true,
                              DirectionBias horizontalBias = DirectionBiasNone, DirectionBias verticalBias = DirectionBiasNone,
                              SnapType snapType = Snap);
@@ -469,6 +490,11 @@ public:
    */
   void RemoveOverlay(Actor actor);
 
+  /**
+   * @copydoc Toolkit::Internal::Scrollable::SetOvershootEffectColor
+   */
+  void SetOvershootEffectColor( const Vector4& color );
+
 public: //Signals
 
   /**
@@ -512,6 +538,11 @@ private: // private overriden functions from CustomActorImpl and Controls
   virtual void OnChildRemove(Actor& child);
 
   /**
+   * @copydoc Dali::CustomActorImpl::OnPropertySet( Property::Index index, Property::Value propertyValue )
+   */
+  virtual void OnPropertySet( Property::Index index, Property::Value propertyValue );
+
+  /**
    * From CustomActorImpl; called after a touch-signal is received by the owning actor.
    *
    * We don't listen to these events as content within the contain may consume events.
@@ -556,22 +587,87 @@ private: // private overriden functions from CustomActorImpl and Controls
 private:
 
   /**
+   * Start a timer which calls OnTouchDownTimeout()
+   */
+  void StartTouchDownTimer();
+
+  /**
+   * Stop a timer which calls OnTouchDownTimeout()
+   */
+  void StopTouchDownTimer();
+
+  /**
+   * Helper to detect when touch-point has been down (outside of pan gesture)
+   */
+  bool OnTouchDownTimeout();
+
+  /**
    * Called whenever a snap animation has completed
    * @param[in] source the Animation instance that has completed.
+   * Resets all scrolling animations and states, leaving current scroll position at mPropertyPosition
+   */
+  void ResetScrolling();
+
+  /**
+   * Updates mScrollInternalPosition, mScrollPrePosition and mScrollPostPosition from their property counterparts
    */
-  void OnSnapAnimationFinished( Animation& source );
+  void UpdateLocalScrollProperties();
+
+  /**
+   * Makes sure scroll values are ready for animated scrolling
+   */
+  void PreAnimatedScrollSetup();
+
+  /**
+   * Finish an animated scroll, ensuring all scroll properties are updated
+   * and synchronised
+   */
+  void FinaliseAnimatedScroll();
+
+  /**
+   * Animates the internal x property to the given value
+   *
+   * @param[in] position The X position to animate to
+   * @param[in] duration The time in seconds for animation
+   * @param[in] alpha The alpha function to use for animating
+   */
+  void AnimateInternalXTo( float position, float duration, AlphaFunction alpha );
+
+  /**
+   * Animates the internal y property to the given value
+   *
+   * @param[in] position The Y position to animate to
+   * @param[in] duration The time in seconds for animation
+   * @param[in] alpha The alpha function to use for animating
+   */
+  void AnimateInternalYTo( float position, float duration, AlphaFunction alpha );
 
   /**
    * Called whenever a snap animation on the x-axis has completed
    * @param[in] source the Animation instance that has completed.
    */
-  void OnSnapXAnimationFinished( Animation& source );
+  void OnScrollAnimationFinished( Animation& source );
 
   /**
-   * Called whenever a snap animation on the y-axis has completed
+   * Called when either the X or Y internal scroll positions have finished snapping back to mPropertyPrePosition
+   *
    * @param[in] source the Animation instance that has completed.
    */
-  void OnSnapYAnimationFinished( Animation& source );
+  void OnSnapInternalPositionFinished( Animation& source );
+
+  /**
+   * Called whenever a snap animation on the x-axis has completed and we need to snap pre scroll
+   * position to our clamped position
+   * @param[in] position The x position to snap pre scroll property to
+   */
+  void SnapInternalXTo( float position );
+
+  /**
+   * Called whenever a snap animation on the y-axis has completed and we need to snap pre scroll
+   * position to our clamped position
+   * @param[in] position The y position to snap pre scroll property to
+   */
+  void SnapInternalYTo( float position );
 
   /**
    * This is called internally whenever the Scroll Rulers are
@@ -591,10 +687,8 @@ private:
    * Amalgamated Gesture Continuing event
    *
    * @param[in] panDelta average panning delta from base position (0)
-   * @param[in] scaleDelta average scale delta from base scale (1)
-   * @param[in] rotationDelta average rotation delta from base angle (0)
    */
-  void GestureContinuing(Vector2 panDelta, Vector2 scaleDelta, float rotationDelta);
+  void GestureContinuing(const Vector2& panDelta);
 
   /**
    * Called upon pan gesture event.
@@ -619,34 +713,12 @@ private:
   bool SnapWithVelocity(Vector2 velocity);
 
   /**
-   * Updates Container Transform based on Pan, Scale, and Rotation props.
-   * (occurs when continuing gesture i.e. dragging/pinching.)
-   */
-  void UpdateTransform();
-
-  /**
    * Finishes Container Transform
    * (occurs upon finishing gesture i.e. releasing)
    */
   void FinishTransform();
 
   /**
-   * Sets Overshoot to origin / cancels animation
-   */
-  void SetOvershootToOrigin();
-
-  /**
-   * Animates Overshoot to origin
-   */
-  void AnimateOvershootToOrigin(float xDelay, float yDelay);
-
-  /**
-   * Called whenever a snap overshoot animation has completed.
-   * @param[in] source the Animation instance that has completed.
-   */
-  void OnSnapOvershootAnimationFinished( Animation& source );
-
-  /**
    * Returns overshoot vector based on current position
    *
    * Overshoot vector is defined as how far outside of bounds
@@ -686,21 +758,6 @@ private:
   void WrapPosition(Vector3& position) const;
 
   /**
-   * Clamps scale within the domain set up by Scale-X/Scale-Y Rulers
-   *
-   * @param[in,out] scale The scale you wish to clamp
-   */
-  void ClampScale(Vector3& scale) const;
-
-  /**
-   * Clamps scale within the domain set up by Scale-X/Scale-Y Rulers
-   *
-   * @param[in,out] scale The scale you wish to clamp
-   * @param[out] clamped The results of the clamping.
-   */
-  void ClampScale(Vector3& scale, ClampState3 &clamped) const;
-
-  /**
    * Updates the main internal scroll constraints with new ruler and domain
    * values
    */
@@ -757,40 +814,28 @@ private:
   Vector3 GetPropertyPosition() const;
 
   /**
-   * Gets scale property.
-   *
-   * @return The current scale
-   */
-  Vector3 GetPropertyScale() const;
-
-  /**
-   * Handles a Stopped animation. Its position/scale/rotation properties need to be
-   * saved, and the animation flag switched off.
+   * Handles a Stopped animation. Its position properties need to be saved, and the animation flag
+   * switched off.
    */
   void HandleStoppedAnimation();
 
   /**
    * Handles a Stopped animation (whether the animation completed, or was
-   * manually stopped). Its position/scale/rotation properties need to be
-   * saved, and the animation flag switched off.
+   * manually stopped). Its position properties need to be saved, and the
+   * animation flag switched off.
    */
   void HandleSnapAnimationFinished();
 
   /**
-   * Helper to start the refresh timer.
-   */
-  void StartRefreshTimer();
-
-  /**
-   * Helper to cancel the refresh timer.
+   * Checks if the property notifications are active and adds them if not
    */
-  void CancelRefreshTimer();
+  void SetScrollUpdateNotification( bool enabled );
 
   /**
    * Refresh the ScrollView (used when animating to update application developer of changes)
    * @return True if the refresh timer should be kept running.
    */
-  bool OnRefreshTick();
+  void OnScrollUpdateNotification(Dali::PropertyNotification& source);
 
 private:
 
@@ -802,73 +847,58 @@ private:
 
 private:
 
-  bool mInitialized;
-  bool mScrolling;                      ///< Flag indicating whether the scroll view is being scrolled (by user or animation)
-  bool mScrollInterrupted;              ///< Flag set for when a down event interrupts a scroll
   unsigned long mTouchDownTime;         ///< The touch down time
-  Vector2 mTouchDownPosition;           ///< The touch down position
-
-  bool mSensitive;                      ///< Scroll Sensitivity Flag.
 
   int mGestureStackDepth;               ///< How many gestures are currently occuring.
-  Vector2 mGestureReferencePosition;    ///< Point where scaling should occur from.
-  Vector2 mPinchGestureLastPosition;
-  Vector2 mPinchGestureLastScale;
-
+  Vector2 mPanStartPosition;            ///< Where the pan gesture's touch down occured
   Vector3 mPanDelta;                    ///< Amount currently panned.
-  Vector3 mScaleDelta;                  ///< Amount currently scaled.
-  float mRotationDelta;                 ///< Amount currently rotated.
-
-  // Scroll delegate pre and post position/scale/rotation properties...
-  Vector3 mScrollPrePosition;           ///< Scroll delegate pre-position
-  Vector3 mScrollPostPosition;          ///< Scroll delegate post-position (affected by current touch)
-  Vector3 mScrollPreScale;              ///< Scroll delegate pre-scale
-  Vector3 mScrollPostScale;             ///< Scroll delegate post-scale (affected by current touch)
-  float mScrollPreRotation;             ///< Scroll delegate pre-rotation
-  float mScrollPostRotation;            ///< Scroll delegate post-rotation (affected by current touch)
+
+  unsigned int mScrollStateFlags;       ///< flags indicating current state of scrolling
+  // Scroll delegate pre and post position properties...
+  Vector3 mScrollPrePosition;           ///< Wrapped scroll position, but not clamped
+  Vector3 mScrollPostPosition;          ///< Wrapped and clamped, this is the final scroll position used
+  Vector3 mScrollTargetPosition;        ///< Final target position for an animated scroll
   Vector3 mDomainOffset;                ///< Domain offset (this keeps track of the domain boundaries that scroll positions traverses)
 
   // Rulers for each axes...
   RulerPtr mRulerX;
   RulerPtr mRulerY;
-  RulerPtr mRulerScaleX;
-  RulerPtr mRulerScaleY;
-  RulerPtr mRulerRotation;
-  bool mTouchDownReceived;
-  bool mActorAutoSnapEnabled;           ///< Whether to automatically snap to closest actor.
-  bool mAutoResizeContainerEnabled;     ///< Whether to automatically resize container (affects RulerDomain's on X/Y axes)
-  bool mWrapMode;                       ///< Whether to wrap contents based on container size.
-  bool mAxisAutoLock;                   ///< Whether to automatically lock axis when panning.
+
+  // Last property values set to ScrollView
+  Vector3 mMinScroll;
+  Vector3 mMaxScroll;
+
   unsigned int mMinTouchesForPanning;   ///< Minimum number of touches for panning to be used.
   unsigned int mMaxTouchesForPanning;   ///< Maximum number of touches for panning to be used.
 
-  Animation mSnapAnimation;
-  Animation mSnapXAnimation;             ///< Animates from current x-axis position to the snapped (or scrolled) x-axis position.
-  Animation mSnapYAnimation;             ///< Animates from current y-axis position to the snapped (or scrolled) y-axis position.
-  Animation mSnapOvershootAnimation;    ///< Animates scroll-overshoot from current position to 0,0 based on specified easing equation.
+  Animation mInternalXAnimation;        ///< Animates mPropertyX to a snap position or application requested scroll position
+  Animation mInternalYAnimation;        ///< Animates mPropertyY to a snap position or application requested scroll position
 
 
   Vector2 mLastVelocity;                ///< Record the last velocity from PanGesture (Finish event doesn't have correct velocity)
   LockAxis mLockAxis;
 
-  Timer mOvershootRefreshTimer;
-  Timer mRefreshTimer;                  ///< Refresh timer is used to provide the Application developer with updates as animations run.
-  int mRefreshIntervalMilliseconds;     ///< Refresh timer interval.
+  Timer mTouchDownTimer;                ///< Used to interrupt snap-animation. This cannot be done in OnTouchEvent without breaking fast flick behavior.
+
+  float mScrollUpdateDistance;          ///< Distance for scrolling to travel for the scroll update notifications
+  Dali::PropertyNotification mScrollXUpdateNotification; ///< scroll x position update notification
+  Dali::PropertyNotification mScrollYUpdateNotification; ///< scroll y position update notification
 
-  bool mAlterChild;                     ///< Internal flag to control behavior of OnChildAdd/OnChildRemove when Adding internal Actors.
   Actor mInternalActor;                 ///< Internal actor (we keep internal actors in here e.g. scrollbars, so we can ignore it in searches)
 
   ScrollViewEffectContainer mEffects;   ///< Container keeping track of all the applied effects.
 
   float     mOvershootDelay;                    ///< Time to wait for input before reducing overshoot back to 0
   Vector2   mMaxOvershoot;                      ///< Number of scrollable pixels that will take overshoot from 0.0f to 1.0f
-  bool      mDefaultMaxOvershoot;               ///< Whether to use default max overshoot or application defined one
+  Vector2   mUserMaxOvershoot;                  ///< Set by user, allows overriding of default max overshoot for the scroll indicator
   float     mSnapOvershootDuration;             ///< Duration for overshoot snapping back to Vector3::ZERO
   AlphaFunction mSnapOvershootAlphaFunction;    ///< AlphaFunction to be used for this overshoot.
 
   float mSnapDuration;                          ///< Time for the snap animation to take (in seconds).
   AlphaFunction mSnapAlphaFunction;             ///< AlphaFunction to be used for the Snap Animation.
 
+  Vector2 mMinFlickDistance;                      ///< Minimum pan distance required for a flick
+  float mFlickSpeedThreshold;                   ///< Minimum pan speed required for a flick in pixels/ms
   float mFlickDuration;                         ///< Time for the flick animation to take (in seconds).
   AlphaFunction mFlickAlphaFunction;            ///< AlphaFunction to be used for the Flick Animation.
 
@@ -882,8 +912,6 @@ private:
   //ScrollInternalConstraintsPtr mScrollInternalConstraints;
   ActiveConstraint mScrollMainInternalPrePositionConstraint;
   ActiveConstraint mScrollMainInternalPositionConstraint;
-  ActiveConstraint mScrollMainInternalXConstraint;
-  ActiveConstraint mScrollMainInternalYConstraint;
   ActiveConstraint mScrollMainInternalOvershootXConstraint;
   ActiveConstraint mScrollMainInternalOvershootYConstraint;
   ActiveConstraint mScrollMainInternalDeltaConstraint;
@@ -893,6 +921,22 @@ private:
   ScrollOvershootIndicatorPtr mOvershootIndicator;
 
   Toolkit::ScrollView::SnapStartedSignalV2 mSnapStartedSignalV2;
+
+  bool mInAccessibilityPan : 1;           ///< With AccessibilityPan its easier to move between snap positions
+  bool mInitialized:1;
+  bool mScrolling:1;                      ///< Flag indicating whether the scroll view is being scrolled (by user or animation)
+  bool mScrollInterrupted:1;              ///< Flag set for when a down event interrupts a scroll
+  bool mPanning:1;                        ///< Whether scroll view is currently panning or not
+  bool mSensitive:1;                      ///< Scroll Sensitivity Flag.
+  bool mTouchDownTimeoutReached:1;        ///< Indicates when down event timeout occured without corresponding up event (touch still down)
+  bool mActorAutoSnapEnabled:1;           ///< Whether to automatically snap to closest actor.
+  bool mAutoResizeContainerEnabled:1;     ///< Whether to automatically resize container (affects RulerDomain's on X/Y axes)
+  bool mWrapMode:1;                       ///< Whether to wrap contents based on container size.
+  bool mAxisAutoLock:1;                   ///< Whether to automatically lock axis when panning.
+  bool mAlterChild:1;                     ///< Internal flag to control behavior of OnChildAdd/OnChildRemove when Adding internal Actors.
+  bool mDefaultMaxOvershoot:1;            ///< Whether to use default max overshoot or application defined one
+  bool mCanScrollHorizontal:1;            ///< Local value of our property to check against
+  bool mCanScrollVertical:1;              ///< Local value of our property to check against
 };
 
 } // namespace Internal
index a67cf71..47406ab 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-page-carousel-effect-impl.h>
index ffb92e2..d33aca8 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_PAGE_CAROUSEL_EFFECT_H__
 #define __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_PAGE_CAROUSEL_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/animation/animation.h>
index 0c762ed..4ad55fb 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-page-cube-effect-impl.h>
index f09eed7..eb6dfbe 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_PAGE_CUBE_EFFECT_H__
 #define __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_PAGE_CUBE_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/animation/animation.h>
index cbb031c..61c51ef 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-page-spiral-effect-impl.h>
index a0a8fcb..0415bc5 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_PAGE_SPIRAL_EFFECT_H__
 #define __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_PAGE_SPIRAL_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/animation/animation.h>
index 92df9f2..95ecc5d 100644 (file)
@@ -1,19 +1,20 @@
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-effect-impl.h>
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-slide-effect-impl.h>
index 840bdd5..9342092 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_SLIDE_EFFECT_H__
 #define __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_SLIDE_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/animation/animation.h>
index 681afe6..1a3b893 100755 (executable)
@@ -1,19 +1,20 @@
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-effect-impl.h>
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-twist-effect-impl.h>
@@ -178,8 +179,7 @@ struct ScrollDropoffTwistRotationConstraint
                         const PropertyInput& scrollablePositionProperty,
                         const PropertyInput& scrollOvershootXProperty,
                         const PropertyInput& scrollOvershootYProperty,
-                        const PropertyInput& pageSizeProperty,
-                        const PropertyInput& activateProperty)
+                        const PropertyInput& pageSizeProperty)
   {
     const Vector3& position = actorPositionProperty.GetVector3();
     const Vector3& parentPosition = scrollablePositionProperty.GetVector3();
@@ -191,13 +191,6 @@ struct ScrollDropoffTwistRotationConstraint
       return current;
     }
 
-    const float& activate = activateProperty.GetFloat();
-
-    if(activate < Math::MACHINE_EPSILON_0)
-    {
-      return current;
-    }
-
     // get distance from centre of scrollable container
     Vector2 distance = position.GetVectorXY() - parentPosition.GetVectorXY();
 
@@ -274,19 +267,11 @@ struct ScrollTwistRotationConstraint
    */
   Quaternion operator()(const Quaternion& current,
                         const PropertyInput& scrollOvershootXProperty,
-                        const PropertyInput& scrollOvershootYProperty,
-                        const PropertyInput& activateProperty)
+                        const PropertyInput& scrollOvershootYProperty)
   {
     const Vector2 overshoot(scrollOvershootXProperty.GetFloat(), scrollOvershootYProperty.GetFloat());
 
-    if(fabsf(overshoot.x) < Math::MACHINE_EPSILON_0 && fabsf(overshoot.y) < Math::MACHINE_EPSILON_0)
-    {
-      return current;
-    }
-
-    const float& activate = activateProperty.GetFloat();
-
-    if(activate < Math::MACHINE_EPSILON_0)
+    if( fabsf(overshoot.x) < Math::MACHINE_EPSILON_0 && fabsf(overshoot.y) < Math::MACHINE_EPSILON_0 )
     {
       return current;
     }
@@ -542,7 +527,6 @@ void ScrollViewTwistEffect::Apply(Actor child)
                                                 Source(scrollView, scrollView.GetPropertyIndex( Toolkit::ScrollView::SCROLL_OVERSHOOT_X_PROPERTY_NAME ) ),
                                                 Source(scrollView, scrollView.GetPropertyIndex( Toolkit::ScrollView::SCROLL_OVERSHOOT_Y_PROPERTY_NAME ) ),
                                                 Source(scrollView, Actor::SIZE ),
-                                                Source(scrollView, scrollView.GetPropertyIndex( EFFECT_ACTIVATE) ),
                                                 ScrollDropoffTwistRotationConstraint(mMaxSwingAngle, mDropOff, mDropOffDistance, mDropOffFunction) );
     }
     else
@@ -550,7 +534,6 @@ void ScrollViewTwistEffect::Apply(Actor child)
       constraint = Constraint::New<Quaternion>( Actor::ROTATION,
                                                 Source(scrollView, scrollView.GetPropertyIndex( Toolkit::ScrollView::SCROLL_OVERSHOOT_X_PROPERTY_NAME ) ),
                                                 Source(scrollView, scrollView.GetPropertyIndex( Toolkit::ScrollView::SCROLL_OVERSHOOT_Y_PROPERTY_NAME ) ),
-                                                Source(scrollView, scrollView.GetPropertyIndex( EFFECT_ACTIVATE) ),
                                                 ScrollTwistRotationConstraint(mMaxSwingAngle) );
     }
     constraint.SetRemoveAction( Constraint::Discard );
@@ -583,8 +566,10 @@ void ScrollViewTwistEffect::OnAttach(Toolkit::ScrollView& scrollView)
     mPropertyTime = SafeRegisterProperty( scrollView, EFFECT_TIME, 0.0f );
     mPropertyReference = SafeRegisterProperty( scrollView, EFFECT_REFERENCE, Vector3::ZERO );
     mPropertyDepth = SafeRegisterProperty( scrollView, EFFECT_DEPTH, 0.0f);
-    mPropertyActivate = SafeRegisterProperty(scrollView, EFFECT_ACTIVATE, 1.0f);
+    mPropertyActivate = SafeRegisterProperty(scrollView, EFFECT_ACTIVATE, 0.0f);
   }
+  // currently cant change overshoot snap back duration, use the constant one from ScrollView
+  mActivationTime = Toolkit::ScrollView::DEFAULT_SNAP_OVERSHOOT_DURATION;
 
   // Connect to the scroll view signals
   scrollView.ScrollStartedSignal().Connect(this, &ScrollViewTwistEffect::OnScrollStart);
@@ -676,7 +661,7 @@ void ScrollViewTwistEffect::OnScrollComplete( const Vector3& position )
   }
   Actor scrollView = GetScrollView();
   scrollView.SetProperty(mPropertyActivate, 1.0f);
-  mActivateAnimation = Animation::New(DELAY);
+  mActivateAnimation = Animation::New(mActivationTime);
   mActivateAnimation.AnimateTo( Property(scrollView, mPropertyActivate), 0.0f, AlphaFunctions::Linear);
   mActivateAnimation.FinishedSignal().Connect(this, &ScrollViewTwistEffect::OnActivateAnimationFinished);
   mActivateAnimation.Play();
index 43dc312..d98a086 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_TWIST_EFFECT_H__
 #define __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_TWIST_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/animation/animation.h>
@@ -184,6 +185,7 @@ private:
 
   ushort mFlags;
   Animation mAnimation;                         ///< Animation Timer to drive the twist effect constraint.
+  float     mActivationTime;                    ///< Time taken for overshoot to reach zero, which is the time we need to allow effect to be active
   Animation mActivateAnimation;
   Property::Index mPropertyTime;                ///< Time property used by twist effect constraint to calculate timePassed.
   bool mEnableEffect;                           ///< flag that decide whether enable or disable the twist effect.
index 5e82f95..a4f21c0 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-effect-impl.h>
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-wobble-effect-impl.h>
index e187bc7..22ba237 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_WOBBLE_EFFECT_H__
 #define __DALI_TOOLKIT_INTERNAL_SCROLL_VIEW_WOBBLE_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/animation/animation.h>
index 451895c..555ae70 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/internal/controls/scrollable/scrollable-impl.h>
@@ -31,11 +32,14 @@ namespace Dali
 namespace Toolkit
 {
 
+const Property::Index Scrollable::PROPERTY_OVERSHOOT_EFFECT_COLOR( Toolkit::Internal::Control::CONTROL_PROPERTY_END_INDEX + 1 );
+
 namespace Internal
 {
 
 namespace
 {
+const Vector4 DEFAULT_OVERSHOOT_COLOUR(0.0f, 0.64f, 0.85f, 0.25f);
 
 BaseHandle Create()
 {
@@ -50,22 +54,33 @@ SignalConnectorType s2(mType, Toolkit::Scrollable::SIGNAL_SCROLL_COMPLETED, &Scr
 SignalConnectorType s3(mType, Toolkit::Scrollable::SIGNAL_SCROLL_UPDATED,   &Scrollable::DoConnectSignal);
 SignalConnectorType s4(mType, Toolkit::Scrollable::SIGNAL_SCROLL_CLAMPED,   &Scrollable::DoConnectSignal);
 
+PropertyRegistration property1( mType,
+                                "overshoot-effect-color",
+                                Toolkit::Scrollable::PROPERTY_OVERSHOOT_EFFECT_COLOR,
+                                Property::VECTOR4,
+                                &Scrollable::SetProperty,
+                                &Scrollable::GetProperty );
+
 }
 
 const std::string Scrollable::SCROLLABLE_CAN_SCROLL_VERTICAL( "scrollable-can-scroll-vertical" );
 const std::string Scrollable::SCROLLABLE_CAN_SCROLL_HORIZONTAL( "scrollable-can-scroll-horizontal" );
-const Vector4     Scrollable::DEFAULT_OVERSHOOT_COLOUR(0.0f, 0.64f, 0.85f, 0.6f);
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // Scrollable
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
+// Scrollable controls are not layout containers so they dont need size negotiation..
+// we dont want size negotiation while scrolling if we can avoid it
 Scrollable::Scrollable()
-: Control(true/*requires touch*/),
+: Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS | REQUIRES_STYLE_CHANGE_SIGNALS | NO_SIZE_NEGOTIATION ) ),
+  mOvershootEffectColor(  DEFAULT_OVERSHOOT_COLOUR ),
   mPropertyRelativePosition(Property::INVALID_INDEX),
   mPropertyPositionMin(Property::INVALID_INDEX),
   mPropertyPositionMax(Property::INVALID_INDEX),
   mPropertyScrollDirection(Property::INVALID_INDEX),
+  mPropertyCanScrollVertical(Property::INVALID_INDEX),
+  mPropertyCanScrollHorizontal(Property::INVALID_INDEX),
   mOvershootEnabled(false)
 {
 }
@@ -146,6 +161,11 @@ void Scrollable::DisableScrollComponent(Toolkit::Scrollable::ScrollComponentType
   }
 }
 
+Vector4 Scrollable::GetOvershootEffectColor() const
+{
+  return mOvershootEffectColor;
+};
+
 Toolkit::Scrollable::ScrollStartedSignalV2& Scrollable::ScrollStartedSignal()
 {
   return mScrollStartedSignalV2;
@@ -198,6 +218,46 @@ bool Scrollable::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface
   return connected;
 }
 
+void Scrollable::SetProperty( BaseObject* object, Property::Index index, const Property::Value& value )
+{
+  Toolkit::Scrollable scrollable = Toolkit::Scrollable::DownCast( Dali::BaseHandle( object ) );
+
+  if( scrollable )
+  {
+    Scrollable& scrollableImpl( GetImpl( scrollable ) );
+    switch( index )
+    {
+      case Toolkit::Scrollable::PROPERTY_OVERSHOOT_EFFECT_COLOR:
+      {
+        scrollableImpl.SetOvershootEffectColor( value.Get<Vector4>() );
+        break;
+      }
+    }
+  }
+}
+
+Property::Value Scrollable::GetProperty( BaseObject* object, Property::Index index )
+{
+  Property::Value value;
+
+  Toolkit::Scrollable scrollable = Toolkit::Scrollable::DownCast( Dali::BaseHandle( object ) );
+
+  if( scrollable )
+  {
+    Scrollable& scrollableImpl( GetImpl( scrollable ) );
+    switch( index )
+    {
+      case Toolkit::Scrollable::PROPERTY_OVERSHOOT_EFFECT_COLOR:
+      {
+        value = scrollableImpl.GetOvershootEffectColor();
+        break;
+      }
+    }
+  }
+
+  return value;
+}
+
 Toolkit::ScrollComponent Scrollable::NewScrollComponent(Toolkit::Scrollable& scrollable, Toolkit::Scrollable::ScrollComponentType type)
 {
   Toolkit::ScrollComponent instance;
index e5af516..a536a51 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SCROLLABLE_H__
 #define __DALI_TOOLKIT_INTERNAL_SCROLLABLE_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -44,7 +45,6 @@ class Scrollable : public Control
 public:
   static const std::string SCROLLABLE_CAN_SCROLL_VERTICAL;
   static const std::string SCROLLABLE_CAN_SCROLL_HORIZONTAL;
-  static const Vector4     DEFAULT_OVERSHOOT_COLOUR;
 
   /**
    * Create a new Scrollable.
@@ -106,6 +106,18 @@ public:
    */
   virtual void ScrollTo(const Vector3 &position, float duration) = 0;
 
+  /**
+   * Set the color of the overshoot effect.
+   * @parm[in] color The color of the overshoot effect
+   */
+  virtual void SetOvershootEffectColor( const Vector4& color ) = 0;
+
+  /**
+   * Retrieve the color of the overshoot effect.
+   * @return The color of the overshoot effect.
+   */
+  Vector4 GetOvershootEffectColor() const;
+
 private:
 
   /**
@@ -148,6 +160,24 @@ public: //Signals
    */
   static bool DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor );
 
+  //properties
+
+  /**
+   * Called when a property of an object of this type is set.
+   * @param[in] object The object whose property is set.
+   * @param[in] index The property index.
+   * @param[in] value The new property value.
+   */
+  static void SetProperty( BaseObject* object, Property::Index index, const Property::Value& value );
+
+  /**
+   * Called to retrieve a property of an object of this type.
+   * @param[in] object The object whose property is to be retrieved.
+   * @param[in] index The property index.
+   * @return The current value of the property.
+   */
+  static Property::Value GetProperty( BaseObject* object, Property::Index index );
+
 protected:
 
   /**
@@ -192,6 +222,8 @@ private:
 
 protected:
 
+  Vector4         mOvershootEffectColor;    ///<The color of the overshoot bouncing effect
+
   Property::Index mPropertyRelativePosition;///< Scroll Relative Position ("scroll-relative-position") [range from 0.0f - 1.0f in each axes]
   Property::Index mPropertyPositionMin;     ///< Scroll Domain Minimum ("position-min")
   Property::Index mPropertyPositionMax;     ///< Scroll Domain Maximum ("position-max")
@@ -212,7 +244,7 @@ private:
   typedef ComponentContainer::iterator ComponentIter;
 
   ComponentContainer mComponents;  ///< ScrollComponent (such as a scrollbar/page indicator/status)
-  bool mOvershootEnabled;
+  bool mOvershootEnabled:1;
 };
 
 } // namespace Internal
diff --git a/base/dali-toolkit/internal/controls/style-change-processor.cpp b/base/dali-toolkit/internal/controls/style-change-processor.cpp
deleted file mode 100644 (file)
index 46f940e..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include "style-change-processor.h"
-
-#include <boost/thread/tss.hpp>
-
-#include "dali-toolkit/public-api/controls/control.h"
-#include "dali-toolkit/public-api/controls/control-impl.h"
-
-namespace Dali
-{
-
-namespace Toolkit
-{
-
-namespace Internal
-{
-
-namespace
-{
-boost::thread_specific_ptr<StyleChangeProcessor> gThreadLocalStyleChangeProcessor;
-} // unnamed namespace
-
-StyleChangeProcessor::~StyleChangeProcessor()
-{
-}
-
-void StyleChangeProcessor::Register( Control* control )
-{
-  // Only create a style change processor if we have not created one in the local thread storage.
-  if (!gThreadLocalStyleChangeProcessor.get())
-  {
-    gThreadLocalStyleChangeProcessor.reset(new StyleChangeProcessor);
-  }
-
-  gThreadLocalStyleChangeProcessor->Reference();
-
-  std::vector<Control*>& controls( gThreadLocalStyleChangeProcessor->mControls );
-
-  // Store the Control raw pointer to allow traverse all off stage controls.
-  DALI_ASSERT_ALWAYS( ( std::find( controls.begin(), controls.end(), control ) == controls.end() ) && "StyleChangeProcessor::Register. The control has been registered twice." );
-
-  controls.push_back( control );
-}
-
-void StyleChangeProcessor::Unregister( Control* control )
-{
-  if (gThreadLocalStyleChangeProcessor.get())
-  {
-    std::vector<Control*>& controls( gThreadLocalStyleChangeProcessor->mControls );
-
-    // Removes the control from the vector as is not needed to notify it about style changes.
-    std::vector<Control*>::iterator it = std::find( controls.begin(), controls.end(), control );
-    std::vector<Control*>::iterator endIt = controls.end();
-    DALI_ASSERT_ALWAYS( ( it != endIt ) && "StyleChangeProcessor::UnRegister. The control has not been registered in the StyleChangeProcessor." );
-
-    *it = *(endIt - 1);
-    controls.erase( endIt - 1 );
-
-    gThreadLocalStyleChangeProcessor->Unreference();
-  }
-}
-
-void StyleChangeProcessor::Reference()
-{
-  ++mCount;
-}
-
-void StyleChangeProcessor::Unreference()
-{
-  if (--mCount == 0)
-  {
-    // If our count is 0, then we should reset the local storage which will call our destructor as well.
-    gThreadLocalStyleChangeProcessor.reset();
-  }
-}
-
-StyleChangeProcessor::StyleChangeProcessor()
-: mCount(0)
-{
-  if ( Adaptor::IsAvailable() )
-  {
-    StyleMonitor::Get().StyleChangeSignal().Connect(this, &StyleChangeProcessor::StyleChanged);
-  }
-}
-
-void StyleChangeProcessor::StyleChanged(Dali::StyleMonitor styleMonitor, StyleChange styleChange)
-{
-  // Traverse all registered controls.
-  std::vector<Control*>& controls( gThreadLocalStyleChangeProcessor->mControls );
-
-  for( std::vector<Control*>::iterator it = controls.begin(), endIt = controls.end(); it != endIt; ++it )
-  {
-    // Create a valid handle.
-    IntrusivePtr<Control> implementation( *it );
-
-    if (implementation)
-    {
-      implementation->OnStyleChange( styleChange );
-    }
-  }
-}
-
-} // namespace Internal
-
-} // namespace Toolkit
-
-} // namespace Dali
diff --git a/base/dali-toolkit/internal/controls/style-change-processor.h b/base/dali-toolkit/internal/controls/style-change-processor.h
deleted file mode 100644 (file)
index 062bd5e..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-#ifndef __DALI_TOOLKIT_INTERNAL_STYLE_CHANGE_PROCESSOR_H_
-#define __DALI_TOOLKIT_INTERNAL_STYLE_CHANGE_PROCESSOR_H_
-
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-// INTERNAL INCLUDES
-#include <dali/dali.h>
-
-namespace Dali
-{
-
-namespace Toolkit
-{
-
-namespace Internal
-{
-
-class Control;
-
-/**
- * This observes and processes when any style changes occur.  When they do occur, it traverses through
- * all registered controls and calls the StyleChanged method.
- *
- * This is created when a control first registers with it.  Subsequent registrations increase the
- * reference count.  When the last control unregisters, i.e. the reference count is 0, the instance
- * is also destroyed.
- */
-class StyleChangeProcessor : public ConnectionTracker
-{
-public:
-
-  /**
-   * Non virtual destructor.
-   * We should not derive from StyleChangeProcessor.
-   * Destructor is called when the last control unregisters.
-   */
-  ~StyleChangeProcessor();
-
-  /**
-   * Registers a control with the StyleChangeProcessor.
-   * @param[in] control The raw Control pointer.
-   */
-  static void Register( Control* control );
-
-  /**
-   * Unregisters a control from the StyleChangeProcessor.
-   * @param[in] control The raw Control pointer.
-   */
-  static void Unregister( Control* control );
-
-public:
-
-  /**
-   * Increment the processor's reference count.
-   */
-  void Reference();
-
-  /**
-   * Decrement the processor's reference count.
-   */
-  void Unreference();
-
-  /**
-   * Retrieve the processor's reference count.
-   * @return The reference count
-   */
-  unsigned int ReferenceCount() const;
-
-private:
-
-  /**
-   * Constructor.
-   * We should only create an instance upon first registration.
-   */
-  StyleChangeProcessor();
-
-  // Undefined
-  StyleChangeProcessor(const StyleChangeProcessor&);
-  StyleChangeProcessor& operator=(const StyleChangeProcessor&);
-
-private:
-
-  /**
-   * Callback for the StyleMonitor when the style changes on the platform.
-   * @param[in]  styleMonitor  The Style Monitor.
-   * @param[in]  styleChange   The style change information.
-   */
-  void StyleChanged(Dali::StyleMonitor styleMonitor, Dali::StyleChange styleChange);
-
-  /**
-   * Propagates the style change to all Controls in the actor hierarchy.
-   * This is done with a bottom-up approach, i.e. the leaf Control's StyleChange method gets
-   * called first followed by its parent and so on.
-   * @param[in]  actor   The actor whose children to process and send style change notification to.
-   * @param[in]  change  The style change.
-   */
-  static void PropagateStyleChange(Actor actor, Dali::StyleChange change);
-
-private:
-
-  unsigned int          mCount;        ///< The reference count
-  std::vector<Control*> mControls;     ///< Stores all registered controls.
-};
-
-} // namespace Internal
-
-} // namespace Toolkit
-
-} // namespace Dali
-
-#endif // __DALI_TOOLKIT_INTERNAL_STYLE_CHANGE_PROCESSOR_H_
index 076ee24..371db0f 100644 (file)
@@ -2,21 +2,22 @@
 #ifndef __DALI_ARRAY2D_H__
 #define __DALI_ARRAY2D_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/common/dali-vector.h>
index e2970cc..b6ff462 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/internal/controls/table-view/table-view-impl.h>
 // EXTERNAL INCLUDES
 #include <dali/public-api/object/ref-object.h>
 #include <dlog.h>
+#include <sstream>
 
 using namespace Dali;
 using namespace std;
 
 namespace
 {
-// Type registration
-BaseHandle Create()
-{
-  return Toolkit::TableView::New(0, 0);
-}
-TypeRegistration mType( typeid(Toolkit::TableView), typeid(Toolkit::Control), Create );
-
 const float DEFAULT_CONSTRAINT_DURATION = 0.0f;
 
 /**
@@ -137,9 +132,44 @@ namespace Dali
 namespace Toolkit
 {
 
+const Property::Index TableView::PROPERTY_ROWS( Internal::TableView::TABLEVIEW_PROPERTY_START_INDEX );
+const Property::Index TableView::PROPERTY_COLUMNS( Internal::TableView::TABLEVIEW_PROPERTY_START_INDEX + 1 );
+const Property::Index TableView::PROPERTY_CELL_PADDING( Internal::TableView::TABLEVIEW_PROPERTY_START_INDEX + 2 );
+const Property::Index TableView::PROPERTY_LAYOUT_ANIMATION_DURATION( Internal::TableView::TABLEVIEW_PROPERTY_START_INDEX + 3 );
+const Property::Index TableView::PROPERTY_LAYOUT_ROWS( Internal::TableView::TABLEVIEW_PROPERTY_START_INDEX + 4 );
+const Property::Index TableView::PROPERTY_LAYOUT_COLUMNS( Internal::TableView::TABLEVIEW_PROPERTY_START_INDEX + 5 );
+
 namespace Internal
 {
 
+namespace
+{
+
+const Scripting::StringEnum< Toolkit::TableView::LayoutPolicy > LAYOUT_POLICY_STRING_TABLE[] =
+{
+ { "fixed",    Toolkit::TableView::Fixed    },
+ { "relative", Toolkit::TableView::Relative },
+ { "fill",     Toolkit::TableView::Fill }
+};
+
+const unsigned int LAYOUT_POLICY_STRING_TABLE_COUNT = sizeof(LAYOUT_POLICY_STRING_TABLE) / sizeof( LAYOUT_POLICY_STRING_TABLE[0] );
+
+// Type registration
+BaseHandle Create()
+{
+  return Toolkit::TableView::New(0, 0);
+}
+TypeRegistration mType( typeid(Toolkit::TableView), typeid(Toolkit::Control), Create );
+
+PropertyRegistration property1( mType, "rows", Toolkit::TableView::PROPERTY_ROWS, Property::UNSIGNED_INTEGER, &TableView::SetProperty, &TableView::GetProperty );
+PropertyRegistration property2( mType, "columns", Toolkit::TableView::PROPERTY_COLUMNS, Property::UNSIGNED_INTEGER, &TableView::SetProperty, &TableView::GetProperty );
+PropertyRegistration property3( mType, "cell-padding", Toolkit::TableView::PROPERTY_CELL_PADDING, Property::VECTOR2, &TableView::SetProperty, &TableView::GetProperty );
+PropertyRegistration property4( mType, "layout-animation-duration", Toolkit::TableView::PROPERTY_LAYOUT_ANIMATION_DURATION, Property::FLOAT, &TableView::SetProperty, &TableView::GetProperty );
+PropertyRegistration property5( mType, "layout-rows", Toolkit::TableView::PROPERTY_LAYOUT_ROWS, Property::MAP, &TableView::SetProperty, &TableView::GetProperty );
+PropertyRegistration property6( mType, "layout-columns", Toolkit::TableView::PROPERTY_LAYOUT_COLUMNS, Property::MAP, &TableView::SetProperty, &TableView::GetProperty );
+
+} // namespace
+
 Toolkit::TableView TableView::New( unsigned int initialRows, unsigned int initialColumns )
 {
   // Create the implementation, temporarily owned by this handle on stack
@@ -516,6 +546,8 @@ void TableView::SetFixedHeight( unsigned int rowIndex, float height )
   DALI_ASSERT_ALWAYS( rowIndex < mFixedHeights.size() );
   // add the fixed height to the array of fixed heights
   mFixedHeights[ rowIndex ] = height;
+  // remove the relative height of the same row
+  mRelativeHeights[ rowIndex ] = 0.f;
   // relayout all cells, no lock needed as nothing added or removed
   RelayoutRequest();
 }
@@ -532,6 +564,8 @@ void TableView::SetRelativeHeight( unsigned int rowIndex, float heightPercentage
   DALI_ASSERT_ALWAYS( rowIndex < mRelativeHeights.size() );
   // add the relative height to the array of relative heights
   mRelativeHeights[ rowIndex ] = heightPercentage;
+  // remove the fixed height of the same row
+  mFixedHeights[ rowIndex ] = 0.f;
   // relayout all cells, no lock needed as nothing added or removed
   RelayoutRequest();
 }
@@ -548,6 +582,8 @@ void TableView::SetFixedWidth( unsigned int columnIndex, float width )
   DALI_ASSERT_ALWAYS( columnIndex < mFixedWidths.size() );
   // add the fixed width to the array of fixed column widths
   mFixedWidths[ columnIndex ] = width;
+  // remove the relative width of the same column
+  mRelativeWidths[ columnIndex ] = 0.f;
   // relayout all cells, no lock needed as nothing added or removed
   RelayoutRequest();
 }
@@ -564,6 +600,8 @@ void TableView::SetRelativeWidth( unsigned int columnIndex, float widthPercentag
   DALI_ASSERT_ALWAYS( columnIndex < mRelativeWidths.size() );
   // add the relative widths to the array of relative widths
   mRelativeWidths[ columnIndex ] = widthPercentage;
+  // remove the fixed width of the same column
+  mFixedWidths[ columnIndex ] = 0.f;
   // relayout all cells, no lock needed as nothing added or removed
   RelayoutRequest();
 }
@@ -737,6 +775,102 @@ unsigned int TableView::GetColumns()
   return mCellData.GetColumns();
 }
 
+void TableView::SetProperty( BaseObject* object, Property::Index index, const Property::Value& value )
+{
+  Toolkit::TableView tableView = Toolkit::TableView::DownCast( Dali::BaseHandle( object ) );
+
+  if( tableView )
+  {
+    TableView& tableViewImpl( GetImpl( tableView ) );
+    switch( index )
+    {
+      case Toolkit::TableView::PROPERTY_ROWS:
+      {
+        if( value.Get<unsigned int>() != tableViewImpl.GetRows() )
+        {
+          tableViewImpl.Resize( value.Get<unsigned int>(), tableViewImpl.GetColumns() );
+        }
+        break;
+      }
+      case Toolkit::TableView::PROPERTY_COLUMNS:
+      {
+        if( value.Get<unsigned int>() != tableViewImpl.GetColumns() )
+        {
+          tableViewImpl.Resize( tableViewImpl.GetRows(), value.Get<unsigned int>() );
+        }
+        break;
+      }
+      case Toolkit::TableView::PROPERTY_CELL_PADDING:
+      {
+        tableViewImpl.SetCellPadding( value.Get<Vector2>() );
+        break;
+      }
+      case Toolkit::TableView::PROPERTY_LAYOUT_ANIMATION_DURATION:
+      {
+        tableViewImpl.SetLayoutAnimationDuration( value.Get<float>() );
+        break;
+      }
+      case Toolkit::TableView::PROPERTY_LAYOUT_ROWS:
+      {
+        SetHeightOrWidthProperty( tableViewImpl, &TableView::SetFixedHeight, &TableView::SetRelativeHeight, value );
+        break;
+      }
+      case Toolkit::TableView::PROPERTY_LAYOUT_COLUMNS:
+      {
+        SetHeightOrWidthProperty( tableViewImpl, &TableView::SetFixedWidth, &TableView::SetRelativeWidth, value );
+        break;
+      }
+    }
+  }
+}
+
+Property::Value TableView::GetProperty( BaseObject* object, Property::Index index )
+{
+  Property::Value value;
+
+  Toolkit::TableView tableView = Toolkit::TableView::DownCast( Dali::BaseHandle( object ) );
+
+  if( tableView )
+  {
+    TableView& tableViewImpl( GetImpl( tableView ) );
+    switch( index )
+    {
+      case Toolkit::TableView::PROPERTY_ROWS:
+      {
+        value = tableViewImpl.GetRows();
+        break;
+      }
+      case Toolkit::TableView::PROPERTY_COLUMNS:
+      {
+        value = tableViewImpl.GetColumns();
+        break;
+      }
+      case Toolkit::TableView::PROPERTY_CELL_PADDING:
+      {
+        value = tableViewImpl.GetCellPadding();
+        break;
+      }
+      case Toolkit::TableView::PROPERTY_LAYOUT_ANIMATION_DURATION:
+      {
+        value = tableViewImpl.GetLayoutAnimationDuration();
+        break;
+      }
+      case Toolkit::TableView::PROPERTY_LAYOUT_ROWS:
+      {
+        value = tableViewImpl.GetRowHeightsPropertyValue();
+        break;
+      }
+      case Toolkit::TableView::PROPERTY_LAYOUT_COLUMNS:
+      {
+        value = tableViewImpl.GetColumnWidthsPropertyValue();
+        break;
+      }
+    }
+  }
+
+  return value;
+}
+
 void TableView::OnControlChildAdd( Actor& child )
 {
   if( mLayoutingChild )
@@ -744,6 +878,27 @@ void TableView::OnControlChildAdd( Actor& child )
     // we're in the middle of laying out children so no point doing anything here
     return;
   }
+
+  Toolkit::TableView::CellPosition cellPosition;
+  if( child.GetPropertyIndex(Toolkit::TableView::ROW_SPAN_PROPERTY_NAME) != Property::INVALID_INDEX )
+  {
+    cellPosition.rowSpan = static_cast<unsigned int>( child.GetProperty( child.GetPropertyIndex(Toolkit::TableView::ROW_SPAN_PROPERTY_NAME) ).Get<float>() );
+  }
+  if( child.GetPropertyIndex(Toolkit::TableView::COLUMN_SPAN_PROPERTY_NAME) != Property::INVALID_INDEX )
+  {
+    cellPosition.columnSpan = static_cast<unsigned int>( child.GetProperty( child.GetPropertyIndex(Toolkit::TableView::COLUMN_SPAN_PROPERTY_NAME) ).Get<float>() );
+  }
+  if( child.GetPropertyIndex(Toolkit::TableView::CELL_INDICES_PROPERTY_NAME) != Property::INVALID_INDEX )
+  {
+    Vector2 indices = child.GetProperty( child.GetPropertyIndex(Toolkit::TableView::CELL_INDICES_PROPERTY_NAME) ).Get<Vector2 >();
+    cellPosition.rowIndex = static_cast<unsigned int>( indices.x );
+    cellPosition.columnIndex = static_cast<unsigned int>( indices.y );
+
+    AddChild( child, cellPosition );
+    // donot continue
+    return;
+  }
+
   // check if we're already laying out this child somewhere on the table
   // walk through the layout data
   const unsigned int rowCount = mCellData.GetRows();
@@ -794,7 +949,7 @@ void TableView::OnControlChildRemove( Actor& child )
 }
 
 TableView::TableView( unsigned int initialRows, unsigned int initialColumns )
-: Control( true ),  // requires touch
+: Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS | REQUIRES_STYLE_CHANGE_SIGNALS ) ),
   mCellData( initialRows, initialColumns ),
   mLayoutingChild( false ),
   mConstraintDuration( DEFAULT_CONSTRAINT_DURATION )
@@ -995,6 +1150,83 @@ void TableView::UpdateRelativeSizes( float& fixedHeightsTotal, float& fixedWidth
   }
 }
 
+void TableView::SetHeightOrWidthProperty(TableView& tableViewImpl,
+                                         void(TableView::*funcFixed)(unsigned int, float),
+                                         void(TableView::*funcRelative)(unsigned int, float),
+                                         const Property::Value& value )
+{
+  if( Property::MAP == value.GetType() )
+  {
+    Property::Map map = value.Get<Property::Map>();
+    unsigned int rowIndex;
+    for( Property::Map::const_iterator iter = map.begin(); iter != map.end(); iter++)
+    {
+      if( istringstream(iter->first) >> rowIndex  // the key is a number
+          && Property::MAP == (iter->second).GetType())
+      {
+        Property::Value item = iter->second;
+        if( item.HasKey( "policy" ) && item.HasKey( "value" ) )
+        {
+          Toolkit::TableView::LayoutPolicy policy = Scripting::GetEnumeration< Toolkit::TableView::LayoutPolicy >( item.GetValue("policy").Get<string>(), LAYOUT_POLICY_STRING_TABLE, LAYOUT_POLICY_STRING_TABLE_COUNT );
+          if( policy == Toolkit::TableView::Fixed )
+          {
+            (tableViewImpl.*funcFixed)( rowIndex, item.GetValue("value").Get<float>() );
+          }
+          else if( policy == Toolkit::TableView::Relative )
+          {
+            (tableViewImpl.*funcRelative)( rowIndex, item.GetValue("value").Get<float>() );
+          }
+        }
+      }
+    }
+  }
+}
+
+Property::Value TableView::GetRowHeightsPropertyValue()
+{
+  Property::Map map;
+  GetMapPropertyValue( mFixedHeights, mRelativeHeights, map);
+  return Property::Value(map);
+}
+
+Property::Value TableView::GetColumnWidthsPropertyValue()
+{
+  Property::Map map;
+  GetMapPropertyValue( mFixedWidths, mRelativeWidths, map);
+  return Property::Value(map);
+}
+
+void TableView::GetMapPropertyValue( const std::vector<float>& fixedSize, const std::vector<float>& relativeSize, Property::Map& map )
+{
+  string fixedPolicy( Scripting::GetEnumerationName< Toolkit::TableView::LayoutPolicy >( Toolkit::TableView::Fixed, LAYOUT_POLICY_STRING_TABLE, LAYOUT_POLICY_STRING_TABLE_COUNT ) );
+  string relativePolicy( Scripting::GetEnumerationName< Toolkit::TableView::LayoutPolicy >( Toolkit::TableView::Relative, LAYOUT_POLICY_STRING_TABLE, LAYOUT_POLICY_STRING_TABLE_COUNT ) );
+  Property::StringValuePair fixedPolicyPair( "policy", fixedPolicy );
+  Property::StringValuePair relativePolicyPair( "policy", relativePolicy );
+
+  size_t count = fixedSize.size();
+  for( size_t index = 0; index < count; index++ )
+  {
+    if( ! EqualsZero( fixedSize[index] ) )
+    {
+      Property::StringValuePair valuePair( "value", fixedSize[index] );
+      Property::Map item;
+      item.push_back( fixedPolicyPair );
+      item.push_back( valuePair );
+
+      map.push_back(  Property::StringValuePair( static_cast<std::ostringstream*>( &(std::ostringstream() << index ) )->str(), item ) );
+    }
+    else if( ! EqualsZero( relativeSize[index] ) )
+    {
+      Property::StringValuePair valuePair( "value", relativeSize[index] );
+      Property::Map item;
+      item.push_back( relativePolicyPair );
+      item.push_back( valuePair );
+
+      map.push_back(  Property::StringValuePair( static_cast<std::ostringstream*>( &(std::ostringstream() << index ) )->str(), item ) );
+    }
+  }
+}
+
 TableView::~TableView()
 {
   // nothing to do
index c4c4349..183c822 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_TABLE_VIEW_H__
 #define __DALI_TOOLKIT_INTERNAL_TABLE_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/control-impl.h>
@@ -39,6 +40,13 @@ class TableView : public Control
 {
 public:
 
+  // Properties
+  enum
+  {
+    TABLEVIEW_PROPERTY_START_INDEX = Control::CONTROL_PROPERTY_END_INDEX + 1,
+    TABLEVIEW_PROPERTY_END_INDEX = TABLEVIEW_PROPERTY_START_INDEX + 1000 ///< Reserving 1000 property indices
+  };
+
   /**
    * Structure for the layout data
    */
@@ -186,6 +194,24 @@ public:
    */
   unsigned int GetColumns();
 
+  // Properties
+
+  /**
+   * Called when a property of an object of this type is set.
+   * @param[in] object The object whose property is set.
+   * @param[in] index The property index.
+   * @param[in] value The new property value.
+   */
+  static void SetProperty( BaseObject* object, Property::Index index, const Property::Value& value );
+
+  /**
+   * Called to retrieve a property of an object of this type.
+   * @param[in] object The object whose property is to be retrieved.
+   * @param[in] index The property index.
+   * @return The current value of the property.
+   */
+  static Property::Value GetProperty( BaseObject* object, Property::Index index );
+
 private: // From Control
 
   /**
@@ -265,6 +291,41 @@ private: // Implementation
    */
   virtual ~TableView();
 
+private: // scripting support
+
+  /**
+   * Called to set the heights/widths property.
+   * @param[in] tableViewImpl The object whose property is set.
+   * @param[in] funcFixed The set function to call, it can be SetFixedHeight or SetFixedWidths.
+   * @param[in] funcRelative The set function to call, it can be SetRelativeHeight or SetRelativeWidths.
+   * @param[in] value The new property value.
+   */
+  static void SetHeightOrWidthProperty( TableView& tableViewImpl,
+                                        void(TableView::*funcFixed)(unsigned int, float),
+                                        void(TableView::*funcRelative)(unsigned int, float),
+                                        const Property::Value& map );
+
+  /**
+   * Called to retrieve the property value of row heights.
+   * @return The property value of row heights.
+   */
+  Property::Value GetRowHeightsPropertyValue();
+
+  /**
+   * Called to retrieve the property value of column widths.
+   * @return The fixed-widths property value.
+   */
+  Property::Value GetColumnWidthsPropertyValue();
+
+  /**
+   * Generate the map type property value from the size vectors.
+   * @param[in] fixedSize The vector of fixed heights or widths.
+   * @param[in] relativeSize The vector of relative heights or widths.
+   * @param[out] map The property value.
+   */
+  void GetMapPropertyValue( const std::vector<float>& fixedSize, const std::vector<float>& relativeSize, Property::Map& map );
+
+
   /**
    * Helper class to prevent child adds and removes from causing relayout
    * when we're already anyways going to do one in the end
index d2ecb24..ed639e2 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali/integration-api/debug.h>
 
@@ -524,7 +525,7 @@ void Decorator::DrawCursor(const std::size_t nthChar)
   {
     DALI_ASSERT_DEBUG( ( 0 <= cursorPosition-1 ) && ( cursorPosition-1 < mTextViewCharacterPositioning.StyledTextSize() ) );
     const TextStyle styleAtCursor = mTextViewCharacterPositioning.GetStyleAt( cursorPosition-1 );
-    mCursor.SetRotation( styleAtCursor.GetItalics() ? Degree( styleAtCursor.GetItalicsAngle() - CURSOR_ANGLE_OFFSET ) : Degree( 0.f ), Vector3::ZAXIS );
+    mCursor.SetRotation( styleAtCursor.IsItalicsEnabled() ? Degree( styleAtCursor.GetItalicsAngle() - CURSOR_ANGLE_OFFSET ) : Degree( 0.f ), Vector3::ZAXIS );
   }
 
   DALI_ASSERT_DEBUG( cursorPosition <= mTextViewCharacterPositioning.GetNumberOfCharactersInText() );
index 468c8a3..2519871 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_TEXT_INPUT_DECORATOR_H__
 #define __DALI_TOOLKIT_INTERNAL_TEXT_INPUT_DECORATOR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali/dali.h>
 
index 5bc85c1..9743198 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/internal/controls/text-input/text-input-handles-impl.h>
index d5ba272..882409a 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_TEXT_INPUT_HANDLES_H__
 #define __DALI_TOOLKIT_INTERNAL_TEXT_INPUT_HANDLES_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index 557e2fd..7e2a1af 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali/dali.h>
 
 #include <dali-toolkit/internal/controls/text-view/text-processor.h>
 #include <dali-toolkit/public-api/controls/buttons/push-button.h>
 #include <dali-toolkit/public-api/controls/alignment/alignment.h>
+#include <dali-toolkit/public-api/controls/default-controls/solid-color-actor.h>
 
 #include <dali/integration-api/debug.h>
 
 #include <math.h>
 #include <sstream>
 #include <algorithm>
-#include <libintl.h>
-
-#define GET_LOCALE_TEXT(string) dgettext("sys_string", string)
 
 using namespace std;
 using namespace Dali;
@@ -46,44 +45,28 @@ const std::size_t DEFAULT_NUMBER_OF_LINES_LIMIT( std::numeric_limits<std::size_t
 const Vector3 DEFAULT_SELECTION_HANDLE_SIZE( 51.0f, 79.0f, 0.0f );  // Selection cursor image size
 const Vector3 DEFAULT_GRAB_HANDLE_RELATIVE_SIZE( 1.5f, 2.0f, 1.0f );
 const Vector3 DEFAULT_SELECTION_HANDLE_RELATIVE_SIZE( 1.5f, 1.5f, 1.0f );
-const Vector4 LIGHTBLUE( 10.0f/255.0f, 140.0f/255.0f, 210.0f/255.0f, 1.0f );    // Used for Selection highlight
+const Vector4 LIGHTBLUE( 0.07f, 0.41f, 0.59f, 1.0f );    // Used for Selection highlight
 
 const char* DEFAULT_GRAB_HANDLE( DALI_IMAGE_DIR "insertpoint-icon.png" );
 const char* DEFAULT_SELECTION_HANDLE_ONE( DALI_IMAGE_DIR "text-input-selection-handle-left.png" );
 const char* DEFAULT_SELECTION_HANDLE_TWO( DALI_IMAGE_DIR "text-input-selection-handle-right.png" );
 const char* DEFAULT_SELECTION_HANDLE_ONE_PRESSED( DALI_IMAGE_DIR "text-input-selection-handle-left-press.png" );
 const char* DEFAULT_SELECTION_HANDLE_TWO_PRESSED( DALI_IMAGE_DIR "text-input-selection-handle-right-press.png" );
-const char* DEFAULT_CURSOR( DALI_IMAGE_DIR "cursor.png" );
-
-const char* DEFAULT_ICON_CLIPBOARD( DALI_IMAGE_DIR "copy_paste_icon_clipboard.png" );
-const char* DEFAULT_ICON_COPY( DALI_IMAGE_DIR "copy_paste_icon_copy.png" );
-const char* DEFAULT_ICON_CUT( DALI_IMAGE_DIR "copy_paste_icon_cut.png" );
-const char* DEFAULT_ICON_PASTE( DALI_IMAGE_DIR "copy_paste_icon_paste.png" );
-const char* DEFAULT_ICON_SELECT( DALI_IMAGE_DIR "copy_paste_icon_select.png" );
-const char* DEFAULT_ICON_SELECT_ALL( DALI_IMAGE_DIR "copy_paste_icon_select_all.png" );
-
-const Vector4 DEFAULT_CURSOR_IMAGE_9_BORDER( 2.0f, 2.0f, 2.0f, 2.0f );
-
-const std::string OPTION_SELECT_WORD("select_word");                        ///< "Select Word" popup option.
-const std::string OPTION_SELECT_ALL("select_all");                          ///< "Select All" popup option.
-const std::string OPTION_CUT("cut");                                        ///< "Cut" popup option.
-const std::string OPTION_COPY("copy");                                      ///< "Copy" popup option.
-const std::string OPTION_PASTE("paste");                                    ///< "Paste" popup option.
-const std::string OPTION_CLIPBOARD("clipboard");                            ///< "Clipboard" popup option.
 
 const std::size_t CURSOR_BLINK_INTERVAL = 500;                              ///< Cursor blink interval
 const float CHARACTER_THRESHOLD( 2.5f );                                    ///< the threshold of a line.
-const float DISPLAYED_HIGHLIGHT_Z_OFFSET( 0.0f );                           ///< 1. Highlight rendered (z-offset).
-const float DISPLAYED_TEXT_VIEW_Z_OFFSET( 0.1f );                           ///< 2. Text rendered (z-offset).
+const float DISPLAYED_HIGHLIGHT_Z_OFFSET( 0.1f );                           ///< 1. Highlight rendered (z-offset).
+const float DISPLAYED_TEXT_VIEW_Z_OFFSET( 0.2f );                           ///< 2. Text rendered (z-offset).
 const float UI_Z_OFFSET( 0.2f );                                            ///< 3. Text Selection Handles/Cursor z-offset.
 
 const Vector3 UI_OFFSET(0.0f, 0.0f, UI_Z_OFFSET);                           ///< Text Selection Handles/Cursor offset.
 const Vector3 DEFAULT_HANDLE_ONE_OFFSET(0.0f, -5.0f, 0.0f);                 ///< Handle One's Offset
 const Vector3 DEFAULT_HANDLE_TWO_OFFSET(0.0f, -5.0f, 0.0f);                 ///< Handle Two's Offset
-const float TOP_HANDLE_TOP_OFFSET(-1.5f);                                   ///< Offset between top handle and cutCopyPaste pop-up
-const float BOTTOM_HANDLE_BOTTOM_OFFSET(1.5f);                              ///< Offset between bottom handle and cutCopyPaste pop-up
-const float CURSOR_THICKNESS(6.0f);
+const float TOP_HANDLE_TOP_OFFSET( 34.0f);                                   ///< Offset between top handle and cutCopyPaste pop-up
+const float BOTTOM_HANDLE_BOTTOM_OFFSET(34.0f);                              ///< Offset between bottom handle and cutCopyPaste pop-up
+const float CURSOR_THICKNESS(4.0f);
 const Degree CURSOR_ANGLE_OFFSET(2.0f);                                     ///< Offset from the angle of italic angle.
+const Vector4 DEFAULT_CURSOR_COLOR(1.0f, 1.0f, 1.0f, 1.0f);
 
 const std::string NEWLINE( "\n" );
 
@@ -94,6 +77,16 @@ const float SCROLL_THRESHOLD = 10.f;
 const float SCROLL_SPEED = 15.f;
 
 /**
+ * Selection state enumeration (FSM)
+ */
+enum SelectionState
+{
+  SelectionNone,                            ///< Currently not encountered selected section.
+  SelectionStarted,                         ///< Encountered selected section
+  SelectionFinished                         ///< Finished selected section
+};
+
+/**
  * Whether the given style is the default style or not.
  * @param[in] style The given style.
  * @return \e true if the given style is the default. Otherwise it returns \e false.
@@ -123,16 +116,6 @@ bool IsTextDefaultStyle( const Toolkit::MarkupProcessor::StyledTextArray& textAr
   return true;
 }
 
-/**
- * Selection state enumeration (FSM)
- */
-enum SelectionState
-{
-  SelectionNone,                            ///< Currently not encountered selected section.
-  SelectionStarted,                         ///< Encountered selected section
-  SelectionFinished                         ///< Finished selected section
-};
-
 std::size_t FindVisibleCharacterLeft( std::size_t cursorPosition, const Toolkit::TextView::CharacterLayoutInfoContainer& characterLayoutInfoTable )
 {
   for( Toolkit::TextView::CharacterLayoutInfoContainer::const_reverse_iterator it = characterLayoutInfoTable.rbegin() + characterLayoutInfoTable.size() - cursorPosition, endIt = characterLayoutInfoTable.rend();
@@ -212,6 +195,24 @@ namespace Dali
 
 namespace Toolkit
 {
+// Properties
+const Property::Index TextInput::HIGHLIGHT_COLOR_PROPERTY                     = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX;
+const Property::Index TextInput::CUT_AND_PASTE_COLOR_PROPERTY                 = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+1;
+const Property::Index TextInput::CUT_AND_PASTE_PRESSED_COLOR_PROPERTY         = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+2;
+const Property::Index TextInput::CUT_AND_PASTE_BORDER_COLOR_PROPERTY          = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+3;
+const Property::Index TextInput::CUT_AND_PASTE_ICON_COLOR_PROPERTY            = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+4;
+const Property::Index TextInput::CUT_AND_PASTE_ICON_PRESSED_COLOR_PROPERTY    = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+5;
+const Property::Index TextInput::CUT_AND_PASTE_TEXT_COLOR_PROPERTY            = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+6;
+const Property::Index TextInput::CUT_AND_PASTE_TEXT_PRESSED_COLOR_PROPERTY    = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+7;
+const Property::Index TextInput::CUT_BUTTON_POSITION_PRIORITY_PROPERTY        = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+8;
+const Property::Index TextInput::COPY_BUTTON_POSITION_PRIORITY_PROPERTY       = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+9;
+const Property::Index TextInput::PASTE_BUTTON_POSITION_PRIORITY_PROPERTY      = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+10;
+const Property::Index TextInput::SELECT_BUTTON_POSITION_PRIORITY_PROPERTY     = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+11;
+const Property::Index TextInput::SELECT_ALL_BUTTON_POSITION_PRIORITY_PROPERTY = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+12;
+const Property::Index TextInput::CLIPBOARD_BUTTON_POSITION_PRIORITY_PROPERTY  = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+13;
+const Property::Index TextInput::POP_UP_OFFSET_FROM_TEXT_PROPERTY             = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+14;
+const Property::Index TextInput::CURSOR_COLOR_PROPERTY                        = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+15;
+
 
 namespace Internal
 {
@@ -235,6 +236,24 @@ SignalConnectorType signalConnector6( typeRegistration, Toolkit::TextInput::SIGN
 
 }
 
+PropertyRegistration property1( typeRegistration, "highlight-color",  Toolkit::TextInput::HIGHLIGHT_COLOR_PROPERTY, Property::VECTOR4, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property2( typeRegistration, "cut-and-paste-bg-color",  Toolkit::TextInput::CUT_AND_PASTE_COLOR_PROPERTY, Property::VECTOR4, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property3( typeRegistration, "cut-and-paste-pressed-color",  Toolkit::TextInput::CUT_AND_PASTE_PRESSED_COLOR_PROPERTY, Property::VECTOR4, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property4( typeRegistration, "cut-and-paste-icon-color",  Toolkit::TextInput::CUT_AND_PASTE_ICON_COLOR_PROPERTY, Property::VECTOR4, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property5( typeRegistration, "cut-and-paste-icon-pressed-color",  Toolkit::TextInput::CUT_AND_PASTE_ICON_PRESSED_COLOR_PROPERTY, Property::VECTOR4, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property6( typeRegistration, "cut-and-paste-text-color",  Toolkit::TextInput::CUT_AND_PASTE_TEXT_COLOR_PROPERTY, Property::VECTOR4, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property7( typeRegistration, "cut-and-paste-text-pressed-color",  Toolkit::TextInput::CUT_AND_PASTE_TEXT_PRESSED_COLOR_PROPERTY, Property::VECTOR4, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property8( typeRegistration, "cut-and-paste-border-color",  Toolkit::TextInput::CUT_AND_PASTE_BORDER_COLOR_PROPERTY, Property::VECTOR4, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property9( typeRegistration, "cut-button-position-priority",  Toolkit::TextInput::CUT_BUTTON_POSITION_PRIORITY_PROPERTY, Property::UNSIGNED_INTEGER, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property10( typeRegistration, "copy-button-position-priority",  Toolkit::TextInput::COPY_BUTTON_POSITION_PRIORITY_PROPERTY, Property::UNSIGNED_INTEGER, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property11( typeRegistration, "paste-button-position-priority",  Toolkit::TextInput::PASTE_BUTTON_POSITION_PRIORITY_PROPERTY, Property::UNSIGNED_INTEGER, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property12( typeRegistration, "select-button-position-priority",  Toolkit::TextInput::SELECT_BUTTON_POSITION_PRIORITY_PROPERTY, Property::UNSIGNED_INTEGER, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property13( typeRegistration, "select-all-button-position-priority",  Toolkit::TextInput::SELECT_ALL_BUTTON_POSITION_PRIORITY_PROPERTY, Property::UNSIGNED_INTEGER, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property14( typeRegistration, "clipboard-button-position-priority",  Toolkit::TextInput::CLIPBOARD_BUTTON_POSITION_PRIORITY_PROPERTY, Property::UNSIGNED_INTEGER, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property15( typeRegistration, "popup-offset-from-text", Toolkit::TextInput::POP_UP_OFFSET_FROM_TEXT_PROPERTY, Property::VECTOR4, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property16( typeRegistration, "cursor-color", Toolkit::TextInput::CURSOR_COLOR_PROPERTY, Property::VECTOR4, &TextInput::SetProperty, &TextInput::GetProperty );
+
+
 // [TextInput::HighlightInfo] /////////////////////////////////////////////////
 
 void TextInput::HighlightInfo::AddQuad( float x1, float y1, float x2, float y2 )
@@ -269,7 +288,7 @@ Dali::Toolkit::TextInput TextInput::New()
 }
 
 TextInput::TextInput()
-:Control( true ),
+:Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS | REQUIRES_STYLE_CHANGE_SIGNALS ) ),
  mState( StateEdit ),
  mStyledText(),
  mInputStyle(),
@@ -295,6 +314,7 @@ TextInput::TextInput()
  mTouchStartTime( 0 ),
  mTextLayoutInfo(),
  mCurrentCopySelecton(),
+ mPopupPanel(),
  mScrollTimer(),
  mScrollDisplacement(),
  mCurrentHandlePosition(),
@@ -304,6 +324,8 @@ TextInput::TextInput()
  mSelectionHandleFlipMargin( 0.0f, 0.0f, 0.0f, 0.0f ),
  mBoundingRectangleWorldCoordinates( 0.0f, 0.0f, 0.0f, 0.0f ),
  mClipboard(),
+ mMaterialColor( LIGHTBLUE ),
+ mPopupOffsetFromText ( Vector4( 0.0f, TOP_HANDLE_TOP_OFFSET, 0.0f, BOTTOM_HANDLE_BOTTOM_OFFSET ) ),
  mOverrideAutomaticAlignment( false ),
  mCursorRTLEnabled( false ),
  mClosestCursorPositionEOL ( false ),
@@ -519,6 +541,24 @@ std::size_t TextInput::GetNumberOfCharacters() const
   return mStyledText.size();
 }
 
+// Styling
+void TextInput::SetMaterialDiffuseColor( const Vector4& color )
+{
+  mMaterialColor = color;
+  if ( mCustomMaterial )
+  {
+    mCustomMaterial.SetDiffuseColor( mMaterialColor );
+    mMeshData.SetMaterial( mCustomMaterial );
+  }
+}
+
+const Vector4& TextInput::GetMaterialDiffuseColor() const
+{
+  return mMaterialColor;
+}
+
+// Signals
+
 Toolkit::TextInput::InputSignalV2& TextInput::InputStartedSignal()
 {
   return mInputStartedSignalV2;
@@ -1129,9 +1169,8 @@ void TextInput::OnInitialize()
 
   // Create 2 cursors (standard LTR and RTL cursor for when text can be added at
   // different positions depending on language)
-  Image mCursorImage = Image::New( DEFAULT_CURSOR );
-  mCursor = CreateCursor( mCursorImage, DEFAULT_CURSOR_IMAGE_9_BORDER );
-  mCursorRTL = CreateCursor( mCursorImage, DEFAULT_CURSOR_IMAGE_9_BORDER );
+  mCursor = CreateCursor(DEFAULT_CURSOR_COLOR);
+  mCursorRTL = CreateCursor(DEFAULT_CURSOR_COLOR);
 
   Actor self = Self();
   self.Add( mCursor );
@@ -1156,6 +1195,8 @@ void TextInput::OnControlSizeSet(const Vector3& targetSize)
 void TextInput::OnRelaidOut( Vector2 size, ActorSizeContainer& container )
 {
   Relayout( mDisplayedTextView, size, container );
+  Relayout( mPopupPanel.GetRootActor(), size, container );
+
   GetTextLayoutInfo();
 
   DrawCursor();
@@ -1238,7 +1279,7 @@ void TextInput::OnHandlePan(Actor actor, PanGesture gesture)
       {
         mActualGrabHandlePosition = MoveGrabHandle( gesture.displacement );
         SetCursorVisibility( true );
-        SetUpPopUpSelection();
+        SetUpPopupSelection();
         ShowPopup();
       }
       if (actor == mHandleOneGrabArea)
@@ -1360,7 +1401,7 @@ void TextInput::OnDoubleTap(Dali::Actor actor, Dali::TapGesture tap)
      SelectText( start, end );
    }
    // if no text but clipboard has content then show paste option
-   if ( mClipboard.NumberOfItems() || !mStyledText.empty() )
+   if ( ( mClipboard && mClipboard.NumberOfItems() ) || !mStyledText.empty() )
    {
      ShowPopupCutCopyPaste();
    }
@@ -1382,9 +1423,9 @@ void TextInput::OnTextTap(Dali::Actor actor, Dali::TapGesture tap)
 
   if( mGrabArea == actor )
   {
-    if( mPopUpPanel.GetState() == TextInputPopup::StateHidden || mPopUpPanel.GetState() == TextInputPopup::StateHiding )
+    if( mPopupPanel.GetState() == TextInputPopup::StateHidden || mPopupPanel.GetState() == TextInputPopup::StateHiding )
     {
-      SetUpPopUpSelection();
+      SetUpPopupSelection();
       ShowPopup();
     }
 
@@ -1550,7 +1591,7 @@ void TextInput::OnLongPress(Dali::Actor actor, Dali::LongPressGesture longPress)
     }
 
     // if no text but clipboard has content then show paste option, if no text and clipboard empty then do nothing
-    if ( mClipboard.NumberOfItems() || !mStyledText.empty() )
+    if ( ( mClipboard && mClipboard.NumberOfItems() ) || !mStyledText.empty() )
     {
       ShowPopupCutCopyPaste();
     }
@@ -1573,11 +1614,11 @@ void TextInput::OnClipboardTextSelected( ClipboardEventNotifier& notifier )
 
 bool TextInput::OnPopupButtonPressed( Toolkit::Button button )
 {
-  mPopUpPanel.PressedSignal().Disconnect( this, &TextInput::OnPopupButtonPressed );
+  mPopupPanel.PressedSignal().Disconnect( this, &TextInput::OnPopupButtonPressed );
 
   const std::string& name = button.GetName();
 
-  if(name == OPTION_SELECT_WORD)
+  if(name == TextInputPopup::OPTION_SELECT_WORD)
   {
     std::size_t start = 0;
     std::size_t end = 0;
@@ -1585,7 +1626,7 @@ bool TextInput::OnPopupButtonPressed( Toolkit::Button button )
 
     SelectText( start, end );
   }
-  else if(name == OPTION_SELECT_ALL)
+  else if(name == TextInputPopup::OPTION_SELECT_ALL)
   {
     SetCursorVisibility(false);
     StopCursorBlinkTimer();
@@ -1595,7 +1636,7 @@ bool TextInput::OnPopupButtonPressed( Toolkit::Button button )
 
     SelectText( start, end );
   }
-  else if(name == OPTION_CUT)
+  else if(name == TextInputPopup::OPTION_CUT)
   {
     bool ret = CopySelectedTextToClipboard();
 
@@ -1610,7 +1651,7 @@ bool TextInput::OnPopupButtonPressed( Toolkit::Button button )
 
     HidePopup();
   }
-  else if(name == OPTION_COPY)
+  else if(name == TextInputPopup::OPTION_COPY)
   {
     CopySelectedTextToClipboard();
 
@@ -1621,7 +1662,7 @@ bool TextInput::OnPopupButtonPressed( Toolkit::Button button )
 
     HidePopup();
   }
-  else if(name == OPTION_PASTE)
+  else if(name == TextInputPopup::OPTION_PASTE)
   {
     const Text retrievedString( mClipboard.GetItem( 0 ) );  // currently can only get first item in clip board, index 0;
 
@@ -1634,7 +1675,7 @@ bool TextInput::OnPopupButtonPressed( Toolkit::Button button )
 
     HidePopup();
   }
-  else if(name == OPTION_CLIPBOARD)
+  else if(name == TextInputPopup::OPTION_CLIPBOARD)
   {
     // In the case of clipboard being shown we do not want to show updated pop-up after hide animation completes
     // Hence pass the false parameter for signalFinished.
@@ -2110,7 +2151,7 @@ void TextInput::ApplyPreEditStyle( std::size_t preEditStartPosition, std::size_t
 {
   if ( mPreEditFlag && ( preEditStringLength > 0 ) )
   {
-    mUnderlinedPriorToPreEdit = mInputStyle.GetUnderline();
+    mUnderlinedPriorToPreEdit = mInputStyle.IsUnderlineEnabled();
     TextStyle style;
     style.SetUnderline( true );
     ApplyStyleToRange( style, TextStyle::UNDERLINE , preEditStartPosition, preEditStartPosition + preEditStringLength -1 );
@@ -2783,21 +2824,10 @@ std::size_t TextInput::InsertAt( const Text& newText, const std::size_t insertio
   return insertedStringLength;
 }
 
-ImageActor TextInput::CreateCursor( Image cursorImage, const Vector4& border )
+ImageActor TextInput::CreateCursor( const Vector4& color)
 {
   ImageActor cursor;
-
-  if ( cursorImage )
-  {
-    cursor = ImageActor::New( cursorImage );
-  }
-  else
-  {
-    cursor = ImageActor::New( Image::New( DEFAULT_CURSOR ) );
-  }
-
-  cursor.SetStyle(ImageActor::STYLE_NINE_PATCH);
-  cursor.SetNinePatchBorder( border );
+  cursor = CreateSolidColorActor(color);
 
   cursor.SetParentOrigin(ParentOrigin::TOP_LEFT);
   cursor.SetAnchorPoint(AnchorPoint::BOTTOM_CENTER);
@@ -2872,7 +2902,7 @@ void TextInput::DrawCursor(const std::size_t nthChar)
   mCursor.SetSize(size);
 
   // If the character is italic then the cursor also tilts.
-  mCursor.SetRotation( mInputStyle.GetItalics() ? Degree( mInputStyle.GetItalicsAngle() - CURSOR_ANGLE_OFFSET ) : Degree( 0.f ), Vector3::ZAXIS );
+  mCursor.SetRotation( mInputStyle.IsItalicsEnabled() ? Degree( mInputStyle.GetItalicsAngle() - CURSOR_ANGLE_OFFSET ) : Degree( 0.f ), Vector3::ZAXIS );
 
   DALI_ASSERT_DEBUG( mCursorPosition <= mTextLayoutInfo.mCharacterLayoutInfoTable.size() );
 
@@ -3663,144 +3693,177 @@ void TextInput::UpdateHighlight()
 
 void TextInput::ClearPopup()
 {
-  mPopUpPanel.Clear();
+  mPopupPanel.Clear();
 }
 
-void TextInput::AddPopupOption(const std::string& name, const std::string& caption, const Image icon, bool finalOption)
+void TextInput::AddPopupOptions()
 {
-  mPopUpPanel.AddOption(name, caption, icon, finalOption);
+  mPopupPanel.AddPopupOptions();
 }
 
-void TextInput::SetPopupPosition(const Vector3& position)
+void TextInput::SetPopupPosition( const Vector3& position, const Vector2& alternativePosition )
 {
-  mPopUpPanel.Self().SetPosition( position );
+  const Vector3& visiblePopUpSize = mPopupPanel.GetVisibileSize();
+
+  Vector3 clampedPosition ( position );
+  Vector3 tailOffsetPosition ( position );
+
+  float xOffSet( 0.0f );
+
+  Actor self = Self();
+  const Vector3 textViewTopLeftWorldPosition = self.GetCurrentWorldPosition() - self.GetCurrentSize()*0.5f;
+
+  const float popUpLeft = textViewTopLeftWorldPosition.x + position.x - visiblePopUpSize.width*0.5f;
+  const float popUpTop = textViewTopLeftWorldPosition.y + position.y - visiblePopUpSize.height;
+
+  // Clamp to left or right or of boundary
+  if( popUpLeft < mBoundingRectangleWorldCoordinates.x )
+  {
+    xOffSet = mBoundingRectangleWorldCoordinates.x - popUpLeft ;
+  }
+  else if ( popUpLeft + visiblePopUpSize.width > mBoundingRectangleWorldCoordinates.z )
+  {
+    xOffSet = mBoundingRectangleWorldCoordinates.z - ( popUpLeft + visiblePopUpSize.width );
+  }
+
+  clampedPosition.x = position.x + xOffSet;
+  tailOffsetPosition.x = -xOffSet;
+
+  // Check if top left of PopUp outside of top bounding rectangle, if so then flip to lower position.
+  bool flipTail( false );
+
+  if ( popUpTop < mBoundingRectangleWorldCoordinates.y )
+  {
+    clampedPosition.y = alternativePosition.y + visiblePopUpSize.height;
+    flipTail = true;
+  }
+
+  mPopupPanel.GetRootActor().SetPosition( clampedPosition );
+  mPopupPanel.SetTailPosition( tailOffsetPosition, flipTail );
 }
 
 void TextInput::HidePopup(bool animate, bool signalFinished )
 {
-  if ( ( mPopUpPanel.GetState() == TextInputPopup::StateShowing ) || ( mPopUpPanel.GetState() == TextInputPopup::StateShown )  )
+  if ( ( mPopupPanel.GetState() == TextInputPopup::StateShowing ) || ( mPopupPanel.GetState() == TextInputPopup::StateShown )  )
   {
-    mPopUpPanel.Hide( animate );
+    mPopupPanel.Hide( animate );
 
     if( animate && signalFinished )
     {
-      mPopUpPanel.HideFinishedSignal().Connect( this, &TextInput::OnPopupHideFinished );
+      mPopupPanel.HideFinishedSignal().Connect( this, &TextInput::OnPopupHideFinished );
     }
   }
 }
 
-void TextInput::ShowPopup(bool animate)
+void TextInput::ShowPopup( bool animate )
 {
   Vector3 position;
+  Vector2 alternativePopupPosition;
 
   if(mHighlightMeshActor && mState == StateEdit)
   {
     Vector3 topHandle;
+    Vector3 bottomHandle; // referring to the bottom most point of the handle or the bottom line of selection.
     Size rowSize;
     // When text is selected, show popup above top handle (and text), or below bottom handle.
     // topHandle: referring to the top most point of the handle or the top line of selection.
     if ( mSelectionHandleTwoActualPosition.y > mSelectionHandleOneActualPosition.y )
     {
       topHandle = mSelectionHandleOneActualPosition;
+      bottomHandle = mSelectionHandleTwoActualPosition;
       rowSize= GetRowRectFromCharacterPosition( mSelectionHandleOnePosition );
     }
     else
     {
       topHandle = mSelectionHandleTwoActualPosition;
+      bottomHandle = mSelectionHandleOneActualPosition;
       rowSize = GetRowRectFromCharacterPosition( mSelectionHandleTwoPosition );
     }
-    topHandle.y += TOP_HANDLE_TOP_OFFSET - rowSize.height;
+    topHandle.y += -mPopupOffsetFromText.y - rowSize.height;
     position = Vector3(topHandle.x, topHandle.y, 0.0f);
 
-    // bottomHandle: referring to the bottom most point of the handle or the bottom line of selection.
-    Vector3 bottomHandle;
-    bottomHandle.y = std::max ( mSelectionHandleTwoActualPosition.y , mSelectionHandleOneActualPosition.y );
-    bottomHandle.y += GetSelectionHandleSize().y + BOTTOM_HANDLE_BOTTOM_OFFSET;
-    mPopUpPanel.SetAlternativeOffset(Vector2(0.0f, bottomHandle.y - topHandle.y));
+    float xPosition = ( fabsf( topHandle.x - bottomHandle.x ) )*0.5f + std::min( mSelectionHandleOneActualPosition.x , mSelectionHandleTwoActualPosition.x );
+
+    position.x = xPosition;
+
+    // Alternative position if no upper space
+    bottomHandle.y += GetSelectionHandleSize().y + mPopupOffsetFromText.w;
+    alternativePopupPosition = Vector2 ( position.x, bottomHandle.y );
   }
   else
   {
     // When no text is selected, show popup at world position of grab handle or cursor
     position = GetActualPositionFromCharacterPosition( mCursorPosition );
     const Size rowSize = GetRowRectFromCharacterPosition( mCursorPosition );
-    position.y -= rowSize.height;
+    position.y -= ( mPopupOffsetFromText.y + rowSize.height );
     // if can't be positioned above, then position below row.
-    Vector2 alternativePopUpPosition( 0.0f, position.y ); // default if no grab handle
+    alternativePopupPosition = Vector2( position.x, position.y ); // default if no grab handle
     if ( mGrabHandle )
     {
-      alternativePopUpPosition.y = rowSize.height + ( mGrabHandle.GetCurrentSize().height * DEFAULT_GRAB_HANDLE_RELATIVE_SIZE.y ) ;
       // If grab handle enabled then position pop-up below the grab handle.
+      alternativePopupPosition.y = rowSize.height + mGrabHandle.GetCurrentSize().height + mPopupOffsetFromText.w +50.0f;
     }
-    mPopUpPanel.SetAlternativeOffset( alternativePopUpPosition );
   }
 
-  // reposition popup above the desired cursor posiiton.
-  Vector3 textViewSize = mDisplayedTextView.GetCurrentSize();
-  textViewSize.z = 0.0f;
-  // World position = world position of ParentOrigin of cursor (i.e. top-left corner of TextView) + cursor position;
-  Vector3 worldPosition = mDisplayedTextView.GetCurrentWorldPosition() - (textViewSize * 0.5f) + position;
-
-  SetPopupPosition( worldPosition );
+  SetPopupPosition( position, alternativePopupPosition );
 
   // Show popup
-  mPopUpPanel.Show(animate);
+  mPopupPanel.Show( Self(), animate );
   StartMonitoringStageForTouch();
 
-  mPopUpPanel.PressedSignal().Connect( this, &TextInput::OnPopupButtonPressed );
+  mPopupPanel.PressedSignal().Connect( this, &TextInput::OnPopupButtonPressed );
 }
 
 void TextInput::ShowPopupCutCopyPaste()
 {
   ClearPopup();
+
+  mPopupPanel.CreateOrderedListOfOptions(); // todo Move this so only run when order has changed
   // Check the selected text is whole text or not.
   if( IsTextSelected() && ( mStyledText.size() != GetSelectedText().size() ) )
   {
-    Image selectAllIcon = Image::New( DEFAULT_ICON_SELECT_ALL );
-    AddPopupOption( OPTION_SELECT_ALL, GET_LOCALE_TEXT("IDS_COM_BODY_SELECT_ALL"), selectAllIcon );
+    mPopupPanel.TogglePopupButtonOnOff( TextInputPopup::ButtonsSelectAll, true );
   }
 
   if ( !mStyledText.empty() )
   {
-    Image cutIcon = Image::New( DEFAULT_ICON_CUT );
-    Image copyIcon = Image::New( DEFAULT_ICON_COPY );
-    AddPopupOption( OPTION_CUT, GET_LOCALE_TEXT("IDS_COM_BODY_CUT"), cutIcon );
-    AddPopupOption( OPTION_COPY, GET_LOCALE_TEXT("IDS_COM_BODY_COPY"), copyIcon, true );
+    mPopupPanel.TogglePopupButtonOnOff( TextInputPopup::ButtonsCopy, true );
+    mPopupPanel.TogglePopupButtonOnOff( TextInputPopup::ButtonsCut, true );
   }
 
-  if(mClipboard.NumberOfItems())
+  if( mClipboard && mClipboard.NumberOfItems() )
   {
-    Image pasteIcon = Image::New( DEFAULT_ICON_PASTE );
-    Image clipboardIcon = Image::New( DEFAULT_ICON_CLIPBOARD );
-    AddPopupOption( OPTION_PASTE, GET_LOCALE_TEXT("IDS_COM_BODY_PASTE"), pasteIcon );
-    AddPopupOption( OPTION_CLIPBOARD, GET_LOCALE_TEXT("IDS_COM_BODY_CLIPBOARD"), clipboardIcon, true );
+    mPopupPanel.TogglePopupButtonOnOff( TextInputPopup::ButtonsPaste, true );
+    mPopupPanel.TogglePopupButtonOnOff( TextInputPopup::ButtonsClipboard, true );
   }
 
-  mPopUpPanel.Hide(false);
+  AddPopupOptions();
+
+  mPopupPanel.Hide(false);
   ShowPopup();
 }
 
-void TextInput::SetUpPopUpSelection()
+void TextInput::SetUpPopupSelection()
 {
   ClearPopup();
-
+  mPopupPanel.CreateOrderedListOfOptions(); // todo Move this so only run when order has changed
   // If no text exists then don't offer to select
   if ( !mStyledText.empty() )
   {
-    Image selectIcon = Image::New( DEFAULT_ICON_SELECT );
-    Image selectAllIcon = Image::New( DEFAULT_ICON_SELECT_ALL );
-    AddPopupOption( OPTION_SELECT_WORD, GET_LOCALE_TEXT("IDS_COM_SK_SELECT"), selectIcon );
-    AddPopupOption( OPTION_SELECT_ALL, GET_LOCALE_TEXT("IDS_COM_BODY_SELECT_ALL"), selectAllIcon );
+    mPopupPanel.TogglePopupButtonOnOff( TextInputPopup::ButtonsSelectAll, true );
+    mPopupPanel.TogglePopupButtonOnOff( TextInputPopup::ButtonsSelect, true );
+    mPopupPanel.TogglePopupButtonOnOff( TextInputPopup::ButtonsCut, true );
   }
   // if clipboard has valid contents then offer paste option
-  if( mClipboard.NumberOfItems() )
+  if( mClipboard && mClipboard.NumberOfItems() )
   {
-    Image pasteIcon = Image::New( DEFAULT_ICON_PASTE );
-    Image clipboardIcon = Image::New( DEFAULT_ICON_CLIPBOARD );
-    AddPopupOption( OPTION_PASTE, GET_LOCALE_TEXT("IDS_COM_BODY_PASTE"), pasteIcon, true );
-    AddPopupOption( OPTION_CLIPBOARD, GET_LOCALE_TEXT("IDS_COM_BODY_CLIPBOARD"), clipboardIcon, true );
+    mPopupPanel.TogglePopupButtonOnOff( TextInputPopup::ButtonsPaste, true );
+    mPopupPanel.TogglePopupButtonOnOff( TextInputPopup::ButtonsClipboard, true );
   }
 
-  mPopUpPanel.Hide(false);
+  AddPopupOptions();
+
+  mPopupPanel.Hide(false);
 }
 
 bool TextInput::ReturnClosestIndex(const Vector2& source, std::size_t& closestIndex )
@@ -4444,7 +4507,7 @@ Size TextInput::GetRowRectFromCharacterPosition(std::size_t characterPosition, V
 
 bool TextInput::WasTouchedCheck( const Actor& touchedActor ) const
 {
-  Actor popUpPanel = mPopUpPanel.GetRootActor();
+  Actor popUpPanel = mPopupPanel.GetRootActor();
 
   if ( ( touchedActor == Self() ) || ( touchedActor == popUpPanel ) )
   {
@@ -4485,7 +4548,7 @@ void TextInput::OnStageTouched(const TouchEvent& event)
 
       bool popUpShown( false );
 
-      if ( ( mPopUpPanel.GetState() == TextInputPopup::StateShowing ) || ( mPopUpPanel.GetState() == TextInputPopup::StateShown ) )
+      if ( ( mPopupPanel.GetState() == TextInputPopup::StateShowing ) || ( mPopupPanel.GetState() == TextInputPopup::StateShown ) )
       {
         popUpShown = true;
       }
@@ -4620,7 +4683,7 @@ void TextInput::KeyboardStatusChanged(bool keyboardShown)
     ShowGrabHandleAndSetVisibility( false );
 
     // If the keyboard is not now being shown, then hide the popup panel
-    mPopUpPanel.Hide( true );
+    mPopupPanel.Hide( true );
   }
 }
 
@@ -4670,7 +4733,7 @@ void TextInput::CreateHighlight()
     mMeshData.SetHasNormals( true );
 
     mCustomMaterial = Material::New("CustomMaterial");
-    mCustomMaterial.SetDiffuseColor( LIGHTBLUE );
+    mCustomMaterial.SetDiffuseColor( mMaterialColor );
 
     mMeshData.SetMaterial( mCustomMaterial );
 
@@ -5107,6 +5170,205 @@ void TextInput::GetTextLayoutInfo()
   }
 }
 
+void TextInput::SetOffsetFromText( const Vector4& offset )
+{
+  mPopupOffsetFromText = offset;
+}
+
+const Vector4& TextInput::GetOffsetFromText() const
+{
+  return mPopupOffsetFromText;
+}
+
+void TextInput::SetProperty( BaseObject* object, Property::Index propertyIndex, const Property::Value& value )
+{
+  Toolkit::TextInput textInput = Toolkit::TextInput::DownCast( Dali::BaseHandle( object ) );
+
+  if ( textInput )
+  {
+    TextInput& textInputImpl( GetImpl( textInput ) );
+
+    switch ( propertyIndex )
+    {
+      case Toolkit::TextInput::HIGHLIGHT_COLOR_PROPERTY:
+      {
+        textInputImpl.SetMaterialDiffuseColor( value.Get< Vector4 >() );
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_COLOR_PROPERTY:
+      {
+        textInputImpl.mPopupPanel.SetCutPastePopupColor( value.Get< Vector4 >() );
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_PRESSED_COLOR_PROPERTY:
+      {
+        textInputImpl.mPopupPanel.SetCutPastePopupPressedColor( value.Get< Vector4 >() );
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_BORDER_COLOR_PROPERTY:
+      {
+        textInputImpl.mPopupPanel.SetCutPastePopupBorderColor( value.Get< Vector4 >() );
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_ICON_COLOR_PROPERTY:
+      {
+        textInputImpl.mPopupPanel.SetCutPastePopupIconColor( value.Get< Vector4 >() );
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_ICON_PRESSED_COLOR_PROPERTY:
+      {
+        textInputImpl.mPopupPanel.SetCutPastePopupIconPressedColor( value.Get< Vector4 >() );
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_TEXT_COLOR_PROPERTY:
+      {
+        textInputImpl.mPopupPanel.SetCutPastePopupTextColor( value.Get< Vector4 >() );
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_TEXT_PRESSED_COLOR_PROPERTY:
+      {
+        textInputImpl.mPopupPanel.SetCutPastePopupTextPressedColor( value.Get< Vector4 >() );
+        break;
+      }
+      case Toolkit::TextInput::CUT_BUTTON_POSITION_PRIORITY_PROPERTY:
+      {
+        textInputImpl.mPopupPanel.SetButtonPriorityPosition( TextInputPopup::ButtonsCut, value.Get<unsigned int>() );
+        break;
+      }
+      case Toolkit::TextInput::COPY_BUTTON_POSITION_PRIORITY_PROPERTY:
+      {
+        textInputImpl.mPopupPanel.SetButtonPriorityPosition( TextInputPopup::ButtonsCopy, value.Get<unsigned int>() );
+        break;
+      }
+      case Toolkit::TextInput::PASTE_BUTTON_POSITION_PRIORITY_PROPERTY:
+      {
+        textInputImpl.mPopupPanel.SetButtonPriorityPosition( TextInputPopup::ButtonsPaste, value.Get<unsigned int>() );
+        break;
+      }
+      case Toolkit::TextInput::SELECT_BUTTON_POSITION_PRIORITY_PROPERTY:
+      {
+        textInputImpl.mPopupPanel.SetButtonPriorityPosition( TextInputPopup::ButtonsSelect, value.Get<unsigned int>() );
+        break;
+      }
+      case Toolkit::TextInput::SELECT_ALL_BUTTON_POSITION_PRIORITY_PROPERTY:
+      {
+        textInputImpl.mPopupPanel.SetButtonPriorityPosition( TextInputPopup::ButtonsSelectAll, value.Get<unsigned int>() );
+        break;
+      }
+      case Toolkit::TextInput::CLIPBOARD_BUTTON_POSITION_PRIORITY_PROPERTY:
+      {
+        textInputImpl.mPopupPanel.SetButtonPriorityPosition( TextInputPopup::ButtonsClipboard, value.Get<unsigned int>() );
+        break;
+      }
+      case Toolkit::TextInput::POP_UP_OFFSET_FROM_TEXT_PROPERTY:
+      {
+        textInputImpl.SetOffsetFromText( value.Get< Vector4 >() );
+        break;
+      }
+      case Toolkit::TextInput::CURSOR_COLOR_PROPERTY:
+      {
+        textInputImpl.mCursor.SetColor( value.Get< Vector4 >() );
+      }
+    }
+  }
+}
+
+Property::Value TextInput::GetProperty( BaseObject* object, Property::Index propertyIndex )
+{
+  Property::Value value;
+
+  Toolkit::TextInput textInput = Toolkit::TextInput::DownCast( Dali::BaseHandle( object ) );
+
+  if ( textInput )
+  {
+    TextInput& textInputImpl( GetImpl( textInput ) );
+
+    switch ( propertyIndex )
+    {
+      case Toolkit::TextInput::HIGHLIGHT_COLOR_PROPERTY:
+      {
+        value = textInputImpl.GetMaterialDiffuseColor();
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_COLOR_PROPERTY:
+      {
+        value = textInputImpl.mPopupPanel.GetCutPastePopupColor();
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_PRESSED_COLOR_PROPERTY:
+      {
+        value = textInputImpl.mPopupPanel.GetCutPastePopupPressedColor();
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_BORDER_COLOR_PROPERTY :
+      {
+        value = textInputImpl.mPopupPanel.GetCutPastePopupBorderColor();
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_ICON_COLOR_PROPERTY:
+      {
+        value = textInputImpl.mPopupPanel.GetCutPastePopupIconColor();
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_ICON_PRESSED_COLOR_PROPERTY:
+      {
+        value = textInputImpl.mPopupPanel.GetCutPastePopupIconPressedColor();
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_TEXT_COLOR_PROPERTY:
+      {
+        value = textInputImpl.mPopupPanel.GetCutPastePopupTextColor();
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_TEXT_PRESSED_COLOR_PROPERTY:
+      {
+        value = textInputImpl.mPopupPanel.GetCutPastePopupTextPressedColor();
+        break;
+      }
+      case Toolkit::TextInput::CUT_BUTTON_POSITION_PRIORITY_PROPERTY:
+      {
+        value = textInputImpl.mPopupPanel.GetButtonPriorityPosition( TextInputPopup::ButtonsCut );
+        break;
+      }
+      case Toolkit::TextInput::COPY_BUTTON_POSITION_PRIORITY_PROPERTY:
+      {
+        value =  textInputImpl.mPopupPanel.GetButtonPriorityPosition( TextInputPopup::ButtonsCopy );
+        break;
+      }
+      case Toolkit::TextInput::PASTE_BUTTON_POSITION_PRIORITY_PROPERTY:
+      {
+        value = textInputImpl.mPopupPanel.GetButtonPriorityPosition( TextInputPopup::ButtonsPaste );
+        break;
+      }
+      case Toolkit::TextInput::SELECT_BUTTON_POSITION_PRIORITY_PROPERTY:
+      {
+        value = textInputImpl.mPopupPanel.GetButtonPriorityPosition( TextInputPopup::ButtonsSelect );
+        break;
+      }
+      case Toolkit::TextInput::SELECT_ALL_BUTTON_POSITION_PRIORITY_PROPERTY:
+      {
+        value = textInputImpl.mPopupPanel.GetButtonPriorityPosition( TextInputPopup::ButtonsSelectAll );
+        break;
+      }
+      case Toolkit::TextInput::CLIPBOARD_BUTTON_POSITION_PRIORITY_PROPERTY:
+      {
+        value = textInputImpl.mPopupPanel.GetButtonPriorityPosition( TextInputPopup::ButtonsClipboard );
+        break;
+      }
+      case Toolkit::TextInput::POP_UP_OFFSET_FROM_TEXT_PROPERTY:
+      {
+        value = textInputImpl.GetOffsetFromText();
+        break;
+      }
+      case Toolkit::TextInput::CURSOR_COLOR_PROPERTY:
+      {
+        value = textInputImpl.mCursor.GetCurrentColor();
+      }
+    }
+  }
+  return value;
+}
+
 void TextInput::EmitStyleChangedSignal()
 {
   // emit signal if input style changes.
index 636f234..dfbb2c5 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_TEXT_INPUT_H__
 #define __DALI_TOOLKIT_INTERNAL_TEXT_INPUT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/control-impl.h>
@@ -25,7 +26,6 @@
 #include <dali-toolkit/internal/controls/text-input/text-input-popup-impl.h>
 
 #include <dali/public-api/common/dali-vector.h>
-#include <dali/public-api/adaptor-framework/common/imf-manager.h>
 #include <dali/public-api/geometry/mesh.h>
 
 namespace Dali
@@ -46,6 +46,13 @@ class TextInput : public Control
 {
 public:
 
+  // Properties
+  enum
+  {
+    TEXTINPUT_PROPERTY_START_INDEX = Control::CONTROL_PROPERTY_END_INDEX + 1,
+    TEXTINPUT_PROPERTY_END_INDEX = TEXTINPUT_PROPERTY_START_INDEX + 512 ///< Reserving property indices
+  };
+
   /**
    * Create a new TextInput
    * @return instrusive ptr to a TextInput
@@ -377,6 +384,22 @@ public:
    */
   std::size_t GetNumberOfCharacters() const;
 
+  /**
+   * Styling
+   */
+
+  /**
+   * Set the diffuse color for the highlight
+   * @param[in] color color to use
+   */
+  void SetMaterialDiffuseColor( const Vector4& color );
+
+  /**
+   * Get the diffuse color used by the highlight
+   * @return color
+   */
+  const Vector4& GetMaterialDiffuseColor() const;
+
 private:
 
   /**
@@ -842,12 +865,11 @@ public:  // Public to allow internal testing.
   std::size_t InsertAt( const Text& newText, const std::size_t insertionPosition, const std::size_t numberOfCharactersToReplace );
 
   /**
-   * Creates a cursor from the supplied image
-   * @param[in] cursorImage the image to be used for the cursor.
-   * @param[in] border the nine patch border corresponding to the supplied image.
-   * @return the image actor to be used as the cursor.
-   */
-  ImageActor CreateCursor( Image cursorImage, const Vector4& border );
+  * Creates a cursor.
+  * @param[in] color the cursor color.
+  * @return the image actor to be used as the cursor.
+  */
+  ImageActor CreateCursor( const Vector4 &color );
 
   /**
    * Moves cursor to the right
@@ -1031,21 +1053,16 @@ public:  // Public to allow internal testing.
   void ClearPopup();
 
   /**
-   * Adds a popup option.
-   * @note Creates popup frame if not already created.
-   * @param[in] name The unique name for this option.
-   * @param[in] caption The caption (label) for this option
-   * @param[in] icon the image icon to be displayed for this option
-   * @param[in] finalOption Flag to indicate that this is the final option.
-   * (set to true on the last option you add)
+   * Adds Popup options which have been enabled.
    */
-  void AddPopupOption(const std::string& name, const std::string& caption, const Image icon, bool finalOption = false);
+  void AddPopupOptions();
 
   /**
    * Sets popup position
    * @param[in] position The actual position for this popup.
+   * @param[in] alternativePosition Alternative popup position if no space in upper area.
    */
-  void SetPopupPosition(const Vector3& position);
+  void SetPopupPosition(const Vector3& position, const Vector2& alternativePosition );
 
   /**
    * Hides the popup
@@ -1068,7 +1085,7 @@ public:  // Public to allow internal testing.
   /**
    * Setup the selection popup and clipboard if relevant so the correct options are shown when ShowPopup is called.
    */
-  void SetUpPopUpSelection();
+  void SetUpPopupSelection();
 
   /**
    * Return the logical index containing the character position closest to the source.
@@ -1316,6 +1333,36 @@ public:  // Public to allow internal testing.
   void GetTextLayoutInfo();
 
   /**
+   * Set the offset for positioning Popup from the TextInput
+   * @param[in] offset in the order, left, top, right, bottom
+   */
+  void SetOffsetFromText( const Vector4& offset );
+
+  /**
+   * Get the offset of the Popup from the TextInput
+   * @return Vector4 with the offset in the order, left, top, right, bottom
+   */
+  const Vector4& GetOffsetFromText() const;
+
+  // Properties
+
+  /**
+   * Called when a property of an object of this type is set.
+   * @param[in] object The object whose property is set.
+   * @param[in] index The property index.
+   * @param[in] value The new property value.
+   */
+  static void SetProperty( BaseObject* object, Property::Index index, const Property::Value& value );
+
+  /**
+   * Called to retrieve a property of an object of this type.
+   * @param[in] object The object whose property is to be retrieved.
+   * @param[in] index The property index.
+   * @return The current value of the property.
+   */
+  static Property::Value GetProperty( BaseObject* object, Property::Index propertyIndex );
+
+  /**
    * Emits the style changed signal.
    */
   void EmitStyleChangedSignal();
@@ -1405,7 +1452,7 @@ private:
                                                                                      ///< the text size after layout and the scroll offset.
 
   MarkupProcessor::StyledTextArray mCurrentCopySelecton;                                              ///< Array to store copied text.
-  TextInputPopup mPopUpPanel;                                                                         ///< Panel to house cut and paste, select all buttons.
+  TextInputPopup mPopupPanel;                                                                         ///< Panel to house cut and paste, select all buttons.
 
   Timer mScrollTimer;
   Vector2 mScrollDisplacement;
@@ -1416,7 +1463,11 @@ private:
   Vector4 mSelectionHandleFlipMargin;
   Vector4 mBoundingRectangleWorldCoordinates;
 
-  Clipboard mClipboard;                  ///< Handle to clipboard
+  Clipboard mClipboard;                   ///< Handle to clipboard
+
+  // Styling
+  Vector4           mMaterialColor;       // Color of the highlight
+  Vector4           mPopupOffsetFromText; // Offset of Popup from the TextInput.
 
   bool mOverrideAutomaticAlignment:1;    ///< Whether to override the alignment automatically set by the text content (e.g. european LTR or arabic RTL)
   bool mCursorRTLEnabled:1;              ///< Enable state of Alternate RTL Cursor (need to keep track of this as it's not always enabled)
index 7d9bf42..14f998f 100644 (file)
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <dali/integration-api/debug.h>
 
 #include <dali-toolkit/internal/controls/text-input/text-input-popup-impl.h>
 #include <dali-toolkit/public-api/controls/buttons/push-button.h>
+#include <dali-toolkit/public-api/controls/default-controls/solid-color-actor.h>
+
+#include <libintl.h>
 
 using namespace std;
 using namespace Dali;
 
-namespace {
-
-// Popup: Background
-const char* DEFAULT_PANEL_BACKGROUND = DALI_IMAGE_DIR "cutCopyPastePopup_bg.png";
-
-// Popup: Divider
-const char* DEFAULT_PANEL_BUTTON_DIVIDER = DALI_IMAGE_DIR "copypanelLine.png";
-
-/* Functionality in place to have the end buttons using different images to inner button.
- * Supply a centre image and then a left and right image, the centre image can have straight ends while
- * the left image can be rounded on the left and straight on the right, the right image can be straight on the left and rounded on the right.
- */
-
-// Popup: Left Pressed Highlight
-const char* DEFAULT_BUTTON_HIGHLIGHT_LEFT( DALI_IMAGE_DIR "00_popup_button_pressed.png" );
-const Vector4 DEFAULT_BUTTON_HIGHLIGHT_LEFT_BORDER( 6.0f, 9.0f, 6.0f, 9.0f );
+#define GET_LOCALE_TEXT(string) dgettext("sys_string", string)
 
-// Popup: Center Pressed Highlight
-const char* DEFAULT_BUTTON_HIGHLIGHT_CENTER( DALI_IMAGE_DIR "00_popup_button_pressed.png" );
-const Vector4 DEFAULT_BUTTON_HIGHLIGHT_CENTER_BORDER( 6.0f, 9.0f, 6.0f, 9.0f );
-
-// Popup: Right Pressed Highlight
-const char* DEFAULT_BUTTON_HIGHLIGHT_RIGHT( DALI_IMAGE_DIR "00_popup_button_pressed.png" );
-const Vector4 DEFAULT_BUTTON_HIGHLIGHT_RIGHT_BORDER( 6.0f, 9.0f, 6.0f, 9.0f );
-
-// Popup: Tails
-const char* DEFAULT_POPUP_TAIL_BOTTOM( DALI_IMAGE_DIR "00_popup_bubble_tail_bottom.png" );
-
-// Popup: Vertical Constraint
-// TODO: Remove - this should come from application - it is not possible to get the
-// height of the indicator actor from Dali-Toolkit.
+namespace
+{
 const Vector2 DEFAULT_POPUP_INDICATOR_OFFSET(0.0f, 60.0f);
 
-const Vector4 BACKGROUND_IMAGE_BORDER( 22.0f, 20.0f, 29.0f, 27.0f );
-const Vector2 BACKGROUND_IMAGE_SIZE( 50.0f, 54.0f );
-const Vector3 POPUP_TEXT_OFFSET( 12.0f, 10.0f, 0.0f );
-const Vector3 POPUP_TEXT_ENLARGE( 12.0f, 28.0f, 0.0f );
-const Vector3 POPUP_MINIMUM_SIZE( 128.0f, 124.0f, 0.0f );
-
-const Vector3 BUTTON_TEXT_ENLARGE( 32.0f, 0.0f, 0.0f );
-const Vector3 BUTTON_TEXT_MINIMUM_SIZE( 128.0f, 126.0f, 0.0f );
-const Vector3 BUTTON_TEXT_MAXIMUM_SIZE( 196.0f, 126.0f, 0.0f );
-const Vector3 TEXT_LABEL_MAX_SIZE( 160.0f, 30.0f, 0.0f );
-
-const float DIVIDER_WIDTH(2.0f);                                            ///< Width of each button divider
-const float DIVIDER_MARGIN(10.0f);                                          ///< Top/Bottom Margin between divider and edge of popup.
-
-const float DEFAULT_UI_FONT_SIZE(7.0f);                                     ///< Standard font size for Text-Input's UI
-
-const float HIDE_POPUP_ANIMATION_DURATION(0.2f);                            ///< Duration of popup hide animation in seconds.
-const float SHOW_POPUP_ANIMATION_DURATION(0.2f);                            ///< Duration of popup show animation in seconds.
-
-const Vector2 DEFAULT_ICON_SIZE( 45.0f, 45.0f );                            ///< Default icon size for image in options
-const float TEXT_POSITION_OFFSET( -19.0f );                                  ///< Default offset for text label
-const float ICON_POSITION_OFFSET( 19.0f );                                  ///< Default offset for icon
-
-// TODO: This should be based on the content for example:
 // 1. For selection: should be above top of highlighted selection, or below bottom of highlighted selection + end handle.
 // 2. For cursor: should be above top of cursor, or below bottom of cursor + grab handle.
-const std::string POPUP_ALTERNATIVE_OFFSET("popup-alternative-offset");       ///< Alternative offset property for confinenment constraint.
-
 
 /**
- * Confine Actor to boundaries of reference actor (e.g. Parent)
- * Actor bounds (top-left position + size) are confined to reference Actor's
- * bounds.
+ * Image resource paths
  */
-struct ConfinementConstraint
-{
-  /**
-   * Confinement constraint constructor.
-   * @param[in] topLeftMargin (optional) Top-Left margins (defaults to 0.0f, 0.0f)
-   * @param[in] bottomRightMargin (optional) Bottom-Right margins (defaults to 0.0f, 0.0f)
-   * @param[in] flipVertical (optional) whether to flip Actor to the other side if near edge, and by
-   * how much (defaults to 0.0f i.e. no flip)
-   */
-  ConfinementConstraint(Vector2 topLeftMargin = Vector2::ZERO, Vector2 bottomRightMargin = Vector2::ZERO, bool flipHorizontal = false, bool flipVertical = false)
-  : mMinIndent(topLeftMargin),
-    mMaxIndent(bottomRightMargin),
-    mFlipHorizontal(flipHorizontal),
-    mFlipVertical(flipVertical)
-  {
-  }
-
-  Vector3 operator()(const Vector3&    constPosition,
-                     const PropertyInput& sizeProperty,
-                     const PropertyInput& parentOriginProperty,
-                     const PropertyInput& anchorPointProperty,
-                     const PropertyInput& referenceSizeProperty,
-                     const PropertyInput& alternativeOffsetProperty)
-  {
-    const Vector3& size = sizeProperty.GetVector3();
-    const Vector3& origin = parentOriginProperty.GetVector3();
-    const Vector3& anchor = anchorPointProperty.GetVector3();
-    const Vector3& referenceSize = referenceSizeProperty.GetVector3();
-    const Vector2& alternativeOffset = alternativeOffsetProperty.GetVector2();
-
-    Vector3 newPosition(constPosition);
-
-    // Get actual position of Actor relative to parent's Top-Left.
-    Vector3 position(constPosition + origin * referenceSize);
-
-    // if top-left corner is outside of Top-Left bounds, then push back in screen.
-    Vector3 corner(position - size * anchor - mMinIndent);
-
-    if(mFlipHorizontal && corner.x < 0.0f)
-    {
-      corner.x = 0.0f;
-      newPosition.x += size.width + alternativeOffset.width;
-    }
-
-    if(mFlipVertical && corner.y < 0.0f)
-    {
-      corner.y = 0.0f;
-      newPosition.y += size.height + alternativeOffset.height;
-    }
+const std::string POPUP_BACKGROUND( DALI_IMAGE_DIR "popup_bubble_bg.#.png" );
+const std::string POPUP_BACKGROUND_EFFECT( DALI_IMAGE_DIR "popup_bubble_bg_ef.#.png" );
+const std::string POPUP_BACKGROUND_LINE( DALI_IMAGE_DIR "popup_bubble_bg_line.#.png" );
+
+const std::string POPUP_TAIL_BOTTOM( DALI_IMAGE_DIR "popup_bubble_tail_bottom.png" );
+const std::string POPUP_TAIL_BOTTOM_EFFECT( DALI_IMAGE_DIR "popup_bubble_tail_bottom_ef.png" );
+const std::string POPUP_TAIL_BOTTOM_LINE( DALI_IMAGE_DIR "popup_bubble_tail_bottom_line.png" );
+const std::string POPUP_TAIL_TOP( DALI_IMAGE_DIR "popup_bubble_tail_top.png" );
+const std::string POPUP_TAIL_TOP_EFFECT( DALI_IMAGE_DIR "popup_bubble_tail_top_ef.png" );
+const std::string POPUP_TAIL_TOP_LINE( DALI_IMAGE_DIR "popup_bubble_tail_top_line.png" );
+
+const std::string OPTION_ICON_CLIPBOARD( DALI_IMAGE_DIR "copy_paste_icon_clipboard.png" );
+const std::string OPTION_ICON_COPY( DALI_IMAGE_DIR "copy_paste_icon_copy.png" );
+const std::string OPTION_ICON_CUT( DALI_IMAGE_DIR "copy_paste_icon_cut.png" );
+const std::string OPTION_ICON_PASTE( DALI_IMAGE_DIR "copy_paste_icon_paste.png" );
+const std::string OPTION_ICON_SELECT( DALI_IMAGE_DIR "copy_paste_icon_select.png" );
+const std::string OPTION_ICON_SELECT_ALL( DALI_IMAGE_DIR "copy_paste_icon_select_all.png" );
 
-    newPosition.x -= std::min(corner.x, 0.0f);
-    newPosition.y -= std::min(corner.y, 0.0f);
-
-    // if bottom-right corner is outside of Bottom-Right bounds, then push back in screen.
-    corner += size - referenceSize + mMinIndent + mMaxIndent;
-
-    if(mFlipHorizontal && corner.x > 0.0f)
-    {
-      corner.x = 0.0f;
-      newPosition.x -= size.width + alternativeOffset.width;
-    }
-
-    if(mFlipVertical && corner.y > 0.0f)
-    {
-      corner.y = 0.0f;
-      newPosition.y -= size.height + alternativeOffset.height;
-    }
-
-    newPosition.x -= std::max(corner.x, 0.0f);
-    newPosition.y -= std::max(corner.y, 0.0f);
-
-    return newPosition;
-  }
+/**
+ * Constant values for building the GUI
+ */
+const Vector4 POPUP_MARGIN( 14.0f, 14.0f, 14.0f, 14.0f );  ///< Margin around the popup visible background Image.
+const Vector4 POPUP_BORDER( 2.0f, 2.0f, 2.0f, 2.0f );  ///< The Border of the popup.
+const Vector2 POPUP_MIN_SIZE( 0.0f, 126.0f );  ///< The minimum size of the popup.
+const Vector2 POPUP_MAX_SIZE( 720.0f, 126.0f );  ///< The maximum size of the popup.
+const float POPUP_TAIL_Y_OFFSET( -2.25f );  ///< The y offset of the tail.
+const Vector2 POPUP_TAIL_SIZE( 36.0f, 36.0f );  ///< The size of the tail.
+const Vector2 POPUP_DIVIDER_SIZE( 1.0f, 126.0f );  ///< The size of the divider.
+
+const Vector4 OPTION_PADDING( 16.0f, 16.0f, 24.0f, 19.0f );  ///< The padding within the option to position icon and text away from the border. The order is left, right, top and bottom
+const Vector2 OPTION_MAX_SIZE( 220.0f, 126.0f );  ///< The maximum size of the option.
+const Vector2 OPTION_MIN_SIZE( 128.0f, 126.0f );  ///< The minimum size of the option.
+const Vector2 OPTION_ICON_SIZE( 45.0f, 45.0f );  ///< The size of the icon.
+const Vector2 OPTION_TEXT_MIN_SIZE( 128.0f, 30.0f );  ///< The minimum size of the text.
+const float OPTION_GAP_ICON_TEXT( 8.0f );  ///< The gap between the icon and the text
+
+const float HIDE_POPUP_ANIMATION_DURATION( 0.2f );                            ///< Duration of popup hide animation in seconds.
+const float SHOW_POPUP_ANIMATION_DURATION( 0.2f );                            ///< Duration of popup show animation in seconds.
 
-  Vector3 mMinIndent;                                   ///< Top-Left Margin
-  Vector3 mMaxIndent;                                   ///< Bottom-Right Margin.
-  bool mFlipHorizontal;                                 ///< Whether to flip actor's position if exceeds horizontal screen bounds
-  bool mFlipVertical;                                   ///< Whether to flip actor's position if exceeds vertical screen bounds
-};
+/**
+ * Default Colors
+ */
+const Vector4 DEFAULT_POPUP_BACKGROUND( Vector4( .20f, 0.29f, 0.44f, 1.0f ) );
+const Vector4 DEFAULT_POPUP_BACKGROUND_PRESSED( Vector4( 0.07f, 0.10f, 0.17f, 1.0f ) );
+const Vector4 DEFAULT_POPUP_LINE_COLOR( Vector4( 0.36f, 0.45f, 0.59f, 1.0f ) );
+const Vector4 DEFAULT_OPTION_ICON( Vector4( 1.0f, 1.0f, 1.0f, 1.0f ) );
+const Vector4 DEFAULT_OPTION_ICON_PRESSED( Vector4( 1.0f, 1.0f, 1.0f, 1.0f ) );
+const Vector4 DEFAULT_OPTION_TEXT( Vector4( 1.0f, 1.0f, 1.0f, 1.0f ) );
+const Vector4 DEFAULT_OPTION_TEXT_PRESSED( Vector4( 1.0f, 1.0f, 1.0f, 1.0f ) );
 
 } // unnamed namespace
 
@@ -182,271 +103,439 @@ const char* const TextInputPopup::SIGNAL_PRESSED = "pressed";
 const char* const TextInputPopup::SIGNAL_HIDE_FINISHED = "hide-finished";
 const char* const TextInputPopup::SIGNAL_SHOW_FINISHED = "show-finished";
 
+const char* const TextInputPopup::OPTION_SELECT_WORD = "option-select_word";                       // "Select Word" popup option.
+const char* const TextInputPopup::OPTION_SELECT_ALL("option-select_all");                          // "Select All" popup option.
+const char* const TextInputPopup::OPTION_CUT("option-cut");                                        // "Cut" popup option.
+const char* const TextInputPopup::OPTION_COPY("option-copy");                                      // "Copy" popup option.
+const char* const TextInputPopup::OPTION_PASTE("option-paste");                                    // "Paste" popup option.
+const char* const TextInputPopup::OPTION_CLIPBOARD("option-clipboard");                            // "Clipboard" popup option.
+
 TextInputPopup::TextInputPopup()
 : mState(StateHidden),
-  mRootActor(Layer::New()),
+  mRoot( Layer::New() ),
+  mButtons(),
+  mVisiblePopUpSize(),
+  mPopupTailXPosition( 0.0f ),
+  mContentSize(),
+  mBackgroundColor( DEFAULT_POPUP_BACKGROUND ),
+  mBackgroundPressedColor( DEFAULT_POPUP_BACKGROUND_PRESSED ),
+  mLineColor( DEFAULT_POPUP_LINE_COLOR ),
+  mIconColor( DEFAULT_OPTION_ICON ),
+  mIconPressedColor( DEFAULT_OPTION_ICON_PRESSED ),
+  mTextColor( DEFAULT_OPTION_TEXT ),
+  mTextPressedColor( DEFAULT_OPTION_TEXT_PRESSED ),
+  mSelectOptionPriority(1),
+  mSelectAllOptionPriority(2),
+  mCutOptionPriority(3),
+  mCopyOptionPriority(4),
+  mPasteOptionPriority(5),
+  mClipboardOptionPriority(6),
   mPressedSignal(),
   mHideFinishedSignal(),
   mShowFinishedSignal()
 {
-  mAlternativeOffsetProperty = mRootActor.RegisterProperty( POPUP_ALTERNATIVE_OFFSET, Vector2::ZERO );
-  mRootActor.SetParentOrigin( ParentOrigin::CENTER );
-  mRootActor.SetAnchorPoint( AnchorPoint::BOTTOM_CENTER );
-  // constrain popup to size of parent.
+  mRoot.SetParentOrigin( ParentOrigin::TOP_LEFT );
+  mRoot.SetAnchorPoint( AnchorPoint::BOTTOM_CENTER );
+}
+
+void TextInputPopup::AddToParent( Actor parent )
+{
+  Actor existingParent = mRoot.GetParent();
+
+  if ( !existingParent )
+  {
+    parent.Add( mRoot );
+  }
+}
+
+void TextInputPopup::RemoveFromParent()
+{
+  Actor parent = mRoot.GetParent();
+
+  if ( parent )
+  {
+    parent.Remove( mRoot );
+  }
+}
+
+void TextInputPopup::CreateLayer( const Vector2& size )
+{
+  mLayer = Layer::New();
+  mLayer.SetParentOrigin(ParentOrigin::CENTER);
+  mLayer.SetAnchorPoint(AnchorPoint::CENTER);
+  mLayer.SetSize( size ); // matches stencil size
+  mLayer.SetName("popup-mLayer");
 }
 
-Actor TextInputPopup::Self()
+void TextInputPopup::CreateStencil( const Vector2& size )
 {
-  return mRootActor;
+  mStencil = CreateSolidColorActor( Color::BLUE );
+  mStencil.SetParentOrigin( ParentOrigin::CENTER );
+  mStencil.SetAnchorPoint( AnchorPoint::CENTER );
+  mStencil.SetDrawMode( DrawMode::STENCIL );
+  mStencil.SetVisible( true );
+  mStencil.SetName( "popup-stencil" );
+  mStencil.SetSize( size );
 }
 
-void TextInputPopup::AddToStage()
+void TextInputPopup::OnScrollStarted( const Vector3& position )
 {
-  // TODO: Confinement constraint borders should be defined by the application.
-  // It should also not use the stage directly, instead it should add to parent container.
-  Stage::GetCurrent().Add(mRootActor);
+  mButtons.SetSensitive( false );
+}
 
-  ApplyConfinementConstraint();
+void TextInputPopup::OnScrollCompleted( const Vector3& position )
+{
+  mButtons.SetSensitive( true );
 }
 
-void TextInputPopup::ApplyConfinementConstraint()
+void TextInputPopup::CreateScrollView()
 {
-  mRootActor.RemoveConstraints();
-  Constraint constraint = Constraint::New<Vector3>( Actor::POSITION,
-                                                    LocalSource( Actor::SIZE ),
-                                                    LocalSource( Actor::PARENT_ORIGIN ),
-                                                    LocalSource( Actor::ANCHOR_POINT ),
-                                                    ParentSource( Actor::SIZE ),
-                                                    LocalSource( mAlternativeOffsetProperty ),
-                                                    ConfinementConstraint( DEFAULT_POPUP_INDICATOR_OFFSET,
-                                                                           Vector2::ZERO,
-                                                                           false,
-                                                                           true) );
-  mRootActor.ApplyConstraint(constraint);
+  mScrollView = Toolkit::ScrollView::New();
+  mScrollView.SetName("popup-scroll-view");
+  mScrollView.SetAnchorPoint( AnchorPoint::CENTER );
+  mScrollView.SetParentOrigin( ParentOrigin::CENTER );
+  mScrollView.SetScrollingDirection( PanGestureDetector::DIRECTION_HORIZONTAL, Degree( 40.0f ) );
+  mScrollView.SetAxisAutoLock( true );
+  mScrollView.ScrollStartedSignal().Connect( this, &TextInputPopup::OnScrollStarted );
+  mScrollView.ScrollCompletedSignal().Connect( this, &TextInputPopup::OnScrollCompleted );
 }
 
-void TextInputPopup::RemoveFromStage()
+void TextInputPopup::UpdateScrollViewRulerAndSize( const Vector2& visibleSize )
 {
-  Actor rootActor = Self();
-  Stage::GetCurrent().Remove( rootActor );
+  mScrollView.SetSize( visibleSize.x, visibleSize.y );
+
+  RulerPtr rulerX = new DefaultRuler();  // IntrusivePtr which is unreferenced when ScrollView is destroyed.
+  RulerPtr rulerY = new DefaultRuler();  // IntrusivePtr which is unreferenced when ScrollView is destroyed.
+  rulerY->Disable();
+  rulerX->SetDomain( RulerDomain( 0, mContentSize.width, true ) );
+  mScrollView.SetRulerX(rulerX);
+  mScrollView.SetRulerY(rulerY);
 }
 
+
 void TextInputPopup::Clear()
 {
   if ( mBackground )
   {
-    mRootActor.Remove( mBackground );
-    mBackground.Reset();
-    mButtonContainer.clear();
+    UnparentAndReset( mTail );
+    UnparentAndReset( mStencil );
+    UnparentAndReset( mBackground );
+    UnparentAndReset( mButtons );
+    UnparentAndReset( mScrollView );
     mDividerContainer.clear();
-
-    RemoveFromStage();
-    mRootActor.RemoveConstraints();
-
+    RemoveFromParent();
     mState = StateHidden;
   }
 }
 
-Toolkit::TextView TextInputPopup::CreateOptionText( const MarkupProcessor::StyledTextArray& styledCaption )
+ImageActor TextInputPopup::CreateOptionIcon( Image iconImage, const Vector4& color )
 {
-  Toolkit::TextView label = Toolkit::TextView::New( styledCaption );
-  label.SetSizePolicy( Toolkit::Control::Fixed, Toolkit::Control::Fixed );
-  label.SetWidthExceedPolicy( Toolkit::TextView::Fade );
-  label.SetParentOrigin( ParentOrigin::BOTTOM_CENTER );
-  label.SetAnchorPoint( AnchorPoint::BOTTOM_CENTER );
-  label.SetPosition( 0.0f, TEXT_POSITION_OFFSET );
-
-  return label;
+  ImageActor icon = ImageActor::New( iconImage );
+  icon.SetSize( OPTION_ICON_SIZE );
+  icon.SetParentOrigin( ParentOrigin::TOP_CENTER );
+  icon.SetAnchorPoint( AnchorPoint::TOP_CENTER );
+  icon.SetColor( color );
+  icon.SetY( OPTION_PADDING.z - POPUP_BORDER.y );
+  return icon;
 }
 
-ImageActor TextInputPopup::CreateOptionIcon( Image iconImage )
+Toolkit::TextView TextInputPopup::CreateOptionCaption( const std::string& caption, const Vector4& color )
 {
-  ImageActor icon = ImageActor::New( iconImage );
+  TextStyle style;
+  style.SetTextColor( color );
 
-  icon.SetSize( DEFAULT_ICON_SIZE );
-  icon.SetParentOrigin( ParentOrigin::TOP_CENTER );
-  icon.SetAnchorPoint( AnchorPoint::TOP_CENTER );
-  icon.SetPosition( 0.0f, ICON_POSITION_OFFSET );
+  PointSize pointSize( Font::PixelsToPoints( OPTION_TEXT_MIN_SIZE.y ) );
+  style.SetFontPointSize( pointSize );
 
-  return icon;
+  MarkupProcessor::StyledTextArray styledCaption;
+  styledCaption.push_back( MarkupProcessor::StyledText( Text( caption ), style ) );
+
+  Toolkit::TextView textView = Toolkit::TextView::New( styledCaption );
+  textView.SetSizePolicy( Toolkit::Control::Fixed, Toolkit::Control::Fixed );
+  textView.SetWidthExceedPolicy( Toolkit::TextView::EllipsizeEnd );
+  textView.SetHeightExceedPolicy( Toolkit::TextView::EllipsizeEnd );
+  textView.SetParentOrigin( ParentOrigin::BOTTOM_CENTER );
+  textView.SetAnchorPoint( AnchorPoint::BOTTOM_CENTER );
+  textView.SetY( -OPTION_PADDING.w + POPUP_BORDER.w );
+
+  MarkupProcessor::StyledTextArray styledCaptionEllipsize;
+  MarkupProcessor::SetTextStyle( Text("..."), styledCaptionEllipsize, style );
+  textView.SetEllipsizeText( styledCaptionEllipsize );
+
+  const float textWidth = textView.GetWidthForHeight( OPTION_TEXT_MIN_SIZE.y );
+  textView.SetSize( textWidth, OPTION_TEXT_MIN_SIZE.y );
+
+  return textView;
 }
 
-void TextInputPopup::CreatePopUpBackground()
+void TextInputPopup::CreateBackground()
 {
   // Create background-panel if not already created (required if we have at least one option)
   if ( !mBackground )
   {
-    Image backgroundImage = Image::New( DEFAULT_PANEL_BACKGROUND );
-
-    mBackground = ImageActor::New( backgroundImage );
-    // Expand background from bottom-center of root actor.
-    mBackground.SetParentOrigin( ParentOrigin::BOTTOM_CENTER );
-    mBackground.SetAnchorPoint( AnchorPoint::BOTTOM_CENTER );
-    mBackground.SetStyle( ImageActor::STYLE_NINE_PATCH );
-
-    mBackground.SetNinePatchBorder( Vector4(13.0f, 13.0f, 13.0f, 13.0f) );
-
-    Self().Add( mBackground );
-    mContentSize = POPUP_TEXT_OFFSET;
+    Image bgImg = Image::New( POPUP_BACKGROUND );
+    mBackground = ImageActor::New( bgImg );
+    mBackground.SetAnchorPoint( AnchorPoint::CENTER );
+    mBackground.SetParentOrigin( ParentOrigin::CENTER );
+    mBackground.SetName( "text-input-popup-background" );
+    mBackground.SetColor( mBackgroundColor );
+
+    Image bgEffectImg = Image::New( POPUP_BACKGROUND_EFFECT );
+    mBackgroundEffect = ImageActor::New( bgEffectImg );
+    mBackgroundEffect.SetAnchorPoint( AnchorPoint::CENTER );
+    mBackgroundEffect.SetParentOrigin( ParentOrigin::CENTER );
+    mBackgroundEffect.SetName( "text-input-popup-background-effect" );
+    mBackgroundEffect.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) );
+    mBackgroundEffect.SetZ( 1.0f );
+    mBackground.Add( mBackgroundEffect );
+
+    Image bgLine = Image::New( POPUP_BACKGROUND_LINE );
+    mBackgroundLine = ImageActor::New( bgLine );
+    mBackgroundLine.SetAnchorPoint( AnchorPoint::CENTER);
+    mBackgroundLine.SetParentOrigin( ParentOrigin::CENTER );
+    mBackgroundLine.SetName( "text-input-popup-background-effect" );
+    mBackgroundLine.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) );
+    mBackgroundLine.SetColor( mLineColor );
+    mBackgroundLine.SetZ( 0.1f );
+    mBackgroundEffect.Add( mBackgroundLine );
 
     Hide(false);
-    AddToStage();
-
-    // Add Tail too.
-    Image tailImage = Image::New( DEFAULT_POPUP_TAIL_BOTTOM );
+  }
+}
 
-    mTail = ImageActor::New( tailImage );
+void TextInputPopup::CreateTail()
+{
+  if ( !mTail )
+  {
+    Image tail = Image::New( POPUP_TAIL_BOTTOM );
+    mTail = ImageActor::New( tail );
     mTail.SetParentOrigin( ParentOrigin::BOTTOM_CENTER );
     mTail.SetAnchorPoint( AnchorPoint::TOP_CENTER );
-    mBackground.Add( mTail );
-    // TODO: Make tail visible, and positioned in relation to original intended position of popup (i.e. before constrained effects)
-    mTail.SetVisible(false);
+    mTail.SetName( "text-input-popup-tail" );
+    mTail.SetPosition( 0.0f, POPUP_TAIL_Y_OFFSET - POPUP_BORDER.w, 1.2f );
+    mTail.SetColor( mBackgroundColor );
+
+    Image tailEffect = Image::New( POPUP_TAIL_BOTTOM_EFFECT );
+    mTailEffect = ImageActor::New( tailEffect );
+    mTailEffect.SetParentOrigin( ParentOrigin::CENTER );
+    mTailEffect.SetAnchorPoint( AnchorPoint::CENTER );
+    mTailEffect.SetName( "text-input-popup-tail-effect" );
+    mTailEffect.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) );
+    mTailEffect.SetZ( 0.1f );
+    mTail.Add( mTailEffect );
+
+    Image tailLine = Image::New( POPUP_TAIL_BOTTOM_LINE );
+    mTailLine = ImageActor::New( tailLine );
+    mTailLine.SetParentOrigin( ParentOrigin::CENTER );
+    mTailLine.SetAnchorPoint( AnchorPoint::CENTER );
+    mTailLine.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) );
+    mTailLine.SetName( "text-input-popup-tail-line" );
+    mTailLine.SetColor( mLineColor );
+    mTailLine.SetZ( 0.1f );
+    mTailEffect.Add( mTailLine );
   }
 }
 
-void TextInputPopup::CreateDivider()
+ImageActor TextInputPopup::CreateDivider()
 {
-  if(mButtonContainer.size() > 0)
-  {
-    Image dividerImage = Image::New( DEFAULT_PANEL_BUTTON_DIVIDER );
-    ImageActor divider = ImageActor::New( dividerImage );
-    divider.SetParentOrigin( ParentOrigin::TOP_LEFT );
-    divider.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-    divider.SetPosition( Vector3( mContentSize.width, POPUP_TEXT_OFFSET.y + 5.0f, 0.0f ) );
-    // Keep track of all the dividers. As their height's need to be updated to the max. of all
-    // buttons currently added.
-    mDividerContainer.push_back(divider);
-
-    mBackground.Add( divider );
-    mContentSize.width += DIVIDER_WIDTH;
-  }
+  ImageActor divider = Toolkit::CreateSolidColorActor( mLineColor );
+  divider.SetParentOrigin( ParentOrigin::TOP_LEFT );
+  divider.SetAnchorPoint( AnchorPoint::TOP_LEFT );
+  divider.SetSize( POPUP_DIVIDER_SIZE.width , mContentSize.height );
+  divider.SetPosition( mContentSize.width - POPUP_DIVIDER_SIZE.width, 0.0f );
+
+  // Keep track of all the dividers. As their height's need to be updated to the max of all
+  // buttons currently added.
+  mDividerContainer.push_back( divider );
+
+  return divider;
 }
 
-ImageActor TextInputPopup::CreatePressedBackground( const Vector3 requiredSize, const bool finalFlag )
+ImageActor TextInputPopup::CreatePressedBackground( const Vector2& requiredSize )
 {
-  std::string pressedImageFilename;
-  Vector4 pressedImageBorder;
-  Vector2 pressedImageSize;
+  ImageActor pressedBg = Toolkit::CreateSolidColorActor( mBackgroundPressedColor );
+  pressedBg.SetDrawMode( DrawMode::OVERLAY );
+  pressedBg.SetParentOrigin( ParentOrigin::CENTER );
+  pressedBg.SetAnchorPoint( AnchorPoint::CENTER );
+  pressedBg.SetSize( requiredSize );
+  return pressedBg;
+}
 
-  if(mButtonContainer.size() == 0) // LEFT
-  {
-    pressedImageFilename = DEFAULT_BUTTON_HIGHLIGHT_LEFT;
-    pressedImageBorder = DEFAULT_BUTTON_HIGHLIGHT_LEFT_BORDER;
-  }
-  else if(!finalFlag) // CENTER
-  {
-    pressedImageFilename = DEFAULT_BUTTON_HIGHLIGHT_CENTER;
-    pressedImageBorder = DEFAULT_BUTTON_HIGHLIGHT_CENTER_BORDER;
-  }
-  else // RIGHT
+TextInputPopup::ButtonRequirement TextInputPopup::CreateRequiredButton( TextInputPopup::Buttons buttonId, std::size_t orderOfPriority,
+                                                                        const std::string& name, const std::string& caption, Image iconImage, bool enabled )
+{
+  TextInputPopup::ButtonRequirement currentButton;
+  currentButton.buttonId = buttonId;
+  currentButton.orderOfPriority = orderOfPriority;
+  currentButton.name = name;
+  currentButton.caption = caption;
+  currentButton.iconImage = iconImage;
+  currentButton.enabled = enabled;
+
+  return currentButton;
+}
+
+void TextInputPopup::CreateOrderedListOfOptions()
+{
+  mOrderListOfButtons.clear();
+
+  for ( std::size_t index= 0; index < ButtonsEnumEnd; index++ )
   {
-    pressedImageFilename = DEFAULT_BUTTON_HIGHLIGHT_RIGHT;
-    pressedImageBorder = DEFAULT_BUTTON_HIGHLIGHT_RIGHT_BORDER;
-  }
+    TextInputPopup::ButtonRequirement currentButton;
+
+    // Create button for each possible option using Option priority
+    switch ( index )
+    {
+      case ButtonsCut:
+      {
+        Image cutIcon = Image::New( OPTION_ICON_CUT );
+        currentButton = CreateRequiredButton( ButtonsCut, mCutOptionPriority, OPTION_CUT, GET_LOCALE_TEXT("IDS_COM_BODY_CUT"), cutIcon, false );
+        break;
+      }
+      case ButtonsCopy:
+      {
+        Image copyIcon = Image::New( OPTION_ICON_COPY );
+        currentButton = CreateRequiredButton( ButtonsCopy, mCopyOptionPriority, OPTION_COPY, GET_LOCALE_TEXT("IDS_COM_BODY_COPY"), copyIcon, false );
+        break;
+      }
+      case ButtonsPaste:
+      {
+        Image pasteIcon = Image::New( OPTION_ICON_PASTE );
+        currentButton = CreateRequiredButton( ButtonsPaste, mPasteOptionPriority, OPTION_PASTE, GET_LOCALE_TEXT("IDS_COM_BODY_PASTE"), pasteIcon, false );
+        break;
+      }
+      case ButtonsSelect:
+      {
+        Image selectIcon = Image::New( OPTION_ICON_SELECT );
+        currentButton = CreateRequiredButton( ButtonsSelect, mSelectOptionPriority, OPTION_SELECT_WORD, GET_LOCALE_TEXT("IDS_COM_SK_SELECT"), selectIcon, false );
+        break;
+      }
+      case ButtonsSelectAll:
+      {
+        Image selectAllIcon = Image::New( OPTION_ICON_SELECT_ALL );
+        currentButton = CreateRequiredButton( ButtonsSelectAll, mSelectAllOptionPriority, OPTION_SELECT_ALL, GET_LOCALE_TEXT("IDS_COM_BODY_SELECT_ALL"), selectAllIcon, false );
+        break;
+      }
+      case ButtonsClipboard:
+      {
+        Image clipboardIcon = Image::New( OPTION_ICON_CLIPBOARD );
+        currentButton = CreateRequiredButton( ButtonsClipboard, mClipboardOptionPriority, OPTION_CLIPBOARD, GET_LOCALE_TEXT("IDS_COM_BODY_CLIPBOARD"), clipboardIcon, false );
+        break;
+      }
+      case ButtonsEnumEnd:
+      {
+        DALI_ASSERT_DEBUG( "ButtonsEnumEnd used but an invalid choice");
+        currentButton.orderOfPriority = 0;
+        break;
+      }
+    }
+
+    bool match = false;
 
-  Image pressedImage = Image::New( pressedImageFilename );
-  ImageActor pressedImageBg = ImageActor::New( pressedImage );
-  pressedImageBg.SetStyle( ImageActor::STYLE_NINE_PATCH );
-  pressedImageBg.SetNinePatchBorder( pressedImageBorder );
-  pressedImageBg.SetSize ( requiredSize );
-  pressedImageBg.SetParentOrigin( ParentOrigin::CENTER );
-  pressedImageBg.SetAnchorPoint( AnchorPoint::CENTER );
+    // Insert button in list of buttons in order of priority setting.
+    for( std::vector<ButtonRequirement>::iterator it = mOrderListOfButtons.begin(), endIt = mOrderListOfButtons.end(); ( it != endIt && !match ); ++it )
+    {
+      const ButtonRequirement& button( *it );
+      if ( currentButton.orderOfPriority < button.orderOfPriority )
+      {
+        if ( currentButton.orderOfPriority != 0 ) // If order priority 0 then do not add button as not required.
+        {
+          mOrderListOfButtons.insert( it, currentButton );
+        }
+        match = true;
+      }
+    }
 
-  return pressedImageBg;
+    if ( !match )
+    {
+      mOrderListOfButtons.push_back( currentButton );
+    }
+  }
 }
 
-void TextInputPopup::AddOption(const std::string& name, const std::string& caption, const Image iconImage,  bool finalOption)
+Vector2 TextInputPopup::GetConstrainedTextSize( const Vector2& textSize )
 {
-  CreatePopUpBackground();
+  return  Vector2( std::min( textSize.width, OPTION_MAX_SIZE.width - OPTION_PADDING.x - OPTION_PADDING.y ), textSize.height );
+}
 
-  CreateDivider();
+void TextInputPopup::AddOption(const std::string& name, const std::string& caption, const Image iconImage, bool finalOption)
+{
+  // 1. Create container for text and icon when not pressed.
+  Actor optionContainer = Actor::New();
+  optionContainer.SetParentOrigin( ParentOrigin::TOP_LEFT );
+  optionContainer.SetAnchorPoint( AnchorPoint::TOP_LEFT );
 
-  // Create a Button with Text, Icon and highlight when pressed
+  // 2. Add text.
+  Toolkit::TextView captionTextView = CreateOptionCaption( caption, mTextColor );
+  optionContainer.Add( captionTextView );
 
-  Toolkit::PushButton button = Toolkit::PushButton::New();
-  button.SetSizePolicy( Toolkit::Control::Fixed, Toolkit::Control::Fixed );
-  button.SetName( name );
+  // 3. Add icon.
+  ImageActor icon = CreateOptionIcon( iconImage, mIconColor );
+  optionContainer.Add( icon );
 
-  // Create container for text and icon when not pressed
-  Actor iconTextContainer = Actor::New();
-  iconTextContainer.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  iconTextContainer.SetAnchorPoint( AnchorPoint::TOP_LEFT );
+  // 4. Calculate the size of option.
+  const Vector2 textSize = Vector2( captionTextView.GetNaturalSize() );
+  captionTextView.SetSize( GetConstrainedTextSize( textSize ) );
 
-  // 1. Add text.
-  TextStyle style;
-  style.SetFontPointSize( PointSize( DEFAULT_UI_FONT_SIZE ) );
-  MarkupProcessor::StyledTextArray styledCaption;
-  styledCaption.push_back( MarkupProcessor::StyledText( Text( caption ), style ) );
-  Toolkit::TextView label = CreateOptionText( styledCaption );
-  label.SetName( name );
 
-  iconTextContainer.Add( label );
+  const Vector2 optionSize( std::max( textSize.x, OPTION_ICON_SIZE.x ) +  OPTION_PADDING.x + OPTION_PADDING.z,
+                            OPTION_PADDING.z + OPTION_ICON_SIZE.y + OPTION_GAP_ICON_TEXT + textSize.y + OPTION_MAX_SIZE.y );
 
-  // Get natural size of text and then constrain it to bounds.
-  const Vector3 textSize = label.GetNaturalSize();
-  const Vector3 constrainedTextSize = Min( textSize, TEXT_LABEL_MAX_SIZE );
-  Vector3 buttonSize( Max(constrainedTextSize + BUTTON_TEXT_ENLARGE, BUTTON_TEXT_MINIMUM_SIZE) );
-  buttonSize = ( Min(buttonSize, BUTTON_TEXT_MAXIMUM_SIZE) );
-  label.SetSize( Min( buttonSize + BUTTON_TEXT_ENLARGE, constrainedTextSize ) );
 
-  button.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  button.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  button.SetSize( buttonSize );
-  button.SetPosition( Vector3( mContentSize.width, POPUP_TEXT_OFFSET.y, 0.0f ) );
+  Vector2 constrainedOptionSize = Min( Max( optionSize, OPTION_MIN_SIZE ), OPTION_MAX_SIZE );
 
-  // 2. Add icon
-  ImageActor icon = CreateOptionIcon( iconImage );
+  constrainedOptionSize.height = constrainedOptionSize.height - POPUP_BORDER.y - POPUP_BORDER.z;
 
-  iconTextContainer.Add( icon );
+  // 5. Create a option.
+  Toolkit::PushButton option = Toolkit::PushButton::New();
+  option.SetSizePolicy( Toolkit::Control::Fixed, Toolkit::Control::Fixed );
+  option.SetParentOrigin( ParentOrigin::TOP_LEFT );
+  option.SetAnchorPoint( AnchorPoint::TOP_LEFT );
+  option.SetSize( constrainedOptionSize );
+  option.SetX( mContentSize.x );
+  option.SetName( name );
+  option.SetAnimationTime( 0.0f );
+  option.ClickedSignal().Connect( this, &TextInputPopup::OnButtonPressed );
+  mButtons.Add( option );
 
-  // 3. Add highlight - Pressed state in Pushbutton needs a new image which means creating the text and icon again but including a highlight this time.
-  ImageActor pressedImageBg = CreatePressedBackground( buttonSize, finalOption );
+  // 6. Set the normal option image.
+  option.SetButtonImage( optionContainer );
 
-  Actor iconPressedTextContainer = Actor::New();
-  iconPressedTextContainer.SetDrawMode( DrawMode::OVERLAY );
+  // 7. Update the content size.
+  mContentSize.x += constrainedOptionSize.x;
+  mContentSize.y = std::max ( constrainedOptionSize.y, mContentSize.y );
 
-  Toolkit::TextView pressedLabel = CreateOptionText( styledCaption );
-  pressedLabel.SetSize( Min( buttonSize, TEXT_LABEL_MAX_SIZE ) );
-  ImageActor pressedIcon = CreateOptionIcon( iconImage );
+  // 8. Create the pressed container.
+  Actor optionPressedContainer = Actor::New();
 
-  iconPressedTextContainer.Add( pressedImageBg );
-  iconPressedTextContainer.Add( pressedLabel );
-  iconPressedTextContainer.Add( pressedIcon );
+  // 9. Add option pressed background.
+  Vector2 optionPressedBackgroundSize( constrainedOptionSize.x - POPUP_BORDER.x, mContentSize.y - POPUP_BORDER.y - POPUP_BORDER.w );
+  ImageActor optionPressedBackground = CreatePressedBackground( optionPressedBackgroundSize );
+  optionPressedContainer.Add( optionPressedBackground );
 
-  // Set Pressed button Image
-  iconPressedTextContainer.SetSize( buttonSize );
-  button.SetPressedImage( iconPressedTextContainer );
+  // 10. Add pressed text
+  Toolkit::TextView pressedCaptionTextView = CreateOptionCaption( caption, mTextPressedColor );
+  pressedCaptionTextView.SetSize( GetConstrainedTextSize( Vector2( pressedCaptionTextView.GetNaturalSize() ) ) );
+  optionPressedBackground.Add( pressedCaptionTextView );
 
-  // Set Normal button Image
-  iconTextContainer.SetSize( buttonSize );
-  button.SetButtonImage( iconTextContainer );
-  mBackground.Add( button );
+  // 11. Add pressed icon
+  ImageActor pressedIcon = CreateOptionIcon( iconImage, mIconPressedColor );
+  optionPressedBackground.Add( pressedIcon );
 
-  // Update content size (represents size of all content i.e. from top-left of first button, to bottom-right of last button)
-  mContentSize.width += buttonSize.width;
-  mContentSize.height = std::max(mContentSize.height, buttonSize.height);
-  mButtonContainer.push_back(button);
+  // 12. Set the pressed option image
+  option.SetPressedImage( optionPressedContainer );
 
-  // resize all dividers based on the height content (i.e. max of all button heights)
-  const float dividerHeight = mContentSize.height - DIVIDER_MARGIN;
-  for(ActorIter i = mDividerContainer.begin(); i != mDividerContainer.end(); ++i)
+  // 13. Add the divider
+  if ( !finalOption )
   {
-    i->SetSize( DIVIDER_WIDTH, dividerHeight );
+    ImageActor divider = CreateDivider();
+    mButtons.Add( divider );
   }
-
-  Vector3 popupSize( Max(mContentSize + POPUP_TEXT_ENLARGE, POPUP_MINIMUM_SIZE) );
-
-  mBackground.SetSize( popupSize );
-  // Make Root Actor reflect the size of its content
-  mRootActor.SetSize( popupSize );
-  mTail.SetPosition(Vector3(0.0f, -20.0f, 0.0f));
-
-  button.ClickedSignal().Connect( this, &TextInputPopup::OnButtonPressed );
 }
 
 void TextInputPopup::Hide(bool animate)
 {
-  if(mBackground)
+  if( mRoot )
   {
     if(mAnimation)
     {
@@ -457,8 +546,8 @@ void TextInputPopup::Hide(bool animate)
     if(animate)
     {
       mAnimation = Animation::New( HIDE_POPUP_ANIMATION_DURATION );
-      mAnimation.AnimateTo( Property(mBackground, Actor::SCALE), Vector3::ZERO, AlphaFunctions::EaseOut );
-      mAnimation.AnimateTo( Property(mBackground, Actor::COLOR_ALPHA), 0.0f, AlphaFunctions::EaseOut );
+      mAnimation.AnimateTo( Property(mRoot, Actor::SCALE), Vector3::ZERO, AlphaFunctions::EaseOut );
+      mAnimation.AnimateTo( Property(mRoot, Actor::COLOR_ALPHA), 0.0f, AlphaFunctions::EaseOut );
       mAnimation.Play();
 
       mAnimation.FinishedSignal().Connect( this, &TextInputPopup::OnHideFinished );
@@ -466,28 +555,35 @@ void TextInputPopup::Hide(bool animate)
     }
     else
     {
-      mBackground.SetProperty(Actor::SCALE, Vector3::ZERO);
-      mBackground.SetProperty(Actor::COLOR_ALPHA, 0.0f);
+      mRoot.SetProperty(Actor::SCALE, Vector3::ZERO);
+      mRoot.SetProperty(Actor::COLOR_ALPHA, 0.0f);
       mState = StateHidden;
     }
   }
 }
 
-void TextInputPopup::Show(bool animate)
+void TextInputPopup::Show( Actor target, bool animate )
 {
-  if(mBackground)
+  if( mRoot )
   {
+    mRoot.SetSensitive( true );
+
     if(mAnimation)
     {
       mAnimation.Clear();
       mAnimation.Reset();
     }
 
+    if ( target )
+    {
+      AddToParent( target );
+    }
+
     if(animate)
     {
       mAnimation = Animation::New( SHOW_POPUP_ANIMATION_DURATION );
-      mAnimation.AnimateTo( Property(mBackground, Actor::SCALE), Vector3::ONE, AlphaFunctions::EaseOut );
-      mAnimation.AnimateTo( Property(mBackground, Actor::COLOR_ALPHA), 1.0f, AlphaFunctions::EaseOut );
+      mAnimation.AnimateTo( Property(mRoot, Actor::SCALE), Vector3::ONE, AlphaFunctions::EaseOut );
+      mAnimation.AnimateTo( Property(mRoot, Actor::COLOR_ALPHA), 1.0f, AlphaFunctions::EaseOut );
       mAnimation.Play();
 
       mAnimation.FinishedSignal().Connect( this, &TextInputPopup::OnShowFinished );
@@ -495,19 +591,13 @@ void TextInputPopup::Show(bool animate)
     }
     else
     {
-      mBackground.SetProperty(Actor::SCALE, Vector3::ONE);
-      mBackground.SetProperty(Actor::COLOR_ALPHA, 1.0f);
+      mRoot.SetProperty(Actor::SCALE, Vector3::ONE);
+      mRoot.SetProperty(Actor::COLOR_ALPHA, 1.0f);
       mState = StateShown;
     }
   }
 }
 
-void TextInputPopup::SetAlternativeOffset(Vector2 offset)
-{
-  mRootActor.SetProperty( mAlternativeOffsetProperty, offset );
-  ApplyConfinementConstraint();
-}
-
 TextInputPopup::State TextInputPopup::GetState(void) const
 {
   return mState;
@@ -515,7 +605,272 @@ TextInputPopup::State TextInputPopup::GetState(void) const
 
 Actor TextInputPopup::GetRootActor() const
 {
-  return mRootActor;
+  return mRoot;
+}
+
+// Styling
+
+void TextInputPopup::SetCutPastePopupColor( const Vector4& color )
+{
+  mBackgroundColor = color;
+}
+
+const Vector4& TextInputPopup::GetCutPastePopupColor() const
+{
+  return mBackgroundColor;
+}
+
+void TextInputPopup::SetCutPastePopupPressedColor( const Vector4& color )
+{
+  mBackgroundPressedColor = color;
+}
+
+const Vector4& TextInputPopup::GetCutPastePopupPressedColor() const
+{
+  return mBackgroundPressedColor;
+}
+
+void TextInputPopup::SetCutPastePopupBorderColor( const Vector4& color )
+{
+  mLineColor = color;
+}
+
+const Vector4& TextInputPopup::GetCutPastePopupBorderColor() const
+{
+  return mLineColor;
+}
+
+void TextInputPopup::SetCutPastePopupIconColor( const Vector4& color )
+{
+  mIconColor = color;
+}
+
+const Vector4& TextInputPopup::GetCutPastePopupIconColor() const
+{
+  return mIconColor;
+}
+
+void TextInputPopup::SetCutPastePopupIconPressedColor( const Vector4& color )
+{
+  mIconPressedColor = color;
+}
+
+const Vector4& TextInputPopup::GetCutPastePopupIconPressedColor()
+{
+  return mIconPressedColor;
+}
+
+void TextInputPopup::SetCutPastePopupTextColor( const Vector4& color )
+{
+  mTextColor = color;
+}
+
+const Vector4& TextInputPopup::GetCutPastePopupTextColor()
+{
+  return mTextColor;
+}
+
+void TextInputPopup::SetCutPastePopupTextPressedColor( const Vector4& color )
+{
+  mTextPressedColor = color;
+}
+
+const Vector4& TextInputPopup::GetCutPastePopupTextPressedColor()
+{
+  return mTextPressedColor;
+}
+
+void TextInputPopup::TogglePopupButtonOnOff( TextInputPopup::Buttons requiredButton, bool enable )
+{
+  bool match ( false );
+  for( std::vector<ButtonRequirement>::iterator it = mOrderListOfButtons.begin(), endIt = mOrderListOfButtons.end(); ( it != endIt && !match ); ++it )
+   {
+     ButtonRequirement& button( *it );
+     if ( requiredButton == button.buttonId )
+     {
+       button.enabled = enable;
+       match = true;
+     }
+   }
+}
+
+void TextInputPopup::SetButtonPriorityPosition( TextInputPopup::Buttons button, unsigned int priority )
+{
+  switch ( button )
+  {
+    case ButtonsCut:
+    {
+      mCutOptionPriority = priority;
+      break;
+    }
+    case ButtonsCopy:
+    {
+      mCopyOptionPriority = priority;
+      break;
+    }
+    case ButtonsPaste:
+    {
+      mPasteOptionPriority = priority;
+      break;
+    }
+    case ButtonsSelect:
+    {
+      mSelectOptionPriority = priority;
+      break;
+    }
+    case ButtonsSelectAll:
+    {
+      mSelectAllOptionPriority = priority;
+      break;
+    }
+    case ButtonsClipboard:
+    {
+      mClipboardOptionPriority = priority;
+      break;
+    }
+    case ButtonsEnumEnd:
+    {
+      DALI_ASSERT_DEBUG( "ButtonsEnumEnd used but an invalid choice");
+      break;
+    }
+  }
+  CreateOrderedListOfOptions(); // Update list of options as priority changed.
+}
+
+unsigned int TextInputPopup::GetButtonPriorityPosition( TextInputPopup::Buttons button ) const
+{
+  unsigned int priority = 0;
+
+  switch ( button )
+  {
+    case ButtonsCut:
+    {
+      priority = mCutOptionPriority;
+      break;
+    }
+    case ButtonsCopy:
+    {
+      priority = mCopyOptionPriority;
+      break;
+    }
+    case ButtonsPaste:
+    {
+      priority = mPasteOptionPriority;
+      break;
+    }
+    case ButtonsSelect:
+    {
+      priority = mSelectOptionPriority;
+      break;
+    }
+    case ButtonsSelectAll:
+    {
+      priority = mSelectAllOptionPriority;
+      break;
+    }
+    case ButtonsClipboard:
+    {
+      priority = mClipboardOptionPriority;
+      break;
+    }
+    case ButtonsEnumEnd:
+    {
+      DALI_ASSERT_DEBUG( "ButtonsEnumEnd used but an invalid choice");
+      break;
+    }
+  }
+
+  return priority;
+}
+
+void TextInputPopup::AddPopupOptions()
+{
+  mContentSize = Vector2( POPUP_MIN_SIZE.width, ( POPUP_BORDER.y + POPUP_BORDER.z ) );
+
+  // 1. Create the background.
+  CreateBackground();
+
+  // 2. Create the tail.
+  CreateTail();
+
+  // 3. Create the scroll view and Actor to hold buttons.
+  CreateScrollView();
+
+  // Clear previous buttons
+  if ( mButtons )
+  {
+    UnparentAndReset( mButtons );
+  }
+
+  mButtons = Actor::New();
+  mButtons.SetParentOrigin( ParentOrigin::CENTER );
+  mButtons.SetAnchorPoint( AnchorPoint::CENTER );
+
+  // 4. Create the options and add into the scroll view.
+  for( std::vector<ButtonRequirement>::const_iterator it = mOrderListOfButtons.begin(), endIt = mOrderListOfButtons.end(); ( it != endIt ); ++it )
+  {
+    const ButtonRequirement& button( *it );
+    if ( button.enabled )
+    {
+      AddOption( button.name, button.caption, button.iconImage, it != ( endIt - 1 ) ? false : true );
+    }
+  }
+
+  // 5. Calculate size of content and of popup including borders
+  const Vector2 popupSize = Vector2( std::min ( ( POPUP_BORDER.x + mContentSize.width + POPUP_BORDER.z ), POPUP_MAX_SIZE.width ) ,  POPUP_BORDER.y + mContentSize.height + POPUP_BORDER.w );
+
+  mVisiblePopUpSize = Vector3( popupSize.width - POPUP_BORDER.x - POPUP_BORDER.z , mContentSize.height, 1.0f);
+
+  mBackground.SetSize( popupSize.x + 28 - POPUP_BORDER.x - POPUP_BORDER.z, popupSize.y + 28 - POPUP_BORDER.y - POPUP_BORDER.w );
+  mButtons.SetSize( mVisiblePopUpSize.GetVectorXY() );
+
+  // 6. Set the scroll view ruler.
+  UpdateScrollViewRulerAndSize( mVisiblePopUpSize.GetVectorXY() );
+
+  // 7. Create stencil
+  const Vector2 stencilSize = Vector2( mVisiblePopUpSize.GetVectorXY() );
+
+  CreateLayer( stencilSize );
+  CreateStencil( stencilSize );
+
+  mScrollView.Add ( mButtons );
+  mLayer.Add( mScrollView);
+  mLayer.Add( mStencil);
+  mRoot.Add( mTail );
+  mRoot.Add( mBackground );
+  mRoot.Add( mLayer );
+
+  // 8. Set the root size.
+  mRoot.SetSize( popupSize );   // Make Root Actor reflect the size of its content
+}
+
+const Vector3& TextInputPopup::GetVisibileSize() const
+{
+  return mVisiblePopUpSize;
+}
+
+void TextInputPopup::SetTailPosition( const Vector3& position, bool yAxisFlip )
+{
+  mPopupTailXPosition = std::max(  position.x, POPUP_TAIL_SIZE.width*0.5f - mVisiblePopUpSize.width*0.5f + POPUP_BORDER.x );
+
+  std::min( mPopupTailXPosition, mVisiblePopUpSize.width*0.5f - POPUP_BORDER.x - POPUP_TAIL_SIZE.width*0.5f );
+
+  mTail.SetX( mPopupTailXPosition );
+
+  if ( yAxisFlip )
+  {
+    Image tail = Image::New( POPUP_TAIL_TOP );
+    Image tailEffect = Image::New( POPUP_TAIL_TOP_EFFECT );
+    Image tailLine = Image::New( POPUP_TAIL_TOP_LINE );
+
+    mTail.SetImage( tail );
+    mTailEffect.SetImage( tailEffect );
+    mTailLine.SetImage( tailLine );
+
+    mTail.SetParentOrigin( ParentOrigin::TOP_CENTER );
+    mTail.SetAnchorPoint( AnchorPoint::BOTTOM_CENTER );
+    mTail.SetY( POPUP_BORDER.y - POPUP_TAIL_Y_OFFSET );
+  }
 }
 
 bool TextInputPopup::OnButtonPressed( Toolkit::Button button )
@@ -559,3 +914,4 @@ TextInputPopup::ShowFinishedSignalV2& TextInputPopup::ShowFinishedSignal()
 } // namespace Toolkit
 
 } // namespace Dali
+
index 1f58905..4348ca8 100644 (file)
@@ -1,26 +1,28 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_TEXT_INPUT_POPUP_H__
 #define __DALI_TOOLKIT_INTERNAL_TEXT_INPUT_POPUP_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
 
 #include <dali-toolkit/public-api/controls/text-view/text-view.h>
+#include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.h>
 
 namespace Dali
 {
@@ -46,6 +48,34 @@ public:
     StateShown
   };
 
+  enum Buttons
+  {
+    ButtonsCut,
+    ButtonsCopy,
+    ButtonsPaste,
+    ButtonsSelect,
+    ButtonsSelectAll,
+    ButtonsClipboard,
+    ButtonsEnumEnd
+  };
+
+  struct ButtonRequirement
+  {
+    TextInputPopup::Buttons buttonId;
+    std::size_t orderOfPriority;
+    std::string name;
+    std::string caption;
+    Image iconImage;
+    bool enabled;
+  };
+
+  static const char* const OPTION_SELECT_WORD;
+  static const char* const OPTION_SELECT_ALL;
+  static const char* const OPTION_CUT;
+  static const char* const OPTION_COPY;
+  static const char* const OPTION_PASTE;
+  static const char* const OPTION_CLIPBOARD;
+
   // Signal names
   static const char* const SIGNAL_PRESSED;
   static const char* const SIGNAL_HIDE_FINISHED;
@@ -86,46 +116,58 @@ public:
   TextInputPopup();
 
   /**
-   * @return The root actor of for this popup is returned.
-   */
-  Actor Self();
-
-  /**
    * Clears popup options (popup no longer exists)
    */
   void Clear();
 
   /**
    * Create the label
+   * @return the newly created Image actor to be used as the icon
+   */
+  ImageActor CreateOptionIcon( Image iconImage, const Vector4& color );
+
+  /**
+   * Create the caption
    * @param[in] styledCaption The text to be displayed
    * @return the newly created label
    */
-  Toolkit::TextView CreateOptionText( const MarkupProcessor::StyledTextArray& styledCaption );
+  Toolkit::TextView CreateOptionCaption( const std::string& caption, const Vector4& color );
 
   /**
-   * Create the label
-   * @param[in] iconImage the image to be used
-   * @return the newly created Image actor to be used as the icon
+   * Creates and sets up the background
    */
-  ImageActor CreateOptionIcon( Image iconImage );
+  void CreateBackground();
 
   /**
-   * Creates and sets up the popup background
+   * Create and set up the tail
    */
-  void CreatePopUpBackground();
+  void CreateTail();
 
   /**
    * Create divider if multiple options
+   * @return Return a divider image actor
    */
-  void CreateDivider();
+  ImageActor CreateDivider();
 
   /**
-   * Create a background to be used when button pressed
+   * Create a background to be used when option pressed
    * @param[in] requiredSize size Image actor should be
-   * @param[in] finalFlag flag to be set if option is the final one.
    * @return Returns an Image Actor to be used a pressed background
    */
-  ImageActor CreatePressedBackground( const Vector3 requiredSize, const bool finalFlag );
+  ImageActor CreatePressedBackground( const Vector2& requiredSize );
+
+  /**
+   * Creates a ordered vector of button options
+   */
+  void CreateOrderedListOfOptions();
+
+  /**
+   * Get the TextSize after constrained by the Popup margins.
+   * @param[in] textSize Natural size of text
+   * @return Vector2 constrained text size.
+   *
+   */
+  Vector2 GetConstrainedTextSize( const Vector2& textSize );
 
   /**
    * Adds a popup option.
@@ -147,16 +189,9 @@ public:
   /**
    * Shows the popup
    * @param[in] animate (optional) whether to animate popup to show state over time (i.e. tween).
+   * @param[in] target Actor to parent popup.
    */
-  void Show(bool animate = true);
-
-  /**
-   * Sets Alternative offset property.
-   * The alternative offset property is how much to move in the horizontal and vertical
-   * axes when the popup goes out of the screen on the left/right sides or top/bottom sides.
-   * @param[in] offset Vector holding the left/right offset (x) and top/bottom offset (y)
-   */
-  void SetAlternativeOffset(Vector2 offset);
+  void Show( Actor target, bool animate = true );
 
   /**
    * Returns the current state of the popup.
@@ -170,12 +205,153 @@ public:
    */
   Actor GetRootActor() const;
 
+  /**
+   * Set the Cut and Paste buttons color when in normal state
+   * @param[in] color color to use
+   */
+  void SetCutPastePopupColor( const Vector4& color );
+
+  /**
+   * Get the set color of the Copy and Paste Popup buttons
+   * @return color
+   */
+  const Vector4& GetCutPastePopupColor() const;
+
+  /**
+   * Set the Cut and Paste button color when pressed.
+   * @param[in] color color to use
+   */
+  void SetCutPastePopupPressedColor( const Vector4& color );
+
+  /**
+   * Get the Cut and Paste pressed button color.
+   * @return color
+   */
+  const Vector4& GetCutPastePopupPressedColor() const;
+
+  /**
+   * Set the border color of the popup
+   * @param[in] color required color
+   */
+  void SetCutPastePopupBorderColor( const Vector4& color );
+
+  /**
+   * Get the border color
+   * @return Vector4 the color of the border
+   */
+  const Vector4& GetCutPastePopupBorderColor() const;
+
+  /**
+   * Toggle if a popup button should be enabled (shown) or not
+   * @param[in]  requiredButton Button Id to enable or disable
+   * @param[in]  enable toggle to enable (true) or disable (false)
+   */
+  void TogglePopupButtonOnOff( TextInputPopup::Buttons requiredButton, bool enable );
+
+  /**
+   * Set the Button Priority Position
+   * @param[in] button Button id for priority to be set on
+   * @param[in] priority Priority level, 1 is highest so will appear first.  0 priority will not show the button.
+   */
+  void SetButtonPriorityPosition( TextInputPopup::Buttons button, unsigned int priority );
+
+  /**
+   * Set the icon color of the popup
+   * @param[in] color required color
+   */
+  void SetCutPastePopupIconColor( const Vector4& color );
+
+  /**
+   * Get the popup icon color
+   * @return Vector4 the color of the popup icon
+   */
+  const Vector4& GetCutPastePopupIconColor() const;
+
+  /**
+   * Set the pressed icon color of the popup
+   * @param[in] color required color
+   */
+  void SetCutPastePopupIconPressedColor( const Vector4& color );
+
+  /**
+   * Get the popup pressed icon color
+   * @return Vector4 the color of the popup pressed icon
+   */
+  const Vector4& GetCutPastePopupIconPressedColor();
+
+  /**
+   * Set the text color of the popup
+   * @param[in] color required color
+   */
+  void SetCutPastePopupTextColor( const Vector4& color );
+
+  /**
+   * Get the popup text color
+   * @return Vector4 the color of the popup text
+   */
+  const Vector4& GetCutPastePopupTextColor();
+
+  /**
+   * Set the pressed text color of the popup
+   * @param[in] color required color
+   */
+  void SetCutPastePopupTextPressedColor( const Vector4& color );
+
+  /**
+   * Get the popup pressed text color
+   * @return Vector4 the color of the popup pressed text
+   */
+  const Vector4& GetCutPastePopupTextPressedColor();
+
+  /**
+   * Get the Button Priority Position
+   * @param[in] button Button id to get priority of
+   * @return the button priority, 1 is highest, 0 is not shown.
+   */
+  unsigned int GetButtonPriorityPosition( TextInputPopup::Buttons button ) const;
+
+  /**
+   * Adds Popup options which have been enabled.
+   */
+  void AddPopupOptions();
+
+  /**
+   * Get Visible size of the Popup, excludes content that needs scrolling
+   * @return Vector3 size of Popup
+   */
+  const Vector3& GetVisibileSize() const;
+
+  /**
+   * Sets the positon of the PopUp tail relative to TextInput
+   * @param[in] position Position to set
+   * @param[in] yAxisFlip If tail should be flipped in y axis
+   */
+  void SetTailPosition( const Vector3& position, const bool yAxisFlip );
+
 private:
 
   /**
-   * Adds popup to the stage (ideally on a separate top-most layer and as an overlay)
+   * Creates a Button with the required parameters.
+   * @param[in] buttonId enum representing the button
+   * @param[in] orderOfPriority Position in toolbar button should be position, 1 is first from left to right.
+   * @param[in] name Given name for Button actor
+   * @param[in] caption Text to display in button
+   * @param[in] iconImage Icon to display in button
+   * @param[in] enabled Toggle if button should be used or not, this is decided by the current state/conditions.
+   */
+  TextInputPopup::ButtonRequirement CreateRequiredButton( TextInputPopup::Buttons buttonId, std::size_t orderOfPriority,
+                                                                          const std::string& name, const std::string& caption, Image iconImage, bool enabled );
+
+  /**
+   * @brief Adds popup to the given parent
+   * @paran[in] parent target to add Popup to
+   */
+  void AddToParent( Actor parent );
+
+  /**
+   * @brief Removes Popup from Parent
    */
-  void AddToStage();
+  void RemoveFromParent();
 
   /**
    * Applies constraint to keep Popup in view within the desired area.
@@ -183,12 +359,47 @@ private:
   void ApplyConfinementConstraint();
 
   /**
-   * Removes popup from the stage.
+   * Applies constraint to keep the Tail attached to Popup
+   */
+  void ApplyTailConstraint();
+
+  /**
+   * Create Layer to be used with stencil to allow scrolling of buttons which do not fit in visible popup
+   * @param[in] size of the layer.
+   */
+  void CreateLayer( const Vector2& size );
+
+  /**
+   * Create a stencil to clip the scroll view content
+   * @param[in] size of the stencil.
+   */
+  void CreateStencil( const Vector2& size );
+
+  /**
+   * Popup has started to scroll
+   * @param[in] position current scroll view position
+   */
+  void OnScrollStarted( const Vector3& position );
+
+  /**
+   * Popup has stopped scrolling
+   * @param[in] position current scroll view position
+   */
+  void OnScrollCompleted( const Vector3& position );
+
+  /**
+   * Create a scroll view to hold the popup buttons and allow scrolling if too many buttons to fit within the visible boundary
+   */
+  void CreateScrollView();
+
+  /**
+   * Set the scroll view size and ruler.
+   * @param[in] visibleSize size of the visible scroll view
    */
-  void RemoveFromStage();
+  void UpdateScrollViewRulerAndSize( const Vector2& visibleSize );
 
   /**
-   * Called when a button is pressed in the popup
+   * Called when a button is pressed in the Popup
    * @param[in] button The button pressed.
    */
   bool OnButtonPressed( Toolkit::Button button );
@@ -210,15 +421,44 @@ private:
 private:
 
   State mState;                                       ///< Popup State.
-  Actor mRootActor;                                   ///< The actor which all popup content is added to (i.e. panel and buttons)
-  Property::Index mAlternativeOffsetProperty;         ///< Property [Vector3] how much to offset the popup if it goes out of the screen
+  Layer mRoot;                                        ///< The actor which all popup content is added to (i.e. panel and buttons)
+  Actor mButtons;                                     ///< Actor which holds all the buttons, sensitivity can be set on all buttons via this actor
   ImageActor mBackground;                             ///< The background popup panel
+  ImageActor mBackgroundEffect;                       ///< The background effect
+  ImageActor mBackgroundLine;                         ///< The background line
   ImageActor mTail;                                   ///< The tail for the popup
-  Vector3 mContentSize;                               ///< Size of Content (i.e. Buttons)
-  ActorContainer mButtonContainer;                    ///< List of buttons added to popup.
+  ImageActor mTailEffect;                             ///< the tail effect
+  ImageActor mTailLine;                               ///< The border/outline around the tail
+
+  Vector3 mVisiblePopUpSize;                          ///< Visible Size of Popup excluding content that needs scrolling.
+  float mPopupTailXPosition;                          ///< X position of PopUp tail.
+
+  Vector2 mContentSize;                               ///< Size of Content (i.e. Buttons)
   ActorContainer mDividerContainer;                   ///< List of dividers added to popup.
   Animation mAnimation;                               ///< Popup Hide/Show animation.
 
+  Layer mLayer;                                       ///< Layer to be used with Stencil
+  Actor mStencil;                                     ///< Stencil to clip scrollview
+  Toolkit::ScrollView mScrollView;                    ///< Scrollview to house the popup
+
+  std::vector<ButtonRequirement> mOrderListOfButtons;        // List of buttons in the order to be displayed and a flag to indicate if needed.
+
+  Vector4 mBackgroundColor;              // Color of the background of the text input popup
+  Vector4 mBackgroundPressedColor;       // Color of the option background.
+  Vector4 mLineColor;                    // Color of the line around the text input popup
+  Vector4 mIconColor;                    // Color of the popup icon.
+  Vector4 mIconPressedColor;             // Color of the popup icon when pressed.
+  Vector4 mTextColor;                    // Color of the popup text.
+  Vector4 mTextPressedColor;             // Color of the popup text when pressed.
+
+  // Priority of Options/Buttons in the Cut and Paste pop-up, higher priority buttons are displayed first, left to right.
+  std::size_t mSelectOptionPriority;  // Position of Select Button
+  std::size_t mSelectAllOptionPriority; // Position of Select All button
+  std::size_t mCutOptionPriority; // Position of Cut button
+  std::size_t mCopyOptionPriority; // Position of Copy button
+  std::size_t mPasteOptionPriority;  // Position of Paste button
+  std::size_t mClipboardOptionPriority;  // Position of Clipboard button
+
   PressedSignalV2 mPressedSignal;              ///< Signal emitted when a button within the popup is pressed.
   HideFinishedSignalV2 mHideFinishedSignal;    ///< Signal emitted when popup is completely hidden
   ShowFinishedSignalV2 mShowFinishedSignal;    ///< Signal emitted when popup is completely shown
index a3b5d4d..e16d686 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_TEXT_INPUT_POPUP_NEW_H__
 #define __DALI_TOOLKIT_INTERNAL_TEXT_INPUT_POPUP_NEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
diff --git a/base/dali-toolkit/internal/controls/text-input/text-input-text-highlight-impl.cpp b/base/dali-toolkit/internal/controls/text-input/text-input-text-highlight-impl.cpp
new file mode 100644 (file)
index 0000000..64ab2a2
--- /dev/null
@@ -0,0 +1,385 @@
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// INTERNAL INCLUDES
+#include <dali-toolkit/internal/controls/text-input/text-input-text-highlight-impl.h>
+
+#include <dali/dali.h>
+
+#include <dali/integration-api/debug.h>
+
+#include <math.h>
+#include <sstream>
+#include <algorithm>
+#include <libintl.h>
+
+using namespace Dali;
+using namespace std;
+
+namespace
+{
+  /**
+   * Selection state enumeration (FSM)
+   */
+  enum SelectionState
+  {
+    SelectionNone,                            ///< Currently not encountered selected section.
+    SelectionStarted,                         ///< Encountered selected section
+    SelectionFinished                         ///< Finished selected section
+  };
+
+  const Vector4 LIGHTBLUE( 10.0f/255.0f, 140.0f/255.0f, 210.0f/255.0f, 1.0f );    // todo make this a setting
+
+  const float CHARACTER_THRESHOLD( 2.5f ); // todo check if unified method to do this in Text
+}
+
+namespace Dali
+{
+
+namespace Toolkit
+{
+
+namespace Internal
+{
+
+// Default constructor
+TextHighlight::TextHighlight( TextViewCharacterPositioning& textViewCharacterPositioning ) :
+    mTextViewCharacterPositioning( textViewCharacterPositioning )
+{
+}
+
+TextHighlight::~TextHighlight()
+{
+}
+
+void TextHighlight::GetVisualTextSelection(std::vector<bool>& selectedVisualText, std::size_t startSelection, std::size_t endSelection,
+                                           Toolkit::TextView::TextLayoutInfo& textLayoutInfo )
+{
+  std::vector<int>::iterator it = textLayoutInfo.mCharacterLogicalToVisualMap.begin();
+  std::vector<int>::iterator startSelectionIt = textLayoutInfo.mCharacterLogicalToVisualMap.begin() + std::min(startSelection, endSelection);
+  std::vector<int>::iterator endSelectionIt = textLayoutInfo.mCharacterLogicalToVisualMap.begin() + std::max(startSelection, endSelection);
+  std::vector<int>::iterator end = textLayoutInfo.mCharacterLogicalToVisualMap.end();
+
+  selectedVisualText.resize( mTextViewCharacterPositioning.GetNumberOfCharactersInText() );
+
+  // Deselect text prior to startSelectionIt
+  for(;it!=startSelectionIt;++it)
+  {
+    selectedVisualText[*it] = false;
+  }
+
+  // Select text from startSelectionIt -> endSelectionIt
+  for(;it!=endSelectionIt;++it)
+  {
+    selectedVisualText[*it] = true;
+  }
+
+  // Deselect text after endSelection
+  for(;it!=end;++it)
+  {
+    selectedVisualText[*it] = false;
+  }
+
+  selectedVisualText.resize( mTextViewCharacterPositioning.GetNumberOfCharactersInText(), false );
+}
+
+// Calculate the dimensions of the quads they will make the highlight mesh
+TextHighlight::HighlightInfo TextHighlight::CalculateHighlightInfo( std::size_t handlePositionStart, std::size_t handlePositionEnd, Toolkit::TextView::TextLayoutInfo& textLayoutInfo )
+{
+  // At the moment there is no public API to modify the block alignment option.
+  const bool blockAlignEnabled = true;
+
+  TextHighlight::HighlightInfo newHighlightInfo;
+  //newHighlightInfo.mQuadList.clear(); // clear last quad information.
+
+  if ( !mTextViewCharacterPositioning.IsTextEmpty() && !textLayoutInfo.mCharacterLogicalToVisualMap.empty() )
+  {
+    // Get vector of flags representing characters that are selected (true) vs unselected (false).
+    std::vector<bool> selectedVisualText;
+    GetVisualTextSelection(selectedVisualText, handlePositionStart, handlePositionEnd, textLayoutInfo );
+    std::vector<bool>::iterator selectedIt(selectedVisualText.begin());
+    std::vector<bool>::iterator selectedEndIt(selectedVisualText.end());
+
+    SelectionState selectionState = SelectionNone;          ///< Current selection status of cursor over entire text.
+    float rowLeft = 0.0f;
+    float rowRight = 0.0f;
+    // Keep track of the TextView's min/max extents. Should be able to query this from TextView.
+    float maxRowLeft = std::numeric_limits<float>::max();
+    float maxRowRight = 0.0f;
+
+    Toolkit::TextView::CharacterLayoutInfoContainer::iterator it = textLayoutInfo.mCharacterLayoutInfoTable.begin();
+    Toolkit::TextView::CharacterLayoutInfoContainer::iterator end = textLayoutInfo.mCharacterLayoutInfoTable.end();
+
+    Toolkit::TextView::CharacterLayoutInfoContainer::iterator lastIt = it;
+
+    // Scan through entire text.
+    while(it != end)
+    {
+      // selectionState: None when not in selection, Started when in selection, and Ended when reached end of selection.
+
+      Toolkit::TextView::CharacterLayoutInfo& charInfo(*it);
+      bool charSelected( false );
+      if( selectedIt != selectedEndIt )
+      {
+        charSelected = *selectedIt++;
+      }
+
+      if(selectionState == SelectionNone)
+      {
+        if(charSelected)
+        {
+          selectionState = SelectionStarted;
+          rowLeft = charInfo.mPosition.x - textLayoutInfo.mScrollOffset.x;
+          rowRight = rowLeft + charInfo.mSize.width;
+        }
+      }
+      else if(selectionState == SelectionStarted)
+      {
+        // break selection on:
+        // 1. new line causing selection break. (\n or wordwrap)
+        // 2. character not selected.
+        if(charInfo.mPosition.y - lastIt->mPosition.y > CHARACTER_THRESHOLD ||
+           !charSelected)
+        {
+          // finished selection.
+          // TODO: TextView should have a table of visual rows, and each character a reference to the row
+          // that it resides on. That way this enumeration is not necessary.
+          Vector2 min, max;
+          if(lastIt->mIsNewLineChar)
+          {
+            // If the last character is a new line, then to get the row rect, we need to scan from the character before the new line.
+            lastIt = std::max( textLayoutInfo.mCharacterLayoutInfoTable.begin(), lastIt - 1 );
+          }
+          const Size rowSize( mTextViewCharacterPositioning.GetRowRectFromCharacterPosition( lastIt - textLayoutInfo.mCharacterLayoutInfoTable.begin(), min, max ) );
+          maxRowLeft = std::min(maxRowLeft, min.x);
+          maxRowRight = std::max(maxRowRight, max.x);
+          float rowBottom = lastIt->mPosition.y - textLayoutInfo.mScrollOffset.y;
+          float rowTop = rowBottom - rowSize.height;
+
+          // Still selected, and block-align mode then set rowRight to max, so it can be clamped afterwards
+          if(charSelected && blockAlignEnabled)
+          {
+            rowRight = std::numeric_limits<float>::max();
+          }
+          newHighlightInfo.AddQuad( rowLeft, rowTop, rowRight, rowBottom );
+
+          selectionState = SelectionNone;
+
+          // Still selected? start a new selection
+          if( charSelected )
+          {
+            // if block-align mode then set rowLeft to min, so it can be clamped afterwards
+            rowLeft = blockAlignEnabled ? 0.0f : charInfo.mPosition.x - textLayoutInfo.mScrollOffset.x;
+            rowRight = ( charInfo.mPosition.x - textLayoutInfo.mScrollOffset.x ) + charInfo.mSize.width;
+            selectionState = SelectionStarted;
+          }
+        }
+        else
+        {
+          // build up highlight(s) with this selection data.
+          rowLeft = std::min( charInfo.mPosition.x - textLayoutInfo.mScrollOffset.x, rowLeft );
+          rowRight = std::max( ( charInfo.mPosition.x - textLayoutInfo.mScrollOffset.x ) + charInfo.mSize.width, rowRight );
+        }
+      }
+
+      lastIt = it++;
+    }
+
+    // If reached end, and still on selection, then close selection.
+    if(it == end)
+    {
+      if(selectionState == SelectionStarted)
+      {
+        // finished selection.
+        Vector2 min, max;
+        if(lastIt->mIsNewLineChar)
+        {
+          lastIt = std::max( textLayoutInfo.mCharacterLayoutInfoTable.begin(), lastIt - 1 );
+        }
+        const Size rowSize( mTextViewCharacterPositioning.GetRowRectFromCharacterPosition( lastIt - textLayoutInfo.mCharacterLayoutInfoTable.begin(), min, max ) );
+        maxRowLeft = std::min(maxRowLeft, min.x);
+        maxRowRight = std::max(maxRowRight, max.x);
+        float rowBottom = lastIt->mPosition.y - textLayoutInfo.mScrollOffset.y;
+        float rowTop = rowBottom - rowSize.height;
+        newHighlightInfo.AddQuad( rowLeft, rowTop, rowRight, rowBottom );
+      }
+    }
+
+    // Get the top left and bottom right corners.
+    const Toolkit::TextView::CharacterLayoutInfo& firstCharacter( *textLayoutInfo.mCharacterLayoutInfoTable.begin() );
+    const Vector2 topLeft( maxRowLeft, firstCharacter.mPosition.y - firstCharacter.mSize.height );
+    const Vector2 bottomRight( topLeft.x + textLayoutInfo.mTextSize.width, topLeft.y + textLayoutInfo.mTextSize.height );
+
+    // Clamp quads so they appear to clip to borders of the whole text.
+    newHighlightInfo.Clamp2D( topLeft, bottomRight );
+
+    // For block-align align Further Clamp quads to max left and right extents
+    if(blockAlignEnabled)
+    {
+      // BlockAlign: Will adjust highlight to block:
+      // i.e.
+      //   H[ello] (top row right = max of all rows right)
+      // [--this-] (middle rows' left = min of all rows left, middle rows' right = max of all rows right)
+      // [is some] (middle rows' left = min of all rows left, middle rows' right = max of all rows right)
+      // [text] (bottom row left = min of all rows left)
+      // (common in SMS messaging selection)
+      //
+      // As opposed to the default which is tight text highlighting.
+      //   H[ello]
+      //   [this]
+      // [is some]
+      // [text]
+      // (common in regular text editors/web browser selection)
+
+      newHighlightInfo.Clamp2D( Vector2(maxRowLeft, topLeft.y), Vector2(maxRowRight, bottomRight.y ) );
+    }
+  }
+
+  return newHighlightInfo;
+}
+
+void TextHighlight::UpdateHighlight( TextHighlight::HighlightInfo& newHighlightInfo )
+{
+//  Construct a Mesh with a texture to be used as the highlight 'box' for selected text
+//
+//  Example scenarios where mesh is made from 3, 1, 2, 2 ,3 or 3 quads.
+//
+//   [ TOP   ]  [ TOP ]      [TOP ]  [ TOP    ]      [ TOP  ]      [ TOP  ]
+//  [ MIDDLE ]             [BOTTOM]  [BOTTOM]      [ MIDDLE ]   [ MIDDLE  ]
+//  [ BOTTOM]                                      [ MIDDLE ]   [ MIDDLE  ]
+//                                                 [BOTTOM]     [ MIDDLE  ]
+//                                                              [BOTTOM]
+//
+//  Each quad is created as 2 triangles.
+//  Middle is just 1 quad regardless of its size.
+//
+//  (0,0)         (0,0)
+//     0*    *2     0*       *2
+//     TOP          TOP
+//     3*    *1     3*       *1
+//  4*       *1     4*     *6
+//     MIDDLE         BOTTOM
+//  6*       *5     7*     *5
+//  6*    *8
+//   BOTTOM
+//  9*    *7
+//
+
+  // vertex and triangle buffers should always be present if MeshActor is alive.
+  //HighlightInfo newHighlightInfo = CalculateHighlightInfo( handlePositionStart, handlePositionEnd );
+  MeshData::VertexContainer vertices;
+  Dali::MeshData::FaceIndices faceIndices;
+
+  if( !newHighlightInfo.mQuadList.empty() )
+  {
+    std::vector<QuadCoordinates>::iterator iter = newHighlightInfo.mQuadList.begin();
+    std::vector<QuadCoordinates>::iterator endIter = newHighlightInfo.mQuadList.end();
+
+    // vertex position defaults to (0 0 0)
+    MeshData::Vertex vertex;
+    // set normal for all vertices as (0 0 1) pointing outward from TextInput Actor.
+    vertex.nZ = 1.0f;
+
+    for(std::size_t v = 0; iter != endIter; ++iter,v+=4 )
+    {
+      // Add each quad geometry (a sub-selection) to the mesh data.
+
+      // 0-----1
+      // |\    |
+      // | \ A |
+      // |  \  |
+      // | B \ |
+      // |    \|
+      // 2-----3
+
+      QuadCoordinates& quad = *iter;
+      // top-left (v+0)
+      vertex.x = quad.min.x;
+      vertex.y = quad.min.y;
+      vertices.push_back( vertex );
+
+      // top-right (v+1)
+      vertex.x = quad.max.x;
+      vertex.y = quad.min.y;
+      vertices.push_back( vertex );
+
+      // bottom-left (v+2)
+      vertex.x = quad.min.x;
+      vertex.y = quad.max.y;
+      vertices.push_back( vertex );
+
+      // bottom-right (v+3)
+      vertex.x = quad.max.x;
+      vertex.y = quad.max.y;
+      vertices.push_back( vertex );
+
+      // triangle A (3, 1, 0)
+      faceIndices.push_back( v + 3 );
+      faceIndices.push_back( v + 1 );
+      faceIndices.push_back( v );
+
+      // triangle B (0, 2, 3)
+      faceIndices.push_back( v );
+      faceIndices.push_back( v + 2 );
+      faceIndices.push_back( v + 3 );
+    }
+
+    mMeshData.SetVertices( vertices );
+    mMeshData.SetFaceIndices( faceIndices );
+
+    mHighlightMesh.UpdateMeshData(mMeshData);
+  }
+}
+
+Mesh TextHighlight::CreateHighLightMesh()
+{
+  mMeshData = MeshData( );
+  mMeshData.SetHasNormals( true );
+
+  mCustomMaterial = Material::New("CustomMaterial");
+  mCustomMaterial.SetDiffuseColor( LIGHTBLUE );
+
+  mMeshData.SetMaterial( mCustomMaterial );
+
+  mHighlightMesh = Mesh::New( mMeshData );
+
+  return mHighlightMesh;
+}
+
+void TextHighlight::HighlightInfo::AddQuad( float x1, float y1, float x2, float y2 )
+{
+  QuadCoordinates quad(x1, y1, x2, y2);
+  mQuadList.push_back( quad );
+}
+
+void TextHighlight::HighlightInfo::Clamp2D(const Vector2& min, const Vector2& max)
+{
+  for(std::size_t i = 0;i < mQuadList.size(); i++)
+  {
+    QuadCoordinates& quad = mQuadList[i];
+
+    quad.min.Clamp(min, max);
+    quad.max.Clamp(min, max);
+  }
+}
+
+} // Internal
+
+} // namespace Toolkit
+
+} // namespace Dali
+
index ae95f7d..d0bed03 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_TEXT_HIGHLIGHT_H__
 #define __DALI_TOOLKIT_INTERNAL_TEXT_HIGHLIGHT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -85,12 +86,12 @@ public:
      * @param[in] x2 right co-ordinate
      * @param[in] y2 bottom co-ordinate
      */
-    void AddQuad( float x1, float y1, float x2, float y2 ){};
+    void AddQuad( float x1, float y1, float x2, float y2 );
 
     /**
      * Clamps all quads to fit within a min -> max 2D boundary.
      */
-    void Clamp2D(const Vector2& min, const Vector2& max){};
+    void Clamp2D(const Vector2& min, const Vector2& max);
 
     QuadContainer mQuadList;                                 ///< List of quads (sub-selections that form to create complete selection)
   };
@@ -99,12 +100,12 @@ public:
    * Constructor
    * @param[in] textViewCharacterPositioning TextViewCharacterPositioning to be used for positioning information.
    */
-  TextHighlight( TextViewCharacterPositioning& textViewCharacterPositioning ):mTextViewCharacterPositioning( textViewCharacterPositioning ){};
+  TextHighlight( TextViewCharacterPositioning& textViewCharacterPositioning );
 
   /**
    * Destructor
    */
-  ~TextHighlight(){};
+  ~TextHighlight();
 
   /**
    * Gets the table of the visual text positions which has a flag
@@ -119,7 +120,7 @@ public:
    * @param[in] textLayoutInfo TextView character layout information
    */
   void GetVisualTextSelection(std::vector<bool>& selectedVisualText, std::size_t startSelection, std::size_t endSelection,
-                              Toolkit::TextView::TextLayoutInfo& textLayoutInfo){};
+                              Toolkit::TextView::TextLayoutInfo& textLayoutInfo);
 
   /**
    * Iterates between selection handles and computes the info required to build the highlight mesh
@@ -127,19 +128,18 @@ public:
    * @param[in] handlePositionEnd ending handle position
    * @return textHighlight target TextHighlight
    */
-  TextHighlight::HighlightInfo CalculateHighlightInfo( std::size_t handlePositionStart, std::size_t handlePositionEnd, Toolkit::TextView::TextLayoutInfo& textLayoutInfo )
-  { return HighlightInfo();};
+  TextHighlight::HighlightInfo CalculateHighlightInfo( std::size_t handlePositionStart, std::size_t handlePositionEnd, Toolkit::TextView::TextLayoutInfo& textLayoutInfo );
 
   /**
    * Calculates new Mesh data so highlight moves with selection handles.
    * @param[in] newHighlightInfo HighlightInfo calculated by CalculateHighlightInfo
    */
-  void UpdateHighlight( TextHighlight::HighlightInfo& newHighlightInfo ){};
+  void UpdateHighlight( TextHighlight::HighlightInfo& newHighlightInfo );
 
   /**
    * Creates the Mesh data needed by the Mesh Actor
    */
-  Mesh CreateHighLightMesh(){return Mesh();};
+  Mesh CreateHighLightMesh();
 
 private:
 
index 60815cb..94c263e 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_TEXT_INPUT_TEXT_STYLE_H__
 #define __DALI_TOOLKIT_INTERNAL_TEXT_INPUT_TEXT_STYLE_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali/dali.h>
 
index d905e22..88a7778 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_TEXT_INPUT_TEXTVIEW_CHARACTER_POSITIONS_H__
 #define __DALI_TOOLKIT_INTERNAL_TEXT_INPUT_TEXTVIEW_CHARACTER_POSITIONS_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-///
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/internal/controls/text-input/text-input-text-style-impl.h>
index 3040654..87f0984 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // FILE HEADER
 #include "relayout-utilities.h"
@@ -1707,7 +1708,7 @@ void CalculateUnderlineInfo( TextView::RelayoutData& relayoutData, TextViewRelay
             ++textUnderlineStatus.mLineGlobalIndex; // If it's a new line, point to the next one.
           }
 
-          if( characterGroup.mStyledText.mStyle.GetUnderline() )
+          if( characterGroup.mStyledText.mStyle.IsUnderlineEnabled() )
           {
             if( !textUnderlineStatus.mCurrentUnderlineStatus || // Current character is underlined but previous one it wasn't.
                 isNewLine )                                     // Current character is underlined and is the first of current laid-out line.
@@ -1824,7 +1825,7 @@ void SetUnderlineInfo( TextView::RelayoutData& relayoutData )
             }
           }
 
-          if( characterGroup.mStyledText.mStyle.GetUnderline() )
+          if( characterGroup.mStyledText.mStyle.IsUnderlineEnabled() )
           {
             if( textUnderlineStatus.mCurrentUnderlineStatus )
             {
@@ -1844,15 +1845,12 @@ void SetUnderlineInfo( TextView::RelayoutData& relayoutData )
 
             textUnderlineStatus.mCurrentUnderlineStatus = true;
 
-            // Sets the underline's thickness.
-            characterGroup.mStyledText.mStyle.SetUnderlineThickness( underlineInfo.mMaxThickness );
-
             // Before setting the position it needs to be adjusted to match the base line.
             const float bearingOffset = ( currentLineHeight - currentLineAscender ) - ( characterGroup.mSize.height - characterGroup.mAscender );
             const float positionOffset = ( underlineInfo.mMaxHeight - characterGroup.mSize.height ) - bearingOffset;
 
-            // Sets the underline's position.
-            characterGroup.mStyledText.mStyle.SetUnderlinePosition( underlineInfo.mPosition - positionOffset );
+            // Sets the underline's parameters.
+            characterGroup.mStyledText.mStyle.SetUnderline( true, underlineInfo.mMaxThickness, underlineInfo.mPosition - positionOffset );
 
             // Mark the group of characters to be set the new style into the text-actor.
             characterGroup.mSetStyle = true;
index afd116f..cb14524 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_RELAYOUT_UTILITIES_H__
 #define __DALI_TOOLKIT_INTERNAL_RELAYOUT_UTILITIES_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/alignment/alignment.h>
index a35f4dc..43c0690 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // FILE HEADER
 
index 5a09de8..c5b079a 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SPLIT_BY_CHAR_POLICIES_H__
 #define __DALI_TOOLKIT_INTERNAL_SPLIT_BY_CHAR_POLICIES_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include "text-view-impl.h"
index 5529f58..7d803c2 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // FILE HEADER
 
index ddaac96..c923e8f 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SPLIT_BY_NEW_LINE_CHAR_POLICIES_H__
 #define __DALI_TOOLKIT_INTERNAL_SPLIT_BY_NEW_LINE_CHAR_POLICIES_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include "text-view-impl.h"
index 49fcfdc..ad64236 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // FILE HEADER
 
index b17984c..f7a10ba 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SPLIT_BY_WORD_POLICIES_H__
 #define __DALI_TOOLKIT_INTERNAL_SPLIT_BY_WORD_POLICIES_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include "text-view-impl.h"
index 3395b42..f33cccc 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/internal/controls/text-view/text-actor-cache.h>
index 4848610..c826c27 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_TEXT_ACTOR_CACHE_H__
 #define __DALI_TOOLKIT_INTERNAL_TEXT_ACTOR_CACHE_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/actors/text-actor.h>
index ecb2c74..1baeda0 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <fribidi/fribidi.h>
index 269b8ce..cc2fd60 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_TEXT_PROCESSOR_H__
 #define __DALI_TOOLKIT_TEXT_PROCESSOR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/markup-processor/markup-processor.h>
index 9cc8870..e6eed65 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include "text-view-processor-types.h"
index 16a8305..ed842c3 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "text-view-impl.h"
@@ -711,11 +712,13 @@ void TextView::SetSnapshotModeEnabled( bool enable )
 
       mOffscreenImageActor.SetAnchorPoint( ParentOrigin::CENTER );
       mOffscreenImageActor.SetParentOrigin( ParentOrigin::CENTER );
+      mOffscreenImageActor.SetBlendFunc( BlendingFactor::ONE, BlendingFactor::ONE_MINUS_SRC_ALPHA,
+                                         BlendingFactor::ONE, BlendingFactor::ONE );
 
       Actor self = Self();
       self.Add( mOffscreenRootActor );
       self.Add( mOffscreenImageActor );
-      mOffscreenImageActor.SetScale(Vector3(1.f, -1.f, 1.f));
+      mOffscreenImageActor.SetScale( Vector3( 1.f, -1.f, 1.f ) );
     }
     else
     {
@@ -1009,7 +1012,7 @@ TextView::RelayoutData& TextView::RelayoutData::operator=( const TextView::Relay
 }
 
 TextView::TextView()
-: Control( false ),  // doesn't require touch events
+: Control( REQUIRES_STYLE_CHANGE_SIGNALS  ),
   mCurrentStyledText(),
   mTextViewProcessorOperations(),
   mLayoutParameters( Toolkit::TextView::SplitByNewLineChar,
@@ -1149,7 +1152,7 @@ void TextView::OnInitialize()
 }
 
 
-void TextView::OnStyleChange( StyleChange change )
+void TextView::OnFontChange( bool defaultFontChange, bool defaultFontSizeChange )
 {
   mRelayoutData.mTextLayoutInfo.mEllipsizeLayoutInfo = TextViewProcessor::WordLayoutInfo();
   TextViewProcessor::CreateWordTextInfo( mLayoutParameters.mEllipsizeText,
index e4e7dd4..8d76347 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_TEXT_VIEW_H__
 #define __DALI_TOOLKIT_INTERNAL_TEXT_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/common/dali-vector.h>
@@ -363,9 +364,9 @@ private: // From Control
   virtual void OnInitialize();
 
   /**
-   * @copydoc Toolkit::Control::OnStyleChange()
+   * @copydoc Toolkit::Control::OnFontChange( )
    */
-  virtual void OnStyleChange( StyleChange change );
+  virtual void OnFontChange( bool defaultFontChange, bool defaultFontSizeChange );
 
   /**
    * @copydoc Toolkit::Control::OnControlSizeSet()
index 60ad206..bf4efe5 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include "text-view-line-processor.h"
index 975efb5..a7732e1 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_TEXT_VIEW_LINE_PROCESSOR_H__
 #define __DALI_TOOLKIT_INTERNAL_TEXT_VIEW_LINE_PROCESSOR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include "text-view-impl.h"
index 7671c34..100c570 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include "text-view-processor-dbg.h"
@@ -122,24 +123,28 @@ void dbgPrint( const TextLayoutInfo& textInfo )
 
 void dbgPrint( const TextStyle& style )
 {
-  std::cout << "         font name : " << style.GetFontName() << std::endl;
-  std::cout << "        font style : " << style.GetFontStyle() << std::endl;
-  std::cout << "   font point size : " << style.GetFontPointSize() << std::endl;
-  std::cout << "            weight : " << style.GetWeight() << std::endl;
-  std::cout << "        text color : " << style.GetTextColor() << std::endl;
-  std::cout << "           italics : " << style.GetItalics() << std::endl;
-  std::cout << "         underline : " << style.GetUnderline() << std::endl;
-  std::cout << "            shadow : " << style.GetShadow() << std::endl;
-  std::cout << "      shadow color : " << style.GetShadowColor() << std::endl;
-  std::cout << "     shadow offset : " << style.GetShadowOffset() << std::endl;
-  std::cout << "              glow : " << style.GetGlow() << std::endl;
-  std::cout << "     italics angle : " << style.GetItalicsAngle() << std::endl;
-  std::cout << "        glow color : " << style.GetGlowColor() << std::endl;
-  std::cout << "    glow intensity : " << style.GetGlowIntensity() << std::endl;
-  std::cout << "       smooth edge : " << style.GetSmoothEdge() << std::endl;
-  std::cout << "           outline : " << style.GetOutline() << std::endl;
-  std::cout << "     outline color : " << style.GetOutlineColor() << std::endl;
-  std::cout << " outline thickness : " << style.GetOutlineThickness() << std::endl;
+  std::cout << "             font name : " << style.GetFontName() << std::endl;
+  std::cout << "            font style : " << style.GetFontStyle() << std::endl;
+  std::cout << "       font point size : " << style.GetFontPointSize() << std::endl;
+  std::cout << "                weight : " << style.GetWeight() << std::endl;
+  std::cout << "            text color : " << style.GetTextColor() << std::endl;
+  std::cout << "               italics : " << style.IsItalicsEnabled() << std::endl;
+  std::cout << "             underline : " << style.IsUnderlineEnabled() << std::endl;
+  std::cout << "                shadow : " << style.IsShadowEnabled() << std::endl;
+  std::cout << "          shadow color : " << style.GetShadowColor() << std::endl;
+  std::cout << "         shadow offset : " << style.GetShadowOffset() << std::endl;
+  std::cout << "                  glow : " << style.IsGlowEnabled() << std::endl;
+  std::cout << "         italics angle : " << style.GetItalicsAngle() << std::endl;
+  std::cout << "            glow color : " << style.GetGlowColor() << std::endl;
+  std::cout << "        glow intensity : " << style.GetGlowIntensity() << std::endl;
+  std::cout << "           smooth edge : " << style.GetSmoothEdge() << std::endl;
+  std::cout << "               outline : " << style.IsOutlineEnabled() << std::endl;
+  std::cout << "         outline color : " << style.GetOutlineColor() << std::endl;
+  std::cout << "     outline thickness : " << style.GetOutlineThickness() << std::endl;
+  std::cout << "              gradient : " << style.IsGradientEnabled() << std::endl;
+  std::cout << "        gradient color : " << style.GetGradientColor() << std::endl;
+  std::cout << "  gradient start point : " << style.GetGradientStartPoint() << std::endl;
+  std::cout << "    gradient end point : " << style.GetGradientEndPoint() << std::endl;
 }
 
 void dbgPrint( const TextInfoIndices& indices )
index 56a3907..96cf037 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_TEXT_VIEW_PROCESSOR_DBG_H__
 #define __DALI_TOOLKIT_INTERNAL_TEXT_VIEW_PROCESSOR_DBG_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include "text-view-processor-types.h"
index 63360b7..541ccfe 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include "text-view-processor-helper-functions.h"
index 1798758..c841409 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_TEXT_VIEW_PROCESSOR_HELPER_FUNCTIONS_H__
 #define __DALI_TOOLKIT_INTERNAL_TEXT_VIEW_PROCESSOR_HELPER_FUNCTIONS_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include "text-view-processor-types.h"
index 0498cc0..7bc3e4f 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_TEXT_VIEW_PROCESSOR_TYPES_H__
 #define __DALI_TOOLKIT_INTERNAL_TEXT_VIEW_PROCESSOR_TYPES_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index 482877a..28ebb83 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/integration-api/debug.h>
@@ -1128,7 +1129,7 @@ void InitializeTextActorInfo( TextView::RelayoutData& relayoutData )
 
             if( characterLayout.mIsColorGlyph ||
                 !character.IsWhiteSpace() || // A new line character is also a white space.
-                ( character.IsWhiteSpace() && characterLayout.mStyledText.mStyle.GetUnderline() ) )
+                ( character.IsWhiteSpace() && characterLayout.mStyledText.mStyle.IsUnderlineEnabled() ) )
             {
               // Do not create a glyph-actor if it's a white space (without underline) or a new line character.
 
index 7114df6..5ca4160 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_TEXT_VIEW_PROCESSOR_H__
 #define __DALI_TOOLKIT_INTERNAL_TEXT_VIEW_PROCESSOR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include "text-view-impl.h"
index a76833f..cb58f37 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include "text-view-word-group-processor.h"
index 2ff5554..3fe7d09 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_TEXT_VIEW_WORD_GROUP_PROCESSOR_H__
 #define __DALI_TOOLKIT_INTERNAL_TEXT_VIEW_WORD_GROUP_PROCESSOR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include "text-view-impl.h"
index e123930..c21c5c0 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // FILE HEADER
 #include "text-view-word-processor.h"
@@ -155,7 +156,7 @@ void CreateWordTextInfo( const MarkupProcessor::StyledTextArray& word,
       characterLayoutInfo.mSize.height = characterLayoutInfo.mHeight;
       characterLayoutInfo.mAscender = ascender;
 
-      if( styledCharacter.mStyle.GetUnderline() )
+      if( styledCharacter.mStyle.IsUnderlineEnabled() )
       {
         characterLayoutInfo.mUnderlineThickness = font.GetUnderlineThickness(); // Both thickness and position includes the
         characterLayoutInfo.mUnderlinePosition = font.GetUnderlinePosition();   // vertical pad adjust used in effects like glow or shadow.
index 3ef6d26..ab03c6b 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_TEXT_VIEW_WORD_PROCESSOR_H__
 #define __DALI_TOOLKIT_INTERNAL_TEXT_VIEW_WORD_PROCESSOR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include "text-view-impl.h"
index cdf9819..da07f2f 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "localized-control-factory-impl.h"
index fa8b24c..ac49226 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_LOCALIZED_CONTROL_FACTORY_H__
 #define __DALI_TOOLKIT_INTERNAL_LOCALIZED_CONTROL_FACTORY_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <string>
index 1fa0e57..75591bd 100644 (file)
@@ -4,7 +4,6 @@ toolkit_base_src_files = \
    $(toolkit_base_src_dir)/controls/relayout-controller.cpp \
    $(toolkit_base_src_dir)/controls/relayout-controller-impl.cpp \
    $(toolkit_base_src_dir)/controls/relayout-helper.cpp \
-   $(toolkit_base_src_dir)/controls/style-change-processor.cpp \
    $(toolkit_base_src_dir)/controls/alignment/alignment-impl.cpp \
    $(toolkit_base_src_dir)/controls/buttons/button-impl.cpp \
    $(toolkit_base_src_dir)/controls/buttons/check-box-button-default-painter-impl.cpp \
@@ -17,6 +16,7 @@ toolkit_base_src_files = \
    $(toolkit_base_src_dir)/controls/scroll-component/scroll-bar-internal-impl.cpp \
    $(toolkit_base_src_dir)/controls/scroll-component/scroll-bar-internal.cpp \
    $(toolkit_base_src_dir)/controls/scrollable/item-view/item-view-impl.cpp \
+   $(toolkit_base_src_dir)/controls/scrollable/bouncing-effect-actor.cpp \
    $(toolkit_base_src_dir)/controls/scrollable/scrollable-impl.cpp \
    $(toolkit_base_src_dir)/controls/scrollable/scroll-connector-impl.cpp \
    $(toolkit_base_src_dir)/controls/scrollable/scroll-view/scroll-base-impl.cpp \
@@ -37,6 +37,7 @@ toolkit_base_src_files = \
    $(toolkit_base_src_dir)/controls/table-view/table-view-impl.cpp \
    $(toolkit_base_src_dir)/controls/text-input/text-input-decorator-impl.cpp \
    $(toolkit_base_src_dir)/controls/text-input/text-input-handles-impl.cpp \
+   $(toolkit_base_src_dir)/controls/text-input/text-input-text-highlight-impl.cpp \
    $(toolkit_base_src_dir)/controls/text-input/text-input-impl.cpp \
    $(toolkit_base_src_dir)/controls/text-input/text-input-popup-impl.cpp \
    $(toolkit_base_src_dir)/controls/text-view/relayout-utilities.cpp   \
@@ -56,4 +57,14 @@ toolkit_base_src_files = \
    $(toolkit_base_src_dir)/factory/localized-control-factory-impl.cpp \
    $(toolkit_base_src_dir)/focus-manager/focus-manager-impl.cpp \
    $(toolkit_base_src_dir)/focus-manager/keyboard-focus-manager-impl.cpp \
-   $(toolkit_base_src_dir)/focus-manager/keyinput-focus-manager-impl.cpp
+   $(toolkit_base_src_dir)/focus-manager/keyinput-focus-manager-impl.cpp \
+   $(toolkit_base_src_dir)/styling/style-manager-impl.cpp \
+   $(toolkit_base_src_dir)/builder/builder-impl.cpp \
+   $(toolkit_base_src_dir)/builder/builder-animations.cpp \
+   $(toolkit_base_src_dir)/builder/builder-set-property.cpp \
+   $(toolkit_base_src_dir)/builder/builder-signals.cpp \
+   $(toolkit_base_src_dir)/builder/builder-actor.cpp \
+   $(toolkit_base_src_dir)/builder/json-parser-state.cpp \
+   $(toolkit_base_src_dir)/builder/json-parser-impl.cpp \
+   $(toolkit_base_src_dir)/builder/tree-node-manipulator.cpp \
+   $(toolkit_base_src_dir)/builder/replacement.cpp
index 2ca17e5..dbf4146 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "focus-manager-impl.h"
@@ -548,16 +549,6 @@ bool FocusManager::GetWrapMode() const
   return mIsWrapped;
 }
 
-void FocusManager::SetEndCapFeedbackEnabled(bool enabled)
-{
-  mIsEndcapFeedbackEnabled = enabled;
-}
-
-bool FocusManager::GetEndCapFeedbackEnabled() const
-{
-  return mIsEndcapFeedbackEnabled;
-}
-
 void FocusManager::SetFocusIndicatorActor(Actor indicator)
 {
   mFocusIndicatorActor = indicator;
@@ -576,22 +567,22 @@ bool FocusManager::DoMoveFocus(FocusIDIter focusIDIter, bool forward, bool wrapp
   if( (forward && ++focusIDIter == mFocusIDContainer.end())
     || (!forward && focusIDIter-- == mFocusIDContainer.begin()) )
   {
-    if(wrapped)
+    if(mIsEndcapFeedbackEnabled)
     {
-      if(mIsEndcapFeedbackEnabled)
+      if(mIsEndcapFeedbackPlayed == false)
       {
-        if(mIsEndcapFeedbackPlayed == false)
-        {
-          // play sound & skip to move once
-          Dali::SoundPlayer soundPlayer = Dali::SoundPlayer::Get();
-          soundPlayer.PlaySound(FOCUS_CHAIN_END_SOUND_FILE);
+        // play sound & skip moving once
+        Dali::SoundPlayer soundPlayer = Dali::SoundPlayer::Get();
+        soundPlayer.PlaySound(FOCUS_CHAIN_END_SOUND_FILE);
 
-          mIsEndcapFeedbackPlayed = true;
-          return true;
-        }
-        mIsEndcapFeedbackPlayed = false;
+        mIsEndcapFeedbackPlayed = true;
+        return true;
       }
+      mIsEndcapFeedbackPlayed = false;
+    }
 
+    if(wrapped)
+    {
       if(forward)
       {
         focusIDIter = mFocusIDContainer.begin();
@@ -604,12 +595,6 @@ bool FocusManager::DoMoveFocus(FocusIDIter focusIDIter, bool forward, bool wrapp
     }
     else
     {
-      if(mIsEndcapFeedbackEnabled)
-      {
-        Dali::SoundPlayer soundPlayer = Dali::SoundPlayer::Get();
-        soundPlayer.PlaySound(FOCUS_CHAIN_END_SOUND_FILE);
-      }
-
       DALI_LOG_INFO( gLogFilter, Debug::General, "[%s:%d] Overshot\n", __FUNCTION__, __LINE__);
       // Send notification for handling overshooted situation
       mFocusOvershotSignalV2.Emit(GetCurrentFocusActor(), forward ? Toolkit::FocusManager::OVERSHOT_NEXT : Toolkit::FocusManager::OVERSHOT_PREVIOUS);
@@ -708,10 +693,11 @@ bool FocusManager::ChangeAccessibilityStatus()
   return true;
 }
 
-bool FocusManager::AccessibilityActionNext()
+bool FocusManager::AccessibilityActionNext(bool allowEndFeedback)
 {
   if(mIsAccessibilityTtsEnabled)
   {
+    mIsEndcapFeedbackEnabled = allowEndFeedback;
     return MoveFocusForward();
   }
   else
@@ -720,10 +706,11 @@ bool FocusManager::AccessibilityActionNext()
   }
 }
 
-bool FocusManager::AccessibilityActionPrevious()
+bool FocusManager::AccessibilityActionPrevious(bool allowEndFeedback)
 {
   if(mIsAccessibilityTtsEnabled)
   {
+    mIsEndcapFeedbackEnabled = allowEndFeedback;
     return MoveFocusBackward();
   }
   else
@@ -772,7 +759,7 @@ bool FocusManager::AccessibilityActionRead(bool allowReadAgain)
   return ret;
 }
 
-bool FocusManager::AccessibilityActionReadNext()
+bool FocusManager::AccessibilityActionReadNext(bool allowEndFeedback)
 {
   if(mIsAccessibilityTtsEnabled)
   {
@@ -784,7 +771,7 @@ bool FocusManager::AccessibilityActionReadNext()
   }
 }
 
-bool FocusManager::AccessibilityActionReadPrevious()
+bool FocusManager::AccessibilityActionReadPrevious(bool allowEndFeedback)
 {
   if(mIsAccessibilityTtsEnabled)
   {
@@ -858,6 +845,21 @@ bool FocusManager::AccessibilityActionBack()
   return mIsAccessibilityTtsEnabled;
 }
 
+bool FocusManager::AccessibilityActionTouch(const TouchEvent& touchEvent)
+{
+  bool handled = false;
+
+  // TODO: Need to convert the touchevent for the focused actor?
+
+  Dali::Toolkit::Control control = Dali::Toolkit::Control::DownCast(GetCurrentFocusActor());
+  if(control)
+  {
+    handled = control.GetImplementation().OnAccessibilityTouch(touchEvent);
+  }
+
+  return handled;
+}
+
 bool FocusManager::HandlePanGesture(const Integration::PanGestureEvent& panEvent)
 {
   bool handled = false;
index c69557c..c64d490 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_FOCUS_MANAGER_H__
 #define __DALI_TOOLKIT_INTERNAL_FOCUS_MANAGER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <string>
@@ -170,16 +171,6 @@ public:
   bool GetWrapMode() const;
 
   /**
-   * @copydoc Toolkit::FocusManager::SetEndCapFeedbackEnabled
-   */
-  void SetEndCapFeedbackEnabled(bool enabled);
-
-  /**
-   * @copydoc Toolkit::FocusManager::GetEndCapFeedbackEnabled
-   */
-  bool GetEndCapFeedbackEnabled() const;
-
-  /**
    * @copydoc Toolkit::FocusManager::SetFocusIndicatorActor
    */
   void SetFocusIndicatorActor(Actor indicator);
@@ -303,27 +294,31 @@ private:
 
   /**
    * Perform the accessibility action to move focus to the previous focusable actor (by one finger flick up).
+   * @param allowEndFeedback true if end of list feedback should be played when the focus is alread reached to the end
    * @return whether the accessibility action is performed or not.
    */
-  virtual bool AccessibilityActionPrevious();
+  virtual bool AccessibilityActionPrevious(bool allowEndFeedback);
 
   /**
    * Perform the accessibility action to move focus to the next focusable actor (by one finger flick down).
+   * @param allowEndFeedback true if end of list feedback should be played when the focus is alread reached to the end
    * @return whether the accessibility action is performed or not.
    */
-  virtual bool AccessibilityActionNext();
+  virtual bool AccessibilityActionNext(bool allowEndFeedback);
 
   /**
    * Perform the accessibility action to move focus to the previous focusable actor (by one finger flick left).
+   * @param allowEndFeedback true if end of list feedback should be played when the focus is alread reached to the end
    * @return whether the accessibility action is performed or not.
    */
-  virtual bool AccessibilityActionReadPrevious();
+  virtual bool AccessibilityActionReadPrevious(bool allowEndFeedback);
 
   /**
    * Perform the accessibility action to move focus to the next focusable actor (by one finger flick right).
+   * @param allowEndFeedback true if end of list feedback should be played when the focus is alread reached to the end
    * @return whether the accessibility action is performed or not.
    */
-  virtual bool AccessibilityActionReadNext();
+  virtual bool AccessibilityActionReadNext(bool allowEndFeedback);
 
   /**
    * Perform the accessibility action to focus and read the actor (by one finger tap or move).
@@ -359,6 +354,13 @@ private:
    */
   virtual bool AccessibilityActionBack();
 
+  /**
+   * Perform the accessibility action to mouse move (by one finger tap & hold and move).
+   * @param touchEvent touch event structure
+   * @return whether the accessibility action is performed or not.
+   */
+  virtual bool AccessibilityActionTouch(const TouchEvent& touchEvent);
+
 private:
 
   // Undefined
index b3ade96..a6ed055 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "keyboard-focus-manager-impl.h"
index a30b562..0a1bad5 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_KEYBOARD_FOCUS_MANAGER_H__
 #define __DALI_TOOLKIT_INTERNAL_KEYBOARD_FOCUS_MANAGER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <string>
index e3276d1..de83d17 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "keyinput-focus-manager-impl.h"
index 6622b73..35cc6eb 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_KEYINPUT_FOCUS_MANAGER_H__
 #define __DALI_TOOLKIT_INTERNAL_KEYINPUT_FOCUS_MANAGER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <string>
diff --git a/base/dali-toolkit/internal/styling/style-manager-impl.cpp b/base/dali-toolkit/internal/styling/style-manager-impl.cpp
new file mode 100644 (file)
index 0000000..53c05cd
--- /dev/null
@@ -0,0 +1,398 @@
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// CLASS HEADER
+#include "style-manager-impl.h"
+
+// INTERNAL INCLUDES
+#include <dali-toolkit/public-api/controls/control.h>
+#include <dali-toolkit/public-api/controls/control-impl.h>
+#include <dali-toolkit/public-api/styling/style-manager.h>
+#include <dali-toolkit/internal/styling/util.h>
+#include <dali/integration-api/debug.h>
+
+// EXTERNAL INCLUDES
+#include <fstream>
+#include <iostream>
+#include <sstream>
+
+
+namespace
+{
+
+const char* LANDSCAPE_QUALIFIER = "landscape";
+const char* PORTRAIT_QUALIFIER  = "portrait";
+
+const char* DEFAULT_THEME = DALI_STYLE_DIR "tizen-default-theme.json";
+
+const char* PACKAGE_PATH_KEY = "PACKAGE_PATH";
+const char* DEFAULT_PACKAGE_PATH = DALI_DATA_READ_ONLY_DIR "/toolkit/";
+
+} // namespace
+
+namespace Dali
+{
+
+namespace Toolkit
+{
+
+namespace Internal
+{
+
+namespace
+{
+
+BaseHandle Create()
+{
+  BaseHandle handle = StyleManager::Get();
+
+  if ( !handle && Adaptor::IsAvailable() )
+  {
+    Toolkit::StyleManager manager = Toolkit::StyleManager( new Internal::StyleManager() );
+    Adaptor::Get().RegisterSingleton( typeid( manager ), manager );
+    handle = manager;
+  }
+
+  return handle;
+}
+TypeRegistration STYLE_MANAGER_TYPE( typeid(Dali::Toolkit::StyleManager), typeid(Dali::BaseHandle), Create, true /* Create instance at startup */ );
+
+/**
+ * Merge two maps into one
+ */
+void MergeMaps( const PropertyValueMap& a, const PropertyValueMap& b, PropertyValueMap& out )
+{
+  out = a;
+  for( PropertyValueMap::const_iterator it = b.begin(), itEnd = b.end(); it != itEnd; ++it )
+  {
+    out[ it->first ] = it->second;
+  }
+}
+
+} // namespace
+
+Toolkit::StyleManager StyleManager::Get()
+{
+  Toolkit::StyleManager manager;
+
+  if ( Adaptor::IsAvailable() )
+  {
+    // Check whether the style manager is already created
+    Dali::BaseHandle handle = Dali::Adaptor::Get().GetSingleton( typeid( Toolkit::StyleManager ) );
+    if( handle )
+    {
+      // If so, downcast the handle of singleton
+      manager = Toolkit::StyleManager( dynamic_cast< StyleManager* >( handle.GetObjectPtr() ) );
+    }
+  }
+
+  return manager;
+}
+
+StyleManager::StyleManager()
+  : mOrientationDegrees( 0 ),  // Portrait
+    mSetThemeConnection( false )
+{
+  // Add theme builder constants
+  mThemeBuilderConstants[ PACKAGE_PATH_KEY ] = DEFAULT_PACKAGE_PATH;
+
+  RequestDefaultTheme();
+
+  if( Adaptor::IsAvailable() )
+  {
+    StyleMonitor::Get().StyleChangeSignal().Connect( this, &StyleManager::StyleMonitorChange );
+  }
+}
+
+StyleManager::~StyleManager()
+{
+  // Disconnect from signal
+  SetOrientation( Orientation() );
+}
+
+void StyleManager::SetOrientationValue( int orientation )
+{
+  mOrientationDegrees = orientation;
+
+  Util::ConnectEventProcessingFinishedSignal();
+  mSetThemeConnection = true;
+}
+
+int StyleManager::GetOrientationValue()
+{
+  return mOrientationDegrees;
+}
+
+void StyleManager::SetOrientation( Orientation orientation )
+{
+  if( mOrientation )
+  {
+    mOrientation.ChangedSignal().Disconnect( this, &StyleManager::OnOrientationChanged );
+  }
+
+  OnOrientationChanged( orientation );
+
+  if( mOrientation )
+  {
+    mOrientation.ChangedSignal().Connect( this, &StyleManager::OnOrientationChanged );
+  }
+}
+
+Orientation StyleManager::GetOrientation()
+{
+  return mOrientation;
+}
+
+void StyleManager::SetStyleConstant( const std::string& key, const Property::Value& value )
+{
+  mStyleBuilderConstants[ key ] = value;
+}
+
+bool StyleManager::GetStyleConstant( const std::string& key, Property::Value& valueOut )
+{
+  Toolkit::PropertyValueMap::iterator valueIt = mStyleBuilderConstants.find( key );
+  if( valueIt != mStyleBuilderConstants.end() )
+  {
+    valueOut = valueIt->second;
+    return true;
+  }
+
+  return false;
+}
+
+void StyleManager::OnOrientationChanged( Orientation orientation )
+{
+  mOrientation = orientation;
+
+  if( mOrientation )
+  {
+    Util::ConnectEventProcessingFinishedSignal();
+    mSetThemeConnection = true;
+  }
+}
+
+Toolkit::Builder StyleManager::CreateBuilder( const PropertyValueMap& constants )
+{
+  Toolkit::Builder builder = Toolkit::Builder::New();
+  builder.AddConstants( constants );
+
+  return builder;
+}
+
+bool StyleManager::LoadJSON( Toolkit::Builder builder, const std::string& jsonFilePath )
+{
+  std::string fileString;
+  if( LoadFile( jsonFilePath, fileString ) )
+  {
+    builder.LoadFromString( fileString );
+    return true;
+  }
+  else
+  {
+    DALI_LOG_WARNING("Error loading file '%s'\n", jsonFilePath.c_str());
+    return false;
+  }
+}
+
+void StyleManager::CollectQualifiers( StringList& qualifiersOut )
+{
+  // Append the relevant qualifier for orientation
+  int orientation = mOrientationDegrees;
+
+  if( mOrientation )
+  {
+    orientation = mOrientation.GetDegrees();
+  }
+
+  switch( orientation )
+  {
+    case 90:
+    case 270:
+    {
+      qualifiersOut.push_back( std::string( LANDSCAPE_QUALIFIER ) );
+      break;
+    }
+    case 180:
+    case 0: // fall through
+    default:
+    {
+      qualifiersOut.push_back( std::string( PORTRAIT_QUALIFIER ) );
+      break;
+    }
+  }
+}
+
+void StyleManager::BuildQualifiedStyleName( const std::string& styleName, const StringList& qualifiers, std::string& qualifiedStyleOut )
+{
+  qualifiedStyleOut.append( styleName );
+
+  for( StringList::const_iterator it = qualifiers.begin(), itEnd = qualifiers.end(); it != itEnd; ++it )
+  {
+    const std::string& str = *it;
+
+    qualifiedStyleOut.append( "-" );
+    qualifiedStyleOut.append( str );
+  }
+}
+
+void StyleManager::ApplyStyle( Toolkit::Builder builder, Toolkit::Control control )
+{
+  // Convert control name to lower case
+  std::string styleName = control.GetTypeName();
+  std::transform( styleName.begin(), styleName.end(), styleName.begin(), ::tolower );
+
+  // Apply the style after choosing the correct actual style (e.g. landscape or portrait)
+  StringList qualifiers;
+  CollectQualifiers( qualifiers );
+
+  while( true )
+  {
+    std::string qualifiedStyleName;
+    BuildQualifiedStyleName( styleName, qualifiers, qualifiedStyleName );
+
+    // Break if style found or we have tried the root style name (qualifiers is empty)
+    if( builder.ApplyStyle( qualifiedStyleName, control ) || qualifiers.size() == 0 )
+    {
+      break;
+    }
+
+    // Remove the last qualifier in an attempt to find a style that is valid
+    qualifiers.pop_back();
+  }
+}
+
+void StyleManager::ApplyThemeStyle( Toolkit::Control control )
+{
+  if( mThemeBuilder )
+  {
+    ApplyStyle( mThemeBuilder, control );
+  }
+}
+
+void StyleManager::ApplyStyle( Toolkit::Control control, const std::string& jsonFileName, const std::string& styleName )
+{
+  bool builderReady = false;
+
+  // First look in the cache
+  Toolkit::Builder builder = FindCachedBuilder( jsonFileName );
+  if( builder )
+  {
+    builderReady = true;
+  }
+  else
+  {
+    // Merge theme and style constants
+    PropertyValueMap constants;
+    MergeMaps( mThemeBuilderConstants, mStyleBuilderConstants, constants );
+
+    // Create it
+    builder = CreateBuilder( constants );
+
+    if( LoadJSON( builder, jsonFileName ) )
+    {
+      CacheBuilder( builder, jsonFileName );
+      builderReady = true;
+    }
+  }
+
+  // Apply the style to the control
+  if( builderReady )
+  {
+    builder.ApplyStyle( styleName, control );
+  }
+}
+
+bool StyleManager::LoadFile( const std::string& filename, std::string& stringOut )
+{
+  DALI_ASSERT_DEBUG( 0 != filename.length());
+
+  std::ifstream in( filename.c_str(), std::ios::in );
+  if( in )
+  {
+    std::stringstream buffer;
+    buffer << in.rdbuf();
+
+    stringOut = buffer.str();
+
+    in.close();
+
+    return true;
+  }
+
+  return false;
+}
+
+Toolkit::StyleManager::StyleChangeSignalType& StyleManager::StyleChangeSignal()
+{
+  return mStyleChangeSignal;
+}
+
+void StyleManager::RequestThemeChange( const std::string& themeFile )
+{
+  mThemeFile = themeFile;
+
+  Util::ConnectEventProcessingFinishedSignal();
+  mSetThemeConnection = true;
+}
+
+void StyleManager::RequestDefaultTheme()
+{
+  RequestThemeChange( DEFAULT_THEME );
+}
+
+bool StyleManager::IsThemeRequestPending()
+{
+  return mSetThemeConnection;
+}
+
+void StyleManager::SetTheme()
+{
+  mThemeBuilder = CreateBuilder( mThemeBuilderConstants );
+  LoadJSON( mThemeBuilder, mThemeFile );
+
+  mSetThemeConnection = false;
+
+  StyleChange change;
+  change.themeChange = true;
+  mStyleChangeSignal.Emit( Toolkit::StyleManager::Get(), change );
+}
+
+Toolkit::Builder StyleManager::FindCachedBuilder( const std::string& key )
+{
+  BuilderMap::iterator builderIt = mBuilderCache.find( key );
+  if( builderIt != mBuilderCache.end() )
+  {
+    return builderIt->second;
+  }
+
+  return Toolkit::Builder();
+}
+
+void StyleManager::CacheBuilder( Toolkit::Builder builder, const std::string& key )
+{
+  mBuilderCache[ key ] = builder;
+}
+
+void StyleManager::StyleMonitorChange( StyleMonitor styleMonitor, StyleChange styleChange )
+{
+  mStyleChangeSignal.Emit( Toolkit::StyleManager::Get(), styleChange );
+}
+
+} // namespace Internal
+
+} // namespace Toolkit
+
+} // namespace Dali
diff --git a/base/dali-toolkit/internal/styling/style-manager-impl.h b/base/dali-toolkit/internal/styling/style-manager-impl.h
new file mode 100644 (file)
index 0000000..d8d97b4
--- /dev/null
@@ -0,0 +1,279 @@
+#ifndef __DALI_TOOLKIT_INTERNAL_STYLE_MANAGER_H__
+#define __DALI_TOOLKIT_INTERNAL_STYLE_MANAGER_H__
+
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// EXTERNAL INCLUDES
+#include <string>
+#include <list>
+
+// INTERNAL INCLUDES
+
+#include <dali/dali.h>
+#include <dali-toolkit/public-api/styling/style-manager.h>
+#include <dali-toolkit/public-api/builder/builder.h>
+
+namespace Dali
+{
+
+namespace Toolkit
+{
+
+namespace Internal
+{
+/**
+ * @copydoc Toolkit::StyleManager
+ */
+class StyleManager : public Dali::BaseObject, public ConnectionTracker
+{
+public:
+
+  /**
+   * Singleton access
+   *
+   * @return The StyleManager object
+   */
+  static Toolkit::StyleManager Get();
+
+  /**
+   * Construct a new StyleManager.
+   */
+  StyleManager();
+
+  /**
+   * @copydoc Toolkit::StyleManager::SetOrientationValue
+   */
+  void SetOrientationValue( int orientation );
+
+  /**
+   * @copydoc Toolkit::StyleManager::GetOrientationValue
+   */
+  int GetOrientationValue();
+
+  /**
+   * @copydoc Toolkit::StyleManager::SetOrientation( Orientation orientation )
+   */
+  void SetOrientation( Orientation orientation );
+
+  /**
+   * @copydoc Toolkit::StyleManager::GetOrientation
+   */
+  Orientation GetOrientation();
+
+  /**
+   * @copydoc Toolkit::StyleManager::SetStyleConstant
+   */
+  void SetStyleConstant( const std::string& key, const Property::Value& value );
+
+  /**
+   * @copydoc Toolkit::StyleManager::GetStyleConstant
+   */
+  bool GetStyleConstant( const std::string& key, Property::Value& valueOut );
+
+  /**
+   * @copydoc Toolkit::StyleManager::RequestThemeChange
+   */
+  void RequestThemeChange( const std::string& themeFile );
+
+  /**
+   * @copydoc Toolkit::StyleManager::RequestDefaultTheme
+   */
+  void RequestDefaultTheme();
+
+  /**
+   * Determine if a theme change has been requested
+   * @return Whether a theme request is pending
+   */
+  bool IsThemeRequestPending();
+
+  /**
+   * @brief Apply the theme style to a control.
+   *
+   * @param[in] control The control to apply style.
+   */
+  void ApplyThemeStyle( Toolkit::Control control );
+
+  /**
+   * @copydoc Toolkit::StyleManager::ApplyStyle
+   */
+  void ApplyStyle( Toolkit::Control control, const std::string& jsonFileName, const std::string& styleName );
+
+public:
+  // SIGNALS
+
+  /**
+   * @copydoc Toolkit::StyleManager::StyleChangeSignal
+   */
+  Toolkit::StyleManager::StyleChangeSignalType& StyleChangeSignal();
+
+protected:
+
+  /**
+   * @brief Destructor
+   */
+  virtual ~StyleManager();
+
+
+public:
+
+  /**
+   * @brief Set the current theme. Called only once per event processing cycle.
+   */
+  void SetTheme();
+
+private:
+
+  typedef std::list<std::string> StringList;
+
+  /**
+   * @brief Internal helper method to read a file from file system.
+   * @param filename The name of the file to read.
+   * @param[out] stringOut The string to return the file in
+   *
+   * @param Return true if file was found
+   */
+  bool LoadFile(const std::string& filename, std::string& stringOut);
+
+  /**
+   * @brief Create a new builder.
+   *
+   * @param[in] constants A map of constants to be used by the builder
+   *
+   * @return Return the newly created builder
+   */
+  Toolkit::Builder CreateBuilder( const PropertyValueMap& constants );
+
+  /**
+   * @brief Load a JSON file into given builder
+   *
+   * @param[in] builder The builder object to load the theme file
+   * @param[in] jsonFileName The name of the JSON file to load
+   * @return Return true if file was loaded
+   */
+  bool LoadJSON( Toolkit::Builder builder, const std::string& jsonFileName );
+
+  /**
+   * @brief Collect qualifiers (e.g. Landscape, portrait etc) for a given style
+   *
+   * @param[in,out] qualifiersOut The list to populate with qualifiers
+   */
+  void CollectQualifiers( StringList& qualifiersOut );
+
+  /**
+   * @brief Construct a qualified style name out of qualifiers
+   *
+   * A qualifed style name will be in the format: style-qualifier0-qualifier1-qualifierN
+   *
+   * @param[in] styleName The root name of the style
+   * @param[in] qualifiers List of qualifier names
+   * @param[out] qualifiedStyleOut The qualified style name
+   */
+  void BuildQualifiedStyleName( const std::string& styleName, const StringList& qualifiers, std::string& qualifiedStyleOut );
+
+  /**
+   * @brief Apply a style to the control using the given builder
+   *
+   * @param[in] builder The builder to apply the style from
+   * @param[in] control The control to apply the style to
+   */
+  void ApplyStyle( Toolkit::Builder builder, Toolkit::Control control );
+
+  /**
+   * @brief Callback for orientation changes
+   *
+   * @param[in] orientation The orientation object
+   */
+  void OnOrientationChanged( Orientation orientation );
+
+  /**
+   * Search for a builder in the cache
+   *
+   * @param[in] key The key the builder was cached under
+   * @return Return the cached builder if found or an empty builder object if not found
+   */
+  Toolkit::Builder FindCachedBuilder( const std::string& key );
+
+  /**
+   * Store a given builder in the cache keyed to the given key
+   *
+   * @param[in] builder The builder object to store
+   * @param[in] key The key to store the builder under
+   */
+  void CacheBuilder( Toolkit::Builder builder, const std::string& key );
+
+  /**
+   * Callback for when style monitor raises a signal
+   *
+   * @param[in] styleMonitor The style monitor object
+   * @param[in] styleChange The style change data
+   */
+  void StyleMonitorChange( StyleMonitor styleMonitor, StyleChange styleChange );
+
+  // Undefined
+  StyleManager(const StyleManager&);
+
+  StyleManager& operator=(const StyleManager& rhs);
+
+private:
+
+  // Map to store builders keyed by JSON file name
+  typedef std::map< std::string, Toolkit::Builder > BuilderMap;
+
+  Toolkit::Builder mThemeBuilder;     ///< Builder for all default theme properties
+
+  Orientation mOrientation;           ///< Handle to application orientation object
+  int mOrientationDegrees;            ///< Directly set value of orientation
+
+  std::string mThemeFile;             ///< The full path of the current theme file
+
+  Toolkit::PropertyValueMap mThemeBuilderConstants;   ///< Contants to give the theme builder
+  Toolkit::PropertyValueMap mStyleBuilderConstants;   ///< Constants specific to building styles
+
+  BuilderMap mBuilderCache;           ///< Cache of builders keyed by JSON file name
+
+  bool mSetThemeConnection;           ///< Has the callback to set the theme been set
+
+  // Signals
+  Toolkit::StyleManager::StyleChangeSignalType       mStyleChangeSignal;         ///< Emitted when the style( theme/font ) changes
+};
+
+} // namespace Internal
+
+inline Internal::StyleManager& GetImpl( Dali::Toolkit::StyleManager& obj )
+{
+  DALI_ASSERT_ALWAYS( obj );
+
+  Dali::BaseObject& handle = obj.GetBaseObject();
+
+  return static_cast< Internal::StyleManager& >( handle );
+}
+
+inline const Internal::StyleManager& GetImpl( const Dali::Toolkit::StyleManager& obj )
+{
+  DALI_ASSERT_ALWAYS( obj );
+
+  const Dali::BaseObject& handle = obj.GetBaseObject();
+
+  return static_cast< const Internal::StyleManager& >( handle );
+}
+
+} // namespace Toolkit
+
+} // namespace Dali
+
+#endif // __DALI_TOOLKIT_INTERNAL_STYLE_MANAGER_H__
+
diff --git a/base/dali-toolkit/internal/styling/util.h b/base/dali-toolkit/internal/styling/util.h
new file mode 100644 (file)
index 0000000..c00c136
--- /dev/null
@@ -0,0 +1,82 @@
+#ifndef __DALI_TOOLKIT_INTERNAL_UTIL_H__
+#define __DALI_TOOLKIT_INTERNAL_UTIL_H__
+
+//
+// Copyright (c) 2014 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// EXTERNAL INCLUDES
+
+// INTERNAL INCLUDES
+
+#include <dali/dali.h>
+#include <dali-toolkit/internal/styling/style-manager-impl.h>
+
+namespace Dali
+{
+
+namespace Toolkit
+{
+
+namespace Internal
+{
+
+namespace Util
+{
+
+/**
+ * @brief Callback that the EventProcessingFinishedSignal signal calls
+ *
+ * Priorities calls to managers
+ */
+inline void EventProcessingFinishedSignalPrioritizer()
+{
+  // Priority 0: Set all styles
+  Toolkit::StyleManager styleManager = Toolkit::StyleManager::Get();
+  if( GetImpl(styleManager).IsThemeRequestPending() )
+  {
+    GetImpl(styleManager).SetTheme();
+  }
+
+  // Todo: Priority 1: Do relayout after styles have been set
+}
+
+/**
+ * @brief Connect to the EventProcessingFinishedSignal
+ *
+ * Needs to be called only once, but will still operate successfully if called multiple times.
+ * Makes the assumption that this is the only thing connecting to the EventProcessingFinishedSignal.
+ */
+inline void ConnectEventProcessingFinishedSignal()
+{
+  Stage stage = Stage::GetCurrent();
+
+  // This is only intended for one purpose!
+  if( stage.EventProcessingFinishedSignal().GetConnectionCount() == 0 )
+  {
+    stage.EventProcessingFinishedSignal().Connect( &EventProcessingFinishedSignalPrioritizer );
+  }
+}
+
+} // namespace Util
+
+} // namespace Internal
+
+} // namespace Toolkit
+
+} // namespace Dali
+
+#endif // __DALI_TOOLKIT_INTERNAL_STYLE_MANAGER_H__
+
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
@@ -113,9 +114,9 @@ BaseHandle Builder::Create( const std::string& templateName, const PropertyValue
   return GetImpl(*this).Create( templateName, map );
 }
 
-void Builder::ApplyStyle( const std::string& styleName, Handle& handle )
+bool Builder::ApplyStyle( const std::string& styleName, Handle& handle )
 {
-  GetImpl(*this).ApplyStyle( styleName, handle );
+  return GetImpl(*this).ApplyStyle( styleName, handle );
 }
 
 void Builder::AddActors( Actor toActor )
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_UIBUILDER_H__
 #define __DALI_TOOLKIT_UIBUILDER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -100,9 +101,11 @@ typedef std::map<std::string, Property::Value> PropertyValueMap;
   static Builder New();
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~Builder();
+  ~Builder();
 
   /**
    * UI string data format
@@ -140,7 +143,9 @@ typedef std::map<std::string, Property::Value> PropertyValueMap;
    * @brief Adds or modifies a user defined constant to all future style template or animation expansions
    *
    * e.g.
-   *  builder.AddConstant( "IMAGE_DIRECTORY", "/usr/share/images" );
+   * @code
+   * builder.AddConstant( "IMAGE_DIRECTORY", "/usr/share/images" );
+   * @endcode
    *
    * @pre The Builder has been initialized.
    * @param key The constant name to add or update
@@ -152,9 +157,11 @@ typedef std::map<std::string, Property::Value> PropertyValueMap;
    * @brief Gets all currently defined constants.
    *
    * e.g.
-   *  PropertyValueMap map = builder.GetConstants(); // get copy of current constants
-   *  map["IMAGE_DIRECTORY"] = "/usr/share/images";  // make modification
-   *  builder.AddConstants( map );                   // write back changes
+   * @code
+   * PropertyValueMap map = builder.GetConstants(); // get copy of current constants
+   * map["IMAGE_DIRECTORY"] = "/usr/share/images";  // make modification
+   * builder.AddConstants( map );                   // write back changes
+   * @endcode
    *
    * @pre The Builder has been initialized.
    * @return A reference to the currently defined constants.
@@ -165,9 +172,11 @@ typedef std::map<std::string, Property::Value> PropertyValueMap;
    * @brief Gets a currently defined constant, or returns Property::INVALID
    *
    * e.g.
-   *  PropertyValueMap map = builder.GetConstants(); // get copy of current constants
-   *  map["IMAGE_DIRECTORY"] = "/usr/share/images";  // make modification
-   *  builder.AddConstants( map );                   // write back changes
+   * @code
+   * PropertyValueMap map = builder.GetConstants(); // get copy of current constants
+   * map["IMAGE_DIRECTORY"] = "/usr/share/images";  // make modification
+   * builder.AddConstants( map );                   // write back changes
+   * @endcode
    *
    * @pre The Builder has been initialized.
    * @param key The constant name to search for.
@@ -292,8 +301,10 @@ typedef std::map<std::string, Property::Value> PropertyValueMap;
    * @pre Preconditions have been met for creating dali objects ie Images, Actors etc
    * @param styleName The name of the set of style properties to set on the handle object.
    * @param handle Then handle of the object on which to set the properties.
+   *
+   * @return Return true if the style was found
    */
-  void ApplyStyle( const std::string& styleName, Handle& handle );
+  bool ApplyStyle( const std::string& styleName, Handle& handle );
 
   /**
    * Add the actor tree in the "stage" section to the actor toActor.
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/public-api/builder/json-parser.h>
@@ -1,21 +1,22 @@
 #ifndef __DALI_JSON_PARSER_H__
 #define __DALI_JSON_PARSER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <string>
 #include <vector>
@@ -62,10 +63,12 @@ public:
    */
   JsonParser();
 
-  /*
-   * virtual Destructor
+  /**
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~JsonParser();
+  ~JsonParser();
 
   /**
    * Downcast an Object handle to JsonParser if it is a JsonParser.
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <cstring>
@@ -1,21 +1,22 @@
 #ifndef __DALI_SCRIPT_TREE_NODE_H__
 #define __DALI_SCRIPT_TREE_NODE_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <utility> // pair
 #include <iterator>
index 7c5d827..fe0e9b8 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
index 1fbe69e..55764a2 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
index 591a1e4..18053ba 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
index 1a4267d..de65310 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_CHECK_BOX_BUTTON_H__
 #define __DALI_TOOLKIT_CHECK_BOX_BUTTON_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/buttons/button.h>
@@ -78,10 +79,11 @@ public:
   CheckBoxButton& operator=( const CheckBoxButton& checkBox );
 
   /**
-   * Virtual destructor.
-   * Dali::Object derived classes typically do not contain member data.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~CheckBoxButton();
+  ~CheckBoxButton();
 
   /**
    * Create an initialized CheckBoxButton.
index 5ca5681..24da5ee 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
index 9347f6a..bc97f30 100644 (file)
@@ -1,33 +1,35 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/control-impl.h>
 
-#include <boost/thread/tss.hpp>
 #include <stack>
 
 #include <dali/integration-api/debug.h>
 
-#include "dali-toolkit/internal/controls/style-change-processor.h"
 #include "dali-toolkit/internal/controls/relayout-controller.h"
 #include "dali-toolkit/internal/controls/relayout-helper.h"
 #include "dali-toolkit/public-api/focus-manager/keyinput-focus-manager.h"
 #include "dali-toolkit/public-api/focus-manager/keyboard-focus-manager.h"
 #include <dali-toolkit/public-api/controls/control.h>
 
+#include <dali-toolkit/public-api/styling/style-manager.h>
+#include <dali-toolkit/internal/styling/style-manager-impl.h>
+
 namespace Dali
 {
 
@@ -60,6 +62,7 @@ Integration::Log::Filter* gLogFilter  = Integration::Log::Filter::New(Debug::NoL
 #endif
 
 const float MAX_FLOAT_VALUE( std::numeric_limits<float>::max() );
+const Vector3 MAX_SIZE( MAX_FLOAT_VALUE, MAX_FLOAT_VALUE, MAX_FLOAT_VALUE );
 const float BACKGROUND_ACTOR_Z_POSITION( -0.1f );
 
 BaseHandle Create()
@@ -71,28 +74,7 @@ TypeRegistration CONTROL_TYPE( typeid(Control), typeid(CustomActor), Create );
 
 // Property Registration after Internal::Control::Impl definition below
 
-TypeAction ACTION_TYPE_1(CONTROL_TYPE, Toolkit::Control::ACTION_CONTROL_ACTIVATED, &Internal::Control::DoAction);
-
-/**
- * Helper class used to set the Control's size through the Actor's API or through children added.
- */
-class SetSizeLock
-{
-public:
-  SetSizeLock( bool& lock )
-  : mLock( lock )
-  {
-    mLock = true;
-  }
-
-  ~SetSizeLock()
-  {
-    mLock = false;
-  }
-
-private:
-  bool& mLock;
-};
+TypeAction ACTION_TYPE_1( CONTROL_TYPE, Toolkit::Control::ACTION_CONTROL_ACTIVATED, &Internal::Control::DoAction );
 
 /**
  * Structure which holds information about the background of a control
@@ -231,39 +213,47 @@ void SetupBackgroundActor( Actor actor, Property::Index constrainingIndex, const
 namespace Internal
 {
 
-class Control::Impl : public ConnectionTrackerInterface
+class Control::Impl : public ConnectionTracker
 {
 public:
+
+  /**
+   * Size indices for mMinMaxSize array
+   */
+  enum
+  {
+    MIN_SIZE_INDEX = 0,
+    MAX_SIZE_INDEX = 1
+  };
+
+public:
   // Construction & Destruction
   Impl(Control& controlImpl)
-  : mControlImpl(controlImpl),
-    mInitialized( false ),
+  : mControlImpl( controlImpl ),
+    mBackground( NULL ),
+    mStartingPinchScale( NULL ),
+    mKeyEventSignalV2(),
     mPinchGestureDetector(),
     mPanGestureDetector(),
     mTapGestureDetector(),
     mLongPressGestureDetector(),
-    mStartingPinchScale(),
-    mLockSetSize( false ),
+    mCurrentSize(),
+    mNaturalSize(),
     mWidthPolicy( Toolkit::Control::Fixed ),
     mHeightPolicy( Toolkit::Control::Fixed ),
-    mSize(),
-    mSetSize(),
-    mMinimumSize(),
-    mMaximumSize( MAX_FLOAT_VALUE, MAX_FLOAT_VALUE, MAX_FLOAT_VALUE ),
-    mIsKeyboardNavigationSupported(false),
-    mIsKeyboardFocusGroup(false),
-    mKeyEventSignalV2(),
-    mBackground( NULL )
+    mFlags( Control::CONTROL_BEHAVIOUR_NONE ),
+    mInsideRelayout( false ),
+    mIsKeyboardNavigationSupported( false ),
+    mIsKeyboardFocusGroup( false ),
+    mInitialized( false )
   {
   }
 
   ~Impl()
   {
     // All gesture detectors will be destroyed so no need to disconnect.
-    if ( mBackground )
-    {
-      delete mBackground;
-    }
+    delete mBackground;
+    delete mStartingPinchScale;
   }
 
   // Gesture Detection Methods
@@ -288,30 +278,6 @@ public:
     mControlImpl.OnLongPress(longPress);
   }
 
-  /**
-   * @copydoc ConnectionTrackerInterface::SignalConnected
-   */
-  virtual void SignalConnected( SlotObserver* slotObserver, CallbackBase* callback )
-  {
-    mConnectionTracker.SignalConnected( slotObserver, callback );
-  }
-
-  /**
-   * @copydoc ConnectionTrackerInterface::SignalDisconnected
-   */
-  virtual void SignalDisconnected( SlotObserver* slotObserver, CallbackBase* callback )
-  {
-    mConnectionTracker.SignalDisconnected( slotObserver, callback );
-  }
-
-  /**
-   * @copydoc ConnectionTrackerInterface::GetConnectionCount
-   */
-  virtual std::size_t GetConnectionCount() const
-  {
-    return mConnectionTracker.GetConnectionCount();
-  }
-
   // Background Methods
 
   /**
@@ -470,13 +436,13 @@ public:
 
         case Toolkit::Control::PROPERTY_MINIMUM_SIZE:
         {
-          value = controlImpl.mImpl->mMinimumSize;
+          value = controlImpl.mImpl->GetMinimumSize();
           break;
         }
 
         case Toolkit::Control::PROPERTY_MAXIMUM_SIZE:
         {
-          value = controlImpl.mImpl->mMaximumSize;
+          value = controlImpl.mImpl->GetMaximumSize();
           break;
         }
 
@@ -491,42 +457,103 @@ public:
     return value;
   }
 
-  // Data
-
-  Control& mControlImpl;
-
-  bool mInitialized:1;
-
-  ConnectionTracker mConnectionTracker; // signal connection tracker
-
-  // Gesture Detection
-
-  PinchGestureDetector     mPinchGestureDetector;
-  PanGestureDetector       mPanGestureDetector;
-  TapGestureDetector       mTapGestureDetector;
-  LongPressGestureDetector mLongPressGestureDetector;
-
-  Vector3 mStartingPinchScale;       ///< The scale when a pinch gesture starts
-
-  // Relayout and size negotiation
-
-  bool mLockSetSize;                 ///< Used to avoid. Can't be a bitfield as a reference to this member is used in SetSizeLock helper class.
+  /**
+   * Helper to get minimum size
+   * @return minimum size
+   */
+  inline const Vector3& GetMinimumSize()
+  {
+    if( mMinMaxSize.Count() > MIN_SIZE_INDEX )
+    {
+      return mMinMaxSize[ MIN_SIZE_INDEX ];
+    }
+    else
+    {
+      // its not been allocated so its ZERO
+      return Vector3::ZERO;
+    }
+  }
+  /**
+   * Helper to Set minimum size
+   * @param size to set
+   */
+  inline void SetMinimumSize( const Vector3& size )
+  {
+    if( mMinMaxSize.Count() > MIN_SIZE_INDEX )
+    {
+      mMinMaxSize[ MIN_SIZE_INDEX ] = size;
+    }
+    else
+    {
+      // its not been allocated so push the new value there
+      mMinMaxSize.PushBack( size );
+    }
+  }
 
-  Toolkit::Control::SizePolicy mWidthPolicy;  ///< Stores the width policy.
-  Toolkit::Control::SizePolicy mHeightPolicy; ///< Stores the height policy.
+  /**
+   * Helper to get maximum size
+   * @return maximum size
+   */
+  inline const Vector3& GetMaximumSize()
+  {
+    if( mMinMaxSize.Count() > MAX_SIZE_INDEX )
+    {
+      return mMinMaxSize[ MAX_SIZE_INDEX ];
+    }
+    else
+    {
+      // its not been allocated so its MAX_SIZE
+      return MAX_SIZE;
+    }
+  }
 
-  Vector3 mSize;                     ///< Stores the current control's size.
-  Vector3 mSetSize;                  ///< Always stores the size set through the Actor's API. Useful when reset to the initial size is needed.
-  Vector3 mMinimumSize;              ///< Stores the control's minimum size.
-  Vector3 mMaximumSize;              ///< Stores the control's maximum size.
+  /**
+   * Helper to Set minimum size
+   * @param size to set
+   */
+  inline void SetMaximumSize( const Vector3& size )
+  {
+    if( mMinMaxSize.Count() > MAX_SIZE_INDEX )
+    {
+      mMinMaxSize[ MAX_SIZE_INDEX ] = size;
+    }
+    else if( mMinMaxSize.Count() > MIN_SIZE_INDEX )
+    {
+      // max has not been allocated, but min has
+      mMinMaxSize.PushBack( size );
+    }
+    else
+    {
+      // min and max both unallocated so allocate both
+      mMinMaxSize.Resize( 2u ); // this will reserve and default construct two Vector3s
+      mMinMaxSize[ MAX_SIZE_INDEX ] = size;
+    }
+  }
 
-  bool mIsKeyboardNavigationSupported;  ///< Stores whether keyboard navigation is supported by the control.
-  bool mIsKeyboardFocusGroup;        ///< Stores whether the control is a focus group.
+  // Data
 
+  Control& mControlImpl;
+  Background* mBackground;           ///< Only create the background if we use it
+  Vector3* mStartingPinchScale;      ///< The scale when a pinch gesture starts, TODO: consider removing this
   Toolkit::Control::KeyEventSignalV2 mKeyEventSignalV2;
 
-  // Background
-  Background* mBackground;           ///< Only create the background if we use it
+  // Gesture Detection
+  PinchGestureDetector mPinchGestureDetector;
+  PanGestureDetector mPanGestureDetector;
+  TapGestureDetector mTapGestureDetector;
+  LongPressGestureDetector mLongPressGestureDetector;
+  // @todo change all these to Vector2 when we have a chance to sanitize the public API as well
+  Vector3 mCurrentSize; ///< Stores the current control's size, this is the negotiated size
+  Vector3 mNaturalSize; ///< Stores the size set through the Actor's API. This is size the actor wants to be. Useful when reset to the initial size is needed.
+  Dali::Vector< Vector3 > mMinMaxSize; ///< Stores the minimum and maximum size if they are set
+
+  Toolkit::Control::SizePolicy mWidthPolicy :3;  ///< Stores the width policy. 3 bits covers 8 values
+  Toolkit::Control::SizePolicy mHeightPolicy :3; ///< Stores the height policy. 3 bits covers 8 values
+  ControlBehaviour mFlags :4;             ///< Flags passed in from constructor. Need to increase this size when new enums are added
+  bool mInsideRelayout:1;                 ///< Detect when were in Relayout
+  bool mIsKeyboardNavigationSupported:1;  ///< Stores whether keyboard navigation is supported by the control.
+  bool mIsKeyboardFocusGroup:1;           ///< Stores whether the control is a focus group.
+  bool mInitialized:1;
 
   // Properties - these need to be members of Internal::Control::Impl as they need to functions within this class.
   static PropertyRegistration PROPERTY_1;
@@ -549,7 +576,7 @@ PropertyRegistration Control::Impl::PROPERTY_7( CONTROL_TYPE, "key-input-focus",
 Toolkit::Control Control::New()
 {
   // Create the implementation, temporarily owned on stack
-  IntrusivePtr<Control> controlImpl = new Control( false );
+  IntrusivePtr<Control> controlImpl = new Control( CONTROL_BEHAVIOUR_NONE );
 
   // Pass ownership to handle
   Toolkit::Control handle( *controlImpl );
@@ -563,22 +590,26 @@ Toolkit::Control Control::New()
 
 Control::~Control()
 {
-  if( mImpl->mInitialized )
-  {
-    // Unregister only if control has been initialized.
-    Internal::StyleChangeProcessor::Unregister( this );
-  }
   delete mImpl;
 }
 
 void Control::Initialize()
 {
-  // Register with the style change processor so we are informed when the default style changes
-  Internal::StyleChangeProcessor::Register( this );
 
   // Calling deriving classes
   OnInitialize();
 
+  if( mImpl->mFlags & REQUIRES_STYLE_CHANGE_SIGNALS )
+  {
+    Toolkit::StyleManager styleManager = Toolkit::StyleManager::Get();
+
+    // Register for style changes
+    styleManager.StyleChangeSignal().Connect( this, &ControlImpl::DoStyleChange );
+
+    // SetTheme
+    GetImpl( styleManager ).ApplyThemeStyle( GetOwner() );
+  }
+
   mImpl->mInitialized = true;
 }
 
@@ -735,14 +766,25 @@ Actor Control::GetBackgroundActor() const
   return Actor();
 }
 
+void Control::OnThemeChange( Toolkit::StyleManager styleManager )
+{
+  GetImpl( styleManager ).ApplyThemeStyle( GetOwner() );
+}
+
 void Control::OnPinch(PinchGesture pinch)
 {
-  if (pinch.state == Gesture::Started)
+  if( !( mImpl->mStartingPinchScale ) )
   {
-    mImpl->mStartingPinchScale = Self().GetCurrentScale();
+    // lazy allocate
+    mImpl->mStartingPinchScale = new Vector3;
   }
 
-  Self().SetScale(mImpl->mStartingPinchScale * pinch.scale);
+  if( pinch.state == Gesture::Started )
+  {
+    *( mImpl->mStartingPinchScale ) = Self().GetCurrentScale();
+  }
+
+  Self().SetScale( *( mImpl->mStartingPinchScale ) * pinch.scale );
 }
 
 void Control::OnStageConnection()
@@ -767,7 +809,7 @@ void Control::OnChildAdd(Actor& child)
     return;
   }
 
-  // Request for relayout.
+  // Request for relayout as we may need to position the new child and old ones
   RelayoutRequest();
 
   // Notify derived classes.
@@ -782,7 +824,7 @@ void Control::OnChildRemove(Actor& child)
     return;
   }
 
-  // Request for relayout.
+  // Request for relayout as we may need to re-position the old child
   RelayoutRequest();
 
   // Notify derived classes.
@@ -791,16 +833,16 @@ void Control::OnChildRemove(Actor& child)
 
 void Control::OnSizeSet(const Vector3& targetSize)
 {
-  if( ( !mImpl->mLockSetSize ) && ( targetSize != mImpl->mSetSize ) )
+  if( ( !mImpl->mInsideRelayout ) && ( targetSize != mImpl->mNaturalSize ) )
   {
     // Only updates size if set through Actor's API
-    mImpl->mSetSize = targetSize;
+    mImpl->mNaturalSize = targetSize;
   }
 
-  if( targetSize != mImpl->mSize )
+  if( targetSize != mImpl->mCurrentSize )
   {
     // Update control size.
-    mImpl->mSize = targetSize;
+    mImpl->mCurrentSize = targetSize;
 
     // Notify derived classes.
     OnControlSizeSet( targetSize );
@@ -809,7 +851,7 @@ void Control::OnSizeSet(const Vector3& targetSize)
 
 void Control::OnSizeAnimation(Animation& animation, const Vector3& targetSize)
 {
-  // Do Nothing
+  // @todo consider animating negotiated child sizes to target size
 }
 
 bool Control::OnTouchEvent(const TouchEvent& event)
@@ -847,6 +889,11 @@ bool Control::OnAccessibilityPan(PanGesture gesture)
   return false; // Accessibility pan gesture is not handled by default
 }
 
+bool Control::OnAccessibilityTouch(const TouchEvent& touchEvent)
+{
+  return false; // Accessibility touch event is not handled by default
+}
+
 bool Control::OnAccessibilityValueChange(bool isIncrease)
 {
   return false; // Accessibility value change action is not handled by default
@@ -885,12 +932,32 @@ bool Control::DoAction(BaseObject* object, const std::string& actionName, const
 {
   bool ret = false;
 
+  if( object && (actionName == Toolkit::Control::ACTION_CONTROL_ACTIVATED) )
+  {
+    Toolkit::Control control = Toolkit::Control::DownCast( BaseHandle( object ) );
+    if( control )
+    {
+      // if cast succeeds there is an implementation so no need to check
+      control.GetImplementation().OnActivated();
+    }
+  }
+
   return ret;
 }
 
-void Control::DoActivatedAction(const PropertyValueContainer& attributes)
+void Control::DoStyleChange( Toolkit::StyleManager styleManager, StyleChange change )
 {
-  OnActivated();
+  if( change.themeChange )
+  {
+    OnThemeChange( styleManager );
+  }
+  else if( change.defaultFontChange || change.defaultFontSizeChange )
+  {
+    // This OnStyleChange(StyleChange change ) is deprecated, use OnFontChange instead
+    OnStyleChange( change );
+
+    OnFontChange( change.defaultFontChange, change.defaultFontSizeChange );
+  }
 }
 
 Toolkit::Control::KeyEventSignalV2& Control::KeyEventSignal()
@@ -925,9 +992,11 @@ void Control::GetSizePolicy( Toolkit::Control::SizePolicy& widthPolicy, Toolkit:
 
 void Control::SetMinimumSize( const Vector3& size )
 {
-  if ( mImpl->mMinimumSize != size )
+  const Vector3& minSize = mImpl->GetMinimumSize();
+  if ( fabsf( minSize.width - size.width ) > Math::MACHINE_EPSILON_1000 ||
+       fabsf( minSize.height - size.height ) > Math::MACHINE_EPSILON_1000 )
   {
-    mImpl->mMinimumSize = size;
+    mImpl->SetMinimumSize( size );
 
     // Only relayout if our control is using the minimum or range policy.
     if ( ( mImpl->mHeightPolicy == Toolkit::Control::Minimum ) || ( mImpl->mWidthPolicy  == Toolkit::Control::Minimum ) ||
@@ -940,14 +1009,16 @@ void Control::SetMinimumSize( const Vector3& size )
 
 const Vector3& Control::GetMinimumSize() const
 {
-  return mImpl->mMinimumSize;
+  return mImpl->GetMinimumSize();
 }
 
 void Control::SetMaximumSize( const Vector3& size )
 {
-  if ( mImpl->mMaximumSize != size )
+  const Vector3& maxSize = mImpl->GetMaximumSize();
+  if ( fabsf( maxSize.width - size.width ) > Math::MACHINE_EPSILON_1000 ||
+       fabsf( maxSize.height - size.height ) > Math::MACHINE_EPSILON_1000 )
   {
-    mImpl->mMaximumSize = size;
+    mImpl->SetMaximumSize( size );
 
     // Only relayout if our control is using the maximum or range policy.
     if ( ( mImpl->mHeightPolicy == Toolkit::Control::Maximum ) || ( mImpl->mWidthPolicy  == Toolkit::Control::Maximum ) ||
@@ -960,22 +1031,22 @@ void Control::SetMaximumSize( const Vector3& size )
 
 const Vector3& Control::GetMaximumSize() const
 {
-  return mImpl->mMaximumSize;
+  return mImpl->GetMaximumSize();
 }
 
 Vector3 Control::GetNaturalSize()
 {
   // could be overridden in derived classes.
-  return mImpl->mSetSize;
+  return mImpl->mNaturalSize;
 }
 
 float Control::GetHeightForWidth( float width )
 {
   // could be overridden in derived classes.
   float height( 0.0f );
-  if ( mImpl->mSetSize.width > 0.0f )
+  if ( mImpl->mNaturalSize.width > 0.0f )
   {
-    height = mImpl->mSetSize.height * width / mImpl->mSetSize.width;
+    height = mImpl->mNaturalSize.height * width / mImpl->mNaturalSize.width;
   }
   return height;
 }
@@ -984,21 +1055,21 @@ float Control::GetWidthForHeight( float height )
 {
   // could be overridden in derived classes.
   float width( 0.0f );
-  if ( mImpl->mSetSize.height > 0.0f )
+  if ( mImpl->mNaturalSize.height > 0.0f )
   {
-    width = mImpl->mSetSize.width * height / mImpl->mSetSize.height;
+    width = mImpl->mNaturalSize.width * height / mImpl->mNaturalSize.height;
   }
   return width;
 }
 
 const Vector3& Control::GetControlSize() const
 {
-  return mImpl->mSize;
+  return mImpl->mCurrentSize;
 }
 
 const Vector3& Control::GetSizeSet() const
 {
-  return mImpl->mSetSize;
+  return mImpl->mNaturalSize;
 }
 
 void Control::SetKeyInputFocus()
@@ -1029,16 +1100,21 @@ void Control::ClearKeyInputFocus()
 
 void Control::RelayoutRequest()
 {
-  Internal::RelayoutController::Get().Request();
+  // unfortunate double negative but thats to guarantee new controls get size negotiation
+  // by default and have to "opt-out" if they dont want it
+  if( !(mImpl->mFlags & NO_SIZE_NEGOTIATION) )
+  {
+    Internal::RelayoutController::Request();
+  }
 }
 
-void Control::Relayout( Vector2 size, ActorSizeContainer& container )
+void Control::Relayout(Vector2 size, ActorSizeContainer& container)
 {
   // Avoids relayout again when OnSizeSet callback arrives.
-  {
-    SetSizeLock lock( mImpl->mLockSetSize );
-    Self().SetSize( size );
-  }
+  mImpl->mInsideRelayout = true;
+  Self().SetSize( size );
+  // @todo this really needs to be at the end of method but not sure why the scope used to be only the SetSize, needs to be cleaned up in size negotiation rework
+  mImpl->mInsideRelayout = false;
 
   // Only relayout controls which requested to be relaid out.
   OnRelaidOut( size, container );
@@ -1079,7 +1155,7 @@ void Control::NegotiateSize( Vector2 allocatedSize, ActorSizeContainer& containe
     if ( mImpl->mHeightPolicy == Toolkit::Control::Fixed )
     {
       // If a control says it has a fixed size, then use the size set by the application / control.
-      Vector2 setSize( mImpl->mSetSize );
+      Vector2 setSize( mImpl->mNaturalSize );
       if ( setSize != Vector2::ZERO )
       {
         size = setSize;
@@ -1104,9 +1180,9 @@ void Control::NegotiateSize( Vector2 allocatedSize, ActorSizeContainer& containe
     else
     {
       // Width is fixed so if the application / control has set it, then use that.
-      if ( !EqualsZero( mImpl->mSetSize.width ) )
+      if ( !EqualsZero( mImpl->mNaturalSize.width ) )
       {
-        size.width = mImpl->mSetSize.width;
+        size.width = mImpl->mNaturalSize.width;
       }
       else
       {
@@ -1118,7 +1194,7 @@ void Control::NegotiateSize( Vector2 allocatedSize, ActorSizeContainer& containe
       size.height = GetHeightForWidth( size.width );
 
       // Ensure height is within our policy rules
-      size.height = Calculate( mImpl->mHeightPolicy, mImpl->mMinimumSize.height, mImpl->mMaximumSize.height, size.height );
+      size.height = Calculate( mImpl->mHeightPolicy, GetMinimumSize().height, GetMaximumSize().height, size.height );
     }
   }
   else
@@ -1126,9 +1202,9 @@ void Control::NegotiateSize( Vector2 allocatedSize, ActorSizeContainer& containe
     if ( mImpl->mHeightPolicy == Toolkit::Control::Fixed )
     {
       // Height is fixed so if the application / control has set it, then use that.
-      if ( !EqualsZero( mImpl->mSetSize.height ) )
+      if ( !EqualsZero( mImpl->mNaturalSize.height ) )
       {
-        size.height = mImpl->mSetSize.height;
+        size.height = mImpl->mNaturalSize.height;
       }
       else
       {
@@ -1140,14 +1216,14 @@ void Control::NegotiateSize( Vector2 allocatedSize, ActorSizeContainer& containe
       size.width = GetWidthForHeight( size.height );
 
       // Ensure width is within our policy rules
-      size.width = Calculate( mImpl->mWidthPolicy, mImpl->mMinimumSize.width, mImpl->mMaximumSize.width, size.width );
+      size.width = Calculate( mImpl->mWidthPolicy, mImpl->GetMinimumSize().width, mImpl->GetMaximumSize().width, size.width );
     }
     else
     {
       // Width and height are BOTH flexible.
       // Calculate the width and height using the policy rules.
-      size.width = Calculate( mImpl->mWidthPolicy, mImpl->mMinimumSize.width, mImpl->mMaximumSize.width, allocatedSize.width );
-      size.height = Calculate( mImpl->mHeightPolicy, mImpl->mMinimumSize.height, mImpl->mMaximumSize.height, allocatedSize.height );
+      size.width = Calculate( mImpl->mWidthPolicy, mImpl->GetMinimumSize().width, mImpl->GetMaximumSize().width, allocatedSize.width );
+      size.height = Calculate( mImpl->mHeightPolicy, mImpl->GetMinimumSize().height, mImpl->GetMaximumSize().height, allocatedSize.height );
     }
   }
 
@@ -1218,6 +1294,13 @@ Control::Control( bool requiresTouchEvents )
 {
 }
 
+Control::Control( ControlBehaviour behaviourFlags )
+: CustomActorImpl( behaviourFlags & REQUIRES_TOUCH_EVENTS ),
+  mImpl(new Impl(*this))
+{
+  mImpl->mFlags = behaviourFlags;
+}
+
 } // namespace Internal
 
 } // namespace Toolkit
index 58e293a..917a5b9 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/control.h>
 #include <dali-toolkit/public-api/controls/control-impl.h>
@@ -178,31 +179,6 @@ Control::KeyEventSignalV2& Control::KeyEventSignal()
   return GetImplementation().KeyEventSignal();
 }
 
-/**
- * @copydoc ConnectionTrackerInterface::SignalConnected
- */
-void Control::SignalConnected( SlotObserver* slotObserver, CallbackBase* callback )
-{
-  GetImplementation().SignalConnected(slotObserver, callback );
-}
-
-/**
- * @copydoc ConnectionTrackerInterface::SignalDisconnected
- */
-void Control::SignalDisconnected( SlotObserver* slotObserver, CallbackBase* callback )
-{
-  GetImplementation().SignalDisconnected(slotObserver, callback );
-}
-
-/**
- * @copydoc ConnectionTrackerInterface::GetConnectionCount
- */
-std::size_t Control::GetConnectionCount() const
-{
-  return GetImplementation().GetConnectionCount( );
-}
-
-
 Control::Control(Internal::Control& implementation)
 : CustomActor(implementation)
 {
index 97cd22c..d73b6b0 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "check-button-factory.h"
 
index 2a30a3a..b019621 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_CHECK_BUTTON_FACTORY_H__
 #define __DALI_TOOLKIT_CHECK_BUTTON_FACTORY_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index 2484f02..67f16e9 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/alignment/alignment.h>
 #include <dali-toolkit/public-api/controls/default-controls/push-button-factory.h>
index beda262..5e1b62b 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 
index d36c1e5..ee1ee18 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/popup/popup.h>
 #include <dali-toolkit/internal/controls/popup/popup-impl.h>
index 94eb45e..7d84f28 100755 (executable)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/scroll-bar/scroll-bar.h>
 #include <dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.h>
@@ -73,6 +74,11 @@ void ScrollBar::SetBackgroundImage( Image image, const Vector4& border )
   GetImpl(*this).SetBackgroundImage(image, border);
 }
 
+void ScrollBar::SetIndicatorImage( Image image )
+{
+  GetImpl(*this).SetIndicatorImage(image);
+}
+
 void ScrollBar::SetIndicatorImage( Image image, const Vector4& border )
 {
   GetImpl(*this).SetIndicatorImage(image, border);
index a6c7cec..2cc2859 100755 (executable)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <algorithm>
 #include <dali-toolkit/public-api/controls/scrollable/item-view/album-layout.h>
index 92d2ce7..b8133ed 100755 (executable)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_ALBUM_LAYOUT_H__
 #define __DALI_TOOLKIT_ALBUM_LAYOUT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /*
 Note:This layout is customized for music player application, so there are some limitations:
index 11b97a7..f8f9ef5 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <algorithm>
 
index 1615446..9af4ee8 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_DEPTH_LAYOUT_H__
 #define __DALI_TOOLKIT_DEPTH_LAYOUT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index eb3bfd8..17aa375 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <algorithm>
 
index 6a4d5a7..d441242 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/scrollable/item-view/item-factory.h>
 
index 177c1d8..4bd1ac3 100644 (file)
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/scrollable/item-view/item-layout.h>
+#include <dali-toolkit/public-api/controls/scrollable/item-view/item-view.h>
+
+namespace
+{
+  const float DEFAULT_COLOR_VISIBILITY_REMOVE_TIME = 0.5f; // 0.5 second
+
+  // Functors which wrap constraint functions with stored item IDs
+  struct WrappedQuaternionConstraint
+  {
+    WrappedQuaternionConstraint(Dali::Toolkit::ItemLayout::QuaternionFunction wrapMe, unsigned int itemId)
+    :mWrapMe(wrapMe),
+     mItemId(itemId)
+    {
+    }
+
+    Dali::Quaternion operator()(const Dali::Quaternion& current, const Dali::PropertyInput& layoutPosition, const Dali::PropertyInput& scrollSpeed, const Dali::PropertyInput& layoutSize)
+    {
+      float offsetLayoutPosition = layoutPosition.GetFloat() + static_cast<float>(mItemId);
+
+      return mWrapMe(current, offsetLayoutPosition, scrollSpeed.GetFloat(), layoutSize.GetVector3());
+    }
+
+    Dali::Toolkit::ItemLayout::QuaternionFunction mWrapMe;
+    unsigned int mItemId;
+  };
+
+  struct WrappedVector3Constraint
+  {
+    WrappedVector3Constraint(Dali::Toolkit::ItemLayout::Vector3Function wrapMe, unsigned int itemId)
+    : mWrapMe(wrapMe),
+      mItemId(itemId)
+    {
+    }
+
+    Dali::Vector3 operator()(const Dali::Vector3& current, const Dali::PropertyInput& layoutPosition, const Dali::PropertyInput& scrollSpeed, const Dali::PropertyInput& layoutSize)
+    {
+      float offsetLayoutPosition = layoutPosition.GetFloat() + static_cast<float>(mItemId);
+
+      return mWrapMe(current, offsetLayoutPosition, scrollSpeed.GetFloat(), layoutSize.GetVector3());
+    }
+
+    Dali::Toolkit::ItemLayout::Vector3Function mWrapMe;
+    unsigned int mItemId;
+  };
+
+  struct WrappedVector4Constraint
+  {
+    WrappedVector4Constraint(Dali::Toolkit::ItemLayout::Vector4Function wrapMe, unsigned int itemId)
+    : mWrapMe(wrapMe),
+      mItemId(itemId)
+    {
+    }
+
+    Dali::Vector4 operator()(const Dali::Vector4& current, const Dali::PropertyInput& layoutPosition, const Dali::PropertyInput& scrollSpeed, const Dali::PropertyInput& layoutSize)
+    {
+      float offsetLayoutPosition = layoutPosition.GetFloat() + static_cast<float>(mItemId);
+
+      return mWrapMe(current, offsetLayoutPosition, scrollSpeed.GetFloat(), layoutSize.GetVector3());
+    }
+
+    Dali::Toolkit::ItemLayout::Vector4Function mWrapMe;
+    unsigned int mItemId;
+  };
+
+  struct WrappedBoolConstraint
+  {
+    WrappedBoolConstraint(Dali::Toolkit::ItemLayout::BoolFunction wrapMe, unsigned int itemId)
+    : mWrapMe(wrapMe),
+      mItemId(itemId)
+    {
+    }
+
+    bool operator()(const bool& current, const Dali::PropertyInput& layoutPosition, const Dali::PropertyInput& scrollSpeed, const Dali::PropertyInput& layoutSize)
+    {
+      float offsetLayoutPosition = layoutPosition.GetFloat() + static_cast<float>(mItemId);
+
+      return mWrapMe(current, offsetLayoutPosition, scrollSpeed.GetFloat(), layoutSize.GetVector3());
+    }
+
+    Dali::Toolkit::ItemLayout::BoolFunction mWrapMe;
+    unsigned int mItemId;
+  };
+
+}  //Unnamed namespace
 
 namespace Dali
 {
@@ -23,7 +108,8 @@ namespace Toolkit
 {
 
 ItemLayout::ItemLayout()
-: mOrientation(ControlOrientation::Up)
+: mOrientation(ControlOrientation::Up),
+  mAlphaFunction(Dali::Constraint::DEFAULT_ALPHA_FUNCTION)
 {
 }
 
@@ -43,12 +129,7 @@ ControlOrientation::Type ItemLayout::GetOrientation() const
 
 float ItemLayout::GetClosestOnScreenLayoutPosition(int itemID, float currentLayoutPosition, const Vector3& layoutSize)
 {
-  ItemLayout::Vector3Function positionConstraint;
-  Vector3 itemPosition = Vector3::ZERO;
-  if (GetPositionConstraint(itemID, positionConstraint))
-  {
-    itemPosition = positionConstraint(Vector3::ZERO, currentLayoutPosition + itemID, 0.0f, layoutSize);
-  }
+  Vector3 itemPosition = GetItemPosition( itemID, currentLayoutPosition, layoutSize );
   Vector3 itemSize;
   GetItemSize(itemID, layoutSize, itemSize);
   Vector3 onScreenArea = (layoutSize - itemSize) * 0.5f;
@@ -236,6 +317,142 @@ int ItemLayout::GetNextFocusItemID(int itemID, int maxItems, Dali::Toolkit::Cont
   return itemID;
 }
 
+float ItemLayout::GetFlickSpeedFactor() const
+{
+  // By default, the speed factor while dragging and swiping is the same.
+  return GetScrollSpeedFactor();
+}
+
+void ItemLayout::ApplyConstraints( Actor& actor, const int itemId, const float durationSeconds, Constrainable scrollPositionObject, const Actor& itemViewActor )
+{
+  // This just implements the default behaviour of constraint application.
+  // Custom layouts can override this function to apply their custom constraints.
+  Dali::Toolkit::ItemView itemView = Dali::Toolkit::ItemView::DownCast( itemViewActor );
+  if(itemView && scrollPositionObject)
+  {
+    ///!ToDo: Remove this once AlphaFunction in itemview is removed
+    if( itemView.GetDefaultAlphaFunction() != Constraint::DEFAULT_ALPHA_FUNCTION )
+    {
+      mAlphaFunction = itemView.GetDefaultAlphaFunction();
+    }
+
+    Property::Index scrollSpeedProperty = itemView.GetPropertyIndex("item-view-scroll-speed");
+    Property::Index scrollPositionProperty = scrollPositionObject.GetPropertyIndex("scroll-position");
+
+    ItemLayout::Vector3Function positionConstraint;
+    if (GetPositionConstraint(itemId, positionConstraint))
+    {
+      WrappedVector3Constraint wrapped(positionConstraint, itemId);
+      Constraint constraint = Constraint::New<Vector3>( Actor::POSITION,
+                                                        Source( scrollPositionObject, scrollPositionProperty ),
+                                                        ParentSource( scrollSpeedProperty ),
+                                                        ParentSource( Actor::SIZE ),
+                                                        wrapped );
+      constraint.SetApplyTime(durationSeconds);
+      constraint.SetAlphaFunction(mAlphaFunction);
+      actor.ApplyConstraint(constraint);
+    }
+
+    ItemLayout::QuaternionFunction rotationConstraint;
+    if (GetRotationConstraint(itemId, rotationConstraint))
+    {
+      WrappedQuaternionConstraint wrapped(rotationConstraint, itemId);
+
+      Constraint constraint = Constraint::New<Quaternion>( Actor::ROTATION,
+                                                           Source( scrollPositionObject, scrollPositionProperty ),
+                                                           ParentSource( scrollSpeedProperty ),
+                                                           ParentSource( Actor::SIZE ),
+                                                           wrapped );
+      constraint.SetApplyTime(durationSeconds);
+      constraint.SetAlphaFunction(mAlphaFunction);
+
+      actor.ApplyConstraint(constraint);
+    }
+
+    ItemLayout::Vector3Function scaleConstraint;
+    if (GetScaleConstraint(itemId, scaleConstraint))
+    {
+      WrappedVector3Constraint wrapped(scaleConstraint, itemId);
+
+      Constraint constraint = Constraint::New<Vector3>( Actor::SCALE,
+                                                        Source( scrollPositionObject, scrollPositionProperty ),
+                                                        ParentSource( scrollSpeedProperty ),
+                                                        ParentSource( Actor::SIZE ),
+                                                        wrapped );
+      constraint.SetApplyTime(durationSeconds);
+      constraint.SetAlphaFunction(mAlphaFunction);
+
+      actor.ApplyConstraint(constraint);
+    }
+
+    ItemLayout::Vector4Function colorConstraint;
+    if (GetColorConstraint(itemId, colorConstraint))
+    {
+      WrappedVector4Constraint wrapped(colorConstraint, itemId);
+
+      Constraint constraint = Constraint::New<Vector4>( Actor::COLOR,
+                                                        Source( scrollPositionObject, scrollPositionProperty ),
+                                                        ParentSource( scrollSpeedProperty ),
+                                                        ParentSource( Actor::SIZE ),
+                                                        wrapped );
+
+      constraint.SetApplyTime(durationSeconds);
+      constraint.SetAlphaFunction(mAlphaFunction);
+
+      // Release color constraints slowly; this allows ItemView to co-exist with ImageActor fade-in
+      constraint.SetRemoveTime(DEFAULT_COLOR_VISIBILITY_REMOVE_TIME);
+      constraint.SetRemoveAction(Dali::Constraint::Discard);
+
+      actor.ApplyConstraint(constraint);
+    }
+
+    ItemLayout::BoolFunction visibilityConstraint;
+    if (GetVisibilityConstraint(itemId, visibilityConstraint))
+    {
+      WrappedBoolConstraint wrapped(visibilityConstraint, itemId);
+
+      Constraint constraint = Constraint::New<bool>( Actor::VISIBLE,
+                                                     Source( scrollPositionObject, scrollPositionProperty ),
+                                                     ParentSource( scrollSpeedProperty ),
+                                                     ParentSource( Actor::SIZE ),
+                                                     wrapped );
+
+      constraint.SetApplyTime(durationSeconds);
+      constraint.SetAlphaFunction(mAlphaFunction);
+
+      // Release visibility constraints the same time as the color constraint
+      constraint.SetRemoveTime(DEFAULT_COLOR_VISIBILITY_REMOVE_TIME);
+      constraint.SetRemoveAction(Dali::Constraint::Discard);
+
+      actor.ApplyConstraint(constraint);
+    }
+  }
+}
+
+Vector3 ItemLayout::GetItemPosition(int itemID, float currentLayoutPosition, const Vector3& layoutSize) const
+{
+  Vector3 itemPosition = Vector3::ZERO;
+
+  ItemLayout::Vector3Function positionConstraint;
+  if (GetPositionConstraint(itemID, positionConstraint))
+  {
+    itemPosition = positionConstraint(Vector3::ZERO, currentLayoutPosition + itemID, 0.0f, layoutSize);
+  }
+
+  return itemPosition;
+}
+
+void ItemLayout::SetAlphaFunction(AlphaFunction func)
+{
+  mAlphaFunction = func;
+}
+
+AlphaFunction ItemLayout::GetAlphaFunction() const
+{
+  return mAlphaFunction;
+}
+
+
 } // namespace Toolkit
 
 } // namespace Dali
index c41fd61..3eb3866 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/scrollable/scrollable.h>
 #include <dali-toolkit/public-api/controls/scrollable/item-view/item-view.h>
@@ -227,7 +228,6 @@ void ItemView::ReplaceItems(const ItemContainer& replacementItems, float duratio
   GetImpl(*this).ReplaceItems( replacementItems, durationSeconds );
 }
 
-
 void ItemView::SetItemsParentOrigin( const Vector3& parentOrigin )
 {
   GetImpl(*this).SetItemsParentOrigin( parentOrigin );
@@ -248,6 +248,11 @@ Vector3 ItemView::GetItemsAnchorPoint() const
   return GetImpl(*this).GetItemsAnchorPoint();
 }
 
+void ItemView::GetItemsRange(ItemRange& range)
+{
+  GetImpl(*this).GetItemsRange(range);
+}
+
 } // namespace Toolkit
 
 } // namespace Dali
index 295c2f4..088bddd 100755 (executable)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <algorithm>
 
index 050827b..6ca182c 100755 (executable)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_NAVIGATION_LAYOUT_H__
 #define __DALI_TOOLKIT_NAVIGATION_LAYOUT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index b55cb05..57110c6 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <algorithm>
 
index 67c4e53..f40d2f1 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_ROLL_LAYOUT_H__
 #define __DALI_TOOLKIT_ROLL_LAYOUT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index fd142f1..4a8c471 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <algorithm>
 
index 00fd02e..5e76d2d 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SPIRAL_LAYOUT_H__
 #define __DALI_TOOLKIT_SPIRAL_LAYOUT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index 3cd35d4..6007e85 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/public-api/controls/scrollable/scroll-component-impl.h>
@@ -54,7 +55,7 @@ Toolkit::ScrollConnector ScrollComponentImpl::GetScrollConnector() const
 }
 
 ScrollComponentImpl::ScrollComponentImpl()
-: Control(true/*requires touch*/)
+: Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS | REQUIRES_STYLE_CHANGE_SIGNALS ) )
 {
 }
 
index e7aa700..65e503a 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SCROLL_COMPONENT_IMPL_H__
 #define __DALI_TOOLKIT_SCROLL_COMPONENT_IMPL_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/scrollable/scroll-component.h>
index 7852f06..21984f9 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/public-api/controls/scrollable/scroll-component.h>
index ef55cdb..c89dfab 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/scrollable/scroll-connector.h>
 #include <dali-toolkit/internal/controls/scrollable/scroll-connector-impl.h>
@@ -32,6 +33,7 @@ const Property::Index ScrollConnector::SCROLL_POSITION = Internal::ScrollConnect
 const Property::Index ScrollConnector::OVERSHOOT       = Internal::ScrollConnector::OVERSHOOT;
 
 const char* const ScrollConnector::DOMAIN_CHANGED_SIGNAL_NAME    = "domain-changed";
+const char* const ScrollConnector::SCROLL_POSITION_CHANGED_SIGNAL_NAME    = "scroll-position-changed";
 
 ScrollConnector ScrollConnector::New()
 {
@@ -81,6 +83,21 @@ Constrainable ScrollConnector::GetScrollPositionObject() const
   return GetImpl(*this).GetScrollPositionObject();
 }
 
+void ScrollConnector::SetScrollPosition( float position )
+{
+  GetImpl(*this).SetScrollPosition( position );
+}
+
+float ScrollConnector::GetScrollPosition() const
+{
+  return GetImpl(*this).GetScrollPosition();
+}
+
+ScrollConnector::ScrollPositionChangedSignalType& ScrollConnector::ScrollPositionChangedSignal()
+{
+  return GetImpl(*this).ScrollPositionChangedSignal();
+}
+
 ScrollConnector::DomainChangedSignalType& ScrollConnector::DomainChangedSignal()
 {
   return GetImpl(*this).DomainChangedSignal();
index 3ccfdaf..e5b11cd 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-effect.h>
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-carousel-effect.h>
index f8070a6..2f321bb 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SCROLL_VIEW_CAROUSEL_EFFECT_H__
 #define __DALI_TOOLKIT_SCROLL_VIEW_CAROUSEL_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-effect.h>
index ac29e53..48b21f1 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 
@@ -35,19 +36,6 @@ Vector3 MoveActorConstraint(const Vector3&    current,
   return current + scrollPositionProperty.GetVector3();
 }
 
-Vector3 MoveScaledActorConstraint(const Vector3&    current,
-                                  const PropertyInput& scrollPositionProperty,
-                                  const PropertyInput& scrollScaleProperty)
-{
-  return scrollScaleProperty.GetVector3() * (current + scrollPositionProperty.GetVector3());
-}
-
-Vector3 ScaleActorConstraint(const Vector3&    current,
-                             const PropertyInput& scrollScaleProperty)
-{
- return current * scrollScaleProperty.GetVector3();
-}
-
 Vector3 WrapActorConstraint(const Vector3&    current,
                             const PropertyInput& actorScaleProperty,
                             const PropertyInput& actorAnchorPointProperty,
index ef93f54..1d891e9 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SCROLL_VIEW_CONSTRAINTS_H__
 #define __DALI_TOOLKIT_SCROLL_VIEW_CONSTRAINTS_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 
@@ -47,23 +48,6 @@ Vector3 MoveActorConstraint(const Vector3&    current,
                             const PropertyInput& scrollPositionProperty);
 
 /**
- * Move-Scaled Actor constraint.
- *
- * Moves an Actor in accordance to scroll position (and scroll scale).
- */
-Vector3 MoveScaledActorConstraint(const Vector3&    current,
-                                  const PropertyInput& scrollPositionProperty,
-                                  const PropertyInput& scrollScaleProperty);
-
-/**
- * Scale Actor constraint.
- *
- * Scales an Actor in accordance to scroll scale.
- */
-Vector3 ScaleActorConstraint(const Vector3&    current,
-                             const PropertyInput& scrollScaleProperty);
-
-/**
  * Wrap Actor constraint.
  *
  * Wraps an Actors position in accordance to min/max bounds of domain.
index 16bc85a..2bb8a26 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-effect.h>
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-cube-effect.h>
index df0d134..53fc0c7 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-custom-effect.h>
index b28d9dc..82577a2 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-effect.h>
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-depth-effect.h>
index da55373..30ca7dc 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SCROLL_VIEW_DEPTH_EFFECT_H__
 #define __DALI_TOOLKIT_SCROLL_VIEW_DEPTH_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-effect.h>
index 23fbfda..781c7c9 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-effect.h>
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-effect-impl.h>
index ae5340e..f5483d0 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-page-carousel-effect.h>
index 016d918..a15282e 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SCROLL_VIEW_PAGE_CAROUSEL_EFFECT_H__
 #define __DALI_TOOLKIT_SCROLL_VIEW_PAGE_CAROUSEL_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-effect.h>
index bfa29db..350907d 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-page-cube-effect.h>
index 5a7284c..46b51d8 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SCROLL_VIEW_PAGE_CUBE_EFFECT_H__
 #define __DALI_TOOLKIT_SCROLL_VIEW_PAGE_CUBE_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-effect.h>
index fe92020..2bd499d 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-page-spiral-effect.h>
index 431d1d3..1219ca9 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-effect.h>
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-effect-impl.h>
index 8d13a27..5ad2e57 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-effect.h>
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-twist-effect.h>
index b9c11cf..8b3449d 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-effect.h>
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-wobble-effect.h>
index 83b3153..ca3eac5 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SCROLL_VIEW_WOBBLE_EFFECT_H__
 #define __DALI_TOOLKIT_SCROLL_VIEW_WOBBLE_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-effect.h>
index 874e2b8..8c37842 100644 (file)
@@ -1,21 +1,28 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// CLASS HEADER
+#include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.h>
+
+// EXTERNAL INCLUDES
+#include <dali/integration-api/debug.h>
 
+// INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/scrollable/scrollable.h>
-#include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.h>
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.h>
 
 using namespace Dali;
@@ -232,6 +239,10 @@ unsigned int FixedRuler::GetPageFromPosition(float position, bool wrap) const
   // spacing must be present.
   if(mEnabled && fabsf(mSpacing) > Math::MACHINE_EPSILON_1)
   {
+    if( wrap )
+    {
+      position = WrapInDomain(position, mDomain.min, mDomain.max);
+    }
     page = floor((position - mDomain.min) / mSpacing + 0.5f);
 
     if(wrap)
@@ -268,8 +279,6 @@ const std::string ScrollView::SCROLL_PRE_POSITION_PROPERTY_NAME( "scroll-pre-pos
 const std::string ScrollView::SCROLL_OVERSHOOT_X_PROPERTY_NAME( "scroll-overshoot-x" );
 const std::string ScrollView::SCROLL_OVERSHOOT_Y_PROPERTY_NAME( "scroll-overshoot-y" );
 const std::string ScrollView::SCROLL_FINAL_PROPERTY_NAME( "scroll-final" );
-const std::string ScrollView::SCROLL_X_PROPERTY_NAME( "scroll-x" );
-const std::string ScrollView::SCROLL_Y_PROPERTY_NAME( "scroll-y" );
 const std::string ScrollView::SCROLL_SCALE_PROPERTY_NAME( "scroll-scale" );
 const std::string ScrollView::SCROLL_WRAP_PROPERTY_NAME( "scroll-wrap" );
 const std::string ScrollView::SCROLL_PANNING_PROPERTY_NAME( "scroll-panning" );
@@ -279,7 +288,7 @@ const std::string ScrollView::SCROLL_START_PAGE_POSITION_PROPERTY_NAME( "scroll-
 
 const float ScrollView::DEFAULT_SLOW_SNAP_ANIMATION_DURATION(0.5f);
 const float ScrollView::DEFAULT_FAST_SNAP_ANIMATION_DURATION(0.25f);
-const float ScrollView::DEFAULT_SNAP_OVERSHOOT_DURATION(1.0f);
+const float ScrollView::DEFAULT_SNAP_OVERSHOOT_DURATION(0.5f);
 const float ScrollView::DEFAULT_MAX_OVERSHOOT(100.0f);  // 100 pixels
 
 const float ScrollView::DEFAULT_AXIS_AUTO_LOCK_GRADIENT(0.36f);
@@ -384,12 +393,12 @@ void ScrollView::SetRulerY(RulerPtr ruler)
 
 void ScrollView::SetRulerScaleX(RulerPtr ruler)
 {
-  GetImpl(*this).SetRulerScaleX(ruler);
+  DALI_LOG_ERROR( "Deprecated" );
 }
 
 void ScrollView::SetRulerScaleY(RulerPtr ruler)
 {
-  GetImpl(*this).SetRulerScaleY(ruler);
+  DALI_LOG_ERROR( "Deprecated" );
 }
 
 void ScrollView::SetScrollSensitive(bool sensitive)
@@ -437,6 +446,16 @@ void ScrollView::SetRefreshInterval(int milliseconds)
   GetImpl(*this).SetRefreshInterval(milliseconds);
 }
 
+int ScrollView::GetScrollUpdateDistance() const
+{
+  return GetImpl(*this).GetScrollUpdateDistance();
+}
+
+void ScrollView::SetScrollUpdateDistance(int distance)
+{
+  GetImpl(*this).SetScrollUpdateDistance(distance);
+}
+
 bool ScrollView::GetAxisAutoLock() const
 {
   return GetImpl(*this).GetAxisAutoLock();
@@ -477,6 +496,26 @@ void ScrollView::SetFlickSpeedCoefficient(float speed)
   GetImpl(*this).SetFlickSpeedCoefficient(speed);
 }
 
+Vector2 ScrollView::GetMinimumDistanceForFlick() const
+{
+  return GetImpl(*this).GetMinimumDistanceForFlick();
+}
+
+void ScrollView::SetMinimumDistanceForFlick( const Vector2& distance )
+{
+  GetImpl(*this).SetMinimumDistanceForFlick(distance);
+}
+
+float ScrollView::GetMinimumSpeedForFlick() const
+{
+  return GetImpl(*this).GetMinimumSpeedForFlick();
+}
+
+void ScrollView::SetMinimumSpeedForFlick( float speed )
+{
+  GetImpl(*this).SetMinimumSpeedForFlick(speed);
+}
+
 float ScrollView::GetMaxFlickSpeed() const
 {
   return GetImpl(*this).GetMaxFlickSpeed();
@@ -502,9 +541,15 @@ Vector3 ScrollView::GetCurrentScrollPosition() const
   return GetImpl(*this).GetCurrentScrollPosition();
 }
 
+void ScrollView::SetScrollPosition(const Vector3& position)
+{
+  GetImpl(*this).SetScrollPosition(position);
+}
+
 Vector3 ScrollView::GetCurrentScrollScale() const
 {
-  return GetImpl(*this).GetCurrentScrollScale();
+  DALI_LOG_ERROR( "Deprecated" );
+  return Vector3::ONE;
 }
 
 unsigned int ScrollView::GetCurrentPage() const
@@ -514,12 +559,16 @@ unsigned int ScrollView::GetCurrentPage() const
 
 void ScrollView::TransformTo(const Vector3& position, const Vector3& scale, float rotation)
 {
-  GetImpl(*this).TransformTo(position, scale, rotation);
+  DALI_LOG_ERROR( "Deprecated" );
+
+  GetImpl(*this).TransformTo(position);
 }
 
 void ScrollView::TransformTo(const Vector3& position, const Vector3& scale, float rotation, float duration)
 {
-  GetImpl(*this).TransformTo(position, scale, rotation, duration);
+  DALI_LOG_ERROR( "Deprecated" );
+
+  GetImpl(*this).TransformTo(position, duration);
 }
 
 void ScrollView::ScrollTo(const Vector3 &position)
@@ -570,12 +619,12 @@ bool ScrollView::ScrollToSnapPoint()
 
 void ScrollView::ScaleTo(const Vector3 &scale)
 {
-  GetImpl(*this).ScaleTo(scale);
+  DALI_LOG_ERROR( "Deprecated" );
 }
 
 void ScrollView::ScaleTo(const Vector3 &scale, float duration)
 {
-  GetImpl(*this).ScaleTo(scale, duration);
+  DALI_LOG_ERROR( "Deprecated" );
 }
 
 void ScrollView::ApplyConstraintToChildren(Constraint constraint)
index 9e708d0..4dc7a6d 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/scrollable/scrollable.h>
 #include <dali-toolkit/internal/controls/scrollable/scrollable-impl.h>
@@ -108,6 +109,16 @@ void Scrollable::DisableScrollComponent(Scrollable::ScrollComponentType indicato
   GetImpl(*this).DisableScrollComponent(indicator);
 }
 
+void Scrollable::SetOvershootEffectColor( const Vector4& color )
+{
+  GetImpl(*this).SetOvershootEffectColor(color);
+}
+
+Vector4 Scrollable::GetOvershootEffectColor() const
+{
+  return GetImpl(*this).GetOvershootEffectColor();
+}
+
 } // namespace Toolkit
 
 } // namespace Dali
index 4d24415..06c18a9 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/public-api/controls/table-view/table-view.h>
@@ -28,6 +29,10 @@ namespace Dali
 namespace Toolkit
 {
 
+const std::string TableView::CELL_INDICES_PROPERTY_NAME("cell-indices");
+const std::string TableView::ROW_SPAN_PROPERTY_NAME("row-span");
+const std::string TableView::COLUMN_SPAN_PROPERTY_NAME("column-span");
+
 TableView::TableView()
 {
 }
index 5f9bd5d..9051045 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_TABLE_VIEW_H__
 #define __DALI_TOOLKIT_TABLE_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/common/dali-vector.h>
@@ -42,6 +43,57 @@ class TableView : public Control
 {
 public:
 
+  /// @name Properties
+  /** @{ */
+  static const Property::Index PROPERTY_ROWS;                       ///< name "rows",                      type UNSIGNED_INTEGER
+  static const Property::Index PROPERTY_COLUMNS;                    ///< name "columns",                   type UNSIGNED_INTEGER
+  static const Property::Index PROPERTY_CELL_PADDING;               ///< name "cell-padding",              type VECTOR2
+  static const Property::Index PROPERTY_LAYOUT_ANIMATION_DURATION;  ///< name "layout-animation-duration", type FLOAT
+
+  /*
+   * PROPERTY_LAYOUT_ROWS set the height of the rows
+   * It has the format as follows in script:
+   * @code
+   * "layout-rows":
+      {
+        "0": { "policy": "fixed", "value": 40 },       //@see SetFixedHight
+        "2": { "policy": "relative", "value": 0.33 }   //@see SetRelativeHeight
+      }
+   * @endcode
+   */
+  static const Property::Index PROPERTY_LAYOUT_ROWS;                ///< name "layout-rows",               type MAP
+
+  /*
+   * PROPERTY_LAYOUT_COLUMNS set the height of the rows
+   * It has the format as follows in script:
+   * @code
+   * "layout-columns":
+      {
+        "0": { "policy": "fixed", "value": 40 },       //@see SetFixedWidth
+        "2": { "policy": "relative", "value": 0.33 }   //@see SetRelativeWidth
+      }
+   * @endcode
+   */
+  static const Property::Index PROPERTY_LAYOUT_COLUMNS;             ///< name "layout-columns",            type MAP
+  /** @} */
+
+
+  // Custom properties for where to put the actor, these properties should be registered to the child which would be added to the table
+  static const std::string CELL_INDICES_PROPERTY_NAME;           ///< Property, name "cell-indices", type VECTOR2
+  static const std::string ROW_SPAN_PROPERTY_NAME;               ///< Property, name "row-span",     type FLOAT (Currently builder unable to differentiate integer and float from Json string)
+  static const std::string COLUMN_SPAN_PROPERTY_NAME;            ///< Property, name "column-span",  type FLOAT (Currently builder unable to differentiate integer and float from Json string)
+
+
+  /**
+   * @brief Describes how the size of a row / column been set
+   */
+  enum LayoutPolicy
+  {
+    Fixed,      ///< Fixed with the given value.
+    Relative,   ///< Calculated as percentage of the remainder after subtracting Padding and Fixed height/width
+    Fill        ///< Get the remainder of the 100% (after subtracting Padding, Fixed and Relative height/ width) divided evenly between 'fill' rows/columns
+  };
+
   /**
    * Structure to specify layout position for child actor
    */
@@ -80,10 +132,11 @@ public:
   TableView& operator=( const TableView& handle );
 
   /**
-   * Virtual destructor.
-   * Dali::Object derived classes typically do not contain member data.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~TableView();
+  ~TableView();
 
   /**
    * Create the TableView control.
index ed566de..27a5fc9 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/text-input/text-input.h>
 #include <dali-toolkit/internal/controls/text-input/text-input-impl.h>
index 329688d..b4f0d80 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
index 4aea835..a664aee 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/enums.h>
 
index ae24eec..724c1f3 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
index dbca37b..089896c 100755 (executable)
@@ -48,7 +48,11 @@ public_api_base_src_files = \
   $(public_api_base_src_dir)/focus-manager/keyinput-focus-manager.cpp \
   $(public_api_base_src_dir)/markup-processor/markup-processor.cpp \
   $(public_api_base_src_dir)/shader-effects/image-region-effect.cpp \
-  $(public_api_base_src_dir)/shader-effects/bouncing-effect.cpp
+  $(public_api_base_src_dir)/shader-effects/bouncing-effect.cpp \
+  $(public_api_base_src_dir)/styling/style-manager.cpp \
+  $(public_api_base_src_dir)/builder/builder.cpp \
+  $(public_api_base_src_dir)/builder/json-parser.cpp \
+  $(public_api_base_src_dir)/builder/tree-node.cpp
 
 # Add public header files here
 
@@ -101,3 +105,12 @@ public_api_base_markup_processor_header_files =
 public_api_base_shader_effects_header_files = \
   $(public_api_base_src_dir)/shader-effects/bouncing-effect.h
 
+public_api_base_styling_header_files = \
+  $(public_api_base_src_dir)/styling/style-manager.h
+
+public_api_base_builder_header_files = \
+  $(public_api_base_src_dir)/builder/builder.h \
+  $(public_api_base_src_dir)/builder/json-parser.h \
+  $(public_api_base_src_dir)/builder/tree-node.h
+
+
index 873ec65..f8e2060 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
@@ -170,16 +171,6 @@ bool FocusManager::GetWrapMode() const
   return GetImpl(*this).GetWrapMode();
 }
 
-void FocusManager::SetEndCapFeedbackEnabled(bool enabled)
-{
-  GetImpl(*this).SetEndCapFeedbackEnabled(enabled);
-}
-
-bool FocusManager::GetEndCapFeedbackEnabled() const
-{
-  return GetImpl(*this).GetEndCapFeedbackEnabled();
-}
-
 void FocusManager::SetFocusIndicatorActor(Actor indicator)
 {
   GetImpl(*this).SetFocusIndicatorActor(indicator);
index e48d1b6..458c230 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
index 470977a..f427283 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
index da67b2f..5c05b3f 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_KEYINPUT_FOCUS_MANAGER_H__
 #define __DALI_TOOLKIT_KEYINPUT_FOCUS_MANAGER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -63,9 +64,11 @@ class KeyInputFocusManager;
   KeyInputFocusManager();
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~KeyInputFocusManager();
+  ~KeyInputFocusManager();
 
   /**
    * Get the singleton of KeyInputFocusManager object.
index a070bfe..5d50c03 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // HEADER INCLUDE
 #include <dali-toolkit/public-api/markup-processor/markup-processor.h>
@@ -891,9 +892,9 @@ void GetMarkupString( const StyledTextArray& styledTextArray, std::string& marku
   {
     const StyledText& styledText( *it );
 
-    bool isItalics = styledText.mStyle.GetItalics();
+    bool isItalics = styledText.mStyle.IsItalicsEnabled();
     bool isBold = defaultStyle.GetWeight() != styledText.mStyle.GetWeight();
-    bool isUnderline = styledText.mStyle.GetUnderline();
+    bool isUnderline = styledText.mStyle.IsUnderlineEnabled();
     bool hasFontFace = defaultStyle.GetFontName() != styledText.mStyle.GetFontName();
     bool hasFontStyle = defaultStyle.GetFontStyle() != styledText.mStyle.GetFontStyle();
     bool hasFontSize = fabsf( defaultStyle.GetFontPointSize() - styledText.mStyle.GetFontPointSize() ) > GetRangedEpsilon( defaultStyle.GetFontPointSize(), styledText.mStyle.GetFontPointSize() );
@@ -960,7 +961,7 @@ void GetMarkupString( const StyledTextArray& styledTextArray, std::string& marku
     }
 
     // Write shadow.
-    if( styledText.mStyle.GetShadow() )
+    if( styledText.mStyle.IsShadowEnabled() )
     {
       markupString += LESS_THAN + XHTML_SHADOW_TAG;
 
@@ -979,7 +980,7 @@ void GetMarkupString( const StyledTextArray& styledTextArray, std::string& marku
     }
 
     // Write glow.
-    if( styledText.mStyle.GetGlow() )
+    if( styledText.mStyle.IsGlowEnabled() )
     {
       markupString += LESS_THAN + XHTML_GLOW_TAG;
 
@@ -997,7 +998,7 @@ void GetMarkupString( const StyledTextArray& styledTextArray, std::string& marku
     } // <glow>
 
     // Write outline.
-    if( styledText.mStyle.GetOutline() )
+    if( styledText.mStyle.IsOutlineEnabled() )
     {
       markupString += LESS_THAN + XHTML_OUTLINE_TAG;
 
@@ -1026,19 +1027,19 @@ void GetMarkupString( const StyledTextArray& styledTextArray, std::string& marku
     }
 
     // Write outline close tag.
-    if( styledText.mStyle.GetOutline() )
+    if( styledText.mStyle.IsOutlineEnabled() )
     {
       markupString += LESS_THAN + ( SLASH + XHTML_OUTLINE_TAG + GREATER_THAN ); // </outline>
     }
 
     // Write glow close tag.
-    if( styledText.mStyle.GetGlow() )
+    if( styledText.mStyle.IsGlowEnabled() )
     {
       markupString += LESS_THAN + ( SLASH + XHTML_GLOW_TAG + GREATER_THAN ); // </glow>
     }
 
     // Write shadow close tag.
-    if( styledText.mStyle.GetShadow() )
+    if( styledText.mStyle.IsShadowEnabled() )
     {
       markupString += LESS_THAN + ( SLASH + XHTML_SHADOW_TAG + GREATER_THAN ); // </shadow>
     }
index 7698dda..c0433f5 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/shader-effects/bouncing-effect.h>
 
index 3b63fdc..a9e6280 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SHADER_EFFECT_BOUNCING_H__
 #define __DALI_TOOLKIT_SHADER_EFFECT_BOUNCING_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -55,9 +56,11 @@ public:
   BouncingEffect();
 
   /**
-   * @brief Virtual destructor
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~BouncingEffect();
+  ~BouncingEffect();
 
   /**
    * @brief Create a BouncingEffect object
index 18bb1c3..b597c92 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/shader-effects/image-region-effect.h>
 
diff --git a/base/dali-toolkit/public-api/styling/style-manager.cpp b/base/dali-toolkit/public-api/styling/style-manager.cpp
new file mode 100644 (file)
index 0000000..d2bc299
--- /dev/null
@@ -0,0 +1,104 @@
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// CLASS HEADER
+
+#include <dali-toolkit/public-api/styling/style-manager.h>
+
+// EXTERNAL INCLUDES
+
+// INTERNAL INCLUDES
+
+#include <dali-toolkit/internal/styling/style-manager-impl.h>
+
+namespace Dali
+{
+
+namespace Toolkit
+{
+
+StyleManager::StyleManager()
+{
+}
+
+StyleManager::~StyleManager()
+{
+}
+
+StyleManager StyleManager::Get()
+{
+  return Internal::StyleManager::Get();
+}
+
+void StyleManager::SetOrientationValue( int orientation )
+{
+  GetImpl(*this).SetOrientationValue( orientation );
+}
+
+int StyleManager::GetOrientationValue()
+{
+  return GetImpl(*this).GetOrientationValue();
+}
+
+void StyleManager::SetOrientation( Orientation orientation )
+{
+  GetImpl(*this).SetOrientation( orientation );
+}
+
+Orientation StyleManager::GetOrientation()
+{
+  return GetImpl(*this).GetOrientation();
+}
+
+void StyleManager::SetStyleConstant( const std::string& key, const Property::Value& value )
+{
+  GetImpl(*this).SetStyleConstant( key, value );
+}
+
+bool StyleManager::GetStyleConstant( const std::string& key, Property::Value& valueOut )
+{
+  return GetImpl(*this).GetStyleConstant( key, valueOut );
+}
+
+void StyleManager::ApplyStyle( Toolkit::Control control, const std::string& jsonFileName, const std::string& styleName )
+{
+  GetImpl(*this).ApplyStyle( control, jsonFileName, styleName );
+}
+
+StyleManager::StyleManager( Internal::StyleManager *impl )
+  : BaseHandle( impl )
+{
+}
+
+StyleManager::StyleChangeSignalType& StyleManager::StyleChangeSignal()
+{
+  return GetImpl( *this ).StyleChangeSignal();
+}
+
+void StyleManager::RequestThemeChange( const std::string& themeFile )
+{
+  GetImpl(*this).RequestThemeChange( themeFile );
+}
+
+void StyleManager::RequestDefaultTheme()
+{
+  GetImpl(*this).RequestDefaultTheme();
+}
+
+} // namespace Toolkit
+
+} // namespace Dali
+
diff --git a/base/dali-toolkit/public-api/styling/style-manager.h b/base/dali-toolkit/public-api/styling/style-manager.h
new file mode 100644 (file)
index 0000000..6ac2662
--- /dev/null
@@ -0,0 +1,192 @@
+#ifndef __DALI_TOOLKIT_STYLE_MANAGER_H__
+#define __DALI_TOOLKIT_STYLE_MANAGER_H__
+
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// EXTERNAL INCLUDES
+
+// INTERNAL INCLUDES
+#include <dali/dali.h>
+#include <dali-toolkit/public-api/controls/control.h>
+
+namespace Dali DALI_IMPORT_API
+{
+
+namespace Toolkit
+{
+
+namespace Internal DALI_INTERNAL
+{
+class StyleManager;
+}
+
+/**
+ * @brief StyleManager provides the following functionalities:
+ *
+ * Applies various styles to Controls using the properties system.
+ * On theme change a signal is raised that controls can be configured to listen to.
+ *
+ * The default theme is automatically loaded and applied.
+ *
+ * If the application wants to customize the theme, RequestThemeChange needs to be called.
+ * Also, the default orientation is Portrait, if the application wants to adapt to the orientation change, call SetOrientation or SetOrienationValue.
+ * @code
+ *   const char* CUSTOM_THEME = DALI_SCRIPT_DIR "tizen-dark-theme.json";
+ *
+ *   void OnInit(Application& app)
+ *   {
+ *      Toolkit::StyleManager::Get().RequestThemeChange( CUSTOM_THEME );
+ *      Toolkit::StyleManager::Get().SetOrientation( app.GetOrientation() );
+ *      ...
+ *   }
+ * @endcode
+ *
+ * Internal::Control can be configured to register for the signals that are required from StyleManager,
+ * such as theme change.
+ */
+class StyleManager : public BaseHandle
+{
+public:
+
+  // Signals
+  typedef SignalV2< void ( StyleManager, StyleChange ) >  StyleChangeSignalType;
+
+  /**
+   * @brief Create a StyleManager handle; this can be initialised with StyleManager::Get()
+   * Calling member functions with an uninitialised handle is not allowed.
+   */
+  StyleManager();
+
+  /**
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
+   */
+  ~StyleManager();
+
+  /**
+   * @brief Get the singleton of StyleManager object.
+   *
+   * @return A handle to the StyleManager control.
+   */
+  static StyleManager Get();
+
+  /**
+   * @brief Specify the orientation value directly for the style manager
+   *
+   * @param[in] orientation The orientation in degrees
+   */
+  void SetOrientationValue( int orientation );
+
+  /**
+   * @brief Return the orientation value
+   *
+   * @return The orientation value
+   */
+  int GetOrientationValue();
+
+  /**
+   * @brief Set the orientation object. This will take precedence over setting the orientation value.
+   *
+   * @param[in] orientation Device orientation
+   */
+  void SetOrientation( Orientation orientation );
+
+  /**
+   * @brief Return the orientation object
+   *
+   * @return The orientation.
+   */
+  Orientation GetOrientation();
+
+  /**
+   * @brief Make a request to set the theme JSON file to one that exists in the Toolkit package.
+   *
+   * Multiple requests per event processing cycle can be made, but only the final one will be acted
+   * on in the event processing finished callback.
+   *
+   * @param[in] themeFile This is just the JSON theme file name and not the full path.
+   */
+  void RequestThemeChange( const std::string& themeFile );
+
+  /**
+   * @brief Request a change to the default theme
+   */
+  void RequestDefaultTheme();
+
+  /**
+   * @brief Set a constant for use when building styles
+   *
+   * A constant is used in JSON files e.g. "my-image":"{ROOT_PATH}/mypath/image.jpg"
+   * where the string "{ROOT_PATH}" is substituted with the value.
+   *
+   * @param[in] key The key of the constant
+   * @param[in] value The value of the constant
+   */
+  void SetStyleConstant( const std::string& key, const Property::Value& value );
+
+  /**
+   * @brief Return the style constant set for a specific key
+   *
+   * @param[in] key The key of the constant
+   * @param[out] valueOut The value of the constant if it exists
+   *
+   * @return If the constant for key exists then return the constant in valueOut and return true
+   */
+  bool GetStyleConstant( const std::string& key, Property::Value& valueOut );
+
+  /**
+   * @brief Apply the specified style to the control.
+   *
+   * The JSON file will be cached and subsequent calls using the same JSON file name will
+   * use the already loaded cached values instead.
+   *
+   * @param[in] control The control to apply style.
+   * @param[in] jsonFileName The name of the JSON style file to apply.
+   * @param[in] styleName The name of the style within the JSON file to apply.
+   */
+  void ApplyStyle( Toolkit::Control control, const std::string& jsonFileName, const std::string& styleName );
+
+public: // Signals
+
+  /**
+   * @brief This signal is emitted whenever the style (e.g. theme/font change) is changed on device
+   * A callback of the following type may be connected:
+   * @code
+   *   void YourCallbackName( StyleManager styleManager, StyleChange change );
+   * @endcode
+   * @return The signal to connect to.
+   */
+  StyleChangeSignalType& StyleChangeSignal();
+
+public:
+
+  /**
+   * @brief Creates a new handle from the implementation.
+   *
+   * @param[in] impl A pointer to the object.
+   */
+  explicit DALI_INTERNAL StyleManager( Internal::StyleManager *impl );
+
+}; // class StyleManager
+
+} // namespace Toolkit
+
+} // namespace Dali
+
+
+#endif /* __DALI_TOOLKIT_STYLE_MANAGER_H__ */
diff --git a/base/dali-toolkit/styles/file.list b/base/dali-toolkit/styles/file.list
new file mode 100644 (file)
index 0000000..83a6e26
--- /dev/null
@@ -0,0 +1,4 @@
+# Files to install here
+
+dali_toolkit_style_files =\
+    $(toolkit_base_styles_dir)/*.json
diff --git a/base/dali-toolkit/styles/tizen-dark-theme.json b/base/dali-toolkit/styles/tizen-dark-theme.json
new file mode 100644 (file)
index 0000000..a771860
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+Copyright (c) 2000-2014 Samsung Electronics Co., Ltd All Rights Reserved
+
+This file is part of Dali Toolkit
+
+PROPRIETARY/CONFIDENTIAL
+
+This software is the confidential and proprietary information of
+SAMSUNG ELECTRONICS ("Confidential Information"). You shall not
+disclose such Confidential Information and shall use it only in
+accordance with the terms of the license agreement you entered
+into with SAMSUNG ELECTRONICS.
+
+SAMSUNG make no representations or warranties about the suitability
+of the software, either express or implied, including but not limited
+to the implied warranties of merchantability, fitness for a particular
+purpose, or non-infringement. SAMSUNG shall not be liable for any
+damages suffered by licensee as a result of using, modifying or
+distributing this software or its derivatives.
+*/
+
+
+
+//******************************************************************************
+//
+// Default style theme for Tizen dark theme, The values should come from
+// UX design document.
+//
+//******************************************************************************
+
+{
+  "styles":
+  {
+    "textinput":
+    {
+      "highlight-color":"F060",
+      "cut-and-paste-bg-color":"B061L41",
+      "cut-and-paste-pressed-color":"B061L41P",
+      "cut-and-paste-border-color":"B061L42",
+      "cut-and-paste-icon-color":"T126",
+      "cut-and-paste-icon-pressed-color":"T126P",
+      "cut-and-paste-text-color":"T1221",
+      "cut-and-paste-text-pressed-color":"T1221P",
+      "cut-button-position-priority":4,
+      "copy-button-position-priority":3,
+      "paste-button-position-priority":5,
+      "select-button-position-priority":1,
+      "select-all-button-position-priority":2,
+      "clipboard-button-position-priority":6,
+      "cursor-color":"F052"
+    },
+    "scrollview":
+    {
+      "overshoot-effect-color":"B018"
+    }
+  }
+}
diff --git a/base/dali-toolkit/styles/tizen-default-theme.json b/base/dali-toolkit/styles/tizen-default-theme.json
new file mode 120000 (symlink)
index 0000000..c09c1a1
--- /dev/null
@@ -0,0 +1 @@
+tizen-dark-theme.json
\ No newline at end of file
index bab8c68..23183a8 100644 (file)
@@ -1,21 +1,20 @@
 #
 # Copyright (c) 2014 Samsung Electronics Co., Ltd.
 #
-# Licensed under the Flora License, Version 1.0 (the License);
+# Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
 #
-#     http://floralicense.org/license/
+# http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an AS IS BASIS,
+# distributed under the License is distributed on an "AS IS" BASIS,
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
 
-SUBDIRS = dali-toolkit-base \
-          dali-toolkit
+SUBDIRS = dali-toolkit docs
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = dali-toolkit.pc
index 0e9c6f0..ed3d8bb 100644 (file)
@@ -1,14 +1,14 @@
 #
 # Copyright (c) 2014 Samsung Electronics Co., Ltd.
 #
-# Licensed under the Flora License, Version 1.0 (the License);
+# Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
 #
-#     http://floralicense.org/license/
+# http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an AS IS BASIS,
+# distributed under the License is distributed on an "AS IS" BASIS,
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
@@ -55,6 +55,16 @@ if test "x$enable_debug" = "xno" -a "x$enable_exportall" = "xno"; then
   DALI_TOOLKIT_CFLAGS="$DALI_TOOLKIT_CFLAGS -fvisibility=hidden -DHIDE_DALI_INTERNALS"
 fi
 
+# Tizen Profile options
+AC_ARG_ENABLE([profile],
+              [AC_HELP_STRING([--enable-profile=COMMON,MOBILE,LITE,WEARABLE,TV],
+                            [Select the variant of tizen])],
+              [dali_profile=$enableval],
+              [dali_profile=COMMON])
+
+# Different platforms use either the full Toolkit or the basic version
+# The basic version excludes components under dali-toolkit/optional
+AM_CONDITIONAL([TOOLKIT_BASIC_VERSION], [test x$dali_profile = xLITE])
 
 if test x$DALI_DATA_RW_DIR != x; then
   dataReadWriteDir=${DALI_DATA_RW_DIR}/
@@ -77,11 +87,18 @@ AC_SUBST(DALI_TOOLKIT_CFLAGS)
 devincludepath=${includedir}
 AC_SUBST(devincludepath)
 
+# Doxygen paths
+DOXYGEN_DOCS_DIR=../../../docs
+DOXYGEN_ROOT_DIR=../../..
+AC_SUBST(DOXYGEN_DOCS_DIR)
+AC_SUBST(DOXYGEN_ROOT_DIR)
+
 AC_CONFIG_FILES([
  Makefile
  dali-toolkit/Makefile
- dali-toolkit-base/Makefile
  dali-toolkit.pc
+ docs/Makefile
+ docs/dali.doxy
 ])
 
 AC_OUTPUT
@@ -91,6 +108,7 @@ Configuration
 -------------
   Prefix:                           $prefix
   Debug Build:                      $enable_debug
+  Profile:                          $dali_profile
   Data Dir (Read/Write):            $dataReadWriteDir
   Data Dir (Read Only):             $dataReadOnlyDir
 "
diff --git a/build/slp/dali-toolkit-base/Makefile.am b/build/slp/dali-toolkit-base/Makefile.am
deleted file mode 100644 (file)
index 50eaa34..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-#
-# Copyright (c) 2014 Samsung Electronics Co., Ltd.
-#
-# Licensed under the Flora License, Version 1.0 (the License);
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://floralicense.org/license/
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an AS IS BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# Build the Dali Toolkit Base library
-
-# Base files
-toolkit_base_images_dir = ../../../base/dali-toolkit/images
-toolkit_base_sounds_dir = ../../../base/dali-toolkit/sounds
-toolkit_base_src_dir    = ../../../base/dali-toolkit/internal
-public_api_base_src_dir = ../../../base/dali-toolkit/public-api
-
-include ../../../base/dali-toolkit/images/file.list
-include ../../../base/dali-toolkit/sounds/file.list
-include ../../../base/dali-toolkit/internal/file.list
-include ../../../base/dali-toolkit/public-api/file.list
-
-#resources_dir = ../../../resources
-#daliimagedir = ${dataReadOnlyDir}/toolkit/images/
-#daliimage_DATA = ${dali_toolkit_base_image_files}
-#dalisounddir = ${dataReadOnlyDir}/toolkit/sounds/
-#dalisound_DATA = ${dali_toolkit_base_sound_files}
-
-# The Base library
-lib_LTLIBRARIES = libdali-toolkit-base.la
-
-libdali_toolkit_base_la_SOURCES = \
-                     $(toolkit_base_src_files) \
-                     $(public_api_base_src_files)
-
-libdali_toolkit_base_la_DEPENDENCIES =
-
-libdali_toolkit_base_la_CXXFLAGS = -DDALI_COMPILATION \
-                      -DDALI_IMAGE_DIR="\"${daliimagedir}\"" \
-                      -DDALI_SOUND_DIR="\"${dalisounddir}\"" \
-                      -Werror -Wall \
-                      -I../../../base \
-                      -I../../../capi \
-                      $(DALI_TOOLKIT_CFLAGS) \
-                      $(DALICORE_CFLAGS) \
-                      $(DALI_CFLAGS) \
-                      $(DLOG_CFLAGS) \
-                      $(FRIBIDI_CFLAGS) \
-                      $(HTMLCXX_CFLAGS)
-
-libdali_toolkit_base_la_LIBADD = \
-                      $(DALICORE_LIBS) \
-                      $(DALI_LIBS) \
-                      $(DLOG_LIBS) \
-                      $(FRIBIDI_LIBS) \
-                      $(HTMLCXX_LIBS)
-
index 79f3c62..2c9dd9d 100644 (file)
@@ -1,29 +1,31 @@
 #
 # Copyright (c) 2014 Samsung Electronics Co., Ltd.
 #
-# Licensed under the Flora License, Version 1.0 (the License);
+# Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
 #
-#     http://floralicense.org/license/
+# http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an AS IS BASIS,
+# distributed under the License is distributed on an "AS IS" BASIS,
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
 
-# Build the Dali Toolkit library (Combined Base and Optional)
+# Build the Dali Toolkit library
 
 # Base files
 toolkit_base_images_dir = ../../../base/dali-toolkit/images
 toolkit_base_sounds_dir = ../../../base/dali-toolkit/sounds
+toolkit_base_styles_dir = ../../../base/dali-toolkit/styles
 toolkit_base_src_dir    = ../../../base/dali-toolkit/internal
 public_api_base_src_dir = ../../../base/dali-toolkit/public-api
 
 include ../../../base/dali-toolkit/images/file.list
 include ../../../base/dali-toolkit/sounds/file.list
+include ../../../base/dali-toolkit/styles/file.list
 include ../../../base/dali-toolkit/internal/file.list
 include ../../../base/dali-toolkit/public-api/file.list
 
@@ -36,37 +38,58 @@ include ../../../optional/dali-toolkit/images/file.list
 include ../../../optional/dali-toolkit/internal/file.list
 include ../../../optional/dali-toolkit/public-api/file.list
 
-# CAPI
+# CAPI headers
 capi_devel_src_dir = ../../../capi/dali-toolkit/public-api
 
 include ../../../capi/dali-toolkit/public-api/file.list
 
 resources_dir = ../../../resources
 daliimagedir = ${dataReadOnlyDir}/toolkit/images/
+if TOOLKIT_BASIC_VERSION
+daliimage_DATA = ${dali_toolkit_base_image_files}
+else
 daliimage_DATA = ${dali_toolkit_base_image_files} \
                  ${dali_toolkit_optional_image_files}
+endif # TOOLKIT_BASIC_VERSION
 
 dalisounddir = ${dataReadOnlyDir}/toolkit/sounds/
 dalisound_DATA = ${dali_toolkit_base_sound_files}
 
-# The Combined library
+# The library
 lib_LTLIBRARIES = libdali-toolkit.la
 
+if TOOLKIT_BASIC_VERSION
+libdali_toolkit_la_SOURCES = \
+                     $(toolkit_base_src_files) \
+                     $(public_api_base_src_files)
+else
 libdali_toolkit_la_SOURCES = \
                      $(toolkit_base_src_files) \
                      $(public_api_base_src_files) \
                      $(toolkit_optional_src_files) \
                      $(public_api_optional_src_files)
+endif # TOOLKIT_BASIC_VERSION
+
+dalistyledir = ${dataReadOnlyDir}/toolkit/styles/
+dalistyle_DATA = ${dali_toolkit_style_files}
 
 libdali_toolkit_la_DEPENDENCIES =
 
+toolkit_basic_includes = -I../../../base \
+                         -I../../../capi
+
+if ! TOOLKIT_BASIC_VERSION
+toolkit_optional_includes = -I../../../optional
+endif
+
 libdali_toolkit_la_CXXFLAGS = -DDALI_COMPILATION \
                       -DDALI_IMAGE_DIR="\"${daliimagedir}\"" \
                       -DDALI_SOUND_DIR="\"${dalisounddir}\"" \
+                      -DDALI_STYLE_DIR="\"${dalistyledir}\"" \
+                      -DDALI_DATA_READ_ONLY_DIR="\"${dataReadOnlyDir}\"" \
                       -Werror -Wall \
-                      -I../../../base \
-                      -I../../../optional \
-                      -I../../../capi \
+                      $(toolkit_basic_includes) \
+                      $(toolkit_optional_includes) \
                       $(DALI_TOOLKIT_CFLAGS) \
                       $(DALICORE_CFLAGS) \
                       $(DALI_CFLAGS) \
@@ -103,6 +126,8 @@ publicapibasefactorydir = $(publicapibasedir)/factory
 publicapibasefocusmanagerdir = $(publicapibasedir)/focus-manager
 publicapibasemarkupprocessordir = $(publicapibasedir)/markup-processor
 publicapibaseshadereffectsdir = $(publicapibasedir)/shader-effects
+publicapibasestylingdir = $(publicapibasedir)/styling
+publicapibasebuilderdir = $(publicapibasedir)/builder
 
 publicapibase_HEADERS = $(public_api_base_header_files)
 publicapibasecontrols_HEADERS = $(public_api_base_controls_header_files)
@@ -122,6 +147,8 @@ publicapibasefactory_HEADERS = $(public_api_base_factory_header_files)
 publicapibasefocusmanager_HEADERS = $(public_api_base_focus_manager_header_files)
 publicapibasemarkupprocessor_HEADERS = $(public_api_base_markup_processor_header_files)
 publicapibaseshadereffects_HEADERS = $(public_api_base_shader_effects_header_files)
+publicapibasestyling_HEADERS = $(public_api_base_styling_header_files)
+publicapibasebuilder_HEADERS = $(public_api_base_builder_header_files)
 
 # Install Optional headers
 
@@ -147,7 +174,6 @@ publicapioptionalviewdir = $(publicapioptionaldir)/controls/view
 publicapioptionalnavigationframedir = $(publicapioptionaldir)/controls/navigation-frame
 publicapioptionalshadereffectsdir = $(publicapioptionaldir)/shader-effects
 publicapioptionalbubbleeffectdir = $(publicapioptionaldir)/shader-effects/bubble-effect
-publicapioptionalbuilderdir = $(publicapioptionaldir)/builder
 publicapioptionaltransitioneffectsdir = $(publicapioptionaldir)/transition-effects
 
 publicapioptional_HEADERS = $(public_api_optional_header_files)
@@ -169,7 +195,6 @@ publicapioptionalview_HEADERS = $(public_api_optional_view_header_files)
 publicapioptionalnavigationframe_HEADERS = $(public_api_optional_navigation_frame_header_files)
 publicapioptionalshadereffects_HEADERS = $(public_api_optional_shader_effects_header_files)
 publicapioptionalbubbleeffect_HEADERS = $(public_api_optional_bubble_effect_header_files)
-publicapioptionalbuilder_HEADERS = $(public_api_optional_builder_header_files)
 publicapioptionaltransitioneffects_HEADERS = $(public_api_optional_transition_effects_header_files)
 
 # Install CAPI headers
@@ -212,6 +237,7 @@ capidevelstyledtextutilitiesdir = $(capideveldir)/styled-text-utilities
 capidevelbuilderdir = $(capideveldir)/builder
 capidevelutilitiesdir = $(capideveldir)/utilities
 capideveltransitioneffectsdir = $(capideveldir)/transition-effects
+capidevelstylingdir = $(capideveldir)/styling
 
 capidevel_HEADERS = $(capi_devel_header_files)
 capidevelcontrols_HEADERS = $(capi_devel_controls_header_files)
@@ -251,3 +277,5 @@ capidevelstyledtextutilities_HEADERS = $(capi_devel_styled_text_utilities_header
 capidevelbuilder_HEADERS = $(capi_devel_builder_header_files)
 capidevelutilities_HEADERS = $(capi_devel_utilities_header_files)
 capideveltransitioneffects_HEADERS = $(capi_devel_transition_effects_header_files)
+capidevelstyling_HEADERS = $(capi_devel_styling_header_files)
+
diff --git a/build/slp/docs/.gitignore b/build/slp/docs/.gitignore
new file mode 100644 (file)
index 0000000..37cfe18
--- /dev/null
@@ -0,0 +1 @@
+doxygen-errors.txt
diff --git a/build/slp/docs/Makefile.am b/build/slp/docs/Makefile.am
new file mode 100644 (file)
index 0000000..8d70825
--- /dev/null
@@ -0,0 +1,7 @@
+all-local:
+       @rm -f doxygen-errors.txt
+       @-doxygen dali.doxy &> doxygen-errors.txt || rm doxygen-errors.txt
+       @touch doxygen-errors.txt
+       @cat doxygen-errors.txt
+       @if [ -s doxygen-errors.txt ]; then exit 1 ; fi
+       @rm doxygen-errors.txt
diff --git a/build/slp/docs/dali.doxy.in b/build/slp/docs/dali.doxy.in
new file mode 100644 (file)
index 0000000..f3379c1
--- /dev/null
@@ -0,0 +1,1567 @@
+# Doxyfile 1.5.8
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING      = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME           = Dali
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER         =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = @DOXYGEN_DOCS_DIR@/generated
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS         = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek,
+# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages),
+# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish,
+# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene,
+# Spanish, Swedish, and Ukrainian.
+
+OUTPUT_LANGUAGE        = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF       = "The $name class" \
+                         "The $name widget" \
+                         "The $name file" \
+                         is \
+                         provides \
+                         specifies \
+                         contains \
+                         represents \
+                         a \
+                         an \
+                         the
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC    = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB  = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH        = .
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH    =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF      = YES
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF           = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS           = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES  = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 2
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for
+# Java. For instance, namespaces will be presented as packages, qualified
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources only. Doxygen will then generate output that is more tailored for
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN   = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL   = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it parses.
+# With this tag you can assign which parser to use for a given extension.
+# Doxygen has a built-in mapping, but you can override or extend it using this tag.
+# The format is ext=language, where ext is a file extension, and language is one of
+# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
+# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
+# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
+# use: inc=Fortran f=C
+
+EXTENSION_MAPPING      =
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT    = YES
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT        = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT            = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter
+# and setter methods for a property. Setting this option to YES (the default)
+# will make doxygen to replace the get and set methods by a property in the
+# documentation. This will only work if the methods are indeed getting or
+# setting a simple type. If this is not the case, or you want to show the
+# methods anyway, you should set this option to NO.
+
+IDL_PROPERTY_SUPPORT   = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING            = YES
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT   = NO
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
+# determine which symbols to keep in memory and which to flush to disk.
+# When the cache is full, less often used symbols will be written to disk.
+# For small to medium size projects (<1000 input files) the default value is
+# probably good enough. For larger projects a too small cache size can cause
+# doxygen to be busy swapping symbols to and from disk most of the time
+# causing a significant performance penality.
+# If the system has enough physical memory increasing the cache will improve the
+# performance by keeping more symbols in memory. Note that the value works on
+# a logarithmic scale so increasing the size by one will rougly double the
+# memory usage. The cache size is given by this formula:
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols
+
+SYMBOL_CACHE_SIZE      = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL            = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE        = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC         = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES  = YES
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS  = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base
+# name of the file that contains the anonymous namespace. By default
+# anonymous namespace are hidden.
+
+EXTRACT_ANON_NSPACES   = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS  = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS      = NO
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS          = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES       = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS       = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS        = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
+# hierarchy of group names into alphabetical order. If set to NO (the default)
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES       = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME     = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST      = NO
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST      = NO
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST       = NO
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS       =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = YES
+
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES       = YES
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
+# This will remove the Files entry from the Quick Index and from the
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES             = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
+# Namespaces page.  This will remove the Namespaces entry from the Quick Index
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES        = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER    =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
+# doxygen. The layout file controls the global structure of the generated output files
+# in an output format independent way. The create the layout file that represents
+# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
+# file name after the option, if omitted DoxygenLayout.xml will be used as the name
+# of the layout file.
+
+LAYOUT_FILE            = @DOXYGEN_DOCS_DIR@/DaliLayout.xml
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = YES
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR      = YES
+
+# This WARN_NO_PARAMDOC option can be abled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
+WARN_NO_PARAMDOC       = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE           =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT                  = @DOXYGEN_DOCS_DIR@/content \
+                         ../../../../dali-toolkit/base/dali-toolkit/public-api \
+                         ../../../../dali-toolkit/optional/dali-toolkit/public-api \
+                         ../../../../dali-toolkit/capi/dali-toolkit/public-api \
+                         @prefix@/include/dali
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
+# the list of possible encodings.
+
+INPUT_ENCODING         = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
+
+FILE_PATTERNS          = *.c \
+                         *.cc \
+                         *.cxx \
+                         *.cpp \
+                         *.c++ \
+                         *.d \
+                         *.java \
+                         *.ii \
+                         *.ixx \
+                         *.ipp \
+                         *.i++ \
+                         *.inl \
+                         *.h \
+                         *.hh \
+                         *.hxx \
+                         *.hpp \
+                         *.h++ \
+                         *.idl \
+                         *.odl \
+                         *.cs \
+                         *.php \
+                         *.php3 \
+                         *.inc \
+                         *.m \
+                         *.mm \
+                         *.dox \
+                         *.py \
+                         *.f90 \
+                         *.f \
+                         *.vhd \
+                         *.vhdl
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE              = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE                = dali/integration-api
+
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
+# directories that are symbolic links (a Unix filesystem feature) are excluded
+# from the input.
+
+EXCLUDE_SYMLINKS       = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS       =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS        = DaliInternal \
+                         Dali::Internal \
+                         Dali::Integration \
+                         Impl \
+                         ApplicationImpl
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH           =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS       = *
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE      = YES
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH             = @DOXYGEN_DOCS_DIR@/content/images
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.  If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER           =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis.  Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match.  The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
+# is applied to all files.
+
+FILTER_PATTERNS        =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER         = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION    = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code.  Otherwise they will link to the documentation.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html). You
+# will need version 4.8.6 or higher.
+
+USE_HTAGS              = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS       = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX     = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX          =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT            = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER            =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER            =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET        =
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS     = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS  = NO
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files
+# will be generated that can be used as input for Apple's Xcode 3
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
+
+GENERATE_DOCSET        = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
+# feed. A documentation feed provides an umbrella under which multiple
+# documentation sets from a single provider (such as a company or product suite)
+# can be grouped.
+
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
+# should uniquely identify the documentation set bundle. This should be a
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP      = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE               = dali.chm
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION           =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
+# content.
+
+CHM_INDEX_ENCODING     =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND             = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
+# are set, an additional index file will be generated that can be used as input for
+# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
+# HTML documentation.
+
+GENERATE_QHP           = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
+# be used to specify the file name of the resulting .qch file.
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE               =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE          =
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER     = doc
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
+# For more information please see
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME   =
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
+
+QHP_CUST_FILTER_ATTRS  =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
+# filter section matches.
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
+
+QHP_SECT_FILTER_ATTRS  =
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
+# be used to specify the location of Qt's qhelpgenerator.
+# If non-empty doxygen will try to run qhelpgenerator on the generated
+# .qhp file.
+
+QHG_LOCATION           =
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX          = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information.
+# If the tag value is set to FRAME, a side panel will be generated
+# containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
+# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
+# probably better off using the HTML help feature. Other possible values
+# for this tag are: HIERARCHIES, which will generate the Groups, Directories,
+# and Class Hierarchy pages using a tree view instead of an ordered list;
+# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which
+# disables this behavior completely. For backwards compatibility with previous
+# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE
+# respectively.
+
+GENERATE_TREEVIEW      = NONE
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH         = 250
+
+# Use this tag to change the font size of Latex formulas included
+# as images in the HTML documentation. The default is 10. Note that
+# when you change the font size after a successful doxygen run you need
+# to manually remove any form_*.png images from the HTML output directory
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE       = 10
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX         = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES         =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER           =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS         = YES
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX           = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE        = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES     = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE    =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE    =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION          = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT             = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA             =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD                =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING     = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader.  This is useful
+# if you want to understand what is going on.  On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION        = YES
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF     = YES
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH           =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS  =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
+PREDEFINED             = DALI_IMPORT_API DALI_INTERNAL \
+                       __attribute__ ((visibility ("default"))) \
+                       __attribute__ ((visibility ("hidden")))
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED      =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line, have an all uppercase name, and do not end with a semicolon. Such
+# function macros are typically used for boiler-plate code, and will confuse
+# the parser if not removed.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+#   TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+#   TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES               =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE       =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS        = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
+# this option is superseded by the HAVE_DOT option below. This is only a
+# fallback. It is recommended to install and use dot, since it yields more
+# powerful graphs.
+
+CLASS_DIAGRAMS         = YES
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH            =
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT               = NO
+
+# By default doxygen will write a font called FreeSans.ttf to the output
+# directory and reference it in all dot files that doxygen generates. This
+# font does not include all possible unicode characters however, so when you need
+# these (or just want a differently looking font) you can specify the font name
+# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
+# which can be done by putting it in a standard location or by setting the
+# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
+# containing the font.
+
+DOT_FONTNAME           = FreeSans
+
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
+# The default size is 10pt.
+
+DOT_FONTSIZE           = 10
+
+# By default doxygen will tell dot to use the output directory to look for the
+# FreeSans.ttf font (which doxygen will put there itself). If you specify a
+# different font using DOT_FONTNAME you can set the path where dot
+# can find it using this tag.
+
+DOT_FONTPATH           =
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS           = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK               = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS     = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
+# doxygen will generate a call dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable call graphs
+# for selected functions only using the \callgraph command.
+
+CALL_GRAPH             = NO
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
+# doxygen will generate a caller dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable caller
+# graphs for selected functions only using the \callergraph command.
+
+CALLER_GRAPH           = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
+# then doxygen will show the dependencies a directory has on other directories
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH        = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT       = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH               =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS           =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
+# nodes that will be shown in the graph. If the number of nodes in a graph
+# becomes larger than this value, doxygen will truncate the graph, which is
+# visualized by representing a node as a red box. Note that doxygen if the
+# number of direct children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES    = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes
+# that lay further from the root node will be omitted. Note that setting this
+# option to 1 or 2 may greatly reduce the computation time needed for large
+# code bases. Also note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH    = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not
+# seem to support this out of the box. Warning: Depending on the platform used,
+# enabling this option may lead to badly anti-aliased labels on the edges of
+# a graph (i.e. they become hard to read).
+
+DOT_TRANSPARENT        = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS      = NO
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP            = YES
+
+#---------------------------------------------------------------------------
+# Options related to the search engine
+#---------------------------------------------------------------------------
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box
+# for the HTML output. The underlying search engine uses javascript
+# and DHTML and should work on any modern browser. Note that when using
+# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
+# (GENERATE_DOCSET) there is already a search function so this one should
+# typically be disabled. For large projects the javascript based search engine
+# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
+
+SEARCHENGINE           = NO
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+# implemented using a PHP enabled web server instead of at the web client
+# using Javascript. Doxygen will generate the search PHP script and index
+# file to put on the web server. The advantage of the server
+# based approach is that it scales better to large projects and allows
+# full text search. The disadvances is that it is more difficult to setup
+# and does not have live searching capabilities.
+
+# SERVER_BASED_SEARCH    = NO
index b1ebcd3..737126c 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_ALIGNMENT_H__
 #define __DALI_ALIGNMENT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_ALIGNMENT_MODULE
@@ -136,11 +137,11 @@ public:
   Alignment(const Alignment& alignment);
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
    *
-   * Dali::Object derived classes typically do not contain member data.
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~Alignment();
+  ~Alignment();
 
   /**
    * @brief Downcast an Object handle to Alignment.
index 81c0f8e..9dee2d0 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_BUBBLE_EMMITER_H__
 #define __DALI_TOOLKIT_BUBBLE_EMMITER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_BUBBLE_EFFECT_MODULE
index 8e76b14..767536a 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_BUTTON_H__
 #define __DALI_TOOLKIT_BUTTON_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_BUTTONS_MODULE
@@ -93,11 +94,11 @@ public:
   static Button DownCast( BaseHandle handle );
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
    *
-   * Dali::Object derived classes typically do not contain member data.
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~Button();
+  ~Button();
 
   /**
    * @brief Sets the button as \e dimmed.
index 4382cfb..30bad26 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_PUSH_BUTTON_H__
 #define __DALI_TOOLKIT_PUSH_BUTTON_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_BUTTONS_MODULE
@@ -122,11 +123,11 @@ public:
   PushButton& operator=( const PushButton& pushButton );
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
    *
-   * Dali::Object derived classes typically do not contain member data.
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~PushButton();
+  ~PushButton();
 
   /**
    * @brief Create an initialized PushButton.
index 7587d16..77cfacc 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_CLUSTER_STYLE_H__
 #define __DALI_TOOLKIT_CLUSTER_STYLE_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_CLUSTER_MODULE
@@ -57,9 +58,11 @@ public:
 public:
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~ClusterStyle();
+  ~ClusterStyle();
 
   /**
    * @brief Query the maximum number of children this Style can handle.
index ff9e2c3..6b52c92 100644 (file)
@@ -1,27 +1,31 @@
 #ifndef __DALI_TOOLKIT_CONTROL_IMPL_H__
 #define __DALI_TOOLKIT_CONTROL_IMPL_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_CONTROLS_MODULE
  * @{
  */
 
+// EXTERNAL INCLUDES
+#include <dali/public-api/common/vector-wrapper.h>
+
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/control.h>
 
@@ -31,9 +35,10 @@ namespace Dali DALI_IMPORT_API
 namespace Toolkit
 {
 
+class StyleManager;
+
 namespace Internal DALI_INTERNAL
 {
-class StyleChangeProcessor;
 class RelayoutControllerImpl;
 class KeyInputFocusManager;
 }
@@ -97,6 +102,15 @@ public:
   virtual bool OnAccessibilityPan(PanGesture gesture);
 
   /**
+   * @brief This method should be overridden by deriving classes when they wish to respond the accessibility
+   * touch event.
+   *
+   * @param[in] touchEvent The touch event.
+   * @return true if the touch event has been consumed by this control
+   */
+  virtual bool OnAccessibilityTouch(const TouchEvent& touchEvent);
+
+  /**
    * @brief This method should be overridden by deriving classes when they wish to respond
    * the accessibility up and down action (i.e. value change of slider control).
    *
@@ -290,11 +304,31 @@ private: // For derived classes to override
 
   /**
    * @brief This method should be overridden by deriving classes when
+   * they wish to be notified when the style manager changes the theme.
+   *
+   * @param[in] styleManager  The StyleManager object.
+   */
+  virtual void OnThemeChange( Toolkit::StyleManager styleManager );
+
+  /**
+   * @brief This method should be overridden by deriving classes when
+   * they wish to be notified when the style changes the default font.
+   *
+   * @param[in] defaultFontChange  Information denoting whether the default font has changed.
+   * @param[in] defaultFontSizeChange Information denoting whether the default font size has changed.
+   */
+  virtual void OnFontChange( bool defaultFontChange, bool defaultFontSizeChange ){ }
+
+  /**
+   * @deprecated Use OnFontChange() instead.
+   * Before the using of StyleManager, the StyleChange only deals with font change.
+   *
+   * @brief This method should be overridden by deriving classes when
    * they wish to be notified when the style changes.
    *
    * @param[in] change  Information denoting what has changed.
    */
-  virtual void OnStyleChange(StyleChange change) { }
+  virtual void OnStyleChange( StyleChange change ) { }
 
   /**
    * @brief Called whenever a pinch gesture is detected on this control.
@@ -505,21 +539,39 @@ private: // From CustomActorImpl, derived classes can override these.
 private:
 
   /**
-   * @brief Perform the activated action.
+   * @brief This method is the callback for the StyleChangeSignal from StyleManager
    *
-   * @param[in] attributes The attributes to perfrom this action.
+   * @param[in] styleManager The StyleManager Object
+   * @param[in] change  Information denoting what has changed.
    */
-  void DoActivatedAction(const PropertyValueContainer& attributes);
+  void DoStyleChange( Toolkit::StyleManager styleManager, StyleChange change );
 
 protected: // Construction
 
+  // Flags for the constructor
+  enum ControlBehaviour
+  {
+    CONTROL_BEHAVIOUR_NONE        = 0,
+    REQUIRES_TOUCH_EVENTS         = 1<<1,     ///< True if the OnTouchEvent() callback is required.
+    REQUIRES_STYLE_CHANGE_SIGNALS = 1<<2,     ///< True if needs to monitor style change signals such as theme/font change
+    NO_SIZE_NEGOTIATION           = 1<<3      ///< True if control does not need size negotiation, i.e. it can be skipped in the algorithm
+  };
+
   /**
+   * @deprecated Use the constructor taking flags instead
    * @brief Create a Control.
    *
    * @param[in] requiresTouchEvents True if the OnTouchEvent() callback is required.
    */
   Control(bool requiresTouchEvents);
 
+  /**
+   * @brief Create a Control.
+   *
+   * @param[in] behaviourFlags Behavioural flags from ControlBehaviour enum
+   */
+  Control(ControlBehaviour behaviourFlags);
+
 public:
 
   // Size negotiation
@@ -684,8 +736,6 @@ private:
    */
   bool EmitKeyEventSignal(const KeyEvent& event);
 
-
-
 private:
 
   // Undefined
@@ -693,9 +743,8 @@ private:
   Control& operator=(const Control&);
 
   class Impl;
-  Impl *mImpl;
+  ImplmImpl;
 
-  friend class Internal::StyleChangeProcessor;
   friend class Internal::RelayoutControllerImpl;   ///< Relayout controller needs to call Relayout() which is private.
   friend class Internal::KeyInputFocusManager;     ///< KeyInputFocusManager needs to call which is private.
 };
index d22f6b4..36e4635 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_CONTROL_H__
 #define __DALI_TOOLKIT_CONTROL_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_CONTROLS_MODULE
@@ -44,7 +45,7 @@ class Control;
  * The implementation of the control must be supplied; see Internal::Control for more details.
  * @see Internal::Control
  */
-class Control : public CustomActor, public ConnectionTrackerInterface
+class Control : public CustomActor
 {
 public:
 
@@ -133,11 +134,11 @@ public: // Creation & Destruction
   Control(const Control& uiControl);
 
   /**
-   * @brief Virtual destructor.
+   * @brief Dali::Control is intended as a base class
    *
-   * Dali::Object derived classes do not contain member data.
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~Control();
+  ~Control();
 
 public: // operators
 
@@ -371,23 +372,6 @@ public:
    */
   KeyEventSignalV2& KeyEventSignal();
 
-protected:
-
-  /**
-   * @copydoc ConnectionTrackerInterface::SignalConnected
-   */
-  virtual void SignalConnected( SlotObserver* slotObserver, CallbackBase* callback );
-
-  /**
-   * @copydoc ConnectionTrackerInterface::SignalDisconnected
-   */
-  virtual void SignalDisconnected( SlotObserver* slotObserver, CallbackBase* callback );
-
-  /**
-   * @copydoc ConnectionTrackerInterface::GetConnectionCount
-   */
-  virtual std::size_t GetConnectionCount() const;
-
 public: // Not intended for application developers
 
   /**
index 30c6caa..8e6c9d3 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_PUSH_BUTTON_FACTORY_H__
 #define __DALI_TOOLKIT_PUSH_BUTTON_FACTORY_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_DEFAULT_CONTROLS_MODULE
index 3d4bc16..9b19767 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SOLID_COLOR_ACTOR_H__
 #define __DALI_TOOLKIT_SOLID_COLOR_ACTOR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_DEFAULT_CONTROLS_MODULE
index a3dbfca..3fc5f33 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_MASKED_IMAGE_VIEW_H__
 #define __DALI_TOOLKIT_MASKED_IMAGE_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_IMAGE_VIEW_MODULE
@@ -122,11 +123,11 @@ public:
   MaskedImageView& operator=( const MaskedImageView& handle );
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
    *
-   * Dali::Object derived classes typically do not contain member data.
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~MaskedImageView();
+  ~MaskedImageView();
 
   /**
    * @brief Create the MaskedImageView control.
index 145cda6..d147c4d 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_POPUP_H__
 #define __DALI_TOOLKIT_POPUP_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_POPUP_MODULE
@@ -124,11 +125,11 @@ public:
   Popup& operator=( const Popup& handle );
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
    *
-   * Dali::Object derived classes typically do not contain member data.
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~Popup();
+  ~Popup();
 
   /**
    * @brief Create the Poup control.
index d48304d..d67b9c0 100755 (executable)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SCROLL_BAR_H__
 #define __DALI_TOOLKIT_SCROLL_BAR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -82,10 +83,11 @@ public:
   ScrollBar& operator=( const ScrollBar& scrollBar );
 
   /**
-   * @brief Virtual destructor.
-   * Dali::Object derived classes typically do not contain member data.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~ScrollBar();
+  ~ScrollBar();
 
   /**
    * @brief Create an initialized ScrollBar
@@ -111,8 +113,23 @@ public:
    *
    * @param[in] image The image to cover background
    * @param[in] border The nine patch border for the image.
+   *
+   * @deprecated Use Control::SetBackground()
+   */
+  void SetBackgroundImage( Image image, const Vector4& border );
+
+  /**
+   * @brief Sets the image for the indicator of scroll bar.
+   *
+   * @pre The scroll bar actor has been initialised.
+   *
+   * The indicator image is resized (stretched according to scale settings),
+   * to reflect the size of the scroll indicator and minimum/maximum limits
+   * of the scroll position.
+   *
+   * @param[in] image The image of indicator that moves to indicate the current scroll position.
    */
void SetBackgroundImage( Image image, const Vector4& border );
 void SetIndicatorImage( Image image );
 
   /**
    * @brief Sets the image for the indicator of scroll bar.
@@ -125,6 +142,8 @@ public:
    *
    * @param[in] image The image of indicator that moves to indicate the current scroll position.
    * @param[in] border The nine patch border for the image.
+   *
+   * @deprecated Use the new 9-patch API
    */
   void SetIndicatorImage( Image image, const Vector4& border );
 
index 82be3ca..b1dff49 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_GRID_LAYOUT_H__
 #define __DALI_TOOLKIT_GRID_LAYOUT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_ITEM_VIEW_MODULE
index 9f34da1..f08a7e6 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_ITEM_FACTORY_H__
 #define __DALI_TOOLKIT_ITEM_FACTORY_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_ITEM_VIEW_MODULE
@@ -32,7 +33,7 @@ namespace Toolkit
 {
 
 /**
- * @brief ItemFactory is an abstract interface for providing actors to ItemView.
+ * @brief ItemFactory is for providing actors to ItemView.
  * Each actor is identified by a unique ID, and has a linear order from 0 to GetNumberOfItems()-1.
  */
 class ItemFactory
@@ -59,6 +60,14 @@ public:
    * @return An actor, or an uninitialized pointer if the ID is out of range.
    */
   virtual Actor NewItem(unsigned int itemId) = 0;
+
+  /**
+   * @brief Notify the factory the actor representing the item is removed from ItemView.
+   *
+   * @param[in] itemId The ID of the released item.
+   * @param[in] actor The actor that represents the released item.
+   */
+  virtual void ItemReleased(unsigned int itemId, Actor actor) {};
 };
 
 } // namespace Toolkit
index c04a58e..727709b 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_ITEM_LAYOUT_H__
 #define __DALI_TOOLKIT_ITEM_LAYOUT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_ITEM_VIEW_MODULE
@@ -344,9 +345,9 @@ public:
   virtual void GetYAxisScrollHint(Vector2& scrollHint) const;
 
   /**
-   * @brief Query the scroll speed factor of the layout.
+   * @brief Query the scroll speed factor of the layout while dragging.
    *
-   * This factor is used by the layout to customise its scroll speed while dragging and swiping.
+   * This factor is used by the layout to customise its scroll speed while dragging.
    * The factor will be multiplied with the scroll distance of how many pixels in actor coordinate,
    * and the layout position of the actors in ItemView will be moved by this result.
    * For example, when the speed factor is 0.01, if the scroll distance is 100 pixels, the layout
@@ -386,6 +387,55 @@ public:
    */
   virtual int GetNextFocusItemID(int itemID, int maxItems, Dali::Toolkit::Control::KeyboardFocusNavigationDirection direction, bool loopEnabled);
 
+  /**
+   * @brief Query the flick speed factor of the layout while swipping.
+   *
+   * This factor is used by the layout to customise its scroll speed while swiping.
+   * The factor will be multiplied with the scroll distance of how many pixels in actor coordinate,
+   * and the layout position of the actors in ItemView will be moved by this result.
+   * For example, when the speed factor is 0.01, if the scroll distance is 100 pixels, the layout
+   * position of actors will be moved by 1.
+   * Therefore, the bigger the factor is, the faster the flick speed will be.
+   *
+   * @return The scroll speed factor of the layout.
+   */
+  virtual float GetFlickSpeedFactor() const;
+
+  /*
+   * @brief Applies constraints defined by the layout to an actor.
+   *
+   * @param[in] actor The actor to constrain.
+   * @param[in] itemId The ID of the item represented by the actor.
+   * @param[in] durationSeconds The time taken to fully constrain the actors.
+   * @param[in] scrollPositionObject The object which provides the layout position property.
+   * @param[in] itemViewActor The item view instance which requests the application of constraints.
+   */
+  virtual void ApplyConstraints( Actor& actor, const int itemId, const float durationSeconds, Constrainable scrollPositionObject, const Actor& itemViewActor );
+
+  /**
+   * @brief Gets the position of a given item
+   *
+   * @param[in] itemID id of the item we want to get its position
+   * @param[in] currentLayoutPosition the current layout position of the item view instance
+   * @param[in] layoutSize the current size of the item view instance
+   * @return The item position (x,y,z)
+   */
+  virtual Vector3 GetItemPosition(int itemID, float currentLayoutPosition, const Vector3& layoutSize) const;
+
+  /**
+   * @brief Set the alpha function used when applying constraints
+   *
+   * @param[in] func The alpha function to use.
+   */
+  void SetAlphaFunction(AlphaFunction func);
+
+  /**
+   * @brief Retrieve the alpha function used when applying constraints
+   *
+   * @return The alpha function.
+   */
+  AlphaFunction GetAlphaFunction() const;
+
 protected:
 
   /**
@@ -395,7 +445,8 @@ protected:
 
 protected:
 
-  ControlOrientation::Type mOrientation; ///< the orientation of the layout.
+  ControlOrientation::Type mOrientation;   ///< the orientation of the layout.
+  AlphaFunction            mAlphaFunction; ///<Alpha function to be applied when removing/adding constraints
 };
 
 } // namespace Toolkit
index 4a550d9..e356610 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_ITEM_VIEW_DECLARATIONS_H__
 #define __DALI_TOOLKIT_ITEM_VIEW_DECLARATIONS_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_ITEM_VIEW_MODULE
index c8d101b..f8a09f8 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_ITEM_VIEW_H__
 #define __DALI_TOOLKIT_ITEM_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_ITEM_VIEW_MODULE
@@ -43,6 +44,7 @@ class ItemView;
 class ScrollConnector;
 class ItemFactory;
 class ItemLayout;
+struct ItemRange;
 
 typedef IntrusivePtr<ItemLayout> ItemLayoutPtr;
 
@@ -74,11 +76,11 @@ public:
   ItemView& operator=( const ItemView& itemView );
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
    *
-   * Dali::Object derived classes typically do not contain member data.
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~ItemView();
+  ~ItemView();
 
   /**
    * @brief Create an initialized ItemView.
@@ -177,13 +179,15 @@ public:
   /**
    * @brief Set default the alpha function used when applying constraints e.g. during ActivateLayout().
    *
+   * @deprecated Use SetAlphaFunction() in the layout
    * @param[in] func The default alpha function to use.
    */
   void SetDefaultAlphaFunction(AlphaFunction func);
 
   /**
-   * @brief Retrieve the default alpha function for an animation.
+   * @brief Retrieve the default alpha function used when applying constraints
    *
+   * @deprecated Use GetAlphaFunction() in the layout
    * @return The default alpha function.
    */
   AlphaFunction GetDefaultAlphaFunction() const;
@@ -411,6 +415,13 @@ public:
    */
   Vector3 GetItemsAnchorPoint() const;
 
+  /**
+   * @brief Get the range of items that are currently in ItemView.
+   *
+   * @param[out] range The range of items.
+   */
+  void GetItemsRange(ItemRange& range);
+
 public: // Not intended for application developers
 
   /**
index ab7d195..2745572 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SCROLL_COMPONENT_H__
 #define __DALI_TOOLKIT_SCROLL_COMPONENT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -55,10 +56,11 @@ public:
   ScrollComponent& operator=( const ScrollComponent& scrollComponent );
 
   /**
-   * Virtual destructor.
-   * Dali::Object derived classes typically do not contain member data.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~ScrollComponent();
+  ~ScrollComponent();
 
   /**
    * Downcast an Object handle to ScrollComponent. If handle points to a ScrollComponent the
index 82517a3..1e64e7e 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SCROLL_CONNECTOR_H__
 #define __DALI_TOOLKIT_SCROLL_CONNECTOR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_SCROLL_CONNECTOR_MODULE
@@ -69,6 +70,9 @@ public:
   static const char* const DOMAIN_CHANGED_SIGNAL_NAME;    ///< "domain-changed" signal name
   typedef SignalV2< void ( float min, float max, float size ) > DomainChangedSignalType;
 
+  static const char* const SCROLL_POSITION_CHANGED_SIGNAL_NAME;    ///< "scroll-position-changed" signal name
+  typedef SignalV2< void ( float position ) > ScrollPositionChangedSignalType;
+
   /**
    * Create a ScrollConnector.
    * @return A handle to a newly allocated ScrollConnector.
@@ -92,18 +96,20 @@ public:
   using Dali::BaseHandle::operator=;
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~ScrollConnector();
+  ~ScrollConnector();
 
   /**
-   * Downcast a BaseHandle to ScrollConnector handle.
+   * @brief Downcast a BaseHandle to ScrollConnector handle.
    * @return A handle to a ScrollConnector or an empty handle.
    */
   static ScrollConnector DownCast( BaseHandle handle );
 
   /**
-   * Set the scroll domain, corresponding to the start & end position, and size of the scrollable content in actor coordinates.
+   * @brief Set the scroll domain, corresponding to the start & end position, and size of the scrollable content in actor coordinates.
    * @param[in] min The minimum scroll position limit.
    * @param[in] max The maximum scroll position limit.
    * @param[in] length The length of the scrollable content in actor coordinates.
@@ -111,30 +117,50 @@ public:
   void SetScrollDomain( float min, float max, float length );
 
   /**
-   * Retrieve the min limit.
+   * @brief Retrieve the min limit.
    * @return The minimum value.
    */
   float GetMinLimit() const;
 
   /**
-   * Retrieve the max limit.
+   * @brief Retrieve the max limit.
    * @return The maximum value.
    */
   float GetMaxLimit() const;
 
   /**
-   * Retrieve the length of the scrollable content in actor coordinates.
+   * @brief Retrieve the length of the scrollable content in actor coordinates.
    * @return The length of the scrollable content.
    */
   float GetContentLength() const;
 
   /**
-   * Signal emitted after the SetScrollDomain() method has been called.
+   * @brief Set the scroll position.
+   *
+   * This will set the "scroll-position" property and emit the ScrollPositionChanged signal.
+   *
+   * @param[in] position The scroll position.
+   */
+  void SetScrollPosition( float position );
+
+  /**
+   * @brief Retrieve the scroll position.
+   * @return The scroll position.
+   */
+  float GetScrollPosition() const;
+
+  /**
+   * @brief Signal emitted after the SetScrollPosition() method has been called.
+   */
+  ScrollConnector::ScrollPositionChangedSignalType& ScrollPositionChangedSignal();
+
+  /**
+   * @brief Signal emitted after the SetScrollDomain() method has been called.
    */
   ScrollConnector::DomainChangedSignalType& DomainChangedSignal();
 
   /**
-   * Retrieve the object which provides the "scroll-position" property.
+   * @brief Retrieve the object which provides the "scroll-position" property.
    * @return The scroll-position object.
    */
   Constrainable GetScrollPositionObject() const;
index 26c6ef3..98e5665 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SCROLL_VIEW_CUBE_EFFECT_H__
 #define __DALI_TOOLKIT_SCROLL_VIEW_CUBE_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_SCROLL_VIEW_MODULE
index a5dafe6..6126e18 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SCROLL_VIEW_CUSTOM_EFFECT_H__
 #define __DALI_TOOLKIT_SCROLL_VIEW_CUSTOM_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_SCROLL_VIEW_MODULE
index 07a0607..b254c32 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SCROLL_VIEW_EFFECT_H__
 #define __DALI_TOOLKIT_SCROLL_VIEW_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_SCROLL_VIEW_MODULE
index 0455a99..45021fb 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SCROLL_VIEW_PAGE_SPIRAL_EFFECT_H__
 #define __DALI_TOOLKIT_SCROLL_VIEW_PAGE_SPIRAL_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_SCROLL_VIEW_MODULE
index a64aa46..043dc2c 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SCROLL_VIEW_SLIDE_EFFECT_H__
 #define __DALI_TOOLKIT_SCROLL_VIEW_SLIDE_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_SCROLL_VIEW_MODULE
index 14991cf..9d2d81a 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SCROLL_VIEW_TWIST_EFFECT_H__
 #define __DALI_TOOLKIT_SCROLL_VIEW_TWIST_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_SCROLL_VIEW_MODULE
index 79a42f3..3d4027c 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SCROLL_VIEW_H__
 #define __DALI_TOOLKIT_SCROLL_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_SCROLL_VIEW_MODULE
@@ -136,11 +137,6 @@ public:
   Ruler();
 
   /**
-   * @brief Destructor - A reference counted object may only be deleted by calling Unreference().
-   */
-  virtual ~Ruler();
-
-  /**
    * @brief Snaps (x) in accordance to the ruler settings.
    *
    * @param[in] x The input value on the ruler to be snapped.
@@ -295,6 +291,13 @@ public:
 
 protected:
 
+  /**
+   * @brief Destructor - A reference counted object may only be deleted by calling Unreference().
+   */
+  virtual ~Ruler();
+
+protected:
+
   RulerType mType;               ///< Type of Ruler (Fixed or Free).
   bool mEnabled;                 ///< If the ruler is enabled.
   RulerDomain mDomain;           ///< The domain of the ruler.
@@ -404,8 +407,6 @@ public:
   static const std::string SCROLL_OVERSHOOT_X_PROPERTY_NAME;            ///< Property, name "scroll-overshoot-x",         type float
   static const std::string SCROLL_OVERSHOOT_Y_PROPERTY_NAME;            ///< Property, name "scroll-overshoot-y",         type float
   static const std::string SCROLL_FINAL_PROPERTY_NAME;                  ///< Property, name "scroll-final",              type VECTOR3
-  static const std::string SCROLL_X_PROPERTY_NAME;                      ///< Property, name "scroll-x",                  type FLOAT
-  static const std::string SCROLL_Y_PROPERTY_NAME;                      ///< Property, name "scroll-y",                  type FLOAT
   static const std::string SCROLL_SCALE_PROPERTY_NAME;                  ///< Property, name "scroll-scale",              type VECTOR3
   static const std::string SCROLL_WRAP_PROPERTY_NAME;                   ///< Property, name "scroll-wrap",               type BOOLEAN
   static const std::string SCROLL_PANNING_PROPERTY_NAME;                ///< Property, name "scroll-panning",            type BOOLEAN
@@ -450,8 +451,6 @@ public:
   {
     SnapType type;    ///< Current snap commencing
     Vector3 position; ///< Target snap position
-    Vector3 scale;    ///< Target snap scale
-    float rotation;   ///< Target snap rotation
     float duration;   ///< Duration of snap animation.
   };
 
@@ -489,11 +488,11 @@ public:
   ScrollView& operator=( const ScrollView& handle );
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
    *
-   * Dali::Object derived classes typically do not contain member data.
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~ScrollView();
+  ~ScrollView();
 
   /**
    * @brief Create an initialized ScrollView.
@@ -606,6 +605,8 @@ public:
    * (domain) to which scaling can be performed e.g. 10% to 200%
    *
    * @param[in] ruler The ruler to be used for the Scale-X axis
+   *
+   * @deprecated Scaling not supported
    */
   void SetRulerScaleX(RulerPtr ruler);
 
@@ -616,6 +617,8 @@ public:
    * (domain) to which scaling can be performed e.g. 10% to 200%
    *
    * @param[in] ruler The ruler to be used for the Scale-Y axis
+   *
+   * @deprecated Scaling not supported
    */
   void SetRulerScaleY(RulerPtr ruler);
 
@@ -700,6 +703,7 @@ public:
   void SetWrapMode(bool enable);
 
   /**
+   * @deprecated
    * @brief Gets the current refresh interval in milliseconds.
    *
    * @return Current refresh interval in milliseconds
@@ -707,6 +711,7 @@ public:
   int GetRefreshInterval() const;
 
   /**
+   * @deprecated
    * @brief Sets the refresh interval in milliseconds.
    *
    * The refresh interval is a notification signal
@@ -720,6 +725,23 @@ public:
   void SetRefreshInterval(int milliseconds);
 
   /**
+   * @brief Gets the current distance needed to scroll for ScrollUpdatedSignal to be emitted
+   *
+   * @return Current scroll update distance
+   */
+  int GetScrollUpdateDistance() const;
+
+  /**
+   * @brief Sets the distance needed to scroll for ScrollUpdatedSignal to be emitted
+   *
+   * The scroll update distance tells ScrollView how far to move before ScrollUpdatedSignal the informs application.
+   * Each time the ScrollView crosses this distance the signal will be emitted
+   *
+   * @param[in] distance The distance for ScrollView to move before emitting update signal
+   */
+  void SetScrollUpdateDistance(int distance);
+
+  /**
    * @brief Returns state of Axis Auto Lock mode.
    *
    * @return Whether Axis Auto Lock mode has been enabled or not.
@@ -806,6 +828,36 @@ public:
   void SetFlickSpeedCoefficient(float speed);
 
   /**
+   * @brief Returns the minimum pan distance required for a flick gesture in pixels
+   *
+   * @return Minimum pan distance vector with separate x and y distance
+   */
+  Vector2 GetMinimumDistanceForFlick() const;
+
+  /**
+   * @brief Sets the minimum pan distance required for a flick in pixels
+   *
+   * Takes a Vector2 containing separate x and y values. As long as the pan distance exceeds one of these axes a flick will be allowed
+   *
+   * @param[in] distance The minimum pan distance for a flick
+   */
+  void SetMinimumDistanceForFlick( const Vector2& distance );
+
+  /**
+   * @brief Returns the minimum pan speed required for a flick gesture in pixels per second
+   *
+   * @return Minimum pan speed
+   */
+  float GetMinimumSpeedForFlick() const;
+
+  /**
+   * @brief Sets the minimum pan speed required for a flick in pixels per second
+   *
+   * @param[in] speed The minimum pan speed for a flick
+   */
+  void SetMinimumSpeedForFlick( float speed );
+
+  /**
    * @brief Gets the maximum flick speed setting for ScrollView when
    * flicking in free panning mode.
    *
@@ -858,9 +910,19 @@ public:
   Vector3 GetCurrentScrollPosition() const;
 
   /**
+   * @brief Sets the current scroll position, overriding current scroll animations. If panning is currently taking place
+   *        SetScrollPosition will have no effect. Try to ensure panning has stopped before calling this function.
+   *
+   * @param[in] position The new scroll position to set.
+   */
+  void SetScrollPosition(const Vector3& position);
+
+  /**
    * @brief Retrieves current scroll scale.
    *
    * @returns The current scroll scale.
+   *
+   * @deprecated Scaling not supported
    */
   Vector3 GetCurrentScrollScale() const;
 
@@ -882,16 +944,20 @@ public:
    * @param[in] position The position to transform to.
    * @param[in] scale The scale to transform to.
    * @param[in] rotation The rotation to transform to.
+   *
+   * @deprecated Scaling or rotation not supported, use ScrollTo(const Vector3&)
    */
   void TransformTo(const Vector3& position, const Vector3& scale, float rotation);
 
   /**
-   * @brief Transforms View to position, scale and rotation specified.
+   * @brief Transforms View to position, scale and rotation specified in the duration specified.
    *
    * @param[in] position The position to transform to.
    * @param[in] scale The scale to transform to.
    * @param[in] rotation The rotation to transform to.
    * @param[in] duration The duration for this animation in seconds.
+   *
+   * @deprecated Scaling or rotation not supported, use ScrollTo(const Vector3&, float)
    */
   void TransformTo(const Vector3& position, const Vector3& scale, float rotation, float duration);
 
@@ -1016,6 +1082,8 @@ public:
    * @brief Scales View to (scale).
    *
    * @param[in] scale The scale factor the animate to.
+   *
+   * @deprecated Scaling not supported
    */
   void ScaleTo(const Vector3& scale);
 
@@ -1024,6 +1092,8 @@ public:
    *
    * @param[in] scale The scale factor the animate to.
    * @param[in] duration The duration of the animation in seconds.
+   *
+   * @deprecated Scaling not supported
    */
   void ScaleTo(const Vector3& scale, float duration);
 
index 5abd3ac..1239fc2 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SCROLLABLE_H__
 #define __DALI_TOOLKIT_SCROLLABLE_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_SCROLLABLE_MODULE
@@ -102,11 +103,18 @@ public:
   static const std::string SCROLL_POSITION_MAX_PROPERTY_NAME;           ///< Property, name "scroll-position-max",      type VECTOR3
   static const std::string SCROLL_DIRECTION_PROPERTY_NAME;              ///< Property, name "scroll-direction",         type VECTOR2
 
-  //Signal Names
+  /// @name Properties
+  /** @{ */
+  static const Property::Index PROPERTY_OVERSHOOT_EFFECT_COLOR;         ///< Property, name "overshoot-effect-color",  @see SetOvershootEffectColor(),  type VECTOR4
+  /** @} */
+
+  /// @name Signals
+  /** @{ */
   static const char* const SIGNAL_SCROLL_STARTED;   ///< "scroll-started";
   static const char* const SIGNAL_SCROLL_COMPLETED; ///< "scroll-completed";
   static const char* const SIGNAL_SCROLL_UPDATED;   ///< "scroll-updated";
   static const char* const SIGNAL_SCROLL_CLAMPED;   ///< "scroll-clamped";
+  /** @} */
 
 public:
 
@@ -164,11 +172,11 @@ public:
   Scrollable& operator=( const Scrollable& handle );
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
    *
-   * Dali::Object derived classes typically do not contain member data.
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~Scrollable();
+  ~Scrollable();
 
   /**
    * @brief Downcast an Object handle to Scrollable.
@@ -203,6 +211,19 @@ public:
    */
   void DisableScrollComponent(Scrollable::ScrollComponentType type);
 
+  /**
+   * @brief Set the color of the overshoot effect.
+   *
+   * @param[in] color The color of the overshoot effect.
+   */
+  void SetOvershootEffectColor( const Vector4& color );
+
+  /**
+   * @brief Get the color of the overshoot effect.
+   * @return The color of the overshoot effect.
+   */
+  Vector4 GetOvershootEffectColor() const;
+
 public: // Not intended for application developers
 
   /**
index 1533654..26ae109 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SUPER_BLUR_VIEW_H__
 #define __DALI_TOOLKIT_SUPER_BLUR_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_SUPER_BLUR_VIEW_MODULE
@@ -99,9 +100,11 @@ public:
   SuperBlurView& operator=( const SuperBlurView& rhs );
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~SuperBlurView();
+  ~SuperBlurView();
 
   /**
    * @brief Downcast an Object handle to SuperBlurView.
index cd672c3..8ecb4d7 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_TEXT_INPUT_H__
 #define __DALI_TOOLKIT_TEXT_INPUT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_TEXT_INPUT_MODULE
@@ -46,13 +47,36 @@ class TextInput : public Control
 
 public:
 
-  //Signal Names
+  /// @name Properties
+  /** @{ */
+  static const Property::Index HIGHLIGHT_COLOR_PROPERTY;                     // Property, name "highlight-color", type VECTOR4
+  static const Property::Index CUT_AND_PASTE_COLOR_PROPERTY;                 // Property, name "cut-and-paste-bg-color", type VECTOR4
+  static const Property::Index CUT_AND_PASTE_PRESSED_COLOR_PROPERTY;         // Property, name "cut-and-paste-pressed-color", type VECTOR4
+  static const Property::Index CUT_AND_PASTE_BORDER_COLOR_PROPERTY;          // Property, name "cut-and-paste-border-color", type VECTOR4
+  static const Property::Index CUT_AND_PASTE_ICON_COLOR_PROPERTY;            // Property, name "cut-and-paste-icon-color", type VECTOR4
+  static const Property::Index CUT_AND_PASTE_ICON_PRESSED_COLOR_PROPERTY;    // Property, name "cut-and-paste-icon-pressed-color", type VECTOR4
+  static const Property::Index CUT_AND_PASTE_TEXT_COLOR_PROPERTY;            // Property, name "cut-and-paste-text-color", type VECTOR4
+  static const Property::Index CUT_AND_PASTE_TEXT_PRESSED_COLOR_PROPERTY;    // Property, name "cut-and-paste-text-pressed-color", type VECTOR4
+  static const Property::Index CUT_BUTTON_POSITION_PRIORITY_PROPERTY;        // Property, name "cut-button-position-priority", type unsigned int
+  static const Property::Index COPY_BUTTON_POSITION_PRIORITY_PROPERTY;       // Property, name "copy-button-position-priority", type unsigned int
+  static const Property::Index PASTE_BUTTON_POSITION_PRIORITY_PROPERTY;      // Property, name "paste-button-position-priority", type unsigned int
+  static const Property::Index SELECT_BUTTON_POSITION_PRIORITY_PROPERTY;     // Property, name "select-button-position-priority", type unsigned int
+  static const Property::Index SELECT_ALL_BUTTON_POSITION_PRIORITY_PROPERTY; // Property, name "select-all-button-position-priority", type unsigned int
+  static const Property::Index CLIPBOARD_BUTTON_POSITION_PRIORITY_PROPERTY;  // Property, name "clipboard-button-position-priority", type unsigned int
+  static const Property::Index POP_UP_OFFSET_FROM_TEXT_PROPERTY;             // Property, name "popup-offset-from-text", type VECTOR4
+  static const Property::Index CURSOR_COLOR_PROPERTY;                        // Property, name "cursor-color", type VECTOR4
+
+  /** @} */
+
+  /// @name Signals
+  /** @{ */
   static const char* const SIGNAL_START_INPUT; ///< name "start-input"
   static const char* const SIGNAL_END_INPUT; ///< name "end-input"
   static const char* const SIGNAL_STYLE_CHANGED; ///< name "style-changed"
   static const char* const SIGNAL_MAX_INPUT_CHARACTERS_REACHED; ///< name "max-input-characters-reached"
   static const char* const SIGNAL_TOOLBAR_DISPLAYED; ///< name "toolbar-displayed"
   static const char* const SIGNAL_TEXT_EXCEED_BOUNDARIES; ///< name "text-exceed-boundaries"
+  /** @} */
 
 public:
 
@@ -97,11 +121,11 @@ public:
   static TextInput DownCast( BaseHandle handle );
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
    *
-   * Dali::Object derived classes typically do not contain member data.
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~TextInput();
+  ~TextInput();
 
   /**
    * @brief Get the inputed text currently being displayed.
@@ -262,6 +286,7 @@ public:
    void SetGrabHandleImage( Image image );
 
    /**
+    * Depreciated API.
     * @brief Set the image to be used for the regular left to right cursor.
     *
     * @pre The text input actor has been initialised.
index 6bf42fe..b8b8e2a 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_TEXT_VIEW_H__
 #define __DALI_TOOLKIT_TEXT_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_TEXT_VIEW_MODULE
@@ -306,11 +307,11 @@ public:
   static TextView DownCast( BaseHandle handle );
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
    *
-   * Dali::Object derived classes typically do not contain member data.
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~TextView();
+  ~TextView();
 
   /**
    * @brief Replace the current text with a new text string.
index 6f89000..deb02ae 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_CAPI_INTERNAL_H__
 #define __DALI_TOOLKIT_CAPI_INTERNAL_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/alignment/alignment.h>
 #include <dali-toolkit/public-api/controls/bubble-effect/bubble-emitter.h>
@@ -60,5 +61,4 @@
 #include <dali-toolkit/public-api/shader-effects/ripple2d-effect.h>
 #include <dali-toolkit/public-api/shader-effects/swirl-effect.h>
 
-
 #endif // __DALI_TOOLKIT_CAPI_INTERNAL_H__
index 6b221de..66d0dd4 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_ENUMS_H__
 #define __DALI_TOOLKIT_ENUMS_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_MODULE
index d899c6d..1c900a9 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_LOCALIZED_CONTROL_FACTORY_H__
 #define __DALI_TOOLKIT_LOCALIZED_CONTROL_FACTORY_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_FACTORY_MODULE
@@ -75,9 +76,11 @@ private:
   LocalizedControlFactory();
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~LocalizedControlFactory();
+  ~LocalizedControlFactory();
 
   /**
    * @brief Get the singleton of LocalizedControlFactory object.
index caf2cb3..a878f04 100644 (file)
@@ -85,3 +85,4 @@ capi_devel_shader_effects_header_files =               \
   $(capi_devel_src_dir)/shader-effects/ripple-effect.h \
   $(capi_devel_src_dir)/shader-effects/ripple2d-effect.h \
   $(capi_devel_src_dir)/shader-effects/swirl-effect.h
+
index 750716f..aee3045 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_FOCUS_MANAGER_H__
 #define __DALI_TOOLKIT_FOCUS_MANAGER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_FOCUS_MANAGER_MODULE
@@ -98,9 +99,11 @@ public:
   FocusManager();
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~FocusManager();
+  ~FocusManager();
 
   /**
    * @brief Get the singleton of FocusManager object.
@@ -336,25 +339,6 @@ public:
   bool GetWrapMode() const;
 
   /**
-   * @brief Set whether focus manager will play a feedback when the focus leaves the end or vice versa.
-   *
-   * If wrap mode is enabled, the feedback will be played once. In next time, focus will move continueously.
-   * Otherwise, feedback will be played with overshot signal
-   *
-   * @pre The FocusManager has been initialized.
-   * @param enabled Whether the endcap feedback is enabled or not
-   */
-  void SetEndCapFeedbackEnabled(bool enabled);
-
-  /**
-   * @brief Get whether the endcap feedback is enabled or not.
-   *
-   * @pre The FocusManager has been initialized.
-   * @return Whether the endcap feedback is enabled or not.
-   */
-  bool GetEndCapFeedbackEnabled() const;
-
-  /**
    * @brief Set the focus indicator actor.
    *
    * This will replace the default focus indicator actor in
index 13e3b34..f891e11 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_KEYBOARD_FOCUS_MANAGER_H__
 #define __DALI_TOOLKIT_KEYBOARD_FOCUS_MANAGER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_FOCUS_MANAGER_MODULE
@@ -77,9 +78,11 @@ public:
   KeyboardFocusManager();
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~KeyboardFocusManager();
+  ~KeyboardFocusManager();
 
   /**
    * @brief Get the singleton of KeyboardFocusManager object.
index cafc3da..6b72432 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_MARKUP_PROCESSOR_H__
 #define __DALI_TOOLKIT_MARKUP_PROCESSOR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_MARKUP_PROCESSOR_MODULE
index f687e88..4ec8f9e 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SHADER_EFFECT_DISSOLVE_H__
 #define __DALI_TOOLKIT_SHADER_EFFECT_DISSOLVE_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_SHADER_EFFECTS_MODULE
@@ -46,9 +47,11 @@ public:
   DissolveEffect();
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~DissolveEffect();
+  ~DissolveEffect();
 
   /**
    * @brief Create an initialized DissolveEffect.
index 6dbdf9b..7dd2b8c 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_IMAGE_REGION_EFFECT_H__
 #define __DALI_TOOLKIT_IMAGE_REGION_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_SHADER_EFFECTS_MODULE
@@ -46,9 +47,11 @@ public:
   ImageRegionEffect();
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~ImageRegionEffect();
+  ~ImageRegionEffect();
 
   /**
    * @brief Create an initialized ImageRegionEffect.
index b9b3653..dd0e68b 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SHADER_EFFECT_IRIS_H__
 #define __DALI_TOOLKIT_SHADER_EFFECT_IRIS_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_SHADER_EFFECTS_MODULE
@@ -47,9 +48,11 @@ public:
   IrisEffect();
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~IrisEffect();
+  ~IrisEffect();
 
   /**
    * @brief Create an initialized IrisEffect.
index aefa9e7..3c3d2d4 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_MASK_EFFECT_H__
 #define __DALI_TOOLKIT_MASK_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_SHADER_EFFECTS_MODULE
@@ -52,9 +53,11 @@ public:
   MaskEffect();
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~MaskEffect();
+  ~MaskEffect();
 
   /**
    * @brief Create a MaskEffect.
index b203eb6..9266684 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_NINE_PATCH_MASK_EFFECT_H__
 #define __DALI_TOOLKIT_NINE_PATCH_MASK_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_SHADER_EFFECTS_MODULE
index 0fcece0..bc86733 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_PAGE_TURN_BOOK_SPINE_EFFECT_H__
 #define __DALI_PAGE_TURN_BOOK_SPINE_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_SHADER_EFFECTS_MODULE
@@ -50,9 +51,11 @@ public:
   PageTurnBookSpineEffect();
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~PageTurnBookSpineEffect();
+  ~PageTurnBookSpineEffect();
 
   /**
    * @brief Create an initialized PageTurnBookSpineEffect.
index 124777c..970e091 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_PAGE_TURN_EFFECT_H_
 #define __DALI_PAGE_TURN_EFFECT_H_
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_SHADER_EFFECTS_MODULE
@@ -83,9 +84,11 @@ public:
   PageTurnEffect();
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~PageTurnEffect();
+  ~PageTurnEffect();
 
   /**
    * @brief Create an initialized PageTurnEffect.
index 9245ca9..1f7e597 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SHADER_EFFECT_RIPPLE_H__
 #define __DALI_TOOLKIT_SHADER_EFFECT_RIPPLE_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_SHADER_EFFECTS_MODULE
@@ -46,9 +47,11 @@ public:
   RippleEffect();
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~RippleEffect();
+  ~RippleEffect();
 
   /**
    * @brief Create an initialized RippleEffect.
index a49c4e5..67eda39 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SHADER_EFFECT_RIPPLE2D_H__
 #define __DALI_TOOLKIT_SHADER_EFFECT_RIPPLE2D_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_SHADER_EFFECTS_MODULE
@@ -46,9 +47,11 @@ public:
   Ripple2DEffect();
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~Ripple2DEffect();
+  ~Ripple2DEffect();
 
   /**
    * @brief Create an initialized Ripple2DEffect.
index 6a0e676..11713c1 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SHADER_EFFECT_SWIRL_H__
 #define __DALI_TOOLKIT_SHADER_EFFECT_SWIRL_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @addtogroup CAPI_DALI_TOOLKIT_SHADER_EFFECTS_MODULE
@@ -46,9 +47,11 @@ public:
   SwirlEffect();
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~SwirlEffect();
+  ~SwirlEffect();
 
   /**
    * @brief Create an initialized SwirlEffect.
index dea89b3..8a67233 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_DOC_H__
 #define __DALI_TOOLKIT_DOC_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 /**
  * @ingroup CAPI_DALI_FRAMEWORK
index 08561d6..97e8c31 100644 (file)
@@ -1,8 +1,5 @@
 <manifest>
-       <assign>
-               <filesystem path="/usr/lib/*" label="_" />
-       </assign>
        <request>
-               <domain name="dali"/>
+               <domain name="_"/>
        </request>
 </manifest>
diff --git a/dali-toolkit.manifest-smack b/dali-toolkit.manifest-smack
new file mode 100644 (file)
index 0000000..08561d6
--- /dev/null
@@ -0,0 +1,8 @@
+<manifest>
+       <assign>
+               <filesystem path="/usr/lib/*" label="_" />
+       </assign>
+       <request>
+               <domain name="dali"/>
+       </request>
+</manifest>
diff --git a/docs/DaliLayout.xml b/docs/DaliLayout.xml
new file mode 100644 (file)
index 0000000..3d75409
--- /dev/null
@@ -0,0 +1,189 @@
+<doxygenlayout version="1.0">
+  <!-- Navigation index tabs for HTML output -->
+  <navindex>
+    <tab type="mainpage" visible="yes" title=""/>
+    <tab type="pages" visible="yes" title="" intro=""/>
+    <tab type="modules" visible="yes" title="" intro=""/>
+    <tab type="namespaces" visible="yes" title="">
+      <tab type="namespacelist" visible="yes" title="" intro=""/>
+      <tab type="namespacemembers" visible="yes" title="" intro=""/>
+    </tab>
+    <tab type="classes" visible="yes" title="">
+      <tab type="classlist" visible="yes" title="" intro=""/>
+      <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
+      <tab type="hierarchy" visible="yes" title="" intro=""/>
+      <tab type="classmembers" visible="yes" title="" intro=""/>
+    </tab>
+    <tab type="files" visible="yes" title="">
+      <tab type="filelist" visible="yes" title="" intro=""/>
+      <tab type="globals" visible="yes" title="" intro=""/>
+    </tab>
+    <tab type="dirs" visible="yes" title="" intro=""/>
+    <tab type="examples" visible="yes" title="" intro=""/>
+    <tab type="user" visible="yes" title="Deprecated" intro="" url="deprecated.html"/>
+  </navindex>
+
+  <!-- Layout definition for a class page -->
+  <class>
+    <briefdescription visible="yes"/>
+    <includes visible="$SHOW_INCLUDE_FILES"/>
+    <inheritancegraph visible="$CLASS_GRAPH"/>
+    <collaborationgraph visible="$COLLABORATION_GRAPH"/>
+    <allmemberslink visible="yes"/>
+    <memberdecl>
+      <nestedclasses visible="yes" title=""/>
+      <publictypes title=""/>
+      <publicslots title=""/>
+      <signals title=""/>
+      <publicmethods title=""/>
+      <publicstaticmethods title=""/>
+      <publicattributes title=""/>
+      <publicstaticattributes title=""/>
+      <protectedtypes title=""/>
+      <protectedslots title=""/>
+      <protectedmethods title=""/>
+      <protectedstaticmethods title=""/>
+      <protectedattributes title=""/>
+      <protectedstaticattributes title=""/>
+      <packagetypes title=""/>
+      <packagemethods title=""/>
+      <packagestaticmethods title=""/>
+      <packageattributes title=""/>
+      <packagestaticattributes title=""/>
+      <properties title=""/>
+      <events title=""/>
+      <privatetypes title=""/>
+      <privateslots title=""/>
+      <privatemethods title=""/>
+      <privatestaticmethods title=""/>
+      <privateattributes title=""/>
+      <privatestaticattributes title=""/>
+      <friends title=""/>
+      <related title="" subtitle=""/>
+      <membergroups visible="yes"/>
+    </memberdecl>
+    <detaileddescription title=""/>
+    <memberdef>
+      <inlineclasses title=""/>
+      <typedefs title=""/>
+      <enums title=""/>
+      <constructors title=""/>
+      <functions title=""/>
+      <related title=""/>
+      <variables title=""/>
+      <properties title=""/>
+      <events title=""/>
+    </memberdef>
+    <usedfiles visible="$SHOW_USED_FILES"/>
+    <authorsection visible="yes"/>
+  </class>
+
+  <!-- Layout definition for a namespace page -->
+  <namespace>
+    <briefdescription visible="yes"/>
+    <memberdecl>
+      <nestednamespaces visible="yes" title=""/>
+      <classes visible="yes" title=""/>
+      <typedefs title=""/>
+      <enums title=""/>
+      <functions title=""/>
+      <variables title=""/>
+      <membergroups visible="yes"/>
+    </memberdecl>
+    <detaileddescription title=""/>
+    <memberdef>
+      <inlineclasses title=""/>
+      <typedefs title=""/>
+      <enums title=""/>
+      <functions title=""/>
+      <variables title=""/>
+    </memberdef>
+    <authorsection visible="yes"/>
+  </namespace>
+
+  <!-- Layout definition for a file page -->
+  <file>
+    <briefdescription visible="yes"/>
+    <includes visible="$SHOW_INCLUDE_FILES"/>
+    <includegraph visible="$INCLUDE_GRAPH"/>
+    <includedbygraph visible="$INCLUDED_BY_GRAPH"/>
+    <sourcelink visible="yes"/>
+    <memberdecl>
+      <classes visible="yes" title=""/>
+      <namespaces visible="yes" title=""/>
+      <defines title=""/>
+      <typedefs title=""/>
+      <enums title=""/>
+      <functions title=""/>
+      <variables title=""/>
+      <membergroups visible="yes"/>
+    </memberdecl>
+    <detaileddescription title=""/>
+    <memberdef>
+      <inlineclasses title=""/>
+      <defines title=""/>
+      <typedefs title=""/>
+      <enums title=""/>
+      <functions title=""/>
+      <variables title=""/>
+    </memberdef>
+    <authorsection/>
+  </file>
+
+  <!-- Layout definition for a group page -->
+  <group>
+    <briefdescription visible="yes"/>
+    <groupgraph visible="$GROUP_GRAPHS"/>
+    <memberdecl>
+      <classes visible="yes" title=""/>
+      <namespaces visible="yes" title=""/>
+      <dirs visible="yes" title=""/>
+      <nestedgroups visible="yes" title=""/>
+      <files visible="yes" title=""/>
+      <defines title=""/>
+      <typedefs title=""/>
+      <enums title=""/>
+      <enumvalues title=""/>
+      <functions title=""/>
+      <variables title=""/>
+      <signals title=""/>
+      <publicslots title=""/>
+      <protectedslots title=""/>
+      <privateslots title=""/>
+      <events title=""/>
+      <properties title=""/>
+      <friends title=""/>
+      <membergroups visible="yes"/>
+    </memberdecl>
+    <detaileddescription title=""/>
+    <memberdef>
+      <pagedocs/>
+      <inlineclasses title=""/>
+      <defines title=""/>
+      <typedefs title=""/>
+      <enums title=""/>
+      <enumvalues title=""/>
+      <functions title=""/>
+      <variables title=""/>
+      <signals title=""/>
+      <publicslots title=""/>
+      <protectedslots title=""/>
+      <privateslots title=""/>
+      <events title=""/>
+      <properties title=""/>
+      <friends title=""/>
+    </memberdef>
+    <authorsection visible="yes"/>
+  </group>
+
+  <!-- Layout definition for a directory page -->
+  <directory>
+    <briefdescription visible="yes"/>
+    <directorygraph visible="yes"/>
+    <memberdecl>
+      <dirs visible="yes"/>
+      <files visible="yes"/>
+    </memberdecl>
+    <detaileddescription title=""/>
+  </directory>
+</doxygenlayout>
diff --git a/docs/README b/docs/README
new file mode 100644 (file)
index 0000000..2baf18b
--- /dev/null
@@ -0,0 +1,9 @@
+To build the documentation from a Desktop build environment
+
+On the desktop:
+- cd dali-toolkit/build/slp/docs
+- doxygen dali.doxy
+  or
+  make
+
+To view the output: firefox docs/generated/html/index.html
diff --git a/docs/api_footer.html b/docs/api_footer.html
new file mode 100644 (file)
index 0000000..ce7bd16
--- /dev/null
@@ -0,0 +1,2 @@
+<hr>\r
+<a href="http://www.samsung.com">Copyright (c) 2008-2014 Samsung Electronics, Co., Ltd.</a></body></html>\r
diff --git a/docs/content/images/actor-position.png b/docs/content/images/actor-position.png
new file mode 100644 (file)
index 0000000..f591fdc
Binary files /dev/null and b/docs/content/images/actor-position.png differ
diff --git a/docs/content/images/actors/Image-Actor.png b/docs/content/images/actors/Image-Actor.png
new file mode 100644 (file)
index 0000000..7c21ff8
Binary files /dev/null and b/docs/content/images/actors/Image-Actor.png differ
diff --git a/docs/content/images/actors/Text-Actor.png b/docs/content/images/actors/Text-Actor.png
new file mode 100644 (file)
index 0000000..6bba38e
Binary files /dev/null and b/docs/content/images/actors/Text-Actor.png differ
diff --git a/docs/content/images/actors/scale-none.png b/docs/content/images/actors/scale-none.png
new file mode 100644 (file)
index 0000000..0766dee
Binary files /dev/null and b/docs/content/images/actors/scale-none.png differ
diff --git a/docs/content/images/actors/scale-to-fill-keep-aspect.png b/docs/content/images/actors/scale-to-fill-keep-aspect.png
new file mode 100644 (file)
index 0000000..d6c20e8
Binary files /dev/null and b/docs/content/images/actors/scale-to-fill-keep-aspect.png differ
diff --git a/docs/content/images/actors/scale-to-fill.png b/docs/content/images/actors/scale-to-fill.png
new file mode 100644 (file)
index 0000000..1d7c88b
Binary files /dev/null and b/docs/content/images/actors/scale-to-fill.png differ
diff --git a/docs/content/images/actors/scale-to-fit-keep-aspect.png b/docs/content/images/actors/scale-to-fit-keep-aspect.png
new file mode 100644 (file)
index 0000000..9d6b91a
Binary files /dev/null and b/docs/content/images/actors/scale-to-fit-keep-aspect.png differ
diff --git a/docs/content/images/actors/shrink-to-fit-2.png b/docs/content/images/actors/shrink-to-fit-2.png
new file mode 100644 (file)
index 0000000..4796387
Binary files /dev/null and b/docs/content/images/actors/shrink-to-fit-2.png differ
diff --git a/docs/content/images/actors/shrink-to-fit-keep-aspect.png b/docs/content/images/actors/shrink-to-fit-keep-aspect.png
new file mode 100644 (file)
index 0000000..a832726
Binary files /dev/null and b/docs/content/images/actors/shrink-to-fit-keep-aspect.png differ
diff --git a/docs/content/images/actors/shrink-to-fit.png b/docs/content/images/actors/shrink-to-fit.png
new file mode 100644 (file)
index 0000000..b414fac
Binary files /dev/null and b/docs/content/images/actors/shrink-to-fit.png differ
diff --git a/docs/content/images/anchor-point.png b/docs/content/images/anchor-point.png
new file mode 100644 (file)
index 0000000..1db87e5
Binary files /dev/null and b/docs/content/images/anchor-point.png differ
diff --git a/docs/content/images/animation/anim1.png b/docs/content/images/animation/anim1.png
new file mode 100644 (file)
index 0000000..bf2f7ac
Binary files /dev/null and b/docs/content/images/animation/anim1.png differ
diff --git a/docs/content/images/animation/anim2.png b/docs/content/images/animation/anim2.png
new file mode 100644 (file)
index 0000000..05efa57
Binary files /dev/null and b/docs/content/images/animation/anim2.png differ
diff --git a/docs/content/images/animation/anim3.png b/docs/content/images/animation/anim3.png
new file mode 100644 (file)
index 0000000..ce12dde
Binary files /dev/null and b/docs/content/images/animation/anim3.png differ
diff --git a/docs/content/images/animation/multi-threaded-animation-2.png b/docs/content/images/animation/multi-threaded-animation-2.png
new file mode 100644 (file)
index 0000000..2d481f1
Binary files /dev/null and b/docs/content/images/animation/multi-threaded-animation-2.png differ
diff --git a/docs/content/images/animation/multi-threaded-animation.png b/docs/content/images/animation/multi-threaded-animation.png
new file mode 100644 (file)
index 0000000..ebe0bef
Binary files /dev/null and b/docs/content/images/animation/multi-threaded-animation.png differ
diff --git a/docs/content/images/animation/set-position-vs-animation.png b/docs/content/images/animation/set-position-vs-animation.png
new file mode 100644 (file)
index 0000000..a6c61be
Binary files /dev/null and b/docs/content/images/animation/set-position-vs-animation.png differ
diff --git a/docs/content/images/background/BackgroundControlColor.png b/docs/content/images/background/BackgroundControlColor.png
new file mode 100644 (file)
index 0000000..2a2e2fc
Binary files /dev/null and b/docs/content/images/background/BackgroundControlColor.png differ
diff --git a/docs/content/images/background/BackgroundImage.png b/docs/content/images/background/BackgroundImage.png
new file mode 100644 (file)
index 0000000..5771d48
Binary files /dev/null and b/docs/content/images/background/BackgroundImage.png differ
diff --git a/docs/content/images/background/BackgroundImageColor.png b/docs/content/images/background/BackgroundImageColor.png
new file mode 100644 (file)
index 0000000..ba6a075
Binary files /dev/null and b/docs/content/images/background/BackgroundImageColor.png differ
diff --git a/docs/content/images/background/BackgroundTextView.png b/docs/content/images/background/BackgroundTextView.png
new file mode 100644 (file)
index 0000000..6bfe77f
Binary files /dev/null and b/docs/content/images/background/BackgroundTextView.png differ
diff --git a/docs/content/images/coordinate-system-and-stage.png b/docs/content/images/coordinate-system-and-stage.png
new file mode 100644 (file)
index 0000000..83c72fe
Binary files /dev/null and b/docs/content/images/coordinate-system-and-stage.png differ
diff --git a/docs/content/images/dynamics/dynamics-joint.png b/docs/content/images/dynamics/dynamics-joint.png
new file mode 100644 (file)
index 0000000..d564603
Binary files /dev/null and b/docs/content/images/dynamics/dynamics-joint.png differ
diff --git a/docs/content/images/dynamics/dynamics-joint2.png b/docs/content/images/dynamics/dynamics-joint2.png
new file mode 100644 (file)
index 0000000..e5cda99
Binary files /dev/null and b/docs/content/images/dynamics/dynamics-joint2.png differ
diff --git a/docs/content/images/dynamics/dynamics-rigid.png b/docs/content/images/dynamics/dynamics-rigid.png
new file mode 100644 (file)
index 0000000..5bce543
Binary files /dev/null and b/docs/content/images/dynamics/dynamics-rigid.png differ
diff --git a/docs/content/images/dynamics/dynamics-shapes.png b/docs/content/images/dynamics/dynamics-shapes.png
new file mode 100644 (file)
index 0000000..0f6e76d
Binary files /dev/null and b/docs/content/images/dynamics/dynamics-shapes.png differ
diff --git a/docs/content/images/dynamics/dynamics-soft.png b/docs/content/images/dynamics/dynamics-soft.png
new file mode 100644 (file)
index 0000000..d073581
Binary files /dev/null and b/docs/content/images/dynamics/dynamics-soft.png differ
diff --git a/docs/content/images/list-view/coverflow.png b/docs/content/images/list-view/coverflow.png
new file mode 100644 (file)
index 0000000..6fba44d
Binary files /dev/null and b/docs/content/images/list-view/coverflow.png differ
diff --git a/docs/content/images/list-view/grid.png b/docs/content/images/list-view/grid.png
new file mode 100644 (file)
index 0000000..d9253f8
Binary files /dev/null and b/docs/content/images/list-view/grid.png differ
diff --git a/docs/content/images/list-view/list.png b/docs/content/images/list-view/list.png
new file mode 100644 (file)
index 0000000..17795f1
Binary files /dev/null and b/docs/content/images/list-view/list.png differ
diff --git a/docs/content/images/list-view/tunnel.png b/docs/content/images/list-view/tunnel.png
new file mode 100644 (file)
index 0000000..88da139
Binary files /dev/null and b/docs/content/images/list-view/tunnel.png differ
diff --git a/docs/content/images/parent-origin.png b/docs/content/images/parent-origin.png
new file mode 100644 (file)
index 0000000..0317fe4
Binary files /dev/null and b/docs/content/images/parent-origin.png differ
diff --git a/docs/content/images/screenshot.png b/docs/content/images/screenshot.png
new file mode 100644 (file)
index 0000000..d42964d
Binary files /dev/null and b/docs/content/images/screenshot.png differ
diff --git a/docs/content/images/shaders/BendyEffect1.png b/docs/content/images/shaders/BendyEffect1.png
new file mode 100644 (file)
index 0000000..1df68e8
Binary files /dev/null and b/docs/content/images/shaders/BendyEffect1.png differ
diff --git a/docs/content/images/shaders/BendyEffect2.png b/docs/content/images/shaders/BendyEffect2.png
new file mode 100644 (file)
index 0000000..605a065
Binary files /dev/null and b/docs/content/images/shaders/BendyEffect2.png differ
diff --git a/docs/content/images/shaders/RippleEffect1.png b/docs/content/images/shaders/RippleEffect1.png
new file mode 100644 (file)
index 0000000..bbfaf2b
Binary files /dev/null and b/docs/content/images/shaders/RippleEffect1.png differ
diff --git a/docs/content/images/shaders/shader-effect-ripple.png b/docs/content/images/shaders/shader-effect-ripple.png
new file mode 100644 (file)
index 0000000..2c5056f
Binary files /dev/null and b/docs/content/images/shaders/shader-effect-ripple.png differ
diff --git a/docs/content/images/size-negotiation/Algorithm1.png b/docs/content/images/size-negotiation/Algorithm1.png
new file mode 100644 (file)
index 0000000..dc0b603
Binary files /dev/null and b/docs/content/images/size-negotiation/Algorithm1.png differ
diff --git a/docs/content/images/size-negotiation/Algorithm10.png b/docs/content/images/size-negotiation/Algorithm10.png
new file mode 100644 (file)
index 0000000..154777e
Binary files /dev/null and b/docs/content/images/size-negotiation/Algorithm10.png differ
diff --git a/docs/content/images/size-negotiation/Algorithm2.png b/docs/content/images/size-negotiation/Algorithm2.png
new file mode 100644 (file)
index 0000000..3de7aeb
Binary files /dev/null and b/docs/content/images/size-negotiation/Algorithm2.png differ
diff --git a/docs/content/images/size-negotiation/Algorithm3.png b/docs/content/images/size-negotiation/Algorithm3.png
new file mode 100644 (file)
index 0000000..76d088e
Binary files /dev/null and b/docs/content/images/size-negotiation/Algorithm3.png differ
diff --git a/docs/content/images/size-negotiation/Algorithm4.png b/docs/content/images/size-negotiation/Algorithm4.png
new file mode 100644 (file)
index 0000000..eafd019
Binary files /dev/null and b/docs/content/images/size-negotiation/Algorithm4.png differ
diff --git a/docs/content/images/size-negotiation/Algorithm8.png b/docs/content/images/size-negotiation/Algorithm8.png
new file mode 100644 (file)
index 0000000..df20bf3
Binary files /dev/null and b/docs/content/images/size-negotiation/Algorithm8.png differ
diff --git a/docs/content/images/size-negotiation/Algorithm9.png b/docs/content/images/size-negotiation/Algorithm9.png
new file mode 100644 (file)
index 0000000..7a22cdb
Binary files /dev/null and b/docs/content/images/size-negotiation/Algorithm9.png differ
diff --git a/docs/content/images/size-negotiation/FixedWidthFlexibleHeight.png b/docs/content/images/size-negotiation/FixedWidthFlexibleHeight.png
new file mode 100644 (file)
index 0000000..0dd09b8
Binary files /dev/null and b/docs/content/images/size-negotiation/FixedWidthFlexibleHeight.png differ
diff --git a/docs/content/images/size-negotiation/FixedWidthFlexibleHeight2.png b/docs/content/images/size-negotiation/FixedWidthFlexibleHeight2.png
new file mode 100644 (file)
index 0000000..54cb64e
Binary files /dev/null and b/docs/content/images/size-negotiation/FixedWidthFlexibleHeight2.png differ
diff --git a/docs/content/images/size-negotiation/FixedWidthHeight.png b/docs/content/images/size-negotiation/FixedWidthHeight.png
new file mode 100644 (file)
index 0000000..af6dee0
Binary files /dev/null and b/docs/content/images/size-negotiation/FixedWidthHeight.png differ
diff --git a/docs/content/images/size-negotiation/FixedWidthHeight2.png b/docs/content/images/size-negotiation/FixedWidthHeight2.png
new file mode 100644 (file)
index 0000000..c792b73
Binary files /dev/null and b/docs/content/images/size-negotiation/FixedWidthHeight2.png differ
diff --git a/docs/content/images/size-negotiation/FlexibleWidthFixedHeight.png b/docs/content/images/size-negotiation/FlexibleWidthFixedHeight.png
new file mode 100644 (file)
index 0000000..0edf63f
Binary files /dev/null and b/docs/content/images/size-negotiation/FlexibleWidthFixedHeight.png differ
diff --git a/docs/content/images/size-negotiation/FlexibleWidthFixedHeight2.png b/docs/content/images/size-negotiation/FlexibleWidthFixedHeight2.png
new file mode 100644 (file)
index 0000000..9ee0bb4
Binary files /dev/null and b/docs/content/images/size-negotiation/FlexibleWidthFixedHeight2.png differ
diff --git a/docs/content/images/size-negotiation/FlexibleWidthHeight.png b/docs/content/images/size-negotiation/FlexibleWidthHeight.png
new file mode 100644 (file)
index 0000000..1025009
Binary files /dev/null and b/docs/content/images/size-negotiation/FlexibleWidthHeight.png differ
diff --git a/docs/content/images/text-view/AlessBlessC.png b/docs/content/images/text-view/AlessBlessC.png
new file mode 100644 (file)
index 0000000..b4cc01c
Binary files /dev/null and b/docs/content/images/text-view/AlessBlessC.png differ
diff --git a/docs/content/images/text-view/Black-Shadow.png b/docs/content/images/text-view/Black-Shadow.png
new file mode 100644 (file)
index 0000000..899c8b3
Binary files /dev/null and b/docs/content/images/text-view/Black-Shadow.png differ
diff --git a/docs/content/images/text-view/Blue-Glow.png b/docs/content/images/text-view/Blue-Glow.png
new file mode 100644 (file)
index 0000000..a9b6cfb
Binary files /dev/null and b/docs/content/images/text-view/Blue-Glow.png differ
diff --git a/docs/content/images/text-view/Bold.png b/docs/content/images/text-view/Bold.png
new file mode 100644 (file)
index 0000000..0f4f60e
Binary files /dev/null and b/docs/content/images/text-view/Bold.png differ
diff --git a/docs/content/images/text-view/FontAppendix01.png b/docs/content/images/text-view/FontAppendix01.png
new file mode 100644 (file)
index 0000000..e600bf4
Binary files /dev/null and b/docs/content/images/text-view/FontAppendix01.png differ
diff --git a/docs/content/images/text-view/FontAppendix02.png b/docs/content/images/text-view/FontAppendix02.png
new file mode 100644 (file)
index 0000000..7b002b3
Binary files /dev/null and b/docs/content/images/text-view/FontAppendix02.png differ
diff --git a/docs/content/images/text-view/FontAppendix03.png b/docs/content/images/text-view/FontAppendix03.png
new file mode 100644 (file)
index 0000000..024a977
Binary files /dev/null and b/docs/content/images/text-view/FontAppendix03.png differ
diff --git a/docs/content/images/text-view/FontAppendix04.png b/docs/content/images/text-view/FontAppendix04.png
new file mode 100644 (file)
index 0000000..337a1d7
Binary files /dev/null and b/docs/content/images/text-view/FontAppendix04.png differ
diff --git a/docs/content/images/text-view/FontAppendix05.png b/docs/content/images/text-view/FontAppendix05.png
new file mode 100644 (file)
index 0000000..331daf4
Binary files /dev/null and b/docs/content/images/text-view/FontAppendix05.png differ
diff --git a/docs/content/images/text-view/FreeSerifFont.png b/docs/content/images/text-view/FreeSerifFont.png
new file mode 100644 (file)
index 0000000..fa945ff
Binary files /dev/null and b/docs/content/images/text-view/FreeSerifFont.png differ
diff --git a/docs/content/images/text-view/Italic.png b/docs/content/images/text-view/Italic.png
new file mode 100644 (file)
index 0000000..61fe21e
Binary files /dev/null and b/docs/content/images/text-view/Italic.png differ
diff --git a/docs/content/images/text-view/Red-Outline.png b/docs/content/images/text-view/Red-Outline.png
new file mode 100644 (file)
index 0000000..794960b
Binary files /dev/null and b/docs/content/images/text-view/Red-Outline.png differ
diff --git a/docs/content/images/text-view/Smooth-Text.png b/docs/content/images/text-view/Smooth-Text.png
new file mode 100644 (file)
index 0000000..7ca0d3b
Binary files /dev/null and b/docs/content/images/text-view/Smooth-Text.png differ
diff --git a/docs/content/images/text-view/Underline.png b/docs/content/images/text-view/Underline.png
new file mode 100644 (file)
index 0000000..468cac3
Binary files /dev/null and b/docs/content/images/text-view/Underline.png differ
diff --git a/docs/content/images/text-view/text-view-example-01.png b/docs/content/images/text-view/text-view-example-01.png
new file mode 100644 (file)
index 0000000..3b8eacd
Binary files /dev/null and b/docs/content/images/text-view/text-view-example-01.png differ
diff --git a/docs/content/images/text-view/text-view-example-02.png b/docs/content/images/text-view/text-view-example-02.png
new file mode 100644 (file)
index 0000000..32a532a
Binary files /dev/null and b/docs/content/images/text-view/text-view-example-02.png differ
diff --git a/docs/content/images/text-view/text-view-example-03.png b/docs/content/images/text-view/text-view-example-03.png
new file mode 100644 (file)
index 0000000..0fd7457
Binary files /dev/null and b/docs/content/images/text-view/text-view-example-03.png differ
diff --git a/docs/content/images/text-view/text-view-example-04.png b/docs/content/images/text-view/text-view-example-04.png
new file mode 100644 (file)
index 0000000..5d0a2dc
Binary files /dev/null and b/docs/content/images/text-view/text-view-example-04.png differ
diff --git a/docs/content/images/text-view/text-view-example-05.png b/docs/content/images/text-view/text-view-example-05.png
new file mode 100644 (file)
index 0000000..eccfde5
Binary files /dev/null and b/docs/content/images/text-view/text-view-example-05.png differ
diff --git a/docs/content/images/text-view/text-view-example-06.png b/docs/content/images/text-view/text-view-example-06.png
new file mode 100644 (file)
index 0000000..02a5f19
Binary files /dev/null and b/docs/content/images/text-view/text-view-example-06.png differ
diff --git a/docs/content/images/text-view/text-view-example-07.png b/docs/content/images/text-view/text-view-example-07.png
new file mode 100644 (file)
index 0000000..2326de4
Binary files /dev/null and b/docs/content/images/text-view/text-view-example-07.png differ
diff --git a/docs/content/images/text-view/text-view-example-08.png b/docs/content/images/text-view/text-view-example-08.png
new file mode 100644 (file)
index 0000000..0224b2e
Binary files /dev/null and b/docs/content/images/text-view/text-view-example-08.png differ
diff --git a/docs/content/images/text-view/text-view.png b/docs/content/images/text-view/text-view.png
new file mode 100644 (file)
index 0000000..5d11c48
Binary files /dev/null and b/docs/content/images/text-view/text-view.png differ
diff --git a/docs/content/main-page.h b/docs/content/main-page.h
new file mode 100644 (file)
index 0000000..564590c
--- /dev/null
@@ -0,0 +1,102 @@
+/*! \mainpage
+ *
+ * \section mainintro_sec Introduction
+ *
+ * It is a quick and easy way of allowing developers to create Rich UI Applications like Home
+ * screen, Gallery, Music player, Games, Maps...
+ *
+ * DALI is based on OpenGL ES 2.0, however it hides the complexity of
+ * the OpenGL API from developers and provides a clean cross-platform C++ framework.
+ *
+ * \section Introduction Introduction
+ * - \link fundamentals Dali Fundamentals \endlink
+ * - \link dali-application Dali Application and Adaptor \endlink
+ * - \link hello-world Hello World - explained \endlink
+ *
+ * \section Actors Actors
+ * - \link image-text-mesh-actor Image, Text and Mesh actors \endlink
+ * - \link event-system Event Handling \endlink
+ * - \link custom-actor Custom Actor \endlink
+ *
+ * \section ShaderEffects Shader Effects
+ * - \link shader-intro Shader Effects\endlink
+ *
+ * \section Animation Animation
+ * - \link animation-example Example and Usage\endlink
+ * - \link animation-rotation Rotation with quaternions \endlink
+ * - \link animation-shader Shader Animation \endlink
+ * - \link animation-multi-threading-notes Multi-threading Notes \endlink
+ *
+ * \section Constraints
+ * - \link constraints-intro Introduction to Constraints \endlink
+ *
+ * \section UIControls UI Controls
+ * - \link item-view Item View \endlink
+ * - \link text-view Text View \endlink
+ * - \link text-input Text Input \endlink
+ * - \link scroll-view Scroll View \endlink
+ * - \link markup-processor Markup Processor \endlink
+ * - \link size-negotiation Size Negotiation \endlink
+ * - \link type-registration Type Registration \endlink
+ * - \link properties Properties \endlink
+ * - \link background Background \endlink
+ *
+ * \section Dynamics Dynamics
+ * - \link dynamics-intro Introduction to Dynamics\endlink
+ * - \link dynamics-initialization Initializing the Simulation\endlink
+ * - \link dynamics-bodies Bodies - adding and controlling dynamic objects \endlink
+ * - \link dynamics-joints Joints - linking objects\endlink
+ * - \link dynamics-collisions Collision Detection and Filtering\endlink
+ *
+ * \section Scripting
+ * - \link script-overview Overview \endlink
+ * - \link script-howto How to Add a Custom Control \endlink
+ * - \link script-hello Hello World in script \endlink
+ *
+ * - \link handle-body-idiom Handle – body idiom \endlink
+ * - \link boost-library Boost Library \endlink
+ * - \link boost-function Boost function usage \endlink
+ *
+ * \section Profiling
+ * - \link resource-tracking Resource Tracking \endlink
+ * - \link performance-profiling Performance Profiling \endlink
+ *
+*/
+
+/*! \page scene-graph
+ *
+ * \section scene_intro What is a scene graph?
+ * From wikipedia...
+ * A scene graph is a collection of nodes in a graph or tree structure.
+ * A node may have many children but often only a single parent,
+ * with the effect of a parent applied to all its child nodes;
+ * an operation performed on a group automatically propagates
+ * its effect to all of its members. In many programs, associating
+ * a geometrical transformation matrix (see also transformation and matrix)
+ * at each group level and concatenating such matrices together is an
+ * efficient and natural way to process such operations. A common feature,
+ * for instance, is the ability to group related shapes/objects into a
+ * compound object that can then be moved, transformed, selected,
+ * etc. as easily as a single object.
+ *
+ * \section scene_dali How does this relate to the Dali public API?
+ *
+ * Actors are effectively nodes that receive input (touch events) and act as a
+ * container for draw-able elements (which are also nodes) and other actors.
+ *
+ * For example a Button actor will be an actor with several elements such as button background,
+ * text label and button face. When the actor is moved around, it's child elements will move with it.
+ * When the button is pressed, the actor will receive an event and adjust the color of its button face
+ * element.
+ *
+ * \section scene_dali Why does Dali internally have a second scene graph?
+ * Actors and elements are contained in a scene graph which deals with input, layout and some animation
+ * it doesn't perform any drawing.
+ *
+ * All the drawing is done via the Render Manager which has it's own render scene graph, where it's nodes
+ * are just for drawing things like image/text and moving them around. So when you create an Image element
+ * it will ask the RenderManager to create an Image node. The separation allows the RenderManager to
+ * run in a separate thread to maintain a high frame rate, without being slowed down by any logic
+ * performed on the actor/element side.
+ *
+ */
diff --git a/docs/content/programming-guide/animation-example.h b/docs/content/programming-guide/animation-example.h
new file mode 100644 (file)
index 0000000..577dcfe
--- /dev/null
@@ -0,0 +1,65 @@
+/*! \page animation-example Example and Usage
+
+   We will start by showing the steps for animating an actors position and opacity so the actor moves whilst the opacity changes.
+
+   Next more interesting animations methods (effects) with individual timing will be explained.
+
+   \section simple-anim Simple Animation moving an actor whilst altering opacity.
+
+   We declare an animation called myAnimation
+
+   @code
+   Dali::Animation myAnimation
+   @endcode
+
+   A new animation instance is created with a specified duration.  Here the duration of the animation will be 0.5 seconds.
+   Some other settings are incorporated by default and will be explained later.
+   @code
+   myAnimation = Animation::New(0.5f);
+   @endcode
+
+   Here we add the animators, these are the building blocks (functions) of the animation and define what we want to see
+   @code
+   myAnimation.OpacityTo(actor, 1.0f);
+   myAnimation.MoveTo(actor, x, y, z);
+   @endcode
+
+   start animation, when this is called we want the animation to start playing so here the actor will move whilst the opacity changes.
+   @code
+   myAnimation.Play();
+   @endcode
+   \section advanced-anims Adding more advanced animators, if simply moving the actor is not enough we have further animations methods.
+
+   For actor there exists a range of methods ranging from Move, Rotate, Scale, Opacity, Color to Resize.  The API explains in detail what each does and the parameters to these methods but there are some points worth noting;
+
+   xxxxBy and xxxxTo, method names are appended by 'By' or 'To' either animate to a supplied value or animate by a supplied value.  For example an actor at (10,10,10) calling MoveBy(actor, 50,0,0) would mean its location is (60,0,0) whilst MoveTo(actor, 50,0,0) would result in a location (50,0,0).
+
+   Dali::AlphaFunctions can be used to give interesting effects to the animation, for example the MOVEment of an actor on screen can speed up and slow down following a sine curve by using the Dali::AlphaFunctions::EaseInOutSine instead of AlphaFunctions::Linear.
+
+   @code
+   myAnimation.MoveTo(actor, Vector3(x, y, z), AlphaFunctions::Linear, delay, ANIMATOR_DURATION);
+   myAnimation.Resize(actor, actorSize, AlphaFunctions::EaseIn, delay, ANIMATOR_DURATION);
+   @endcode
+   \section playback-control Controlling a playing animation
+
+   The 3 controls we have are start, pause and stop
+   @code
+   Dali::Animation::Play();
+   Dali::Animation::Stop();
+   Dali::Animation::Pause();
+   @endcode
+
+   \section default-settings Default settings
+   The call Dali::Animation::New provides some default settings but each has a setter function if the defaults are not suitable. (Getters also exist)
+   @code
+   Dali::Animation::SetEndAction
+   Dali::Animation::SetLooping
+   Dali::Animation::SetDefaultAlphaFunction
+   @endcode
+
+   \section end-signal End Signal
+   The following signal can be connected to if it is required to know when an animation is complete.
+   /code Dali::Animation::SignalFinish(); /endcode
+
+ */
+
diff --git a/docs/content/programming-guide/animation-multi-threading-notes.h b/docs/content/programming-guide/animation-multi-threading-notes.h
new file mode 100644 (file)
index 0000000..5955eb1
--- /dev/null
@@ -0,0 +1,64 @@
+/*! \page animation-multi-threading-notes Animation: Multi-threading Notes
+ *
+
+<h2 class="pg">Multi-threaded Architecture</h2>
+
+Dali animations and rendering occur in a dedicated rendering thread.  This allows animations to run smoothly, regardless of the time taken to process inputs events etc. in application code.
+
+Internally Dali contains a scene-graph, which mirrors the Actor hierachy.  The scene-graph objects perform the actual animation & rendering, whilst Actors provide thread-safe access.
+
+An example actor hierachy is shown below, in which one of the actors is being animated.  The objects in green are created by the application code, whilst the private objects in blue are used in the dedicated rendering thread.
+
+\image html multi-threaded-animation.png
+
+<h2 class="pg">Reading an animated value</h2>
+
+When a property is animatable, it can only be modified in the rendering thread.  The value returned from a getter method, is the value used when the previous frame was rendered.
+
+For example \ref Dali::Actor::GetCurrentPosition "Dali::Actor::GetCurrentPosition" returns the position at which the Actor was last rendered.  Since \ref Dali::Actor::SetPosition "Dali::Actor::SetPosition" is asynchronous, a call to \ref Dali::Actor::GetCurrentPosition "Dali::Actor::GetCurrentPosition" won't immediately return the same value.
+
+@code
+// Whilst handling an event...
+
+Actor actor = Actor::New();
+Stage::GetCurrent().Add(actor); // initial position is 0,0,0
+
+actor.SetPosition(Vector3(10,10,10));
+
+Vector3 current;
+current = actor.GetCurrentPosition();
+std::cout << "Current position: " << current.x << ", " << current.y << ", " << current.z << std::endl;
+
+std::cout << "..." << std::endl;
+
+// Whilst handling another event...
+
+current = actor.GetCurrentPosition();
+std::cout << "Current position: " << current.x << ", " << current.y << ", " << current.z << std::endl;
+
+@endcode
+
+The example code above would likely output:
+
+@code
+"Current position: 0,0,0"
+"..."
+"Current position: 10,10,10"
+@endcode
+
+<h2 class="pg">Setting a property during an animation</h2>
+
+When a property is being animated, the Animation will override any values set e.g. with Actor::SetPosition()
+
+\image html multi-threaded-animation-2.png
+
+The order of execution in the render thread is:
+
+@code
+1) Process message => SetPosition
+2) Apply animation => SetPosition
+3) Render frame
+@endcode
+
+*
+*/
diff --git a/docs/content/programming-guide/animation-rotation.h b/docs/content/programming-guide/animation-rotation.h
new file mode 100644 (file)
index 0000000..3d0a5d2
--- /dev/null
@@ -0,0 +1,33 @@
+/*! \page animation-rotation Rotation with quaternions
+ *
+ * \ref Dali::Quaternion "Quaternions" are used to specify unique orientations on actors. They are also
+ * very useful for calculating smooth transitions between orientations.
+ *
+ * The Dali::Actor class provides the ability to set the orientation
+ * by both angle+axis and quaternion. It also allows you to rotate the
+ * actor around another quaternion.
+ *
+ * @code
+ * Dali::Actor actor;
+ * actor.SetRotation(Quaternion(Radian(Degree(45.0f)).value, Vector3::XAXIS)),
+ *
+ * Quaternion q(Radian(Degree(30.0f)).value, Vector3(1.0f, 1.0f, 0.0f));
+ * actor.RotateBy(q);
+ * @endcode
+ *
+ * The Dali::Animation class provides several RotateTo methods that
+ * use \ref Dali::Quaternion "Quaternions" directly.  The other
+ * RotateTo methods are specified using Axis+Angle, and these convert
+ * to Quaternion internally. You will only need to use the quaternion
+ * based methods when you are doing something more complex than
+ * initialising with Axis+Angle, such as applying several rotations
+ * together.
+ * @code
+ * mAnimation = Animation::New(5.0f); // 5 seconds
+ * Quaternion q(Radian(Degree(45.0f)).value, Vector3::YAXIS);
+ * Quaternion r(Radian(Degree(30.0f)).value, Vector3::ZAXIS);
+ * q *= r;
+ * mAnimation.RotateTo(mActor, q, AlphaFunctions::EaseInOut);
+ * mAnimation.Play();
+ * @endcode
+ */
diff --git a/docs/content/programming-guide/animation-shader.h b/docs/content/programming-guide/animation-shader.h
new file mode 100644 (file)
index 0000000..926bbcf
--- /dev/null
@@ -0,0 +1,26 @@
+/*! \page animation-shader Shader Effect Animation
+ *
+
+The uniforms of a shader can be animated using the Animation::AnimateTo functions.
+
+For example, to animate the center point of the Bendy shader effect:
+@code
+Dali::Animation animation = Dali::Animation::New( 1.0f );
+//...
+Vector2 newPosition( 0.0f, 0.0f );
+animation.AnimateTo( Property(shaderEffect, shaderEffect.GetPositionPropertyName()), newPosition );
+@endcode
+
+To animate a uniform of a custom shader effect, the developer must use the name of the uniform:
+@code
+Dali::Animation animation = Dali::Animation::New( 1.0f );
+//...
+// Set the initial value for the uniform
+shaderEffect.SetUniform( "myUniform", -0.5f );
+//...
+// Animate the uniform to a value
+animation.AnimateTo( Property(shaderEffect, "myUniform"), 0.5f );
+@endcode
+
+ *
+ */
diff --git a/docs/content/programming-guide/background.h b/docs/content/programming-guide/background.h
new file mode 100644 (file)
index 0000000..44972f4
--- /dev/null
@@ -0,0 +1,61 @@
+/*! \page background Background
+ *
+@section background-color Background Color
+
+It is possible to set a background color for a DALi control.  If the application writer wishes to
+set a control with a red background:
+
+@code
+Dali::Toolkit::Control control = Dali::Toolkit::Control::New();
+control.SetBackgroundColor( Dali::Color::RED );
+@endcode
+
+<table border=0 cellpadding=10><tr>
+<td>
+\image html BackgroundControlColor.png
+</td>
+</table>
+
+This can be used for ALL existing controls like TextView as well:
+@code
+Dali::Toolkit::TextView textView = Dali::Toolkit::TextView::New( "Hello World" );
+textView.SetBackgroundColor( Dali::Color::RED );
+@endcode
+
+<table border=0 cellpadding=10><tr>
+<td>
+\image html BackgroundTextView.png
+</td>
+</table>
+
+@section background-image Background Image
+
+If required, the user can also set a background image as a DALi control:
+
+@code
+Dali::Toolkit::Control control = Dali::Toolkit::Control::New();
+Dali::Image image = Dali::Image::New( "image.png" );
+control.SetBackgroundImage( image );
+@endcode
+
+<table border=0 cellpadding=10><tr>
+<td>
+\image html BackgroundImage.png
+</td>
+</table>
+
+The background image is blended with the background color. If a red background color is set on the
+control:
+@code
+control.SetBackgroundColor( Dali::Color::RED );
+@endcode
+then the above image will look like:
+
+<table border=0 cellpadding=10><tr>
+<td>
+\image html BackgroundImageColor.png
+</td>
+</table>
+
+*
+*/
diff --git a/docs/content/programming-guide/boost-function.h b/docs/content/programming-guide/boost-function.h
new file mode 100644 (file)
index 0000000..2d1392d
--- /dev/null
@@ -0,0 +1,55 @@
+/*! \page boost-function Boost function usage
+<h2 class="pg">Signal handler functions</h2>
+ boost::function is mostly used to define callback function types in Dali.
+ For example in text-actor.h:
+ \code
+class TextActor : public RenderableActor
+{
+public:
+   ...
+   typedef boost::function<void (TextActor)> TextCallbackType;
+   typedef Signal<TextSignalType, TextCallbackType> TextSignal;
+
+public:
+     TextSignal SignalTextAvailable();
+    ...
+ }
+ \endcode
+
+ \p "boost::function<void (TextActor)>" specifies a function type which has no return value and takes \p TextActor as an argument.
+ The application can set a function of this type to be called when the text available signal is emitted.
+
+ <h2 class="pg">Specifying custom functions (eg. sorting)</h2>
+ Dali::Layer::SetSortFunction() is an example where the developer should use a boost function in order to specify the sorting algorithm.\n
+ This API accepts both standalone functions or class methods.\n
+ Standalone functions can be simply given as:
+ \code
+ static float TestSortFunction(const Vector3& position, float sortModifier)
+ {
+   // do something
+ }
+
+ void TestApp::SetRootSort()
+ {
+   Layer root = Stage::GetCurrent().GetLayer( 0 );
+   root.SetSortFunction(TestSortFunction);
+ }
+ \endcode
+ For member functions \b binding needs to be done:
+ \code
+ float TestApp::TestSortFunction(const Vector3& position, float sortModifier)
+ {
+   // do something
+ }
+
+ void TestApp::SetRootSort()
+ {
+   Layer root = Stage::GetCurrent().GetLayer( 0 );
+   root.SetSortFunction(boost::bind(&TestApp::TestSortFunction, this));
+ }
+ \endcode
+ \n\n
+ For more information please see <a href="http://www.boost.org/doc/">the boost project documentation</a>.
+
+ */
+
diff --git a/docs/content/programming-guide/boost-library.h b/docs/content/programming-guide/boost-library.h
new file mode 100644 (file)
index 0000000..84b5453
--- /dev/null
@@ -0,0 +1,9 @@
+/*! \page boost-library Boost Library
+
+  Boost is a set of free software libraries that extend the functionality of C++.
+
+  Dali API uses the following aspects of boost:
+  - \link boost-function Boost functions\endlink
+
+  For more information on the Boost library check the project's <a href="http://www.boost.org/doc/">website</a>.
+ */
diff --git a/docs/content/programming-guide/constraints-intro.h b/docs/content/programming-guide/constraints-intro.h
new file mode 100644 (file)
index 0000000..fb8752d
--- /dev/null
@@ -0,0 +1,32 @@
+/*! \page constraints-intro Constraints
+ *
+
+<h2 class="pg">Introduction</h2>
+
+Constraints can be used to modify the property of an actor, based on the properties of another actor.  Custom a functions or functors can be supplied, to describe the relationship between these properties.  A common example is alignment e.g. modifying an actor's position, when the size of the parent actor changes.  Multiple constraints can be applied to the same actor at the same time.
+
+Constraints are applied in the dedicated render thread, after animations have been applied.  This means that Constraints override the values set by Animations.  Constraints may behave in a similar way to animations, since they can be applied or removed gradually.  By default the apply-time is zero, meaning that the constraint will be applied immediately.
+
+<h2 class="pg">Local Constraints</h2>
+
+A local constraint is based on the local properties (i.e. size, position, scale, rotation, color) of an actor.  For example you could change the color of an actor, based its rotation.
+
+<h2 class="pg">Parent Constraints</h2>
+
+A parent constraint is based on properties of the actor's parent.  The following example shows how to constrain an actor to be 80% of its parent's size:
+
+@code
+Actor actor = Actor::New();
+Vector3 scale(0.8f, 0.8f, 0.8f); // Set width/height/depth at 80% of parent
+Constraint constraint = ParentConstraint::Size::New(Dali::ParentSize(scale));
+actor.ApplyConstraint(constraint);
+@endcode
+
+The actor's constraints can later be removed:
+
+@code
+  actor.RemoveConstraints();
+@endcode
+
+*
+*/
diff --git a/docs/content/programming-guide/custom-actor.h b/docs/content/programming-guide/custom-actor.h
new file mode 100644 (file)
index 0000000..147ad73
--- /dev/null
@@ -0,0 +1,56 @@
+/*! \page custom-actor Custom Actor
+ * The Dali::CustomActor is used as a base class for UI controls.  It is a proxy object to enable derived classes access
+ * to a subset of the methods defined in the internal Actor class.
+ *
+ * Classes deriving from Custom Actor should follow the same design principle as the rest of the Dali API.
+ *
+ * One class of the new UI control should inherit from Dali::CustomActor, while a second should inherit
+ * Dali::CustomActorImpl.  This implementation class contains a number of pure virtual methods that enable the new UI
+ * control to respond to a variety of events such as touch and notification of being added to the stage.
+ *
+ * For example, if creating a new button widget called myNewButton, the user would create two classes, myNewButton which
+ * derives from Dali::CustomActor and an implementation part myNewButtonImpl which would derive from Dali::CustomActorImpl.
+ *
+ * In the New() method for the myNewButton class, the user should then create a new instance of the myNewButtonImpl class
+ * and pass this to the constructor of the myNewButton object.  Internally the connection will be made
+ * between the new widget actor and Dali, thus allowing messages such as OnSizeSet to be received by the new actor.
+ *
+ * It is the responsibility of the implementation of the new UI control to implement the method bodies for the inherited
+ * pure virtual methods from Dali::CustomActorImpl.  Obviously the application won't compile if the methods are not
+ * overidden, but the user does not need to fill in the code for methods they don't want or need to use.
+ *
+ * The following code shows the static New() method from the implementation part of the TextView UI control:
+ * \code
+ * Dali::Toolkit::TextView TextView::New()
+ * {
+ *   // Create the implementation, temporarily owned on stack
+ *   boost::intrusive_ptr< TextView > textView = new TextView;
+ *
+ *   // Pass ownership to CustomActor
+ *   Dali::Toolkit::TextView handle( *textView );
+ *
+ *   // Second-phase init of the implementation
+ *   // This can only be done after the CustomActor connection has been made...
+ *   textView->Initialize();
+ *
+ *   return handle;
+ * }
+ * \endcode
+ *
+ * After the implementation object is created it is passed back to the basic Text View through the constructor,the
+ * constructor uses this passed in object to initialise the internal implementation objects.
+ *
+ * After both the objects are created it calls an init method on the implementation which is used to initialise
+ * objects.  THis is the preferred way to do things so to avoid errors in the constructors.
+ *
+ * If desired, the user can then use the myNewButtonImpl implementation class to handle only the callback message
+ * handler methods, and do all the rest of their widget processing the the main myNewButton class.  Access to the
+ * implementation class can be gained using the GetImpl(*this) method.  For example:
+ *
+ * \code
+ * void TextView::SetFont(const Font newFont)
+ * {
+ *  GetImpl(*this).SetFont(newFont);
+ * }
+ * \endcode
+ */
diff --git a/docs/content/programming-guide/dali-application.h b/docs/content/programming-guide/dali-application.h
new file mode 100644 (file)
index 0000000..6912582
--- /dev/null
@@ -0,0 +1,175 @@
+/*! \page dali-application Dali Application and Adaptor
+ *
+<h2 class="pg">Creating an Application</h2>
+
+The Adaptor framework provides several classes which intialises and sets up Dali appropriately so that the application writer does not have to.  These classes also provides many platform related services (e.g. orienation change notifications, timer services etc.).
+
+The simplest way to create an application that uses Dali is to utilise the Dali::Application class.  In addition to initialising the environment used by Dali, it also provides several signals which the user can connect to when certain platform related activities occur.  It also ensures that, upon system events, Dali is called in a thread-safe manner.
+
+The following example shows how to create a Dali::Application instance and connect to its initialise signal (which is where a Dali::Actor hierarchy should be created).
+
+@code
+void CreateProgram(Application& app)
+{
+  // Create Dali components...
+  Dali::Actor actor = Actor::New();
+  ...
+}
+
+int main (int argc, char **argv)
+{
+  Application app = Application::New(argc, argv);
+  app.SignalInit().Connect(&CreateProgram);
+  app.MainLoop();
+}
+@endcode
+
+Please see the Dali::Application class for other signals to which the application can connect.
+
+<h2 class="pg">Using an Adaptor or EvasPlugin instead of the Application class</h2>
+
+If the application requires finer grained control, an Dali::Adaptor can be created instead.  This allows the application writer to create other platform related functionality themselves (e.g managing the main loop, providing a surface to render to etc.).
+
+When using the Adaptor, the application writer can specify the use of normal window creation and drawing by using the New method with an appropriate Window.
+
+If the application writer wants Dali to draw to a specific surface then they need to create a Dali::RenderSurface instance and use the Adaptor constructor which takes the Dali::RenderSurface as the parameter.
+
+The only signal provided by the adaptors is a <i>surface resized signal</i>; the application writer will have to handle system signals like <i>initialise, pause, terminate </i> etc. themselves.  It is also important that any calls to Dali are made in a thread-safe manner from your application when using the adaptor directly.
+
+An adaptor can be created as shown below:
+
+@code
+void CreateProgram(void* data)
+{
+  // Start Adaptor
+  Dali::Adaptor* adaptor = reinterpret_cast<Dali::Adaptor*>(data);
+  adaptor->Start();
+
+  // Create Dali components...
+  // Can instantiate here, if required
+}
+
+int main ()
+{
+  // Initialise platform
+  MyPlatform.Init();
+
+  // Create an 800 by 1280 window positioned at (0,0).
+  Dali::PositionSize positionSize(0, 0, 800, 1280);
+  Dali::Window window = Dali::Window::New( positionSize, "My Application" );
+  Dali::Adaptor& adaptor = Dali::Adaptor::New( window );
+
+  // Assuming second parameter takes in data which is passed back to the callback function
+  MyPlatform.InitialisationConnection(&CreateProgram, &adaptor);
+
+  // Start Main Loop of your platform
+  MyPlatform.StartMainLoop();
+
+  return 0;
+}
+@endcode
+
+A Dali::EvasPlugin instance can be created by EFL applications that wish to use Dali.  Like the Adaptor, it also provides a means for initialising the resources required by the Dali::Core.
+
+The Dali::EvasPlugin emits several signals which the user can connect to.  The user should not create any Dali objects in the main function and instead should connect to the Init signal of the EvasPlugin and create the Dali objects in the connected callback.
+
+A Dali::EvasPlugin can be used in an EFL application as shown below:
+
+@code
+void Created(EvasPlugin& evasPlugin)
+{
+  // Create Dali components...
+  // Can instantiate here, if required
+}
+
+void Resized(EvasPlugin& evasPlugin)
+{
+  // Set size properties of Dali components
+  // Set screen layout
+}
+
+int main (int argc, char **argv)
+{
+  // Initialise Elementary
+  elm_init(&argc, &argv);
+
+  // Create an Evas Window
+  Evas_Object* win = elm_win_add(...);
+
+  // Get the actual window
+  Evas* e = evas_object_evas_get(win);
+
+  // Create the EvasPlugin and pass the actual window
+  Dali::EvasPlugin evasPlugin = Dali::EvasPlugin(e);
+
+  evasPlugin.SignalInit().Connect(&Created);
+  evasPlugin.SignalResize().Connect(&Resized);
+
+  // Retrieve the Evas_Object from the plugin and show it.
+  Evas_Object* evasObject = evasPlugin.GetEvasObject();
+  evas_object_show(evasObject);
+
+  // add evasObject to layout such as elm_box
+
+  // Start main loop
+  elm_run();
+}
+@endcode
+
+<h2 class="pg">Window</h2>
+Dali provides a Window class to manage drawing to a default surface. It is also responsible for drawing the Indicator bar if required. The Application class automatically creates a Window which the application author can access after the SignalInit has fired.
+
+@code
+void CreateProgram(Application& app)
+{
+  app.GetWindow().ShowIndicator(true);
+}
+
+int main (int argc, char **argv)
+{
+  Application app = Application::New(argc, argv);
+  app.SignalInit().Connect(&CreateProgram);
+  app.MainLoop();
+}
+@endcode
+
+<h2 class="pg">Orientation</h2>
+
+The Adaptor Framework also provides a means of retrieving the current device orientation and connection to a signal when the orientation of the device changes.  The Dali::Application class provides access to an already created Dali::Orientation object.  If using a Dali::Adaptor, an instance of the Dali::Orientation class has to be created in the application.
+
+The following example shows how to connect to an orientation changed signal through the Dali::Application class:
+
+@code
+void OrientationChanged(const Orientation& orientation)
+{
+  int degrees = orientation.GetDegrees();
+  ...
+}
+
+int main(int argc, char **argv)
+{
+  Application app = Application::New(&argc, &argv);
+  app.GetOrientation().SignalChanged().Connect(&OrientationChanged);
+}
+@endcode
+
+<h2 class="pg">Timers</h2>
+
+Timers are also provided by the Adaptor Framework so that the application writer can execute a portion of their code periodically or just once, after a delay.  The example below shows how a Dali::Timer can be created and used:
+
+@code
+bool Tick()
+{
+  ...
+  return true; // Timer continues, i.e. this function will be called again after the specified time has elapsed.
+}
+
+...
+
+// Elsewhere
+Timer timer = Timer::New(2000); // 2 second timeout
+timer.SignalTick().Connect(&Tick);
+...
+@endcode
+
+ */
diff --git a/docs/content/programming-guide/dynamics-bodies.h b/docs/content/programming-guide/dynamics-bodies.h
new file mode 100644 (file)
index 0000000..a8a9200
--- /dev/null
@@ -0,0 +1,140 @@
+/**
+ * \page dynamics-bodies Dynamics - Bodies
+ * A Dali::DynamicsBody can be "Rigid" or "Soft". Rigid bodies require much less processing and should be used
+ * in preference to a soft body.\n
+ * All bodies are controlled by the simulation, the application developer can influence them by setting their
+ * linear or angular velocities, but direct control of their position is not possible until the Dali::DynamicsBody is flagged
+ * as a \ref kinematic-body "kinematic object".\n
+ *
+ * \section create-body Creating a body
+ * <p>
+ * Each Dali::DynamicsBody is created by an Dali::Actor through its Dali::Actor::EnableDynamics method using a
+ * Dali::DynamicsBodyConfig object to specify options for the Dali::DynamicsBody.
+ * \code
+ * // Initialize and get a handle to the Dali::DynamicsWorld
+ * Dali::DynamicsWorldConfig worldConfig( Dali::DynamicsWorldConfig::New() );
+ * Dali::DynamicsWorld dynamicsWorld( Dali::Stage::GetCurrent().InitializeDynamics( worldConfig ) );
+ * // Create an actor to represent the world
+ * Dali::Actor dynamicsRootActor( Dali::Actor::New() );
+ * dynamicsWorld.SetRootActor( dynamicsRootActor );
+ * Dali::Stage::GetCurrent().Add( dynamicsRootActor );
+ *
+ * // create an actor to represent a rigid body
+ * Dali::Actor actor( Dali::Actor::New() );
+ * actor.SetParentOrigin( Dali::ParentOrigin::CENTER );
+ * dynamicsRootActor.Add( actor );
+ * // Enable dynamics for the actor, creating a rigid body with default configuration
+ * actor.EnableDynamics( Dali::DynamicsBodyConfig::New() );
+ * \endcode
+ *
+ * \section create-body-advanced Specifying options
+ * <h4>Mass</h4>
+ * Use Dali::DynamicsBodyConfig::SetMass to specify the mass of the body [default: 1].
+ * <h4>Elasticity</h4>
+ * Use Dali::DynamicsBodyConfig::SetElasticity to specify the elasticity of the body [default: 0.85].\n
+ * This may also be known as the co-efficient of restitution or &apos;bounciness&apos;.
+ * <h4>Damping</h4>
+ * Use Dali::DynamicsBodyConfig::SetLinearDamping to specify the linear damping coefficient [default: 0].\n
+ * and Dali::DynamicsBodyConfig::SetAngularDamping to specify the angular damping coefficient [default: 0].\n
+ * <h4>Friction</h4>
+ * Use Dali::DynamicsBodyConfig::SetFriction to specify the friction of the body [default: 0.5].\n
+ * <h4>Collision Filtering</h4>
+ * See \link dynamics-collisions Collision Detection and Filtering \endlink\n\n
+ * Use Dali::DynamicsBodyConfig::SetCollisionGroup to specify the collision filter group.\n
+ * Use Dali::DynamicsBodyConfig::SetCollisionMask to specify the collision filter mask.\n
+ * <h3>Soft body specific options</h3>
+ * <h4>Stiffness</h4>
+ * Use Dali::DynamicsBodyConfig::SetStiffness to specify the stiffness of the links between the mesh vertices used to
+ * define the soft body. Values clamped between 0 and 1 [default: 1].\n
+ * <h4>Anchor hardness</h4>
+ * Use Dali::DynamicsBodyConfig::SetAnchorHardness to specify the hardness or drift correction applied to anchors.
+ * Values clamped between 0 and 1 [default: 0.7]. Smaller values mean less drift correction.\n
+ * <h4>Conservation</h4>
+ * Use Dali::DynamicsBodyConfig::SetShapeConservation to specify the shape conservation coefficient,
+ * or the magnitude of the force which will attempt to maintain the soft bodies shape (see \ref Dali::DynamicsBody::ConserveShape).\n
+ * Use Dali::DynamicsBodyConfig::SetVolumeConservation to specify the volume conservation coefficient,
+ * or the magnitude of the force which will attempt to maintain the soft bodies volume (see \ref Dali::DynamicsBody::ConserveVolume).
+ * Smaller values mean less conservation.\n
+ * <h4>Create a rigid body with advanced options</h4>
+ * \code
+ * Dali::DynamicsBodyConfig bodyConfig( Dali::DynamicsBodyConfig::New() );
+ * // increase mass from the default
+ * bodyConfig.SetMass( 2.5f );
+ * // set elasticity so that the velocity of the object will be halved after a collision
+ * // (assuming the other body has a mass = 1 and a velocity 0f 0).
+ * bodyConfig.SetElasticity( 0.5f );
+ * // increase the rate at which a bodies linear velocity will decrease
+ * bodyConfig.SetLinearDamping( 0.5f );
+ * // reduce the friction to zero
+ * bodyConfig.SetFriction( 0.0f );
+ * // Ignore all collisions
+ * bodyConfig.SetCollisionGroup( 0 );
+ * bodyConfig.SetCollisionMask( 0 );
+ *
+ * // create an actor for the Dali::DynamicsBody
+ * Actor actor( Actor::New() );
+ * actor.SetParentOrigin( Dali::ParentOrigin::CENTER );
+ * // create the Dali::DynamicsBody
+ * actor.EnableDynamics( bodyConfig );
+ *
+ * // add to the simulation
+ * dynamicsRootActor.Add( actor );
+ * \endcode
+ * <h4>Create a soft body with advanced options</h4>
+ * \code
+ * // Create a unit mesh with 25 vertices
+ * Dali::Mesh mesh( Dali::Mesh::NewPlane(1.0f, 1.0f, 5, 5) );
+ *
+ * Dali::DynamicsBodyConfig bodyConfig( Dali::DynamicsBodyConfig::New() );
+ * // select a soft body
+ * bodyConfig.SetType( Dali::DynamicsBodyConfig::SOFT );
+ * // set the mesh as the soft body shape
+ * bodyConfig.SetShape( Dali::DynamicsShape::NewMesh( mesh ) );
+ * // decrease the stiffness of the links between the soft body vertices
+ * bodyConfig.SetStiffness( 0.25f );
+ * // Make anchors very loose/weak
+ * bodyConfig.SetAnchorHardness( 0.1f );
+ *
+ * // create an actor for the Dali::DynamicsBody
+ * Actor actor( MeshActor::New(mesh) );
+ * actor.SetParentOrigin( Dali::ParentOrigin::CENTER );
+ * // create the Dali::DynamicsBody
+ * actor.EnableDynamics( bodyConfig );
+ *
+ * // add to the simulation
+ * dynamicsRootActor.Add( actor );
+ * \endcode
+ * \image html dynamics/dynamics-soft.png "A soft body (with debug rendering enabled)"
+ * \section kinematic-body Kinematic bodies
+ * A kinematic body is not controlled by the simulation, there is a one-way interaction with other dynamic objects
+ * under control of the simulation, where other objects will be pushed away, but the kinematic object will be unaffected.\n
+ * Kinematic objects can be animated with DALi's \ref animation-example "animation system", each DALi update the simulation will
+ * get the current position of associated DALi actor.\n Use Dali::DynamicsBody::SetKinematic to make a kinematic object.
+ * <h3>Animating a kinematic object</h3>
+ * Other dynamics enabled actors that collide with the kinematic object during the animation will be pushed
+ * away.
+ * \code
+ * ...
+ * // create an actor to represent a rigid body
+ * Dali::Actor actor( Dali::Actor::New() );
+ * dynamicsRootActor.Add( actor );
+ * // Enable dynamics for the actor, creating a rigid body with default configuration
+ * actor.EnableDynamics( Dali::DynamicsBodyConfig::New() );
+ * // get the DynamicsBody handle
+ * DynamicsBody body( actor.GetDynamicsBody() );
+ * body.SetKinematic( true );
+ * // create a second animation to move the actor 100 units to the right
+ * Animation animation( Animation::New( 1 ) );
+ * animation.MoveBy( actor, Vector3( 100, 0, 0 ), AlphaFunctions::Linear );
+ * animation.Play();
+ * \endcode
+ * <hr>
+ * <p>See also
+ * <ul>
+ *  <li>Dali::DynamicsBodyConfig</li>
+ *  <li>Dali::Actor::EnableDynamics</li>
+ *  <li>\link dynamics-initialization DynamicsWorld Initialization and Usage\endlink</li>
+ * </ul>
+ * </p>
+ */
+
diff --git a/docs/content/programming-guide/dynamics-collisions.h b/docs/content/programming-guide/dynamics-collisions.h
new file mode 100644 (file)
index 0000000..3dc6d14
--- /dev/null
@@ -0,0 +1,133 @@
+/**
+ * \page dynamics-collisions Collisions
+ * \section collision-detection Collision Detection
+ * <p>
+ * Collision detection is automatic and occurs between all Dali::DynamicsBody objects in the simulation.@n
+ * To respond to a detected collisions, the application developer can connect to a signal provided by
+ * a Dali::DynamicsWorld object.
+ * \code
+ * ...
+ *
+ * // DynamicsWorld initialization code
+ *
+ * ...
+ *
+ * // Connect a signal handler to the signal
+ * Dali::DynamicsWorld theWorld( Stage::GetCurrent().GetDynamicsWorld() );
+ * theWorld.SignalCollision().Connect( this, &myClass::OnDynamicsCollision );
+ *
+ * ...
+ *
+ * // Implement a signal handler
+ * void myClass::OnDynamicsCollision( Dali::DynamicsWorld world, Dali::DynamicsCollision collisionData )
+ * {
+ *   std::cout << "Collision between "
+ *             << collisionData.GetActorA().GetName() << " and "
+ *             << collisionData.GetActorB().GetName() << " ";
+ *
+ *   if( collisionData.GetImpactForce() != 0.0f )
+ *   {
+ *     std::cout << "detected (impact force: " << collisionData.GetImpactForce() << " )";
+ *   }
+ *   else
+ *   {
+ *     std::cout << "ended";
+ *   }
+ *   std::cout << std::endl;
+ * }
+ * \endcode
+ *
+ * <hr>
+ * \section collision-filtering Collision Filtering
+ *
+ * <p>
+ * When a large number of Dali::DynamicsBody objects are added to the simulation, collision detection can become a
+ * significant performance drain, where every possible pairing of objects needs to be checked for collisions.</p>
+ * <p>You can significantly reduce the number of pairs considered for collision detection by using a collision filter.</p>
+ * <p>Each Dali::DynamicsBody can belong to a user defined collision filter group and have a user defined collision filter mask.<p>
+ * <p>A Dali::DynamicsBody pair are considered for collision detection if one or more bits in the filter group from each Dali::DynamicsBody
+ * matches one or more bits in the filter mask of the other Dali::DynamicsBody.
+ * </p>
+ * <center><table border="1">
+ * <caption>Truth table</caption>
+ * <tr align="center">
+ * <th>&nbsp;P&nbsp;</th>
+ * <th>&nbsp;Q&nbsp;</th>
+ * <th>tested for collision?</th>
+ * </tr>
+ * <tr align="center">
+ * <td>0</th>
+ * <td>0</th>
+ * <td>no</th>
+ * </tr>
+ * <tr align="center">
+ * <td>0</th>
+ * <td>1</th>
+ * <td>no</th>
+ * </tr>
+ * <tr align="center">
+ * <td>1</th>
+ * <td>0</th>
+ * <td>no</th>
+ * </tr>
+ * <tr align="center">
+ * <td>1</th>
+ * <td>1</th>
+ * <td>yes</th>
+ * </tr>
+ * </table></center>
+ * <p>
+ * where <b>P</b> = bitwise AND of the collision group from the first Dali::DynamicsBody and the collision mask from the second Dali::DynamicsBody\n
+ * and   <b>Q</b> = bitwise AND of the collision group from the second Dali::DynamicsBody and the collision mask from the first Dali::DynamicsBody.
+ * </p><br>
+ * <p>
+ * <b>Pseudo code for the filter check.</b>
+ * \code
+ * const bool canCollide( (  firstBody->GetCollisionGroup() & secondBody->GetCollisionMask() &&
+ *                        ( secondBody->GetCollisionGroup() &  firstBody->GetCollisionMask() );
+ * \endcode
+ * </p>
+ * <h3 class="pg">Code example - Illustrating how to create multiple filter groups and masks.</h3>
+ * \code
+ * // Define some collision groups
+ * const short int group0( 1 << 1 );
+ * const short int group1( 1 << 2 );
+ * const short int group2( 1 << 3 );
+ *
+ * // Create some Dali::DynamicsBodyConfig objects
+ * Dali::DynamicsBodyConfig bodyConfig0( Dali::DynamicsBodyConfig::New() );
+ * Dali::DynamicsBodyConfig bodyConfig1( Dali::DynamicsBodyConfig::New() );
+ * Dali::DynamicsBodyConfig bodyConfig2( Dali::DynamicsBodyConfig::New() );
+ *
+ * // Assign the collision filters to the configurations
+ * bodyConfig0->SetCollisionGroup(group0);
+ * bodyConfig0->SetCollisionMask( group1 | group2 );
+ * bodyConfig1->SetCollisionGroup(group1);
+ * bodyConfig1->SetCollisionMask(group0);
+ * bodyConfig2->SetCollisionGroup(group2);
+ * bodyConfig2->SetCollisionMask(group0 | group2);
+ * \endcode
+ * <p>
+ * Collision detection is \b enabled between Dali::DynamicsBody pairs of...
+ * <ul>
+ *  <li>group0 and group1 objects.</li>
+ *  <li>group0 and group2 objects.</li>
+ *  <li>group2 objects.</li>
+ * </ul>
+ * Collision detection is \b disabled between Dali::DynamicsBody pairs of...
+ * <ul>
+ *  <li>group0 objects.</li>
+ *  <li>group1 objects.</li>
+ *  <li>group1 and group2 objects.</li>
+ * </ul>
+ * </p>
+ *
+ * See
+ * <ul>
+ *  <li>Dali::DynamicsWorld::SignalCollision</li>
+ *  <li>Dali::DynamicsCollision</li>
+ *  <li>\ref Dali::DynamicsBodyConfig::SetCollisionGroup - to set the collision group</li>
+ *  <li>\ref Dali::DynamicsBodyConfig::SetCollisionMask - to set the collision mask</li>
+ * </ul>
+ */
+
diff --git a/docs/content/programming-guide/dynamics-initialization.h b/docs/content/programming-guide/dynamics-initialization.h
new file mode 100644 (file)
index 0000000..638bd31
--- /dev/null
@@ -0,0 +1,101 @@
+/**
+ * \page dynamics-initialization Initializing the Simulation
+ * \section dynamics-prerequisites Dynamics prerequisites
+ * <p>
+ * In order to reduce binary size on devices, by default Dali core is built without Dynamics support. \n
+ * This can be enabled by adding the --enable-debug option to configure. The configure command should output this: \n
+ * \code
+ * Configuration
+ * -------------
+ *  Dynamics support:                 yes
+ * \endcode
+ * <p>In addition to rebuilding Dali, a physics plugin (e.g. bullet, havok) should be installed on the target device.
+ * Dali adaptor provides the bullet plugin e.g. install dali-adaptor-dali-bullet-plugin-X.armv7l.rpm.
+ *
+ * \section initializing-world Initializing the World
+ * <p>
+ * The simulation is encapsulated and controlled by a instance of a Dali::DynamicsWorld object.\n
+ * \code
+ * // DynamicsWorld initialisation code
+ * Dali::DynamicsWorldConfig worldConfig( Dali::DynamicsWorldConfig::New() );
+ * Dali::Stage::GetCurrent().InitializeDynamics( worldConfig );
+ * \endcode
+ * <p>If the DynamicsWorld handle empty, then a prerequisite is missing (see above).
+ * Use a Dali::DynamicsWorldConfig object to specify options for the type of simulation required.\n
+ * Dali::DynamicsWorldConfig::RIGID supports rigid body dynamics only, while Dali::DynamicsWorldConfig::SOFT supports
+ * both rigid and soft body dynamics. Rigid body dynamics uses less CPU than soft body dynamics and is simpler to set up.
+ * \code
+ * // DynamicsWorld initialisation code
+ * Dali::DynamicsWorldConfig worldConfig( Dali::DynamicsWorldConfig::New() );
+ * // Choose a rigid body capable simulation
+ * worldConfig.SetType( Dali::DynamicsWorldConfig::RIGID );
+ * // or a soft and rigid body simulation
+ * worldConfig.SetType( Dali::DynamicsWorldConfig::SOFT );
+ * // Request Dali::Stage to create an instance of the DynamicsWorld
+ * Dali::Stage::GetCurrent().InitializeDynamics( worldConfig );
+ * \endcode
+ *
+ * \section initializing-world-advanced Advanced Initialization
+ * <h3>Units</h3>
+ * <p>All distance units in the simulation are based on meters, so positioning an actor at (0, -500, -1000)
+ * will position it 0.5km in the air and 1km away from the camera.\n So if the actor was to fall under
+ * the control of gravity it will seem to fall in slow motion. To counteract this the simulation units can
+ * be modified using Dali::DynamicsWorldConfig::SetUnit. The default value is set to 0.01 to change the
+ * simulation units to centimeters.
+ * </p>
+ * \code
+ * // change simulation back to meters
+ * worldConfig.SetUnit(1.0f);
+ * // or change simulation unit to millimeters
+ * worldConfig.SetUnit(1.0f/1000.0f);
+ * \endcode
+ *
+ * <h3>Simulation update ticks</h3>
+ * <p>The application developer can set the number of simulation time steps / DALi update tick using
+ * Dali::DynamicsWorldConfig::SetSimulationSubSteps.\n
+ * Use this to advance the simulation in smaller time steps, thus gaining a more accurate
+ * simulation for collision detection.\n
+ * Using this API may adversely affect performance, as the dynamics simulation is performing many more
+ * calculations each DAli tick than normal.</p>
+ * \code
+ * // Assume DAli is updating at 60Hz (16.667ms / update)
+ * //Setting subSteps to 1 will update the simulation once per DALi update.
+ * worldConfig.SetSimulationSubSteps(1);
+ * //Setting subSteps to 4 will perform 4 simulation updates per DALi update each with a time step of Approx 4.2ms.
+ * worldConfig.SetSimulationSubSteps(1);
+ * \endcode
+ * \section manipulating-world Using the World
+ * <h3>The Dynamics Simulation Root Actor</h3>
+ * <p>To manipulate the world within the scene-graph it must be connected to a Dali::Actor.\n
+ * All Rigid or Soft bodies that will be simulated must each be connected to a Dali::Actor which is a
+ * direct child of the dynamics root actor.</p>
+ * \code
+ * // Create an actor to represent our view of the simulation
+ * Dali::Actor dynamicsRootActor( Dali::Actor::New() );
+ * // retrieve a handle to the DynamicsWorld object initialized previously
+ * Dali::DynamicsWorld dynamicsWorld( Dali::Stage::GetCurrent().GetDynamicsWorld() );
+ * // Connect the Dali::DynamicsWorld and the Dali::Actor
+ * dynamicsWorld.SetRootActor( dynamicsRootActor );
+ * // Add root actor to Dali::Stage
+ * Dali::Stage::GetCurrent().Add( dynamicsRootActor );
+ * \endcode
+ * <h3>Gravity</h3>
+ * <p>The gravity applicable to the entire simulation can be set through Dali::DynamicsWorld::SetGravity.\n
+ * The gravity will apply a constant force on all Dali::DynamicsBody objects added to the world which have a
+ * non zero mass and are not flagged as kinematic.</p>
+ * \code
+ * // Set gravity to apply a force on the negative Y axis
+ * dynamicsWorld.SetGravity( Vector3( 0.0f, -10.0f, 0.0f ) );
+ * \endcode
+ * <hr>
+ * <p>See also
+* <p>See
+ * <ul>
+ *  <li>Dali::DynamicsWorldConfig</li>
+ *  <li>Dali::DynamicsWorld</li>
+ *  <li>Dali::Stage::InitializeDynamics</li>
+ * </ul>
+ * </p>
+ *
+ */
+
diff --git a/docs/content/programming-guide/dynamics-intro.h b/docs/content/programming-guide/dynamics-intro.h
new file mode 100644 (file)
index 0000000..3f444b1
--- /dev/null
@@ -0,0 +1,21 @@
+/*! \page dynamics-intro Dynamics - Introduction
+ *
+ * Dynamics gives the application developer a means to simulate physical kinetic properties on solid shapes.
+ * Simple physical shapes can be associated with a given actor, e.g., an actor representing a ball would have
+ * a spherical shape. Other simple shapes include cube, cone, cylinder and capsule (a pill or lozenge shape).
+ * \image html dynamics/dynamics-shapes.png "Simple Shapes"
+ * The application developer can provide more complex shapes using arbitrary meshes, however, this will use more
+ * CPU than the simple shapes.\n\n
+ * Dali supports both rigid body and soft body simulations.
+ * <ul>
+ * <li>Rigid body simulation means that the shapes used in the simulation cannot deform. This is simpler, and requires
+ * less processing power.</li>
+ * <li>Soft body simulation allows the shapes used in the simulation to deform, e.g. a rubber ball will squash and change
+ * shape when it hits a wall; or a cloth flag will flutter, etc.</li>
+ * </ul>
+ * Both forms of simulation provide automatic collision detection, and can be detected on all bodies in the simulation.
+ * The application developer can use signals to listen for detected collisions.
+ *
+ * \image html dynamics/dynamics-rigid.png "Example application"
+ */
+
diff --git a/docs/content/programming-guide/dynamics-joints.h b/docs/content/programming-guide/dynamics-joints.h
new file mode 100644 (file)
index 0000000..3cf8d2e
--- /dev/null
@@ -0,0 +1,108 @@
+/**
+ * \page dynamics-joints Joints
+ * A Dali::DynamicsJoint represents a connection (or link) between a Dali::DynamicsBody pair.
+ * A Joint can optionally allow \ref linear "linear motion" and/or \ref angular "angular rotation" around its origin on one or more axis, and
+ * can have a \ref motors "motor" or \ref springs "spring" enabled on those axis.
+ * \image html dynamics/dynamics-joint2.png
+ * \section create-joint Creating a joint
+ * <p>Each Dali::DynamicsJoint is created by a Dali::Actor through its Dali::Actor::AddDynamicsJoint method.\n
+ * This method takes two parameters\n
+ * 1. The other Dali::Actor in the joint relationship.\n
+ * 2. A Dali::Vector3 relative offset from the owning Dali::Actor's current position.\n
+ * A joint is active in the simulation when both of the actors are connected to the Stage via the Dali::Actor
+ * set with Dali::DynamicsWorld::SetRootActorDynamics.
+ * </p>
+ * <h3>A code example creating two actors connected by a joint</h3>
+ * \code
+ * // create an actor to represent a rigid body
+ * Dali::Actor actor1( Dali::Actor::New() );
+ * // Enable dynamics for the actor, creating a rigid body with default configuration
+ * actor1.EnableDynamics( Dali::DynamicsBodyConfig::New() );
+ * actor1.SetPosition( Vector3( 0, 0, 0 ) );
+ * // create an actor to represent a second rigid body
+ * Dali::Actor actor2( Dali::Actor::New() );
+ * actor1.SetPosition( Vector3( 100, 0, 0 ) );
+ * // Enable dynamics for the actor, creating a rigid body with default configuration
+ * actor2.EnableDynamics( Dali::DynamicsBodyConfig::New() );
+ * // create the joint
+ * Vector3 relativeOffset( 25, 0, 0 );
+ * actor1.AddDynamicsJoint( actor2, relativeOffset );
+ * \endcode
+ * The joint is 25 units to the right of actor1 and 75 units to the left of actor2. If
+ * either actor is moved the joint will follow pulling the other actor with it.
+ * \section linear Linear Limits
+ * \image html dynamics/dynamics-joint.png "A joint allowing linear motion on the Y Axis"
+ * Limits control how much translation is allowed relative to the joints origin point, use Dali::DynamicsJoint::SetLinearLimit
+ * to set linear limits.
+ * \code
+ * ...
+ * actor1.AddDynamicsJoint( actor2, Vector3(0, 0, 0) );
+ * DynamicsJoint joint( actor1.GetDynamicsJoint(actor2) );
+ *
+ * // Allow translation from the joint's origin along the X axis of +/- 50 units
+ * joint.SetLinearLimit( Dali::DynamicsJoint::LINEAR_X, -50, 50);
+ * \endcode
+ * \section angular Angular Limits
+ * Limits control how much rotation is allowed around the joint's origin point, use Dali::DynamicsJoint::SetAngularLimit
+ * to set angular limits.
+ * \code
+ * ...
+ * actor1.AddDynamicsJoint( actor2, Vector3(0, 0, 0) );
+ * DynamicsJoint joint( actor1.GetDynamicsJoint(actor2) );
+ *
+ * // Allow rotation around the joint's origin on the Z axis of - 45 degrees and +90 degrees
+ * joint.SetAngularLimit( Dali::DynamicsJoint::ANGULAR_Z, -Dali::Degree(45), Dali::Degree(90) );
+ * \endcode
+ * \section motors Motors
+ * Motors apply a force along a given axis towards the lower or upper limit set on that axis.\n
+ * Use Dali::DynamicsJoint::EnableMotor to enable/disable a motor.\n
+ * The torque of the motor can be set with Dali::DynamicsJoint::SetMotorForce and the velocity
+ * with Dali::DynamicsJoint::SetMotorVelocity.
+ * \code
+ * ...
+ * actor1.AddDynamicsJoint( actor2, Vector3(0, 0, 0) );
+ * DynamicsJoint joint( actor1.GetDynamicsJoint(actor2) );
+ *
+ * // allow angular rotation on the Z axis
+ * joint.SetAngularLimit(Dali::DynamicsJoint::ANGULAR_Z, -Dali::Degree(90), Dali::Degree(90));
+ * // enable the Z axis angular motor
+ * joint.EnableMotor(Dali::DynamicsJoint::ANGULAR_Z, true);
+ * // set the motor torque
+ * joint.SetMotorForce(Dali::DynamicsJoint::ANGULAR_Z, 0.5f);
+ * // set the motor velocity (acts towards lower limit)
+ * joint.SetMotorVelocity(Dali::DynamicsJoint::ANGULAR_Z, -10.0f);
+ * \endcode
+ * \section springs Springs
+ * Springs apply a force to keep the Dali::DynamicsJoint origin at the spring's center point.
+ * A spring can be enabled for a given axis using Dali::DynamicsJoint::EnableSpring.\n
+ * The center point is set as a ratio between the lower and upper limits on the given axis using
+ * Dali::DynamicsJoint::SetSpringCenterPoint.\n
+ * The magnitude of the spring's centering force can be set with Dali::DynamicsJoint::SetSpringStiffness.\n
+ * Dali::DynamicsJoint::SetSpringDamping can be used to limit the amount of overshoot and oscillations
+ * of the spring as it settles at its center point.
+ * \code
+ * ...
+ * actor1.AddDynamicsJoint( actor2, Vector3(0, 0, 0) );
+ * DynamicsJoint joint( actor1.GetDynamicsJoint(actor2) );
+ *
+ * // allow linear motion on Y axis
+ * joint.SetLinearLimit(Dali::DynamicsJoint::LINEAR_Y, -50, 50);
+ * // enable the Y axis linear spring
+ * joint.EnableSpring(Dali::DynamicsJoint::LINEAR_Y, true);
+ * // set the center point of the spring at -40 ( 10% of the limits set )
+ * joint.SetSpringCenterPoint(Dali::DynamicsJoint::LINEAR_Y, 0.1f);
+ * // set the springs stiffness or centering force
+ * joint.SetSpringStiffness(Dali::DynamicsJoint::LINEAR_Y, 40.0f);
+ * // allow more oscillations before the spring comes to reset
+ * joint.SetSpringDamping(Dali::DynamicsJoint::LINEAR_Y, 0.1f);
+ * \endcode
+ * <hr>
+ * <p>See also
+ * <ul>
+ *  <li>Dali::DynamicsJoint</li>
+ *  <li>Dali::Actor::AddDynamicsJoint</li>
+ *  <li>Dali::Actor::GetDynamicsJoint</li>
+ * </ul>
+ * </p>
+ */
+
diff --git a/docs/content/programming-guide/event-system.h b/docs/content/programming-guide/event-system.h
new file mode 100644 (file)
index 0000000..ee9899f
--- /dev/null
@@ -0,0 +1,79 @@
+/*! \page event-system Event Handling
+
+Dali emits several signals to an application to inform it of user actions.
+
+<h2 class="pg">Touch Events</h2>
+
+An application can be notified when a user interacts with the touch screen on the device by connecting to the touch signal provided by Dali::Actor.  This signal will be emitted by Dali whenever the touch occurs within the connected actor's bounds.
+
+Each point on the screen that is currently being touched or where touch has stopped is represented by a Dali::TouchPoint.  This object stores information about the state of the touch point (down, up, motion etc.) and the co-ordinates of the touch.
+
+A collection of touch points at a specific moment in time is collated into a Dali::TouchEvent.  When a multi-touch event occurs, each touch point represents the points that are currently being touched or the points where touch has stopped.
+
+The following example shows how a connection to a touch event signal can be established:
+
+@code
+bool OnTouch(Actor actor, const TouchEvent& touch)
+{
+  bool handled = false;
+
+  switch(touch.GetPointCount())
+  {
+    case 1: // Single touch
+      if (touch.GetPoint(0).GetState == TouchPoint::Down)
+      {
+        // Do action when first touches the touch screen.
+        ...
+        handled = true;
+      }
+      ...
+      break;
+
+    case 2: // Multi-touch event
+      ...
+      break;
+    ...
+  }
+
+  return handled;  // true if we have handled the touch, false otherwise
+}
+
+// Elsewhere
+Actor actor = Actor::New();
+actor.SignalTouch().Connect(&OnTouch);
+@endcode
+
+The primary touch point is the first point that the user touches.
+
+The touch event is first emitted to the actor which is hit by the primary touch point.  If this hit actor does not handle the event, then the event is offered to the hit actor's parent.  Again, if the parent does not handle this event, it is then offered to its parent and so on until the stage is reached or the event is consumed.
+
+If a parent and child both connect to the Touch signal, then the touch event is first offered to the child.  If it is consumed by the child, then the parent will not be informed.
+
+<h2 class="pg">Gestures</h2>
+
+A Dali::GestureDetector analyses a stream of touch events and attempts to determine the intention of the user.  An actor is attached to a gesture detector and if the detector recognises a pattern, it will emit a detected signal to the application.
+
+The following gesture detectors are currently supported in Dali:
+
+- Dali::PinchGestureDetector - When the user moves two fingers towards or away from each other.
+- Dali::PanGestureDetector - When the user moves one or more fingers in the same direction.
+
+The example below shows how an application can be notified of a pinch gesture:
+
+@code
+void OnPinch(Actor actor, PinchGesture pinch)
+{
+  // Scale your actor according to the pinch scale
+  Vector3 newSize = actor.GetCurrentSize() * pinch.GetScale();
+  actor.SetSize(newSize);
+}
+
+// Elsewhere
+PinchDetector detector = PinchDetector::New();
+detector.Attach(myActor);
+detector.SignalDetected().Connect(&OnPinch);
+@endcode
+
+ */
+
+// @TODO: Add "Key Events" section
diff --git a/docs/content/programming-guide/fundamentals.h b/docs/content/programming-guide/fundamentals.h
new file mode 100644 (file)
index 0000000..7ab85c7
--- /dev/null
@@ -0,0 +1,50 @@
+/*! \page fundamentals Dali Fundamentals
+ *
+<h2 class="pg">Actors and the Stage</h2>
+
+A Dali application uses a hierachy of Dali::Actor objects to position visible content.  An actor inherits a position relative to its parent, and can be moved relative to this point.  UI controls can be built by combining multiple actors.
+
+To display the contents of an actor, it must be connected to the Dali::Stage.  This provides an invisible root (top-level) actor, to which all other actors are added.  A direct or indirect child of the root actor is considered "on-stage".  Multi-touch events are received through signals emitted by on-stage actors.
+
+The following example shows how to connect a new actor to the stage:
+
+@code
+Actor actor = Actor::New();
+Stage::GetCurrent().Add(actor);
+@endcode
+
+<h2 class="pg">The Coordinate System</h2>
+
+The Stage has a 2D size, which matches the size of the application window.  The default coordinate system in Dali has the origin at the top-left corner, with positive X to right, and position Y going
+downwards.  This is intended to be convenient when laying-out 2D views.
+
+\image html coordinate-system-and-stage.png
+
+<h2 class="pg">Positioning Actors</h2>
+
+An actor inherits its parent's position.  The relative position between the actor & parent is determined by 3 properties:
+
+1) ParentOrigin.  This Vector3 property defines a point within the parent actor's area.
+
+\image html parent-origin.png
+
+The default is "top-left", which can be visualized in 2D as (0, 0), but is actually Vector3(0, 0, 0.5) in the 3D Dali world.  The actor's position is relative to this point.
+
+2) AnchorPoint.  This Vector3 property defines a point within the child actor's area.
+
+\image html anchor-point.png
+
+The default is "center", which can be visualized in 2D as (0.5, 0.5), but is actually Vector3(0.5, 0.5, 0.5) in the 3D Dali world.  The actor's position is also relative to this point.
+
+3) Position.  This is the position vector between the parent-origin and anchor-point.
+
+\image html actor-position.png
+
+Therefore by default, an actors position is the distance between its center and the top-left corner of its parent.
+
+An actor added directly to the stage with position (X = stageWidth*0.5, Y = stageHeight*0.5), would appear in the center of the screen.  Likewise an actor with position (X = actorWidth*0.5, Y = actorWidth*0.5), would appear at the top-left of the screen.
+
+Note that since Dali is a 3D toolkit, this behaviour is the result of a default perspective camera setup.
+
+*
+*/
diff --git a/docs/content/programming-guide/handle-body-idiom.h b/docs/content/programming-guide/handle-body-idiom.h
new file mode 100644 (file)
index 0000000..89b0f8c
--- /dev/null
@@ -0,0 +1,103 @@
+/*! \page handle-body-idiom Handle – body
+<h2 class="pg">What is the Handle/Body (Pimpl) pattern?</h2>
+It is a technique for hiding implementation details in the header file.
+Dali achieves it by using "handles" in the public API. These handles internally contain a reference counted pointer to the concrete implementation.
+
+<h2 class="pg">Why does Dali::Object use the Handle/Body (Pimpl) pattern?</h2>
+It provides:
+- Better encapsulation
+- Easier memory management
+
+\par Better encapsulation
+Implementation details are hidden, only the required API is visible for the application developer.
+This way the danger of API/ABI breaks is also reduced since the implementation of a class can change without modifying the public API.
+
+\par Easier memory management
+Dali objects have implicit smart-pointer semantics.
+Each Dali::Object contains a single reference counted object which can be intitialized with the static "New" methods in the Dali API.
+This means that C++ new/delete operators do not have to be used (or paired) in the user code (RAII idiom).
+Of course there's no way of stopping users from allocating heap memory, but calls to the new operator can be minimised.
+
+<h2 class="pg">What does 'implicit smart-pointer semantics' mean in the case of Dali?</h2>
+
+Since Dali objects are just handles, they can be copied by value. When a Dali object is copied, both the copy and original will point to the same Dali resource.
+The internal Dali resources are reference counted; copying a Dali object will increase the reference count. A resource will not be deleted until all its Dali::Object handles are destroyed, or reset.
+
+\code
+class AnimationTest
+{
+...
+private:
+  Animation mAnimation; // animation handle
+}
+
+void AnimationTest::Initialize ()
+{
+    mAnimation = Animation::New(10.0f); // ref.count will be 1, animation object stays alive when method returns
+    ...
+}
+
+void AnimationTest::SetAnimation (Animation anim)
+{
+    mAnimation = anim; // ref.count of original animation decreased, 'anim' is referenced instead
+                       // if nobody else had a reference on the initial animation, the object is destroyed
+}
+\endcode
+
+In some cases an internal resource may be referenced by other internal objects.
+A common example is when an actor is added to a container with Dali::Actor::Add() i.e. the container will reference its child.
+
+\code
+// At this point we own a Dali::Actor named "container"
+// Enter a code block
+{
+  // Create an image actor
+  Image img = Image::New(SomeImageFile);
+  Actor actor = ImageActor::New(img);
+
+  // Add the image actor to a container
+  container.Add(actor);
+}
+// Exit the code block
+// At this stage the image actor is still alive
+// We don't keep a Dali::Object handle to the image actor, but it can be retrieved from the container
+\endcode
+
+Objects can be implicitly converted to pointer-to-member type for validity checks.
+\code
+// Enter a code block
+{
+  // Create a NULL object
+  Object object;
+  // At this stage we cannot call any of the objects methods
+
+  if (!object) // This test is will pass, since the object is NULL
+  {
+    object = SomeClass::New();
+    ...
+  }
+  ...
+}
+\endcode
+
+Objects can be compared, this actually checks if the handles point to the same resource or not.
+\code
+void AnimationTest::SetAnimation (Animation anim)
+{
+  if (anim != mAnimation)
+  {
+    mAnimation = anim;  // ref.count of original animation decremented (if valid), anim's reference count is increased
+    ...
+  }
+}
+\endcode
+
+To sum up implicit pointer semantics, Objects can be:
+- compared
+- passed by value; this increases the reference count
+- tested as a boolean value
+- used directly as member data
+- returned from functions
+
+*/
+
diff --git a/docs/content/programming-guide/hello-world.h b/docs/content/programming-guide/hello-world.h
new file mode 100644 (file)
index 0000000..8031d99
--- /dev/null
@@ -0,0 +1,112 @@
+/*! \page hello-world Hello World - explained
+
+The following steps are required for displaying the sentence 'Hello World' with Dali:
+
+- initialize the Dali library
+- create an Actor showing text
+- add it to the Stage
+
+To understand the basic building blocks of the UI make sure to read the chapter on \link fundamentals Dali Fundamentals\endlink first.
+
+Let's take a look at the code for this test application.
+
+<h2 class="pg"> Example code </h2>
+\code
+#include <dali/dali.h>
+
+using namespace Dali;
+
+/******************************************************
+ * Demonstrates how to display "Hello World" on screen
+ ******************************************************/
+
+class ExampleApp
+{
+public:
+  ExampleApp(Application &app)
+  : mApp(app)
+  {
+    // Connect to Dali::Application init signal. Do not make calls to Dali before this signal is received.
+    app.SignalInit().Connect(this, &ExampleApp::Create);
+  }
+
+  ~ExampleApp()
+  {
+    // Remove Hello World TextActor from stage
+    Stage::GetCurrent().Remove(mTextActor);
+  }
+
+public:
+
+  void Create(Application& app)
+  {
+    // Initialize the actor
+    mTextActor = TextActor::New("Hello World");
+
+    // Center the actor. Note: default anchor point is CENTER
+    mTextActor.SetParentOrigin(ParentOrigin::CENTER);
+
+    // Display the actor on the stage
+    Stage::GetCurrent().Add(mTextActor);
+  }
+
+private:
+  Application& mApp;
+  TextActor mTextActor;
+};
+
+int
+main(int argc, char **argv)
+{
+  Application daliApp(&argc, &argv);
+
+  ExampleApp helloApp (daliApp);
+  daliApp.MainLoop();
+
+  return 0;
+}
+
+\endcode
+
+ There are a couple of steps which are very important to understand.
+
+ <h2 class="pg"> Initializing Dali </h2>
+ The application should not use the Dali library until it has sent the init complete signal!
+ That's why we connect our ExampleApp::Create callback to Dali::Application's SignalInit signal:
+ \code
+   ...
+   app.SignalInit().Connect(this, &ExampleApp::Create);
+   ...
+ \endcode
+
+ <h2 class="pg"> Reference counting </h2>
+ The application should store Actors' and resources' handles.
+ Dali objects are reference counted, which makes sure they exist only as long as they are needed.
+ That's why we store the Actor's handle:
+ \code
+   ...
+   mTextActor = TextActor::New("Hello World");
+   ...
+ \endcode
+ Even if the TextActor is removed from the stage, it will be kept alive through our reference.\n
+ You can read more about implicit smart-pointer semantics in chapter \link handle-body-idiom Handle – body\endlink.
+
+ <h2 class="pg"> Main loop </h2>
+ To 'run' the application, it's main loop should be started.
+ This ensures that images are displayed, events, signals are dispatched and captured and so on.
+ \code
+   ...
+   daliApp.MainLoop();
+   ...
+ \endcode
+ \n \n
+ On X11 platform you can compile the above example with:
+ \code
+ g++ `pkg-config --libs --cflags dali` hello-dali.cpp -o hello
+ \endcode
+
+ After running './hello' this should be visible on the screen:
+
+ \image html Text-Actor.png "Hello world example"
+
+*/
diff --git a/docs/content/programming-guide/image-text-mesh-actor.h b/docs/content/programming-guide/image-text-mesh-actor.h
new file mode 100644 (file)
index 0000000..9b560b7
--- /dev/null
@@ -0,0 +1,175 @@
+/*! \page image-text-mesh-actor Image, Text and Mesh actors
+ *
+ *
+ * <h1 class="pg">Overview</h1>
+ * The Dali::ImageActor, Dali::TextActor, Dali::MeshActor are inherited from Dali::Actor and provide means to display resources like Images, Text and Geometries (Triangle meshes) on the stage.
+ * All the Dali::Actor methods can be called on them.<br>
+ *
+ * - <b>ImageActor:</b> An actor for displaying Images. It allows the developer to display a Dali::Image object on the stage.<br>
+ * - <b>TextActor:</b>  An actor for displaying text.<br>
+ * - <b>MeshActor:</b>  An actor for displaying one or more mesh geometries. It may have children, which may be plain actors or other mesh actors.<br>
+ *
+ * <h1 class="pg">Image Actor</h1>
+ *
+ * <h2 class="pg">Construction</h2>
+ * The Image Actor is constructed by passing a Dali::Image object
+ *
+ * @code
+ * Dali::Image image = Image::New(myImageFilename);
+ * Dali::ImageActor myImageActor = ImageActor::New(image);
+ * @endcode
+ *
+ *
+ * <h2 class="pg">Style</h2>
+ * The Actor can render an image in two different ways.<br>
+ * -# STYLE_QUAD: A simple flat quad style for redering image.<br>
+ * -# STYLE_NINE_PATCH: This style gives the flexibility to stretch images by dividing it into 9 sections.
+ * The four corners are unscaled; the four edges are scaled in one axis, and the middle is scaled in both axes.<br>
+ *
+ * @code
+ * // default : ImageActor::STYLE_QUAD
+ * myImageActor.SetStyle (Dali::ImageActor::STYLE_NINE_PATCH);
+ * @endcode
+ *
+ *
+ * <h2 class="pg">Border</h2>
+ * The border is used in the ImageActor::STYLE_NINE_PATCH. It defines the border values of the image for stretching.<br>
+ *
+ * @code
+ * Dali::ImageActor::Border border(0.45,0.15,0.45,0.15);
+ * myImageActor.SetBorder(border);
+ * @endcode
+ *
+ *
+ * <h2 class="pg">Pixel area</h2>
+ * The area of the image to be displayed by the Image Actor can be set by setting the Pixel area. Pixel area is relative to the top-left (0,0) of the image.
+ * @code
+ * Rect<int> pixel1( myX, myY, myWidth, myHeight );
+ * if(!myImageActor.IsPixelAreaSet())
+ * {
+ *   myImageActor.SetPixelArea( pixel1 );
+ * }
+ *
+ * //Removes the pixel are set
+ * myImageActor.ClearPixelArea();
+ * @endcode
+ *
+ *
+ * <h2 class="pg">Changing the image</h2>
+ * The Image Actor needs a reference to a Dali::Image object on creation. However the Image object can be later changed by calling DaliActor:SetImage
+ * @code
+ * myImageActor.SetImage( newImage );
+ * @endcode
+ *
+ * <h2 class="pg">Fade in</h2>
+ * It's possible to fade in the image gradually when first rendered.
+ * @code
+ * if (!myImageActor.GetFadeIn())
+ * {
+ *   myImageActor.SetFadeIn(true);
+ * }
+ *
+ * // default : 1 Second
+ * myImageActor.SetFadeInDuration(seconds);
+ * @endcode
+ *
+ *
+ *
+ *
+ *
+ * <h1 class="pg">Text Actor</h1>
+ *
+ *
+ * <h2 class="pg">Displaying Text</h2>
+ * The text displayed by the text actor is initialised/set on construction, which can be changed later.
+ *
+ * @code
+ * Dali::TextActor myTextActor = Dali::TextActor::New("Hi");
+ * std::string str("Hello");
+ * if (myTextActor.GetText() != str)
+ * {
+ *   myTextActor.SetText(str);
+ * }
+ * @endcode
+ *
+ *
+ * <h2 class="pg">Fonts</h2>
+ * It's possible to specify a font for the text displayed by the text actor.
+ * @code
+ * Dali::Font freeSerif = Dali::Font::New("FreeSerif", 8);
+ * myTextActor.SetFont(freeSerif);
+ * @endcode
+ *
+ *
+ * <h2 class="pg">Ellipsis</h2>
+ * It is possible to display an ellipsis in the TextActor when the text is truncated.
+ * @code
+ * std::string str("...");
+ * if (myTextActor.GetEllipsis() != str)
+ * {
+ *   myTextActor.SetEllipsis(str);
+ * }
+ * @endcode
+ *
+ * <h2 class="pg">Style</h2>
+ *
+ * By calling the Dali::TextActor::SetTextStyle or by passing a Dali::TextStyle to the constructor, it's possible to define styling parameters such as color, font, size, outline, glow, shadow, italics or bold.
+ * @code
+ * TextStyle style;
+ * style.SetItalic( true );
+ *
+ * myTextActor.SetTextStyle( style );
+ * @endcode
+ *
+ * @see Dali::TextActor::SetTextStyle()
+ *
+ * It is possible to specify the text fit style for the text actor. The developer can specify whether the ellipsis should appear on the left, centre, or at the end
+ * @code
+ * // default : NONE
+ * myTextActor.SetTextFitStyle(TextUtilities::EllipsizeRight);
+ * @endcode
+ *
+ * <h2 class="pg">Loading state</h2>
+ * It is possible to get the font loading status for the text and do processing accordingly.
+ * @code
+ * // observe text loading and do some processing when it's done
+ * if( Dali::ResourceLoadingSucceeded == myTextActor.GetLoadingState() )
+ * {
+ *   // text already loaded, Do the processing here
+ *   OnTextFontLoaded();
+ * }
+ * else
+ * {
+ *    // text not yet loaded, Connect to the SignalTextAvailable signal and Do the processing when it occurs
+ *   myTextActor.SignalTextAvailable().Connect(this, &MyClass::OnTextFontLoaded);
+ * }
+ * @endcode
+ *
+ *
+ *
+ *
+ * <h1 class="pg">Mesh Actor</h1>
+ *
+ * <h2 class="pg">Construction</h2>
+ * The mesh actor is created by passing a reference to Dali::Mesh object
+ *
+ * @code
+ * Dali::Mesh mesh = Dali::Mesh::New();
+ * Dali::MeshActor myMeshActor = Dali::MeshActor::New(mesh);
+ * @endcode
+
+ *
+ * <h2 class="pg">Modifying material</h2>
+ * The developer can change the material of mesh actor using the material entity name.
+ *
+ * @code
+ * Dali::Image image = Dali::Image::New(myTextureFile);
+ * myCustomMaterial = Dali::Material::New("CustomMaterial");
+ * myCustomMaterial.SetDiffuseTexture(image);
+ * Dali::MeshActor::SetMaterial(myMeshActor, materialEntityNameInModel, 0, myCustomMaterial);
+ *
+ * @endcode
+ *
+ *
+ */
+
diff --git a/docs/content/programming-guide/item-view.h b/docs/content/programming-guide/item-view.h
new file mode 100644 (file)
index 0000000..43cd656
--- /dev/null
@@ -0,0 +1,7 @@
+/*! \page item-view Item View
+ * Your text here
+ *
+ * References to Dali::Toolkit::ItemView will work...
+ *
+ */
+
diff --git a/docs/content/programming-guide/markup-processor.h b/docs/content/programming-guide/markup-processor.h
new file mode 100644 (file)
index 0000000..bd8ba9a
--- /dev/null
@@ -0,0 +1,184 @@
+/*! \page markup-processor Markup processor
+ *
+ * <h1 class="pg">Overview</h1>
+ *
+ * Dali::Toolkit::MarkupProcessor functions provide mechanisms to build and modify a Dali::Toolkit::MarkupProcessor::StyledTextArray used to store text with style.
+ *
+ * <h1 class="pg">Build a styled text array from a markup string</h1>
+ *
+ * Dali::Toolkit::MarkupProcessor::GetStyledTextArray() could be used to convert an html-ish markup string into a styled text array. This string uses html-ish tags to
+ * define the text's style as follows:
+ *
+ * <ul>
+ *   <li>\e \<b\>\</b\> Bold text.
+ *   i.e. \<b\>Bold text\</b\>"
+ *   \image html text-view/Bold.png
+ *
+ *   <li>\e \<i\>\</i\> Italic text.
+ *   i.e. \<i\>Italic text\</i\>"
+ *   \image html text-view/Italic.png
+ *
+ *   <li>\e \<u\>\</u\> Underlined text.
+ *   i.e. \<u\>Underline text\</u\>"
+ *   \image html text-view/Underline.png
+ *
+ *   <li>\e \<br /\> New line.
+ *
+ *   <li>\e \<font\>\</font\> Specifies font properties:
+ *     <ul>
+ *       <li> \e face The name of a font or font family.
+ *       <li> \e style The style of a font.
+ *       <li> \e size Font point size. @see Dali::PointSize.
+ *       <li> \e color Font color. See the \ref color section for more details.
+ *     </ul>
+ *
+ *     i.e. \<font face='FreeSerif' style='Regular'\>FreeSerif font\</font\>
+ *     \image html text-view/FreeSerifFont.png
+ *
+ *   <li>\e \<shadow\>\</shadow\> Specifies shadow properties.
+ *     <ul>
+ *       <li> \e paramx X offset.
+ *       <li> \e paramy Y offset.
+ *       <li> \e color Shadow color. See the \ref color section for more details.
+ *     </ul>
+ *
+ *     i.e. \<shadow color='black' paramx='1.5' paramy='1.5'\>Black shadow\</shadow\>
+ *     \image html text-view/Black-Shadow.png
+ *
+ *     @see Dali::TextActor::SetShadow()
+ *     <br><br>
+ *   <li>\e \<glow\>\</glow\> Specifies glow properties.
+ *     <ul>
+ *       <li> \e param Glow around the text.
+ *       <li> \e color Glow color. See the \ref color section for more details.
+ *     </ul>
+ *
+ *     i.e. \<smooth param='0.65'\>\<glow color='blue' param='0.05'\>Blue glow\</glow\>\</smooth\>
+ *     \image html text-view/Blue-Glow.png
+ *
+ *     @see Dali::TextActor::SetGlow()
+ *     <br><br>
+ *   <li>\e \<outline\>\</outline\> Specifies outline properties.
+ *     <ul>
+ *       <li> \e paramx X thickness.
+ *       <li> \e paramy Y thickness.
+ *       <li> \e color Outline color. See the \ref color section for more details.
+ *     </ul>
+ *
+ *     i.e. \<outline color='red' paramx='0.5' paramy='0.5'\>Red outline\</outline\>
+ *     \image html text-view/Red-Outline.png
+ *
+ *     @see Dali::TextActor::SetOutline()
+ *     <br><br>
+ *   <li>\e \<smooth\>\</smooth\> Specify the smooth edge.
+ *     <ul>
+ *       <li> \e param Distance field.
+ *     </ul>
+ *
+ *     i.e. \<smooth param='0.3'\>Smooth text\</smooth\>
+ *     \image html text-view/Smooth-Text.png
+ *
+ *     @see Dali::TextActor::SetSmoothEdge()
+ * </ul>
+ *
+ * See also \ref color, \ref special_characters and \ref example for more details.
+ *
+ * <h1 class="pg">Get a markup string from a styled text array</h1>
+ *
+ * Dali::Toolkit::MarkupProcessor::GetMarkupString() could be used to convert a styled text array into an html-ish markup string.
+ *
+ * <h1 class="pg">Modify a styled text array</h1>
+ *
+ * Different functions are provided to modify whole or part of a styled text array with a given style. A mask could be used to modify only some properties of the style.
+ *
+ * @see Dali::Toolkit::MarkupProcessor::SetTextStyle( StyledTextArray& styledTextArray, const TextStyle& style, TextStyle::Mask mask )
+ * @see Dali::Toolkit::MarkupProcessor::SetTextStyle( const Text& text, StyledTextArray& styledTextArray, const TextStyle& style, TextStyle::Mask mask )
+ * @see Dali::Toolkit::MarkupProcessor::SetTextStyleToRange( StyledTextArray& styledTextArray, const TextStyle& style, TextStyle::Mask mask, std::size_t begin, std::size_t end )
+ *
+ * <h1 class="pg">Appendix</h1>
+ * \section color Color
+ *
+ * Different options could be used to define a color:
+ *
+ * <ul>
+ *   <li> Hexadecimal with alpha channel. 0xAARRGGBB with the alpha channel in the most significant bits.
+ *   <li> Hexadecimal without alpha channel. 0xRRGGBB.
+ *   <li> Web color format (six or three digits). \#RRGGBB, \#RGB
+ *   <li> Some colors could be defined with natural language: <em>black, white, red, green, blue, yellow, magenta, cyan</em> and \e transparent.
+ * </ul>
+ *
+ * \section special_characters Special characters
+ *
+ * \< and \> characters are used to build the html-ish tags. To type them is needed to add a back slash character in front of them.
+ * @note in c and c++ the back slash is represented with a double back slash '\\\\'.
+ *
+ * i.e. text.SetText("a \\< b \\< c");
+ * \image html text-view/AlessBlessC.png
+ *
+ * It transform any pair CR+LF new line characters into a single LF new line character.
+ *
+ * \section fonts Font Style, Weight and Smooth
+ *
+ * This appendix shows the differences and relations between the font style, the font weight, the smoothness and the italics.
+ *
+ * When a font is loaded, Dali uses different mechanisms to modify the render of glyphs.<br><br>
+ * i.e \<font face='Samsung Sans' size='24'\>Hello World\</font\> produces the "Hello World" bellow.
+ * \image html text-view/FontAppendix01.png
+ * By adding the \<i\> \<b\> \<smooth\> tags to the markup string or using the Dali::TextStyle::SetItalics(), Dali::TextStyle::SetWeight() or Dali::TextStyle::SetSmoothEdge() methods,
+ * Dali modifies how glyphs of the same font are rendered.<br><br>
+ * i.e \<i\>\<font face='Samsung Sans' size='24'\>Hello World\</font\>\</i\>
+ * \image html text-view/FontAppendix02.png
+ * i.e \<b\>\<font face='Samsung Sans' size='24'\>Hello World\</font\>\</b\>
+ * \image html text-view/FontAppendix03.png
+ *
+ * The smooth parameter can be used to adjust the thickness of the rendered glyphs.<br><br>
+ * i.e<br> \<smooth param=0.65\>\<font face='Samsung Sans' size='24'\>Hello World\</font\>\</smooth\>\<br /\><br>
+ *         \<font face='Samsung Sans' size='24'\>Hello World\</font\>\<br /\><br>
+ *         \<smooth param=0.4\>\<font face='Samsung Sans' size='24'\>Hello World\</font\>\</smooth\>\<br /\><br>
+ *         \<b\>\<font face='Samsung Sans' size='24'\>Hello World\</font\>\</b\>\<br /\><br>
+ *         \<smooth param=0.2\>\<font face='Samsung Sans' size='24'\>Hello World\</font\>\</smooth\>
+ *
+ * \image html text-view/FontAppendix04.png
+ *
+ * All "Hello World" above have been rendered using the same font, saving some memory. Alternatively, the platform can provide fonts with different styles.<br>
+ *
+ * i.e. Samsung platform provides among others:<br>
+ * Samsung Sans:style=Light<br>
+ * Samsung Sans:style=Regular<br>
+ * Samsung Sans:style=Medium<br>
+ *
+ * \<font face='Samsung Sans' style='Light' size='24'\>Hello World\</font\>\<br /\><br>
+ * \<font face='Samsung Sans' style='Regular' size='24'\>Hello World\</font\>\<br /\><br>
+ * \<font face='Samsung Sans' style='Medium' size='24'\>Hello World\</font\>
+ * \image html text-view/FontAppendix05.png
+ *
+ * The three "Hello World" above have been rendered with three different fonts.<br>
+ *
+ * The <i>fc-list</i> command can be executed on the platform command line to check with fonts and which styles are supported.
+ *
+ * \section example Example
+ *
+ * \code
+ *   const std::string text( "<font size='16' color='black'>"
+ *                           "<i>Italics: 기울임 꼴</i><br/>"
+ *                           "<u>Underline: 밑줄</u><br/>"
+ *                           "<b>Bold: 두꺼운</b><br/>"
+ *                           "<font face='FreeSerif'>Font FreeSerif</font><br/>"
+ *                           "<font color='white'><shadow color='black' paramx='1.5' paramy='1.5'>Shadow: 그림자</shadow></font><br/>"
+ *                           "<font color='white'><smooth param='0.75'><glow color='blue' param='0.1'>Glow: 빛나다</glow></smooth></font><br/>"
+ *                           "<font color='white'><outline color='red' paramx='0.5' paramy='0.5'>Outline: 윤곽선</outline></font><br/>"
+ *                           "<smooth param='0.3'>Smooth: 부드럽게</smooth><br/>"
+ *                           "</font>" );
+ *
+ *   Toolkit::MarkupProcessor::StyledTextArray styledText;
+ *   Toolkit::MarkupProcessor::GetStyledTextArray( text, styledText, true );
+ *
+ *   Toolkit::TextView textView = Toolkit::TextView::New( styledText );
+ *   textView.SetParentOrigin( ParentOrigin::CENTER );
+ *
+ *   Stage::GetCurrent().Add( textView );
+ * \endcode
+ *
+ * \image html text-view/text-view.png
+ * Text generated with the example above.
+ */
diff --git a/docs/content/programming-guide/performance-profiling.h b/docs/content/programming-guide/performance-profiling.h
new file mode 100644 (file)
index 0000000..d95a60d
--- /dev/null
@@ -0,0 +1,189 @@
+/*! \page performance-profiling Performance Profiling
+ *
+ * <h2 class="pg">Enable Logging</h2>
+ *
+ * Setting DALI_LOG_PERFORMANCE environment variable will enable performance profiling <br>
+ * It uses a bit mask to decide what to log. <br>
+ * The log options are:<br>
+ * \code
+ * Bit 0 = Log update and render threads  (e.g.  DALI_LOG_PERFORMANCE=1 dali-demo)
+ * Bit 1 = Log event process time         (e.g.  DALI_LOG_PERFORMANCE=2 dali-demo)
+ * Bit 2 = Log Dali markers to trace file (e.g.  DALI_LOG_PERFORMANCE=4 dali-demo)
+ *
+ * To log both update, render and event times, then combine bits 0 and 1.<br>
+ * DALI_LOG_PERFORMANCE=3 dali-demo
+ * \endcode
+ *
+ *
+ * <h2 class="pg">Background</h2>
+ * The Dali rendering pipeline has 2 stages.
+ * Each stage is typically run once per frame.
+ *
+ * <ul>
+ * <li> 1. Update
+ * <ul>
+ * <li> Run animations
+ * <li> Run constraints
+ * <li> Run physics
+ * <li> Update the scene-graph
+ * </ul>
+ * <li> 2. Render
+ * <ul>
+ * <li> Upload 3D data using OpenGL ( textures, vertex buffers etc).
+ * <li> Draw the scene using OpenGL
+ * </ul>
+ * </ul>
+ *
+ * To run at 60 FPS (16 milliseconds per frame), it is recommended to stay below the following times:
+ * <ul>
+ * <li> Update: 4 milliseconds
+ * <li> Render: 4 milliseconds
+ * </ul>
+ *
+ * This will leave enough time for the output to be composited (if the system uses a compositor) and to avoid using
+ * too much CPU power.
+ * The main Dali application thread which deals with event processing is independent of the update / render threads. <br>
+ * This means animations won't stop if the main thread decides to do a long operation like downloading a file from the internet.
+ *
+ * Performance logging uses Dali log output which on Tizen is dlog, but this can also be used on desktop by redirecting stderr to a file.<br>
+ *
+ * Example:
+ * \code
+ * $ export DALI_LOG_PERFORMANCE=1
+ * $ dali-demo
+ * $
+ * $ ...
+ * $ I/DALI ( 5692): slp-logging.cpp: LogMessage(40) > Update , min 0.59 ms, max 6.43 ms, total (3.4 secs), avg 1.26 ms
+ * $ I/DALI ( 5692): slp-logging.cpp: LogMessage(40) > Render , min 1.67 ms, max 5.01 ms, total (4.5 secs), avg 3.71 ms
+ * \endcode
+ *
+ * If nothing is animating Dali will enter a paused state to save power. At this
+ * point nothing will be logged.
+ *
+ * <h2 class="pg">Performance advice </h2>
+ *
+ *
+ * <h3> Tips to reduce update times: </h3>
+ * <ul>
+ * <li> Keep the actor count as small as possible.
+ * <ul>
+ * <li> Less actors == less processing
+ * <li> Try to keep invisible or un-used actors off the stage. Don't have hidden views on the stage.
+ * </ul>
+ * <li> Ensure constraints are kept as simple as possible
+ * </ul>
+ *
+ * <h3> Tips to reduce render times: </h3>
+ *
+ * <ul>
+ * <li> Keep the visible actor count as small as possible == less draw calls
+ * <li> If using a fixed set of images, try pre-generating a texture-atlas.
+ * <ul>
+ * <li> For each image within the Atlas, use ImageActor.SetPixelArea()  to use it.
+ * <li> This reduces texture state changes when rendering.
+ * </ul>
+ * <li> Try to use 9-patch when you need to stretch an image while maintaining the border size.
+ * <ul>
+ * <li> See ImageActor::STYLE_NINE_PATCH
+ * </ul>
+ * <li> When using layers try to disable the depth test to avoid the depth buffer being cleared.
+ * <li> If writing custom shaders, try to keep them as simple as possible.
+ * <li> Try to keep texture sizes as small as possible.
+ * </ul>
+ *
+ *  <h2 class="pg">Application profiling</h2>
+ *
+ *  The main application thread in Dali is used to process and respond to events such as touch, key, mouse, gestures and timers. <br>
+ *  The time taken to process events can be measured by setting DALI_LOG_PERFORMANCE environment variable to 2 <br>
+ *
+ * Example:
+ * \code
+ * $ export DALI_LOG_PERFORMANCE=2
+ * $ dali-demo
+ * $
+ * $ ...
+ * $ INFO: DALI: Event , min 0.01 ms, max 14.99 ms, total (2.4 secs), avg 1.83 ms
+ * \endcode
+ *
+ * Inside the event processing, the application may be listening for certain events. <br>
+ * For example when an actor is touched, some application code may be run in an OnTouchEvent callback. <br>
+ * By checking the max times you can check for any spikes that occur when interacting with the application.
+ *
+ * Example:
+ * \code
+ * $ INFO: DALI: Event , min 0.10 ms, max 500.01 ms, total (6.4 secs), avg 20.83 ms
+ *
+ * - Something has taken 500 ms = 1/2 second during event processing.
+ * - Need to investigate what the application is doing for 1/2 a second.
+ * \endcode
+ *
+ *
+ * <h2 class="pg">Logging performance markers to Kernel trace file</h2>
+ *
+ * Ftrace is a kernel tracer designed to help developers find out what is going on inside the kernel.<br>
+ * It can be used for analysing how long Dali takes to perform different tasks and <br>
+ * what Dali is doing in relation to other system processes / interrupts.
+ *
+ * On Tizen if the kernel has been built with ftrace enabled, then Dali can log out to ftrace.<br>
+ * This gives exact time stamps of the main events in Dali.
+ * Current markers that are logged:
+ * <ul>
+ * <li> DALI_V_SYNC. The heart beat which represents Dali should start creating a new frame if anything has changed.<br>
+ * Typically runs 60 Frames per second, depending on display refresh rate.
+ * <li> DALI_UPDATE_START. Dali update task has started.
+ * <li> DALI_UPDATE_START. Dali update task has finished
+ * <li> DALI_RENDER_START. Dali render task has started
+ * <li> DALI_RENDER_END. Dali render task has finished
+ * </ul>
+ *
+ * <h3> Checking ftrace is working on Tizen</h3>
+ *
+ * Documentation for ftrace:
+ * Follow these instructions to ensure the debugfs has been mounted, and the kernel you are using
+ * has been built with ftrace enabled. <br>
+ * https://www.kernel.org/doc/Documentation/trace/ftrace.txt
+ *
+ * To check ftrace is working:
+ * \code
+ * $ cd /sys/kernel/debug/tracing
+ * $ echo 1 > tracing_enabled    (enabled tracing)
+ * $ echo "test" > trace_marker
+ * $ echo 0 > tracing_enabled    (disable tracing)
+ * $ cat trace
+ * #
+ * #          TASK-PID    CPU#    TIMESTAMP  FUNCTION
+ * #             | |       |          |         |
+ *          <...>-2539  [001] 267964.345607: tracing_mark_write: test
+ *
+ *
+ * If the message did not get added to the trace, then check the write permissions on trace_marker file. E.g.
+ * $ chmod ugoa+w trace_marker
+ * \endcode
+ *
+ * To view Dali markers in trace file<br>
+ *
+ * \code
+ * $ export DALI_LOG_PERFORMANCE=4
+ * $ dali-demo
+ * $
+ * $ cat /sys/kernel/debug/tracing/trace
+ *
+ *   <...>-3330  [000] 785155.216611: tracing_mark_write: SPI_EV_DALI_V_SYNC
+ *   <...>-3328  [003] 785155.216644: tracing_mark_write: SPI_EV_DALI_UPDATE_START
+ *   <...>-3328  [003] 785155.217045: tracing_mark_write: SPI_EV_DALI_UPDATE_END
+ *   <...>-3329  [001] 785155.227418: tracing_mark_write: SPI_EV_DALI_RENDER_START
+ *   <...>-3329  [001] 785155.227807: tracing_mark_write: SPI_EV_DALI_RENDER_END
+ *   <...>-3330  [000] 785155.233336: tracing_mark_write: SPI_EV_DALI_V_SYNC
+ *   <...>-3328  [002] 785155.233374: tracing_mark_write: SPI_EV_DALI_UPDATE_START
+ *   <...>-3328  [002] 785155.233672: tracing_mark_write: SPI_EV_DALI_UPDATE_END
+ *   <...>-3329  [001] 785155.235161: tracing_mark_write: SPI_EV_DALI_RENDER_START
+ *   <...>-3329  [001] 785155.235475: tracing_mark_write: SPI_EV_DALI_RENDER_END
+ *   <...>-3330  [000] 785155.250029: tracing_mark_write: SPI_EV_DALI_V_SYNC
+ *   <...>-3328  [003] 785155.250065: tracing_mark_write: SPI_EV_DALI_UPDATE_START
+ *   <...>-3328  [003] 785155.250330: tracing_mark_write: SPI_EV_DALI_UPDATE_END
+ *   <...>-3329  [001] 785155.252860: tracing_mark_write: SPI_EV_DALI_RENDER_START
+ *   <...>-3329  [001] 785155.253178: tracing_mark_write: SPI_EV_DALI_RENDER_END
+ *   <...>-3329  [001] 785155.264508: tracing_mark_write: SPI_EV_DALI_RENDER_START
+ *   <...>-3329  [001] 785155.265006: tracing_mark_write: SPI_EV_DALI_RENDER_END
+ * \endcode
+ */
diff --git a/docs/content/programming-guide/properties.h b/docs/content/programming-guide/properties.h
new file mode 100644 (file)
index 0000000..9c0b701
--- /dev/null
@@ -0,0 +1,20 @@
+/*! \page properties Properties
+ *
+@section property-indices Property Indices
+
+DALi has a property system and provides several different kinds of properties. The following table
+shows the index range of the different properties in place.
+
+<table>
+  <tr> <td><b>Kind</b></td>     <td><b>Description</b></td>                                                                                <td style="text-align:center;"><b>Range</b></td>         </tr>
+  <tr> <td>Default</td>         <td>Properties defined within DALi Core, e.g. Dali::Actor, Dali::ShaderEffect default properties etc.</td> <td style="text-align:center;">0 to 9999999</td>         </tr>
+  <tr> <td>Registered</td>      <td>Properties registered using Dali::PropertyRegistration</td>                                            <td style="text-align:center;">10000000 to 19999999</td> </tr>
+  <tr> <td>Control</td>         <td>Property range reserved by Dali::Toolkit::Control</td>                                                 <td style="text-align:center;">10000000 to 10001000<br>
+                                                                                            \link Dali::Toolkit::ControlImpl::CONTROL_PROPERTY_START_INDEX CONTROL_PROPERTY_START_INDEX\endlink
+                                                                                            to \link Dali::Toolkit::ControlImpl::CONTROL_PROPERTY_END_INDEX CONTROL_PROPERTY_END_INDEX\endlink</td> </tr>
+  <tr> <td>Derived Control</td> <td>Property range for control deriving directly from Dali::Toolkit::Control</td>                          <td style="text-align:center;">10001001 to 19999999</td> </tr>
+  <tr> <td>Custom</td>          <td>Custom properties added to instance using Dali::Handle::RegisterProperty</td>                          <td style="text-align:center;">50000000 onwards</td>     </tr>
+</table>
+
+*
+*/
diff --git a/docs/content/programming-guide/resource-tracking.h b/docs/content/programming-guide/resource-tracking.h
new file mode 100644 (file)
index 0000000..5782eff
--- /dev/null
@@ -0,0 +1,48 @@
+/*! \page resource-tracking Resource Tracking
+ *
+ *
+ * <h2 class="pg">Enable Logging</h2>
+ * Setting DALI_ENABLE_LOG environment variable to RESOURCE_LOG will enable resource usage logging in Dali applications.<br>
+ *
+ * On target resource logging utilizes dlog, but this can also be used on desktop by redirecting stderr to a file.<br>
+ *
+ * The generated information includes any image files that are loaded with their dimensions,<br>
+ *  GPU memory consumption, CPU RAM used and details of texture atlases created.
+ *
+ * <h2 class="pg">Viewing Resource Logs</h2>
+ * dalireslog.sh is installed as part of the dali-adaptor package and can be found in the adaptors/tizen/scripts folder.<br>
+ * The script shows a summary of memory used by resources.
+ *
+ * USAGE:
+ * ./dalireslog.sh [FILE]<br>
+ * if FILE isn't specified, the script will try to use dlogutil.
+ *
+ * Example:
+ *
+ * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sh-4.1$ ./dalireslog.sh<br>
+ *
+ * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>On a separate terminal:</i><br>
+ * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sh-4.1$ DALI_ENABLE_LOG=RESOURCE_LOG /opt/apps/com.samsung.dali-demo/bin/album.example
+ *
+ * Example on desktop:<br><br>
+ * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jon-doe\@ws-1234$ DALI_ENABLE_LOG=RESOURCE_LOG blind-effect.example 2>/home/SERILOCAL/john.doe/log.txt<br>
+ *
+ * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>On a separate terminal:</i><br>
+ * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dalireslog.sh ~/log.txt
+ *
+ * Displayed information:<br>
+ *
+ * <ul>
+ * <li>3D - amount of GPU memory used by application.<br>
+ * <li>MEM Atlas - amount of GPU memory used by texture atlases (usually this refers to font atlases). <br>
+ * <li>Number of atlases - how many texture atlases are present in memory.<br>
+ * </ul>
+ * A list of files is displayed in the main view, with different color codes representing different states:<br>
+ *
+ * <ul>
+ * <li>CPU - resource is in memory, but hasn't been uploaded to a GL texture.<br>
+ * <li>GPU - resource has been uploaded to a GL texture, bitmap buffer discarded.<br>
+ * <li>CPUGPU - resource has been uploaded to a GL texture, but still present in CPU memory as well.<br>
+ * <li>DISCARDED - resource has been discarded, memory freed up.
+ * </ul>
+ */
diff --git a/docs/content/programming-guide/script-hello.h b/docs/content/programming-guide/script-hello.h
new file mode 100644 (file)
index 0000000..837e022
--- /dev/null
@@ -0,0 +1,64 @@
+/*! \page script-hello Scripting Hello World
+ *
+ * <h2 class="pg">Hello World - JSON layout</h2>
+ *
+ * The following JSON code is the minimum required to put the sentence "Hello World" on the screen.
+ *
+ * @code
+ * {
+ *     "fonts":
+ *     {
+ *         "freesans": {"name": "FreeSans", "point-size": 12.0, "weight": "WEIGHT_REGULAR" }
+ *     },
+ *     "actors":
+ *     [
+ *         {"name":"text-actor",
+ *          "type":"Text",
+ *          "text":"Hello World",
+ *          "font":"freesans",
+ *          "parent-origin":"CENTER"
+ *         }
+ *     ]
+ * }
+ * @endcode
+ *
+ * The following c++ code loads the JSON file
+ *
+ * @code
+ * Builder builder = Builder::New();
+ *
+ * std::string json_data(ReadFile("layout.json"));
+ *
+ * builder.LoadFromString(json_data);
+ *
+ * Actor actor = builder.GetActor("text-actor");
+ *
+ * Stage::GetCurrent().Add(actor);
+ * @endcode
+ *
+ * <h2 class="pg">Hello World - Javascript</h2>
+ *
+ * Hello world can also be executed via Javascript.
+ *
+ * The Dali script application is needed to run the Javascript which provides a Javascript runtime and an interface to Dali.
+ *
+ * @code
+ * daliscript hello-world.js
+ * @endcode
+ *
+ * The TextActor control to display Hello World can be constructed using Javascript dot notation accessing Dali Actor Properties.
+ *
+ * @code
+ * var textActor = Dali.TextActor();
+ *
+ * textActor.text          = "Hello World";
+ * textActor.font          = "FreeSans";
+ * textActor.font-weight   = "WEIGHT_REGULAR";
+ * textActor.parent-origin = "CENTER";
+ *
+ * Dali.Run();
+ * @endcode
+ *
+ */
+
+
diff --git a/docs/content/programming-guide/script-howto.h b/docs/content/programming-guide/script-howto.h
new file mode 100644 (file)
index 0000000..915269e
--- /dev/null
@@ -0,0 +1,101 @@
+/*! \page script-howto Scripting HowTo
+ *
+ * <h2 class="pg">Scripting A Custom Control</h2>
+ *
+ * These steps must be taken to provide scripting access for your control.
+ *
+ * <ul>
+ *   <li>Register your class Type.
+ *   <li>Register Signals and Actions (optional).
+ *   <li>Register properties (optional).
+ * </ul>
+ *
+*
+ * <h3 class="pg">Registering your Type, Signals and Actions</h3>
+ *
+ * As part of your <b>my-actor.cpp</b> a <em>static</em> "Dali::TypeRegistration" object is created to register MyActor for scripting.
+ *
+ * Functions for Creation, Signal Connection and Action are registered with this object.
+ *
+ * @code
+ * namespace   // type registration
+ * {
+ *
+ * // Register MyActor with base actor CustomActor and creation function CreateCustom
+ * Dali::TypeRegistration mCustomType( typeid(MyActor), typeid(Dali::CustomActor), MyActor::Create );
+ *
+ * // Add a signal to the type registration
+ * Dali::TypeSignalConnector signal1( mCustomType, "page-changed", MyActor::DoConnectSignalCustom);
+ *
+ * // Add an action to the type registration
+ * Dali::TypeAction action1( mCustomType, "SelectPage", MyActor::DoActionCustom);
+ *
+ * }
+ * @endcode
+ *
+ * The registered handling functions are also static. For example.
+ *
+ * @code
+ * BaseHandle MyActor::Create(void)
+ * {
+ *   return MyActor::New();
+ * }
+ *
+ * Dali::Connection MyActor::DoConnectSignalCustom(BaseObject* object, const std::string& signalName, SignalCallback callback)
+ * {
+ *   Dali::Connection connection ;
+ *
+ *   MyActor* actor = dynamic_cast<MyActor*>(object);
+ *
+ *   if(actor && "page-changed" == signalName)
+ *   {
+ *     connection = return actor->SignalPageChanged().Connect((boost::lambda::bind(callback)));
+ *   }
+ *
+ *   return connection ;
+ * }
+ *
+ * bool MyActor::DoActionCustom(BaseObject* object, const std::string& actionName, const std::vector<Property::Value>& attributes)
+ * {
+ *   bool actioned = false ;
+ *
+ *   MyActor* actor = dynamic_cast<MyActor*>(object) ;
+ *
+ *   if(actor && "SelectPage" == actionName)
+ *   {
+ *      actor->DoSelectPage() ;
+ *      actioned = true;
+ *   }
+ *
+ *   return actioned ;
+ * }
+ * @endcode
+ *
+ * <h3 class="pg">Providing Properties for scripting</h3>
+ *
+ * Properties can be registered by name to allow script access.
+ *
+ * A RegisterProperty() call with property attributes allows the custom class to register non animatable properties.
+ *
+ * @code
+ * void MyActor::Initialize()
+ * {
+ *   // Register a non animatable and writeable property.
+ *   mPropertyAlphaIndex = Self().RegisterProperty("alpha", 0.0f, Dali::Property::WRITEABLE);
+ * }
+ * @endcode
+ *
+ * If a non animatable property is set then the class is notified via the OnPropertySet virtual function.
+ *
+ * @code
+ * void MyActor::OnPropertySet(Property::Index index, Property::Value propertyValue)
+ * {
+ *  if(index == mPropertyAlphaIndex)
+ *  {
+ *    SetAlpha(propertyValue.<float>Get());
+ *  }
+ * }
+ *
+ * @endcode
+ *
+ */
diff --git a/docs/content/programming-guide/script-overview.h b/docs/content/programming-guide/script-overview.h
new file mode 100644 (file)
index 0000000..f9eb951
--- /dev/null
@@ -0,0 +1,109 @@
+/*! \page script-overview Scripting Overview
+ *
+ * Dali has scripting support to
+ *
+ * <ul>
+ *   <li>Provide a mechanism to allow custom controls in scripting.
+ *   <li>Support layouts using JSON.
+ *   <li>Support a dynamic Javascript runtime.
+ * </ul>
+ *
+ * This is accessed via the Dali script external application which wraps Dali with a scripting engine. For example
+ *
+ * @code
+ * daliscript hello-world.js
+ * @endcode
+ *
+ * <h1 class="pg">A Mechanism To Allow Custom Controls in Scripting</h1>
+ *
+ * <h2 class="pg">The TypeRegistry</h2>
+ *
+ * The TypeRegistry allows class 'types' to register themselves as creatable from a scripting environment.
+ *
+ * Custom controls can register a creation function using class run time type information (RTTI).
+ *
+ * The RTTI typeid provides Dali with a unique name to register the type. In this registration the creation function is responsible for creating new instances of the custom class.
+ *
+ * Signals can be added to this type registration with a signal connection function.
+ *
+ * Actions can be similarly added with an action function.
+ *
+ *
+ * <h2 class="pg">Non Animatable Properies</h2>
+ *
+ * The property system has non animatable properties that can be used by the scripting runtime to set actor attributes.
+ *
+ * Custom controls can register properties for scripting access. The custom control is notified of a non animatable property value change.
+ *
+ *
+ * <h2 class="pg">A Javascript example</h2>
+ *
+ * A Javascript runtime wrapping Dali and the V8 Javacript engine is being developed to allow the creation of pure Javascript applications.
+ *
+ * ie 'daliscript helloworld.js'.
+ *
+ * This example shows how a Javacript file relates to the TypeRegistry and Property system.
+ *
+ * @code
+ * // Creation
+ * // This line looks for a type registered as "MyActor" and calls its creation function
+ * var custom = new MyActor();
+ *
+ * // Property access
+ * // This line finds a property called "alpha" and Sets with SetProperty(index, Property::Value(2.0))
+ * // If the property is non animatable it calls OnPropertySet(Property::Value(2.0))
+ * custom.alpha = 2.0;
+ *
+ * // NB: non animatable properties can be strings
+ * custom.text = "a label";
+ *
+ * // Actions
+ * // This line finds the action function registered as "SelectPage" and calls its with a list of arguments
+ * // (NB: arguments are currently limited to non aggregate types ie no list, maps or objects)
+ * custom.SelectPage("one");
+ *
+ * // Signals
+ * // This line finds the signal registered as "touched" and sets the "OnTouch" callback function
+ * custom.signals.touched = OnTouch;
+ *
+ * // OnTouch could have been previously defined as
+ * function OnTouch(name)
+ * {
+ *   custom.text = name
+ * }
+ * @endcode
+ *
+ * <h1 class="pg">Supporting Layouts Using JSON</h1>
+ *
+ * The builder in Dali Toolkit provides a means to define layouts using the JSON file format.
+ *
+ * This format defines a text representation for key value pairs and lists of data. Lists and Maps can hold the fundamental Javascript data types of string, number(float/int), true, false, nil.
+ *
+ * *** Current Status
+ *
+ * Currently the builder supports internal Toolkit and Dali controls.
+ *
+ * *** Next Iteration
+ *
+ * The builder will be improved to make use of the TypeRegistry and non animatable properties and allow Custom Controls to be added into Scripting.
+ *
+ * This means the current JSON format will alter slightly (for example; properties will not be defined as a tree but as one level below the actor definition)
+ *
+ * An actor tree defined in JSON will be retrievable as a "Buildable" class instance.
+ *
+ * This buildable class allows the creation of the actor tree. It will also aid resource managment as a buildable can store the layout representation and unload resources when off stage (reconstructing the object when its added back onto the stage).
+ *
+ * <h1 class="pg">Supporting A Javascript Runtime</h1>
+ *
+ * As a separate project an application will be available that can execute Javascript.
+ *
+ * This application will provide a wrapping layer between V8 and Dali and allow a natural interface to the Javascript developer.
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ */
diff --git a/docs/content/programming-guide/scroll-view.h b/docs/content/programming-guide/scroll-view.h
new file mode 100644 (file)
index 0000000..cd0307c
--- /dev/null
@@ -0,0 +1,84 @@
+/*! \page scroll-view Example and Usage
+
+   We will start by showing the steps to creating a ScrollView, adding to the stage, and adding content to the ScrollView.
+
+   Then we look at some of the options to achieve commonly desired ScrollView effects, from ruler snap points to domains.
+
+   \section intro Simple ScrollView setup, and ruler configuration.
+
+   We declare a ScrollView component called myScrollView
+
+   @code
+   Dali::Toolkit::ScrollView myScrollView;
+   @endcode
+
+   A new ScrollView instance is then created by calling the following
+   @code
+   myScrollView = ScrollView::New();
+   @endcode
+
+   We then add it to the stage.
+   @code
+   Stage::GetCurrent().Add(myScrollView);
+   @endcode
+
+   Then we specify the size. We'll make it cover the entire stage
+   @code
+   Stage stage = Dali::Stage::GetCurrent();
+   Size size = stage.GetSize();
+   myScrollView.SetSize( size );
+   @endcode
+
+   Add Actors to this ScrollView
+   @code
+   Image image = Image::New(DALI_IMAGE_DIR "button-background.png");
+   ImageActor imageActor = ImageActor::New(image);
+   myScrollView.Add( imageActor );
+   @endcode
+
+   The ScrollView contents are now draggable by the user using touch (panning gestures).
+
+   To enforce horizontal-only scrolling, the Y-axis ruler can be disabled
+   @code
+   RulerPtr rulerY = new DefaultRuler();
+   rulerY->Disable();
+   myScrollView.SetRulerY(rulerY);
+   @endcode
+
+   To enable snapping, a FixedRuler can be applied to the X-axis, with snap points spaced to the width of the stage.
+   @code
+   Stage stage = Dali::Stage::GetCurrent();
+   Size size = stage.GetSize();
+   RulerPtr rulerX = new FixedRuler(size.width);
+   myScrollView.SetRulerX(rulerX);
+   @endcode
+
+   A domain can be applied to rulers to prevent scrolling beyond this boundary. In this case to 4 times the width of the stage, allowing for 4 pages to be scrolled.
+   @code
+   Stage stage = Dali::Stage::GetCurrent();
+   Size size = stage.GetSize();
+   RulerPtr rulerX = new FixedRuler(size.width);
+   rulerX->SetDomain(RulerDomain(0.0f, size.width*4.0f));
+   myScrollView.SetRulerX(rulerX);
+   @endcode
+
+   Ruler      Domain      Wrap      Behaviour
+   =====      ======      ====      =========
+
+   Disabled   Disabled    No-Wrap   "No Movement in axis"
+   Disabled   Disabled    Wrap      "No Movement in axis"
+   Disabled   Enabled     No-Wrap   "No Movement in axis"
+   Disabled   Enable      Wrap      "No Movement in axis"
+   Enabled    Disabled    No-Wrap   "Free Movement in axis"
+   Enabled    Disabled    Wrap      "Free Movement in axis, but will wrap based on domain min-max"
+   Enabled    Enabled     No-Wrap   "Movement limited to domain min-max"
+   Enabled    Enabled     Wrap      "Movement limited to domain min-max"
+
+   @note It is important to note that Actors within ScrollView are controlled by constraints,
+   and thus undefined behaviour will occur when applying constraints to these Actors externally.
+   If you wish to apply additional constraints that may conflict with the ScrollView's constraints,
+   then it is recommended that you place the Actors within container Actors. So that the container
+   Actors are affected by the constraints.
+
+ */
+
diff --git a/docs/content/programming-guide/shader-intro.h b/docs/content/programming-guide/shader-intro.h
new file mode 100644 (file)
index 0000000..a3868c8
--- /dev/null
@@ -0,0 +1,67 @@
+/*! \page shader-intro Shader Effects
+ *
+
+<h2 class="pg">Introduction</h2>
+
+The shader effects allow the developer to apply visual deformations on the actors.
+They can affect the geometry, the colors and textures of the actor.
+
+There are some built-in shader effects in Dali Toolkit:
+- \ref Dali::Toolkit::BendyEffect "Bendy", bends the geometry around a point, useful to do a page turn effect,
+- \ref Dali::Toolkit::DissolveEffect "Dissolve", does a dissolve effect on the actor texture,
+- \ref Dali::Toolkit::RippleEffect "Ripple", does a concentric wave effect on the actor texture.
+
+@image html shader-effect-ripple.png "Ripple Effect"
+
+<br>
+<br>
+<h2 class="pg">Example and Usage</h2>
+Here is an example on how to use a shader effect, using the RippleEffect.
+
+First create the shader effect.
+@code
+Dali::RippleEffect effect = Dali::RippleEffect::New();
+@endcode
+
+Then set the values of the uniforms.
+@code
+// Set the radius of the bending
+effect.SetAmplitude( 45.0f );
+// Set the point around which the geometry will bend
+effect.SetCenter( Vector2() );
+// Set the direction of the bending
+effect.SetDirection( Vector2( 1.0f, 0.0f ) );
+@endcode
+
+Finally apply the shader effect to an actor:
+@code
+actor.SetShaderEffect( effect );
+@endcode
+
+
+<br>
+<br>
+<h2 class="pg">Custom Shader Effects</h2>
+The \ref Dali::ShaderEffect "ShaderEffect" lets the developers create their own shader effects by specifying the vertex and pixel shaders.
+
+A custom shader effect can be created like this:
+@code
+String myVertexShader; // This variable would contain the code for a vertex shader.
+Dali::ShaderEffect myEffect = Dali::ShaderEffect::New( myVertexShader,
+                                                       "" // use default pixel shader
+                                                     );
+@endcode
+
+The value of a uniform can be set like this:
+@code
+// if the uniform was declared like this in the shader: uniform float myUniform;
+myEffect.SetUniform( "myUniform", 0.5f );
+@endcode
+
+The custom shader effect can be applied to an actor like any other shader:
+@code
+actor.SetShaderEffect( myEffect );
+@endcode
+
+ *
+ */
diff --git a/docs/content/programming-guide/size-negotiation.h b/docs/content/programming-guide/size-negotiation.h
new file mode 100644 (file)
index 0000000..c802155
--- /dev/null
@@ -0,0 +1,465 @@
+/*! \page size-negotiation Size Negotiation
+ *
+<h2 class="pg">Overview</h2>
+
+Size negotiation provides the ability for controls to be resized without the application having to set a size.
+A parent control can resize itself according to its children. Each control can provide hints to using policies for the width and height.
+Controls will be relaid just once and only when requested to, rather than relaid out several times when different properties are set.
+Using size negotiation avoids the need for using size constraints to resize children, which would need to be calculated in the update
+thread every time even minor changes occur.
+
+This topic covers size policies, deriving from ControlImpl, size policy examples and the size negotiation algorithm.
+
+<h2 class="pg">Size Policies</h2>
+
+Each control has a policy for both width and height:
+- <b>Fixed:</b> The size is fixed to the size set by the application. If no size is set, then the size is fixed to the <i>natural</i> size of the control.
+- <b>Mininum:</b> The size can grow and shrink but cannot be smaller than the <i>minimum</i> size specified.
+- <b>Maximum:</b> The size can grow and shrink but cannot be larger than the <i>maximum</i> size specified.
+- <b>Range:</b> The size can grow or shrink but within the <i>minimum</i> and <i>maximum</i> sizes specified.
+- <b>Flexible:</b> The size of the control can grow or shrink as required without any limits.
+
+Currently, by default, controls use a fixed size policy for width and height. If one dimension is set, and the other dimension is set to zero, then the latter
+dimension is assumed to have a non fixed policy.
+
+<h2 class="pg">Deriving from ControlImpl</h2>
+
+The size negotiation utilises several methods to work out the best size of a control. The default behaviour is in the ControlImpl class.
+The following methods can be overridden.
+@code Vector3 GetNaturalSize() @endcode
+This method should return the natural size of the control. This can be dependent on the control's children or the control may decide to have a fixed size.
+
+@code float GetHeightForWidth( float width ) @endcode
+This method should return the height it needs to be when given a certain width.
+
+@code float GetWidthForHeight( float height ) @endcode
+This method should return the width it needs to be when given a certain height.
+
+All these methods can be overridden by deriving classes. This allows each control to dictate what size it would like to be. If you want the default behaviour,
+then you do not have to override these methods. A parent control can call the child's methods to determine its size if it needs to.
+
+<h2 class="pg">Size Policies and Virtual Methods</h2>
+
+The table below shows the methods that are called when certain width and height policies are in place.
+
+<table>
+  <tr>
+    <td></td>
+    <td><b>Fixed Height</b></td>
+    <td><b>Height Not Fixed (All other policies)</b></td>
+  </tr>
+  <tr>
+    <td><b>Fixed Width</b></td>
+    <td>
+    - Use size set by application
+    - If only height set by application
+      - Use height set by application
+      - Use <b>GetWidthForHeight()</b> for width
+    - If only width set by application
+      - Use width set by application
+      - Use <b>GetHeightForWidth()</b> for height
+    - If not set, then get size by calling <b>GetNaturalSize()</b>
+    </td>
+    <td>
+    - Use width set by application
+    - Use allocated width if not set
+      - Ensure it satisfies our width policy
+      - Adjust if required
+    - Use <b>GetHeightForWidth()</b> for height
+    - Ensure height satisfies our height policy
+      - Adjust if required
+    </td>
+  </tr>
+  <tr>
+    <td><b>Width Not Fixed (All other policies)</b></td>
+    <td>
+    - Use height set by application
+    - Use allocated height if not set
+      - Ensure it satisfies our height policy
+      - Adjust if required
+    - Use <b>GetWidthForHeight()</b> for width
+    - Ensure width satisfies our width policy
+      - Adjust if required
+    </td>
+    <td>
+    - Constrain the allocated width and height according to the two policies
+    </td>
+  </tr>
+</table>
+
+<h2 class="pg">Size Policy Examples</h2>
+
+<h3 class="pg">Policy: Fixed Width and Height (1)</h3>
+
+<table border=0 cellpadding=10><tr>
+<td>
+\image html FixedWidthHeight.png
+</td>
+<td>
+The application/control has set the following settings:
+- <b>SetSize:</b> 200 x 300
+- <b>Natural Size:</b> 400 x 400
+- <b>Width To Height Ratio:</b> 1 to 1
+- <b>Width Policy:</b> Fixed
+- <b>Height Policy:</b> Fixed
+- <b>ParentOrigin:</b> TopLeft
+- <b>AnchorPoint:</b> TopLeft
+
+Control methods called:
+- None
+
+Result
+- <b>Allocated size:</b> 200 x 300
+</td>
+</tr></table>
+
+<h3 class="pg">Policy: Fixed Width and Height (2)</h3>
+
+<table border=0 cellpadding=10><tr>
+<td>
+\image html FixedWidthHeight2.png
+</td>
+<td>
+The application/control has set the following settings:
+- <b>SetSize:</b> 0 x 0 (No size set)
+- <b>Natural Size:</b> 400 x 400
+- <b>Width To Height Ratio:</b> 1 to 1
+- <b>Width Policy:</b> Fixed
+- <b>Height Policy:</b> Fixed
+- <b>ParentOrigin:</b> TopLeft
+- <b>AnchorPoint:</b> TopLeft
+
+Control methods called:
+- GetNaturalSize() = 400 x 400
+
+Result
+- <b>Allocated size:</b> 400 x 400
+</td>
+</tr></table>
+
+<h3 class="pg">Policy: Flexible Width and Height</h3>
+
+<table border=0 cellpadding=10><tr>
+<td>
+\image html FlexibleWidthHeight.png
+</td>
+<td>
+The application/control has set the following settings:
+- <b>SetSize:</b> 200 x 300
+- <b>Natural Size:</b> 400 x 400
+- <b>Width To Height Ratio:</b> 1 to 1
+- <b>Width Policy:</b> Flexible
+- <b>Height Policy:</b> Flexible
+- <b>ParentOrigin:</b> TopLeft
+- <b>AnchorPoint:</b> TopLeft
+
+Control methods called:
+- None
+
+Result
+- <b>Allocated size:</b> 480 x 800  (Assume stage size 480 x 800)
+</td>
+</tr></table>
+
+<h3 class="pg">Policy: Fixed Width and Flexible Height (1)</h3>
+
+<table border=0 cellpadding=10><tr>
+<td>
+\image html FixedWidthFlexibleHeight.png
+</td>
+<td>
+The application/control has set the following settings:
+- <b>SetSize:</b> 200 x 300
+- <b>Natural Size:</b> 400 x 400
+- <b>Width To Height Ratio:</b> 1 to 1
+- <b>Width Policy:</b> Fixed
+- <b>Height Policy:</b> Flexible
+- <b>ParentOrigin:</b> TopLeft
+- <b>AnchorPoint:</b> TopLeft
+
+Control methods called:
+- GetHeightForWidth( 200 ) = 200
+
+Result
+- <b>Allocated size:</b> 200 x 200
+</td>
+</tr></table>
+
+<h3 class="pg">Policy: Fixed Width and Flexible Height (2)</h3>
+
+<table border=0 cellpadding=10><tr>
+<td>
+\image html FixedWidthFlexibleHeight.png
+</td>
+<td>
+The application/control has set the following settings:
+- <b>SetSize:</b> 200 x 0 (No height set)
+- <b>Natural Size:</b> 400 x 400
+- <b>Width To Height Ratio:</b> 1 to 1
+- <b>Width Policy:</b> Fixed
+- <b>Height Policy:</b> Flexible
+- <b>ParentOrigin:</b> TopLeft
+- <b>AnchorPoint:</b> TopLeft
+
+Control methods called:
+- GetHeightForWidth( 200 ) = 200
+
+Result
+- <b>Allocated size:</b> 200 x 200
+</td>
+</tr></table>
+
+<h3 class="pg">Policy: Fixed Width and Flexible Height (3)</h3>
+
+If the control did not have the GetHeightForWidth() method, then the <i>size set</i> is used to calculate the ratio.
+
+<table border=0 cellpadding=10><tr>
+<td>
+\image html FixedWidthFlexibleHeight2.png
+</td>
+<td>
+The application/control has set the following settings:
+- <b>SetSize:</b> 200 x 0 (No height set)
+- <b>Natural Size:</b> 400 x 400
+- <b>Width To Height Ratio:</b> Not set
+- <b>Width Policy:</b> Fixed
+- <b>Height Policy:</b> Flexible
+- <b>ParentOrigin:</b> TopLeft
+- <b>AnchorPoint:</b> TopLeft
+
+Control methods called:
+- GetHeightForWidth( 200 ) = 200  <i>(Unable to calculate ratio using size set)</i>
+
+Result
+- <b>Allocated size:</b> 200 x 800  <i>(Allocate entire height)</i>
+</td>
+</tr></table>
+
+<h3 class="pg">Policy: Fixed Width and Flexible Height (4)</h3>
+
+<table border=0 cellpadding=10><tr>
+<td>
+\image html FlexibleWidthHeight.png
+</td>
+<td>
+The application/control has set the following settings:
+- <b>SetSize:</b> 0 x 0 (No size set)
+- <b>Natural Size:</b> 400 x 400
+- <b>Width To Height Ratio:</b> 1 to 1
+- <b>Width Policy:</b> Fixed
+- <b>Height Policy:</b> Flexible
+- <b>ParentOrigin:</b> TopLeft
+- <b>AnchorPoint:</b> TopLeft
+
+Control methods called:
+- GetHeightForWidth( 0 ) = 0
+
+Result
+- <b>Allocated size:</b> 480 x 800  <i>(Allocate entire size)</i>
+</td>
+</tr></table>
+
+<h3 class="pg">Policy: Flexible Width and Fixed Height (1)</h3>
+
+<table border=0 cellpadding=10><tr>
+<td>
+\image html FlexibleWidthFixedHeight.png
+</td>
+<td>
+The application/control has set the following settings:
+- <b>SetSize:</b> 0 x 300 (No width set)
+- <b>Natural Size:</b> 400 x 400
+- <b>Width To Height Ratio:</b> 1 to 1
+- <b>Width Policy:</b> Flexible
+- <b>Height Policy:</b> Fixed
+- <b>ParentOrigin:</b> TopLeft
+- <b>AnchorPoint:</b> TopLeft
+
+Control methods called:
+- GetWidthForHeight( 300 ) = 300
+
+Result
+- <b>Allocated size:</b> 300 x 300
+</td>
+</tr></table>
+
+<h3 class="pg">Policy: Flexible Width and Fixed Height (2)</h3>
+
+If the control did not have the GetWidthForHeight() method, then the <i>size set</i> is used to calculate the ratio.
+
+<table border=0 cellpadding=10><tr>
+<td>
+\image html FlexibleWidthFixedHeight2.png
+</td>
+<td>
+The application/control has set the following settings:
+- <b>SetSize:</b> 0 x 300 (No width set)
+- <b>Natural Size:</b> 400 x 400
+- <b>Width To Height Ratio:</b> Not set
+- <b>Width Policy:</b> Flexible
+- <b>Height Policy:</b> Fixed
+- <b>ParentOrigin:</b> TopLeft
+- <b>AnchorPoint:</b> TopLeft
+
+Control methods called:
+- GetWidthForHeight( 300 ) = 0  <i>(Unable to calculate ratio using size set)</i>
+
+Result
+- <b>Allocated size:</b> 480 x 300  <i>(Allocate entire width)</i>
+</td>
+</tr></table>
+
+<h2 class="pg">The Size Negotiation Algorithm</h2>
+
+<h3 class="pg">The Algorithm</h3>
+
+-# The algorithm starts at the stage
+  - All top level controls are found and offered the size of the stage
+  - The control negotiates the size offered by using the policy rules to determine the size that it should be allocated
+  - The control is then set to that allocated size
+-# The control is responsible for setting the sizes of all its children
+  - Can set a size on an Actor
+  - Or can call relayout on a Control directly
+-# Children that a control does not handle, the control can add to a container so that the top-level algorithm delas with it instead
+  - The control should call Relayout with the child and size of itself as parameters
+
+<table border=0 cellpadding=10><tr>
+<td>
+\image html Algorithm1.png
+</td>
+<td>
+\image html Algorithm2.png
+</td>
+</tr></table>
+
+<h3 class="pg">A closer look at Control A</h3>
+
+Taking a closer look at Control A we see in this example that children should share the width equally and that the height of Control A
+is the maximum height of the children.
+
+<table border=0 cellpadding=10><tr>
+<td>
+\image html Algorithm3.png
+</td>
+<td>
+<table border=0 cellpadding=10><tr>
+<td>
+\image html Algorithm4.png
+</td>
+</tr></table>
+</td>
+</tr></table>
+
+@code
+class ControlA : public Control
+{
+  ...
+private:
+  // Data
+  Actor mActorC; // Container to store children
+  TextView mControlD; // Some text we want to display
+  ImageActor mActorD; // An image
+};
+@endcode
+
+@code
+Vector3 ControlA::GetNaturalSize()
+{
+  // Width is total of ControlD and ActorD
+  // Height is max of ControlD and ActorD
+  // Don't care about the Depth
+  Vector3 naturalSize;  // Initialised to (0.0f, 0.0f, 0.0f)
+
+  if ( mControlD )
+  {
+    // We know ControlD is a control, so just ask its natural size
+    naturalSize = mControlD.GetNaturalSize();
+  }
+
+  if ( mActorD )
+  {
+    // We know ActorD is an ImageActor, we can get the image's natural size
+    Image image = mActorD.GetImage();
+    naturalSize.width += image.GetWidth;
+    naturalSize.height = std::max( naturalSize.height, image.GetHeight() );
+  }
+
+  return naturalSize;
+}
+@endcode
+
+GetHeightForWidth() and GetWidthForHeight() can be created in a similar manner.
+
+@code
+void ControlA::OnRelaidOut( Vector2 size, ActorSizeContainer& container )
+{
+  // Width to be shared between ControlD and ActorD
+  Vector2 childSize( size.width * 0.5f, size.height );
+
+  if ( mActorC )
+  {
+    // ActorC is the same size as ControlA
+    mActorC.SetSize( size );
+  }
+
+  if ( mControlD )
+  {
+    Relayout( mControlD, childSize );
+    // Can add more complex calculations to preserve aspect ratio etc.
+  }
+
+  if ( mActorD )
+  {
+    mActorD.SetSize( childSize );
+    // Can add more complex calculations to preserve aspect ratio etc.
+  }
+}
+@endcode
+
+The allocated layout is as follows.
+<table border=0 cellpadding=10><tr>
+<td>
+\image html Algorithm8.png
+</td>
+</tr></table>
+
+<h3 class="pg">A closer look at Control B</h3>
+
+In this example we have the following requirements:
+- Control B creates a small border around its children
+- Control B just allocates whatever its given to its children (minus the border)
+- Actor E is a simple container actor and contains one control (Control E)
+- Control B is not aware of the actors it contains
+
+<table border=0 cellpadding=10><tr>
+<td>
+\image html Algorithm9.png
+</td>
+<td>
+\image html Algorithm10.png
+</td>
+</tr></table>
+
+@code
+void ControlA::OnRelaidOut( Vector2 size, ActorSizeContainer& container )
+{
+  // Width of children is our size minus border
+  Vector3 childSize( size.width - mBorder.width * 2.0f,
+                     size.height - mBorder.height * 2.0f );
+
+  // Our children should be set to the childSize
+  ActorContainer children( Self().GetChildren() );
+  for ( ActorIter iter = children.begin(), endIter = children.end();
+        iter != endIter;
+        ++iter )
+  {
+    Relayout( *iter, childSize, container );
+  }
+}
+@endcode
+
+The Relayout method will add ControlB's children to the size negotiation algorithm container where the child's size will be negotiated. Control E's
+size will be negotiated with the childSize as the allocation.
+
+*
+*/
diff --git a/docs/content/programming-guide/text-input.h b/docs/content/programming-guide/text-input.h
new file mode 100644 (file)
index 0000000..cc24e46
--- /dev/null
@@ -0,0 +1,92 @@
+/*! \page text-input Text Input
+ *
+ TextInput is a Dali::Actor which allows the input of text from an on-screen virtual keyboard or attached hardware keyboard.
+
+
+<h2 class="pg">Basic Text Input Set-up</h2>
+
+ The below code creates a new TextInput
+
+   @code
+   Dali::Toolkit::TextInput myTextInput;
+   myTextInput = Dali::Toolkit::TextInput::New();
+   @endcode
+
+ The following code sets the size and adds it to the stage
+   @code
+   myTextInput.SetParentOrigin(ParentOrigin::CENTER);
+   myTextInput.SetSize(stageWidth*0.25f, stageWidth*0.5f);
+   Stage::GetCurrent().Add(myTextInput);
+   @endcode
+
+ For a TextInput to receive input from the keyboard it must be in edit mode.
+
+ To enter edit mode the below call can be made.  If the virtual on-screen keyboard is supported then it will be displayed.
+ Internally TextInput will set focus to this TextInput and key events will be sent to it.
+
+   @code myTextInput.SetEditable(true);@endcode
+
+ After this call the TextInput will receive any key press. If you have more than one TextInput the focus will change between them when the edit mode is
+ initiated on any Text Input.
+
+ To automatically start edit mode when the TextInput is "tapped" you can call the following:
+
+   @code myTextInput.SetEditOnTouch()@endcode
+
+ You will then need to end edit mode by making the call below or swiping away the keyboard (Virtual On-screen Keyboard)
+   @code myTextInput.SetEditable(false);@endcode
+
+ The call will hide the virtual keyboard if previously shown by Text Input.
+
+ Then the input string as plain text can be retrieved using
+   @code Dali::Toolkit::TextInput::GetText()@endcode
+
+<h2 class="pg"> Text Selection </h2>
+
+ The SetTextSelectable API when set to true enables text to be highlighted, once highlighted the text style can be changed,
+ the text can be cut, or copied, overwritten with new text or deleted.
+
+ The user does a Long-Press on the text to get the option of text selection.
+
+   @code Dali::Toolkit::TextInput::SetTextSelectable( true ) @endcode
+
+<h2 class="pg"> Text Styling </h2>
+
+ In conjunction with TextView and the Markup processor, TextInput enables text to be styled.
+
+ There are 3 ways to effect the text styling.
+
+   SetActiveStyle, new input text is set to the Red glow style
+   @code
+   TextStyle style;
+   style.SetGlow ( true, Dali::Color::RED );
+   myTextInput.SetActiveStyle( style, MarkupProcessor::GLOW );
+   @endcode
+
+   ApplyStyle, selected/highlighted text now has the Red glow style
+   @code
+   TextStyle style;
+   style.SetGlow ( true, Dali::Color::RED );
+   myTextInput.ApplyStyle( style, MarkupProcessor::GLOW );
+   @endcode
+
+   ApplyStyleToAll, all text now has the Red glow style
+   @code
+   TextStyle style;
+   style.SetGlow ( true, Dali::Color::RED );
+   myTextInput.ApplyStyleToAll( style, MarkupProcessor::GLOW );
+   @endcode
+
+ Then the input string with Mark-up defining the style can be retrieved using
+   @code Dali::Toolkit::TextInput::GetMarkupText()@endcode
+ This would be usefull if you wish to save the styled text the user has input so it can be re-displayed another time.
+
+ Signals are emitted when style changes.
+
+ See Dali::Toolkit::TextInput::StyleMask for available styling options.
+
+
+
+
+ */
+
diff --git a/docs/content/programming-guide/text-view.h b/docs/content/programming-guide/text-view.h
new file mode 100644 (file)
index 0000000..b64b895
--- /dev/null
@@ -0,0 +1,447 @@
+/*! \page text-view Text View
+ *
+ * \section overview Overview
+ *
+ * The Dali::Toolkit::TextView class is a UI Dali::Toolkit::Control designed to extend the capabilities of the basic Dali::TextActor.
+ * It provides support for multi-line wrapping, multi-language font detection, text alignment, scrolling and styling.
+ *
+ * Dali::Toolkit::TextView also provides text layout information which could be used in other UI Dali::Toolkit::Control classes or other applications.
+ *
+ * \section multiline Multi-line wrapping
+ *
+ * Different multi-line and exceed policies could be set to layout the given text.
+ *
+ * Both multi-line and exceed policies work together.
+ * Dali::Toolkit::TextView::MultilinePolicy policies define how to wrap a line if it doesn't fit inside the boundary's width
+ * whereas Dali::Toolkit::TextView::ExceedPolicy policies define what to do if the wrapped text is bigger than the text view's boundary.
+ *
+ * i.e. \e SplitByWord could be used as 'multi-line policy' to wrap a line if it's too long. If one of the words is longer than the text-view's width, \e Split could be
+ *      used as 'width exceed policy' to split a word in different lines. If the text is too long and exceeds the text-view's height, \e EllipsizedEnd could be
+ *      used as 'height exceed policy' to render only the text which fits inside the boundaries of the text-view.
+ *
+ * @see more \ref examples.
+ *
+ * \subsection multiline_policies Multi-line policies
+ *
+ * <ul>
+ *   <li><em>Split by new line character</em>.
+ *           Text will be wrapped when an <em>end of line \\n</em> or <em>\<br /\></em> is found.
+ *
+ *   <li><em>Split by word</em>.
+ *           Text will be wrapped when an <em>end of line \\n</em> or <em>\<br /\></em> is found or if the text doesn't fit in the text view width.
+ *           In that case, some words will be moved to a new line.
+ *
+ *   <li><em>Split by character</em>.
+ *           Text will be wrapped when an <em>end of line \\n</em> or <em>\<br /\></em> is found or if the text doesn't fit in the text view width.
+ *           In that case, words which don't fit will be wrapped in two and the remaining text moved to a new line.
+ * </ul>
+ * Dali::Toolkit::TextView::SplitByNewLineChar is set by default.
+ *
+ * \subsection exceed_policies Exceed policies
+ *
+ * <ul>
+ *   <li><em>Original size</em>.
+ *           Text will be displayed with its original size.
+ *
+ *   <li><em>Fade</em>.
+ *           Text will be faded out.
+ *
+ *   <li><em>Split</em>.
+ *           Text will be wrapped and moved to a new line.
+ *
+ *   <li><em>Shrink to fit</em>.
+ *           Text will be shrunk to fit in the text view's boundary.
+ *
+ *   <li><em>Ellipsize at the end</em>.
+ *           Text will be truncated to fit in the text view's boundary and the ellipsize text will be added. ( '...' by default).
+ * </ul>
+ * Dali::Toolkit::TextView::Original is set by default.
+ *
+ * @see Dali::Toolkit::TextView::SetMultilinePolicy
+ * @see Dali::Toolkit::TextView::SetWidthExceedPolicy
+ * @see Dali::Toolkit::TextView::SetHeightExceedPolicy
+ * @see Dali::Toolkit::TextView::SetFadeBoundary
+ * @see Dali::Toolkit::TextView::SetEllipsizeText
+ *
+ * @note Multiple combinations are possible but not all of them are already implemented.
+ * @see \ref exceed_policies_combinations table to check which combinations are implemented
+ *
+ * \section scroll Scroll
+ *
+ * Text could be scrolled if it exceeds the boundaries of the text-view.
+ *
+ * @see  Dali::Toolkit::TextView::SetScrollEnabled
+ * @see  Dali::Toolkit::TextView::SetScrollPosition
+ *
+ * \section line_height_spacing Line height spacing
+ *
+ * The default space between lines could be modified by setting an offset with Dali::Toolkit::TextView::SetLineHeightOffset().
+ *
+ * <h1 class="pg">Font support and multi-language detection</h1>
+ *
+ * Dali::Toolit::TextView uses the font specified in the styled text array to display the given text.
+ *
+ * See \link markup-processor Markup Processor \endlink for more details on how to create styling markup strings and styled text arrays.
+ *
+ * To support multi-language texts, text-view does the following actions per character:
+ * <ul>
+ *   <li> Check if there is a font defined in the styled text array.
+ *   <li> If there isn't, try to use the default platform font.
+ *   <li> Check if the character is supported by the font.
+ *   <li> If isn't, find the most suitable font for the character.
+ * </ul>
+ *
+ * \section text_alignment Text alignment and justification
+ *
+ * Dali::Toolkit::TextView provides a method to align the whole text inside the text view's boundary as well as a method to justify each line
+ * inside the text.
+ *
+ * The Dali::Toolkit::Alignment::Type is used to align the whole text in the text view's area.
+ * A text could be horizontally aligned (left, center, right) and/or vertically aligned (top, center, bottom).
+ * Dali::Toolkit::Alignment::HorizontalCenter | Dali::Toolkit::Alignment::VerticalCenter is set by default.
+ *
+ * The Dali::Toolkit::TextView::LineJustification is used to justify each line inside the text (left, center, right, justified).
+ * Dali::Toolkit::TextView::Left is set by default.
+ *
+ * @see Dali::Toolkit::TextView::SetTextAlignment @see Dali::Toolkit::TextView::SetLineJustification
+ *
+ * \section text_styling Text styling
+ *
+ * Dali::Toolkit::TextView supports all text styling features provided by Dali::TextActor (font type, color, size, outline, etc).
+ *
+ *  Different techniques are provided to set or modify the text view's style:
+ *
+ * <ul>
+ *  <li> By setting a Dali::Toolkit::MarkupProcessor::StyledTextArray with the Dali::Toolkit::TextView::SetText(const MarkupProcessor::StyledTextArray& text) method.
+ *  <li> By setting a new Dali::TextStyle to the current text with the Dali::Toolkit::TextView::SetStyleToCurrentText() method.
+ *  <li> By setting an html-ish markup string which contains both text and style with the Dali::Toolkit::TextView::SetText(const std::string& text) method.
+         @note By default the style markup processor is disabled. @see Dali::Toolkit::TextView::SetMarkupProcessingEnabled to enable the markup processing.
+ * </ul>
+ *
+ * See \link markup-processor Markup Processor \endlink for more details on how to create styling markup strings and styled text arrays.
+ *
+ * \section retrieve Retrieve text layout information
+ *
+ * The Dali::Toolkit::TextView::GetTextLayoutInfo() retrieves how the input text has been laid out.
+ *
+ * For each character it retrieves its size and position, visibility, etc. @see Dali::Toolkit::TextView::CharacterLayoutInfo.
+ *
+ * For each laid-out line it retrieves the index of the first character of the line, size, etc. @see Dali::Toolkit::TextView::LineLayoutInfo.
+ *
+ * \section appendix Appendix
+ * \subsection examples Examples
+ *
+ * The following examples show how to use TextView. The grey square is an actor which has been added just to show the size of the text-view.
+ *
+ * Creation of a text view actor with all its parameters by default.
+ * \code
+ *   Toolkit::TextView textView = Toolkit::TextView::New( "Hello world!" );
+ *   textView.SetParentOrigin( ParentOrigin::CENTER );
+ *
+ *   Stage::GetCurrent().Add( textView );
+ * \endcode
+ *
+ * This example wraps the text in lines only when a \\n character is found. The size of the text-view will be automatically resized to fit the whole text inside.
+ * \code
+ *   const std::string text( "<font color='black'>"
+ *                           "Lorem ipsum dolor sit amet, consectetur adipisicing elit,\n"
+ *                           "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+ *                           "</font>" );
+ *
+ *   Toolkit::TextView textView = Toolkit::TextView::New( "" );
+ *   textView.SetMarkupProcessingEnabled( true );
+ *   textView.SetText( text );
+ *   textView.SetParentOrigin( ParentOrigin::CENTER );
+ *
+ *   textView.SetMultilinePolicy( Toolkit::TextView::SplitByNewLineChar );
+ *   textView.SetWidthExceedPolicy( Toolkit::TextView::Original );
+ *   textView.SetHeightExceedPolicy( Toolkit::TextView::Original );
+ *   textView.SetLineJustification( Toolkit::TextView::Center );
+ *
+ *   Stage::GetCurrent().Add( textView );
+ * \endcode
+ * \image html text-view/text-view-example-01.png
+ *
+ * This example wraps the lines by the next word when it exceeds the width of the text-view. The height exceed policy is set to \e Original so it may exceed the height of the text-view.
+ *
+ * \code
+ *   const std::string text( "<font color='black'>"
+ *                           "Lorem ipsum dolor sit amet, consectetur adipisicing elit, "
+ *                           "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+ *                           "</font>" );
+ *
+ *   Toolkit::TextView textView = Toolkit::TextView::New( "" );
+ *   textView.SetMarkupProcessingEnabled( true );
+ *   textView.SetText( text );
+ *   textView.SetParentOrigin( ParentOrigin::CENTER );
+ *   textView.SetSize( 300.f, 125.f );
+ *
+ *   textView.SetMultilinePolicy( Toolkit::TextView::SplitByWord );
+ *   textView.SetWidthExceedPolicy( Toolkit::TextView::Original );
+ *   textView.SetHeightExceedPolicy( Toolkit::TextView::Original );
+ *   textView.SetLineJustification( Toolkit::TextView::Center );
+ *
+ *   Stage::GetCurrent().Add( textView );
+ * \endcode
+ * \image html text-view/text-view-example-02.png
+ *
+ * This example wraps the lines by the next word when it exceeds the width of the text-view. If a word is bigger than the text-view's width, it splits the word. If the text exceeds the height of the text-view, the text is ellipsized.
+ *
+ * \code
+ *   const std::string text( "<font color='black'>"
+ *                           "Loremipsumdolorsitametconsectetur adipisicing elit,\n"
+ *                           "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+ *                           "</font>" );
+ *   const std::string ellipsizeText( "<font color='black'>...</font>" );
+ *
+ *   Toolkit::TextView textView = Toolkit::TextView::New( "" );
+ *   textView.SetMarkupProcessingEnabled( true );
+ *   textView.SetText( text );
+ *   textView.SetEllipsizeText( ellipsizeText );
+ *   textView.SetParentOrigin( ParentOrigin::CENTER );
+ *   textView.SetSize( 300.f, 125.f );
+ *
+ *   textView.SetMultilinePolicy( Toolkit::TextView::SplitByWord );
+ *   textView.SetWidthExceedPolicy( Toolkit::TextView::Split );
+ *   textView.SetHeightExceedPolicy( Toolkit::TextView::EllipsizeEnd );
+ *   textView.SetLineJustification( Toolkit::TextView::Center );
+ *
+ *   Stage::GetCurrent().Add( textView );
+ * \endcode
+ * \image html text-view/text-view-example-03.png
+ *
+ * This example is similar to the one above but the ellipsized text has been set to "" so nothing is shown.
+ *
+ * \code
+ *   const std::string text( "<font color='black'>"
+ *                           "Loremipsumdolorsitametconsecteturadipisicingelit"
+ *                           "seddoeiusmodtemporincididuntutlaboreetdoloremagnaaliqua."
+ *                           "</font>" );
+ *   const std::string ellipsizeText( "" );
+ *
+ *   Toolkit::TextView textView = Toolkit::TextView::New( "" );
+ *   textView.SetMarkupProcessingEnabled( true );
+ *   textView.SetText( text );
+ *   textView.SetEllipsizeText( ellipsizeText );
+ *   textView.SetParentOrigin( ParentOrigin::CENTER );
+ *   textView.SetSize( 300.f, 125.f );
+ *
+ *   textView.SetMultilinePolicy( Toolkit::TextView::SplitByWord );
+ *   textView.SetWidthExceedPolicy( Toolkit::TextView::Split );
+ *   textView.SetHeightExceedPolicy( Toolkit::TextView::EllipsizeEnd );
+ *   textView.SetLineJustification( Toolkit::TextView::Center );
+ *
+ *   Stage::GetCurrent().Add( textView );
+ * \endcode
+ * \image html text-view/text-view-example-04.png
+ *
+ * This example shows how to fade the text out when it exceeds the boundaries of the text-view.
+ *
+ * \code
+ *   const std::string text( "<font color='black'>"
+ *                           "Lorem ipsum dolor sit amet,\n"
+ *                           "consectetur adipisicing elit,\n"
+ *                           "sed do eiusmod tempor incididunt\n"
+ *                           "ut labore et dolore magna aliqua."
+ *                           "</font>" );
+ *
+ *   Toolkit::TextView textView = Toolkit::TextView::New();
+ *   textView.SetMarkupProcessingEnabled( true );
+ *   textView.SetText( text );
+ *   textView.SetParentOrigin( ParentOrigin::CENTER );
+ *   textView.SetSize( 300.f, 100.f );
+ *
+ *   Toolkit::TextView::FadeBoundary fadeBoundary( PixelSize( 10 ), PixelSize( 10 ), PixelSize( 10 ), PixelSize( 10 ) );
+ *   textView.SetFadeBoundary( fadeBoundary );
+ *
+ *   textView.SetMultilinePolicy( Toolkit::TextView::SplitByNewLineChar );
+ *   textView.SetWidthExceedPolicy( Toolkit::TextView::Fade );
+ *   textView.SetHeightExceedPolicy( Toolkit::TextView::Fade );
+ *   textView.SetLineJustification( Toolkit::TextView::Center );
+ *
+ *   Stage::GetCurrent().Add( textView );
+ * \endcode
+ * \image html text-view/text-view-example-05.png
+ *
+ * This example enables the scroll feature. The screen-shots show three different images of the same text in different scroll positions.
+ *
+ * \code
+ *   const std::string text( "<font color='black'>"
+ *                           "Lorem ipsum dolor sit amet, consectetur adipisicing elit,\n"
+ *                           "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+ *                           "</font>" );
+ *
+ *   Toolkit::TextView textView = Toolkit::TextView::New();
+ *   textView.SetMarkupProcessingEnabled( true );
+ *   textView.SetText( text );
+ *   textView.SetParentOrigin( ParentOrigin::CENTER );
+ *   textView.SetSize( 300.f, 60.f );
+ *
+ *   textView.SetMultilinePolicy( Toolkit::TextView::SplitByNewLineChar );
+ *   textView.SetWidthExceedPolicy( Toolkit::TextView::Original );
+ *   textView.SetHeightExceedPolicy( Toolkit::TextView::Original );
+ *   textView.SetLineJustification( Toolkit::TextView::Center );
+ *
+ *   textView.SetScrollEnabled( true );
+ *
+ *   Stage::GetCurrent().Add( textView );
+ * \endcode
+ * \image html text-view/text-view-example-06.png
+ * \image html text-view/text-view-example-07.png
+ * \image html text-view/text-view-example-08.png
+ *
+ * See \link markup-processor Markup Processor \endlink \ref example for more styling markup string examples.
+ *
+ * \subsection exceed_policies_combinations Implemented exceed policies combinations
+ *
+ * The following tables show which exceed policies are implemented for each multi-line policy. Each column has one width exceed policy (Original, Fade, Split, ShrinkToFit and EllipsizeEnd),
+ * each row has one height exceed policy (Original, Fade, ShrinkToFit and EllipsizeEnd).
+ *
+ * @note The Split value is not valid for the height exceed policy.
+ *
+ * \htmlonly
+ * <table border="1" align="center">
+ * <tr align="center">
+ *   <th align="center" colspan="7">SplitByNewLineChar</th>
+ * </tr>
+ * <tr align="center">
+ *   <th colspan="2" rowspan="2"></th><th align="center" colspan="6">Width exceed policies</th>
+ * </tr>
+ * <tr>
+ *   <th>Original</th><th>Fade</th><th>Split</th><th>ShrinkToFit</th><th>EllipsizeEnd</th>
+ * </tr>
+ * <tr align="center">
+ *   <th rowspan="4">Height<br />exceed<br />policies</th>
+ *         <th>Original</th>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ * </tr>
+ * <tr align="center">
+ *         <th>Fade</th>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ * </tr>
+ * <tr align="center">
+ *         <th>ShrinkToFit</th>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ * </tr>
+ * <tr align="center">
+ *         <th>EllipsizeEnd</th>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ * </tr>
+ * </table>
+ * \endhtmlonly
+ *
+ * \n
+ *
+ * \htmlonly
+ * <table border="1" align="center">
+ * <tr align="center">
+ *   <th align="center" colspan="7">SplitByWord</th>
+ * </tr>
+ * <tr align="center">
+ *   <th colspan="2" rowspan="2"></th><th align="center" colspan="6">Width exceed policies</th>
+ * </tr>
+ * <tr>
+ *   <th>Original</th><th>Fade</th><th>Split</th><th>ShrinkToFit</th><th>EllipsizeEnd</th>
+ * </tr>
+ * <tr align="center">
+ *   <th rowspan="4">Height<br />exceed<br />policies</th>
+ *         <th>Original</th>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ * </tr>
+ * <tr align="center">
+ *         <th>Fade</th>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ * </tr>
+ * <tr align="center">
+ *         <th>ShrinkToFit</th>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ * </tr>
+ * <tr align="center">
+ *         <th>EllipsizeEnd</th>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ * </tr>
+ * </table>
+ * \endhtmlonly
+ *
+ * \n
+ *
+ * \htmlonly
+ * <table border="1" align="center">
+ * <tr align="center">
+ *   <th align="center" colspan="7">SplitByChar</th>
+ * </tr>
+ * <tr align="center">
+ *   <th colspan="2" rowspan="2"></th><th align="center" colspan="6">Width exceed policies</th>
+ * </tr>
+ * <tr>
+ *   <th>Original</th><th>Fade</th><th>Split</th><th>ShrinkToFit</th><th>EllipsizeEnd</th>
+ * </tr>
+ * <tr align="center">
+ *   <th rowspan="4">Height<br />exceed<br />policies</th>
+ *         <th>Original</th>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ * </tr>
+ * <tr align="center">
+ *         <th>Fade</th>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#0A0>&#x2713</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ * </tr>
+ * <tr align="center">
+ *         <th>ShrinkToFit</th>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ * </tr>
+ * <tr align="center">
+ *         <th>EllipsizeEnd</th>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ *                        <td><font color=#A00>&#x2717</font></td>
+ * </tr>
+ * </table>
+ * \endhtmlonly
+ */
+
diff --git a/docs/content/programming-guide/type-registration.h b/docs/content/programming-guide/type-registration.h
new file mode 100644 (file)
index 0000000..43fe731
--- /dev/null
@@ -0,0 +1,441 @@
+/*! \page type-registration Type Registration
+ *
+@section Overview
+
+DALi has a \link Dali::TypeRegistry type registration \endlink system which can be used to register
+a derived actor/control type along with specifying a method which is used to create this type. This
+type registration normally takes place at library load time.
+
+Once a type is registered, signals, actions and properties can also be registered for all instances
+of this type.
+
+This then allows the application writer to create instances using just the type name; connect to
+signals using only the signal name; activate an action by just using the action name; and finally,
+getting and setting properties using a property name or index.
+
+This topic covers:
+
+ - @ref register-type
+ - @ref register-signal
+ - @ref register-action
+ - @ref register-property
+ - @ref using-type
+ - @ref using-signal
+ - @ref using-action
+ - @ref using-property
+
+@section register-type Registering a Type
+
+A type can be registered using Dali::TypeRegistration. This is normally done in an unnamed namespace
+within the source file of the deriving control as shown in the code below.
+
+<b>Please note:</b> This snippet assumes knowledge of the \link Dali::Toolkit::Control Control
+\endlink / \link Dali::Toolkit::ControlImpl ControlImpl \endlink creation process where
+<i><b>MyControl</b></i> derives from a Control and <i><b>MyControlImpl</b></i> derives from ControlImpl.
+
+@code
+namespace
+{
+
+Dali::BaseHandle Create()
+{
+  // Create an instance of MyControl and return the handle.
+  return MyControlImpl::New();
+}
+
+Dali::TypeRegistration type(
+    typeid( MyControl ),              // Type ID of our Control
+    typeid( Dali::Toolkit::Control ), // Type ID of what our Control derives from
+    Create                            // Function which creates our Control, signature shown above
+);
+
+} // unnamed namespace
+@endcode
+
+This registration informs DALi of the existence of MyControl type.
+
+@section register-signal Registering a Signal
+
+Once we've registered a type, we can then inform the type-registry about any signals that our type has:
+
+@code
+// Define the names of the signals
+static const char * const SIGNAL_ONE( "signal1" );
+static const char * const SIGNAL_TWO( "signal2" );
+static const char * const SIGNAL_THREE( "signal3" );
+
+Dali::SignalConnectorType signal1(
+   type,                       // Reference to type registration object (see above)
+   SIGNAL_ONE,                 // Name of our signal
+   &MyControl::DoConnectSignal // Function to call when a call to connect to this signal is received
+);
+
+// Register more signals
+Dali::SignalConnectorType signal2( type, SIGNAL_TWO,   &MyControl::DoConnectSignal );
+Dali::SignalConnectorType signal3( type, SIGNAL_THREE, &MyControl::DoConnectSignal );
+@endcode
+
+It is recommended to use static members (of MyControl class) for the signal names. That way
+applications can also use the static member rather than have to look up the name.
+
+The method that handles the signal connection has to be static and takes the form:
+
+@code
+bool MyControl::DoConnectSignal(
+    Dali::BaseObject* object,                  // A pointer to an instance of MyControl
+    Dali::ConnectionTrackerInterface* tracker, // The object connecting to the signal
+    const std::string& signalName,             // The name of the signal to connect to
+    Dali::FunctorDelegate* functor             // The functor
+)
+{
+  bool connected( false );
+
+  // DownCast to MyControl so that we can call the signal connection methods
+  MyControl control = MyControl::DownCast( Dali::BaseHandle ( object ) );
+
+  if ( control )
+  {
+    if ( signalName == SIGNAL_ONE )
+    {
+      control.SignalOne().Connect( tracker, functor );
+      connected = true;
+    }
+    else if ( signalName == SIGNAL_TWO )
+    {
+      control.SignalTwo().Connect( tracker, functor );
+      connected = true;
+    }
+    else if ( signalName == SIGNAL_THREE )
+    {
+      control.SignalThree().Connect( tracker, functor );
+      connected = true;
+    }
+  }
+
+  return connected; // Return true if connection successfully created
+}
+@endcode
+
+@section register-action Registering an Action
+
+Created controls are able to perform a variety of default actions. Registering an action with the
+type registry allows application writers to perform this action by using the name.
+
+An action can be added to a type as shown below:
+
+@code
+// Define the names of the actions
+static const char * const ACTION_ONE( "action1" );
+static const char * const ACTION_TWO( "action2" );
+static const char * const ACTION_THREE( "action3" );
+
+Dali::TypeAction action1(
+    type,                // Reference to type registration object (see above)
+    ACTION_ONE,          // Name of the action
+    &MyControl::DoAction // Function to call when someone wants to perform this action
+);
+
+// Register mode actions
+Dali::TypeAction action2( type, ACTION_TWO,   &MyControl::DoAction );
+Dali::TypeAction action3( type, ACTION_THREE, &MyControl::DoAction );
+@endcode
+
+It is recommended to use static members (of MyControl class) for the action names. That way
+applications can also use the static member rather than have to look up the name.
+
+The method that handles the action has to be static and takes the form:
+
+@code
+bool MyControl::DoAction(
+    Dali::BaseObject* object,                              // A pointer to an instance of MyControl
+    const std::string& actionName,                         // The name of the action to perform
+    const std::vector< Dali::Property::Value >& attributes // Any passed in attributes
+)
+{
+  bool performed( false );
+
+  Dali::BaseHandle handle(object);
+
+  // DownCast to MyControl so that we can do the specific behaviour
+  MyControl control = MyControl::DownCast( Dali::BaseHandle ( object ) );
+
+  if ( control )
+  {
+    if ( actionName == ACTION_ONE )
+    {
+      // Do action1 e.g. button click etc.
+    }
+    else if ( actionName == ACTION_TWO )
+    {
+      // Do action2, which can have attributes
+      if ( !attributes.empty() )
+      {
+        // Let's assume action2 expects a std::string as an attribute, here's how we'd extract that
+        std::cout << "action2 printing out: " << attributes[0].Get< std::string >() ) << std::endl;
+      }
+    }
+    else if ( actionName == ACTION_THREE )
+    {
+      // Do action3
+    }
+  }
+
+  return performed; // Return true if action successfully performed
+}
+@endcode
+
+@section register-property Registering a Property
+
+DALi has a property system which can be extended by registering more properties through the type
+registry. The property index is <b><i>very important</i></b> when registering these properties and
+all property indices should be between Dali::PROPERTY_REGISTRATION_START_INDEX and
+Dali::PROPERTY_REGISTRATION_MAX_INDEX.
+
+Furthermore, if deriving from \link Dali::Toolkit::Control Control\endlink, the control writer
+needs to be aware of their parent class's property range. Control reserves a property range between
+\link Dali::Toolkit::ControlImpl::CONTROL_PROPERTY_START_INDEX ControlImpl::CONTROL_PROPERTY_START_INDEX\endlink
+and \link Dali::Toolkit::ControlImpl::CONTROL_PROPERTY_END_INDEX ControlImpl::CONTROL_PROPERTY_END_INDEX\endlink.
+Any deriving control should start their property indices from
+\link Dali::Toolkit::ControlImpl::CONTROL_PROPERTY_END_INDEX ControlImpl::CONTROL_PROPERTY_END_INDEX\endlink + 1.
+
+Please have a look at \ref property-indices for more information.
+
+The following code shows how a property can be added to a type.
+
+@code
+// Define the indices we will use for the properties
+static const int PROPERTY_ONE( Dali::Toolkit::ControlImpl::CONTROL_PROPERTY_END_INDEX + 1 );
+static const int PROPERTY_TWO( Dali::Toolkit::ControlImpl::CONTROL_PROPERTY_END_INDEX + 2 );
+static const int PROPERTY_THREE( Dali::Toolkit::ControlImpl::CONTROL_PROPERTY_END_INDEX + 3 );
+
+Dali::PropertyRegistration property1(
+    type,                    // Reference to type registration object (see above)
+    "property1",             // Name of the property
+    PROPERTY_ONE,            // Index of this property
+    Dali::Property::BOOLEAN, // The property type
+    &MyControl::SetProperty, // Method called when property is set
+    &MyControl::GetProperty  // Method called when retrieving the value of the property
+);
+
+// Register more properties
+Dali::PropertyRegistration property2(
+    type, "property2", PROPERTY_TWO, Dali::Property::FLOAT,
+    NULL, // SetProperty is NULL, means that this property is a read-only property
+    &MyControl::GetProperty
+);
+Dali::PropertyRegistration property3( type, "property3", PROPERTY_THREE, Dali::Property::FLOAT, &MyControl::SetProperty, &MyControl::GetProperty);
+@endcode
+
+It is recommended to use static members (of MyControl class) for the property indices. That way
+applications can also use the static member as well. If they require the property name, they can
+just call the Dali::Handle::GetPropertyName().
+
+The method that deals with setting the property has to be static, and follows the format:
+
+@code
+void MyControl::SetProperty(
+    Dali::BaseObject* object,          // A pointer to an instance of MyControl
+    Dali::Property::Index index,       // The index of the property to set
+    const Dali::Property::Value& value // The value to set the property to
+)
+{
+  // DownCast to MyControl so that we can do the specific behaviour
+  MyControl control = MyControl::DownCast( Dali::BaseHandle ( object ) );
+
+  if ( control )
+  {
+    MyControlImpl& controlImpl( GetImplementation( control ) );
+
+    switch ( index )
+    {
+      case PROPERTY_ONE:
+      {
+        // Assume we already have a method in MyControl which sets the appropriate value and takes in a boolean
+        controlImpl.SetPropertyOne( value.Get< bool >() );
+        break;
+      }
+
+      // PROPERTY_TWO is read-only so does not need to be handled
+
+      case PROPERTY_THREE
+      {
+        // Assume we already have a method in MyControl which sets the appropriate value and takes in a float
+        controlImpl.SetPropertyThree( value.Get< float >() );
+        break;
+      }
+    }
+  }
+}
+@endcode
+
+And the function to retrieve the property value also has to be static and takes the form:
+
+@code
+Property::Value MyControl::GetProperty(
+    BaseObject* object,   // A pointer to an instance of MyControl
+    Property::Index index // The index of the property to retrieve
+)
+{
+  Property::Value value;
+
+  // DownCast to MyControl so that we can do the specific behaviour
+  MyControl control = MyControl::DownCast( Dali::BaseHandle ( object ) );
+
+  if ( control )
+  {
+    MyControlImpl& controlImpl( GetImplementation( control ) );
+
+    switch ( index )
+    {
+      case PROPERTY_ONE:
+      {
+        // Assume we have a member variable that stores the value of this property
+        value = controlImpl.mPropertyOne;
+        break;
+      }
+
+      case PROPERTY_TWO:
+      {
+        // Assume we have a member variable that stores the value of this property
+        value = controlImpl.mPropertyTwo;
+        break;
+      }
+
+      case PROPERTY_THREE:
+      {
+        // Assume we have a member variable that stores the value of this property
+        value = controlImpl.mPropertyThree;
+        break;
+      }
+    }
+  }
+}
+@endcode
+
+@section using-type Creating an instance of a Registered Type
+
+When a type is registered with the \link Dali::TypeRegistry type registry\endlink, it allows the
+application writer to get information about the type and even create an instance of it.
+
+@code
+Dali::TypeInfo type = Dali::TypeRegistry::Get().GetTypeInfo( "MyControl" );
+
+// If type specified is not found, then type will be NULL.
+if ( type )
+{
+  Dali::BaseHandle handle = type.CreateInstance();
+
+  // Can use DownCast to change to MyControl type if required
+  if ( handle )
+  {
+    MyControl control = MyControl::DownCast( handle );
+  }
+}
+@endcode
+
+Normally we would not do the DownCast, just utilise the signals, actions and properties.
+
+@section using-signal Connecting to a Registered Signal
+
+The advantage of registering a signal using the \link Dali::TypeRegistry type registry \endlink is
+that you can connect to a particular signal using just the name of the signal.
+
+The application code would look as follows:
+
+@code
+class MyApp
+{
+public:
+
+  // Assume this is called when creating MyApp
+  void Create()
+  {
+    Dali::TypeInfo type = Dali::TypeRegistry::Get().GetTypeInfo( "MyControl" );
+
+    if ( type )
+    {
+      mHandle = type.CreateInstance();
+
+      if ( mHandle )
+      {
+        // Connect to signal1 by using its name
+        handle.ConnectSignal( &mConnectionTracker, "signal1", &MyApp::SignalReceived ) )
+      }
+    }
+  }
+
+  // This method will be called when "signal1" is emitted
+  void SignalReceived()
+  {
+    // Do Something when "signal1" is received
+    std::cout << "signal1 received" << std::endl;
+  }
+
+private:
+  Dali::BaseHandle mHandle; // Handle to MyControl created via the type-registry
+  Dali::ConnectionTracker mConnectionTracker; // Used for automatic signal disconnection upon its destruction
+};
+@endcode
+
+@section using-action Performing a Registered Action
+
+Once an action is registered, the application writer can perform that action using the action name:
+
+@code
+Dali::TypeInfo type = Dali::TypeRegistry::Get().GetTypeInfo( "MyControl" );
+
+if ( type )
+{
+  Dali::BaseHandle handle = type.CreateInstance();
+
+  if ( handle )
+  {
+    // Perform action1, no attributes
+    handle.DoAction( "action1", std::vector< Dali::Property::Value >() );
+
+    // Create an attribute vector for action2
+    std::vector< Dali::Property::Value > action2Attributes;
+    action2Attributes.push_back( Dali::Property::Value( "Hello-Action-2" ) );
+
+    // Perform action2, with attributes
+    handle.DoAction( "action2", action2Attributes );
+  }
+}
+@endcode
+
+@section using-property Setting & Getting Registered Properties
+
+Like other properties, type registered properties can also be set and their values can be retrieved
+in a similar manner. The code below shows how this can be done.
+
+@code
+Dali::TypeInfo type = Dali::TypeRegistry::Get().GetTypeInfo( "MyControl" );
+
+if ( type )
+{
+  Dali::BaseHandle baseHandle = type.CreateInstance();
+
+  if ( baseHandle )
+  {
+    // Handle deals with properties, so DownCast
+    Dali::Handle handle = Dali::Handle::DownCast( baseHandle );
+
+    if ( handle )
+    {
+      // Setting a property
+      handle.SetProperty( PROPERTY_ONE, true ); // Assume Property indices are publicly accessible
+
+      // Get the property name
+      std::cout << "Property1 name is: " << handle.GetPropertyName( PROPERTY_ONE ) << std::endl;
+
+      // Get the property
+      bool propertyOne = handle.GetProperty< bool >( PROPERTY_ONE );
+
+      // Attempt to write a read-only property...
+      handle.SetProperty( PROPERTY_TWO, 4.0f ); // !!! Will assert as PROPERTY_TWO is read-only !!!
+    }
+  }
+}
+@endcode
+*
+*/
index ed080fe..6013b34 100644 (file)
@@ -1,27 +1,26 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_H__
 #define __DALI_TOOLKIT_INTERNAL_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/dali-toolkit-capi-internal.h>
 
 // INTERNAL INCLUDES
-#include <dali-toolkit/public-api/builder/builder.h>
-#include <dali-toolkit/public-api/builder/tree-node.h>
 
 #include <dali-toolkit/public-api/controls/bloom-view/bloom-view.h>
 #include <dali-toolkit/public-api/controls/buttons/check-box-button.h>
@@ -89,4 +88,5 @@
 #include <dali-toolkit/public-api/transition-effects/cube-transition-cross-effect.h>
 #include <dali-toolkit/public-api/transition-effects/cube-transition-fold-effect.h>
 
+
 #endif // __DALI_TOOLKIT_EXT_H__
diff --git a/optional/dali-toolkit/internal/builder/builder-actor.cpp b/optional/dali-toolkit/internal/builder/builder-actor.cpp
deleted file mode 100644 (file)
index a57129f..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-// EXTERNAL INCLUDES
-#include <string>
-#include <dali/integration-api/debug.h>
-#include <dali/public-api/scripting/scripting.h>
-
-// INTERNAL INCLUDES
-#include <dali-toolkit/internal/builder/builder-get-is.inl.h>
-
-namespace Dali
-{
-
-namespace Toolkit
-{
-
-namespace Internal
-{
-
-using namespace Dali::Scripting;
-
-/*
- * Handles special case actor configuration (anything thats not already a property)
- *
- */
-Actor SetupActor( const TreeNode& child, Actor& actor )
-{
-  DALI_ASSERT_ALWAYS( actor && "Empty actor handle" );
-
-  // we allow enums strings for parent-origin and anchor-point but as with the current json
-  // strings always succeed if they exist then check its not vector. If they are Vec3s then
-  // this has already been set as a generic property.
-  if( !IsVector3( child, "parent-origin") )
-  {
-    if( OptionalVector3 v = IsVector3(child, "parent-origin") )
-    {
-      actor.SetParentOrigin( *v );
-    }
-    else if( OptionalString origin = IsString(child, "parent-origin") )
-    {
-      actor.SetParentOrigin( GetAnchorConstant(*origin) );
-    }
-  }
-
-  if( !IsVector3(child, "anchor-point") )
-  {
-    if( OptionalVector3 v = IsVector3(child, "anchor-point") )
-    {
-      actor.SetAnchorPoint( *v );
-    }
-    else if( OptionalString anchor = IsString(child, "anchor-point") )
-    {
-      actor.SetAnchorPoint( GetAnchorConstant(*anchor) );
-    }
-  }
-
-  return actor;
-}
-
-} // namespace Internal
-
-} // namespace Toolkit
-
-} // namespace Dali
index dde4f19..0d2eb16 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "bloom-view-impl.h"
@@ -119,7 +120,7 @@ const char* const COMPOSITE_FRAGMENT_SOURCE =
 
 
 BloomView::BloomView()
-  : Control( false )  // doesn't require touch events
+  : Control( CONTROL_BEHAVIOUR_NONE )
   , mBlurNumSamples(BLOOM_GAUSSIAN_BLUR_VIEW_DEFAULT_NUM_SAMPLES)
   , mBlurBellCurveWidth(BLOOM_GAUSSIAN_BLUR_VIEW_DEFAULT_BLUR_BELL_CURVE_WIDTH)
   , mPixelFormat(BLOOM_GAUSSIAN_BLUR_VIEW_DEFAULT_RENDER_TARGET_PIXEL_FORMAT)
@@ -141,7 +142,7 @@ BloomView::BloomView()
 
 BloomView::BloomView( const unsigned int blurNumSamples, const float blurBellCurveWidth, const Pixel::Format renderTargetPixelFormat,
                                     const float downsampleWidthScale, const float downsampleHeightScale)
-  : Control( false )  // doesn't require touch events
+  : Control( CONTROL_BEHAVIOUR_NONE )
   , mBlurNumSamples(blurNumSamples)
   , mBlurBellCurveWidth(blurBellCurveWidth)
   , mPixelFormat(renderTargetPixelFormat)
index 9ab72b4..388adec 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_BLOOM_VIEW_H__
 #define __DALI_TOOLKIT_INTERNAL_BLOOM_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <sstream>
index 8083191..92dca9f 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 //CLASS HEADER
 #include "bubble-emitter-impl.h"
@@ -36,7 +37,7 @@ BubbleEmitter::BubbleEmitter( const Vector2& movementArea,
                               Image shapeImage,
                               unsigned int maximumNumberOfBubble,
                               const Vector2& bubbleSizeRange )
-: Control( true ),
+: Control( REQUIRES_TOUCH_EVENTS ),
   mMovementArea( movementArea ),
   mShapeImage( shapeImage ),
   mTotalNumOfBubble( maximumNumberOfBubble ),
index d74b884..d5ad2b0 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_BUBBLE_EMITTER_IMPL_H__
 #define __DALI_TOOLKIT_INTERNAL_BUBBLE_EMITTER_IMPL_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index 5659788..f5b079a 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/internal/controls/cluster/cluster-impl.h>
@@ -80,7 +81,7 @@ Dali::Toolkit::Cluster Cluster::New(Toolkit::ClusterStyle& style)
 }
 
 Cluster::Cluster(Toolkit::ClusterStyle& style)
-: Control(true/*requires touch*/),
+: Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS | REQUIRES_STYLE_CHANGE_SIGNALS ) ),
   mClusterStyle(style),
   mExpandedCount(0)
 {
index d5c466c..863417f 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_CLUSTER_H__
 #define __DALI_TOOLKIT_INTERNAL_CLUSTER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/object/ref-object.h>
index a71652a..b9b9946 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index 39f4e66..31d9d4b 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/object/ref-object.h>
index ef36347..6eb2fa2 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "effects-view-impl.h"
@@ -100,7 +101,7 @@ Toolkit::EffectsView EffectsView::New()
 }
 
 EffectsView::EffectsView()
-: Control( false ),
+: Control( CONTROL_BEHAVIOUR_NONE ),
   mEffectType( Toolkit::EffectsView::INVALID_TYPE ),
   mPixelFormat( EFFECTS_VIEW_DEFAULT_PIXEL_FORMAT ),
   mSpread(0.0f),
index ee37e69..67b998c 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_EFFECTS_VIEW_H__
 #define __DALI_TOOLKIT_INTERNAL_EFFECTS_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 
index b77a121..6135760 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "gaussian-blur-view-impl.h"
@@ -111,15 +112,16 @@ const char* const GAUSSIAN_BLUR_FRAGMENT_SOURCE =
 
 
 GaussianBlurView::GaussianBlurView()
-  : Control( false )  // doesn't require touch events
+  : Control( CONTROL_BEHAVIOUR_NONE )
   , mNumSamples(GAUSSIAN_BLUR_VIEW_DEFAULT_NUM_SAMPLES)
-
+  , mBlurBellCurveWidth( 0.001f )
   , mPixelFormat(GAUSSIAN_BLUR_VIEW_DEFAULT_RENDER_TARGET_PIXEL_FORMAT)
   , mDownsampleWidthScale(GAUSSIAN_BLUR_VIEW_DEFAULT_DOWNSAMPLE_WIDTH_SCALE)
   , mDownsampleHeightScale(GAUSSIAN_BLUR_VIEW_DEFAULT_DOWNSAMPLE_HEIGHT_SCALE)
   , mDownsampledWidth( 0.0f )
   , mDownsampledHeight( 0.0f )
   , mBlurUserImage( false )
+  , mRenderOnce( false )
   , mBackgroundColor( Color::BLACK )
   , mTargetSize(Vector2::ZERO)
   , mLastSize(Vector2::ZERO)
@@ -132,14 +134,16 @@ GaussianBlurView::GaussianBlurView()
 GaussianBlurView::GaussianBlurView( const unsigned int numSamples, const float blurBellCurveWidth, const Pixel::Format renderTargetPixelFormat,
                                     const float downsampleWidthScale, const float downsampleHeightScale,
                                     bool blurUserImage)
-  : Control( false )  // doesn't require touch events
+  : Control( CONTROL_BEHAVIOUR_NONE )
   , mNumSamples(numSamples)
+  , mBlurBellCurveWidth( 0.001f )
   , mPixelFormat(renderTargetPixelFormat)
   , mDownsampleWidthScale(downsampleWidthScale)
   , mDownsampleHeightScale(downsampleHeightScale)
   , mDownsampledWidth( 0.0f )
   , mDownsampledHeight( 0.0f )
   , mBlurUserImage( blurUserImage )
+  , mRenderOnce( false )
   , mBackgroundColor( Color::BLACK )
   , mTargetSize(Vector2::ZERO)
   , mLastSize(Vector2::ZERO)
index c7627a9..9727136 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_GAUSSIAN_BLUR_EFFECT_H__
 #define __DALI_TOOLKIT_INTERNAL_GAUSSIAN_BLUR_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <sstream>
index 68782e9..a7becfc 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/internal/controls/image-view/image-view-impl.h>
 #include <dali-toolkit/public-api/shader-effects/distance-field-effect.h>
@@ -86,7 +87,7 @@ Dali::Toolkit::ImageView ImageView::New()
 }
 
 ImageView::ImageView()
-: Control(true)
+: Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS | REQUIRES_STYLE_CHANGE_SIGNALS ) )
 {
 }
 
index d23589c..2eebaa0 100644 (file)
@@ -1,24 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_ImageView_H__
 #define __DALI_TOOLKIT_INTERNAL_ImageView_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-// EXTERNAL INCLUDES
-#include <boost/bind.hpp>
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index 0422021..10847b2 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <sstream>
@@ -474,7 +475,7 @@ Dali::Toolkit::MaskedImageView::MaskedImageViewSignal& MaskedImageView::MaskFini
 }
 
 MaskedImageView::MaskedImageView()
-: Control(true),
+: Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS | REQUIRES_STYLE_CHANGE_SIGNALS ) ),
   mEditMode( Dali::Toolkit::MaskedImageView::EDIT_DISABLED ),
   mSelfPropertySetting( false ),
   mSourceRotation( Dali::Toolkit::MaskedImageView::ROTATE_0 ),
index 4329c42..c0381e3 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_MASKED_IMAGE_VIEW_H__
 #define __DALI_TOOLKIT_INTERNAL_MASKED_IMAGE_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index cbe156b..9783240 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/internal/controls/magnifier/magnifier-impl.h>
 
@@ -161,7 +162,7 @@ Dali::Toolkit::Magnifier Magnifier::New()
 }
 
 Magnifier::Magnifier()
-: Control(true),
+: Control( REQUIRES_TOUCH_EVENTS ),
   mPropertySourcePosition(Property::INVALID_INDEX),
   mActorSize(Vector3::ZERO),
   mMagnificationFactor(1.0f)
index f4ef612..86d070a 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_MAGNIFIER_H__
 #define __DALI_TOOLKIT_INTERNAL_MAGNIFIER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index dfedc41..6e34571 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "navigation-bar.h"
index 33bb920..0846165 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_NAVIGATION_BAR_H__
 #define __DALI_TOOLKIT_INTERNAL_NAVIGATION_BAR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <string>
index 8731515..7a04ae9 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "navigation-control-impl.h"
@@ -46,7 +47,7 @@ TypeAction a2(mType, Toolkit::NavigationControl::ACTION_POP, &NavigationControl:
 }
 
 NavigationControl::NavigationControl()
-: Control( true ),
+: Control( REQUIRES_TOUCH_EVENTS ),
   mToolBar(NULL),
   mTitleBar(NULL),
   mOrientationAngle( 0 ),
index 32cfce3..c0519cd 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_NAVIGATION_CONTROL_H__
 #define __DALI_TOOLKIT_INTERNAL_NAVIGATION_CONTROL_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 //EXTERNAL INCLUDES
 
index 8ab877a..38c2e95 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "navigation-title-bar.h"
 
index 35cdfd3..e193c8e 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_NAVIGATION_TITLE_BAR_H__
 #define __DALI_TOOLKIT_INTERNAL_NAVIGATION_TITLE_BAR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali/dali.h>
 #include <dali-toolkit/public-api/controls/table-view/table-view.h>
index d982e8d..6a2d328 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "navigation-tool-bar.h"
 
index 6708cc8..28123fe 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_NAVIGATION_TOOL_BAR_H__
 #define __DALI_TOOLKIT_INTERNAL_NAVIGATION_TOOL_BAR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali/dali.h>
 #include <dali-toolkit/public-api/controls/table-view/table-view.h>
index 4e5c50e..3a375de 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
@@ -44,7 +45,7 @@ TypeRegistration mType( typeid(Toolkit::Page), typeid(CustomActor), Create );
 } // unnamed namespace
 
 Page::Page()
-: Control(false),
+: Control( CONTROL_BEHAVIOUR_NONE ),
   mTitle(""),
   mSubTitle("")
 {
index 3eedf0c..a73413d 100644 (file)
@@ -1,20 +1,21 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_PAGE_IMPL_H__
 #define __DALI_TOOLKIT_INTERNAL_PAGE_IMPL_H__
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <string>
index a831641..ed81ebf 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 //CLASS HEADER
 #include <dali-toolkit/internal/controls/page-turn-view/page-turn-landscape-view-impl.h>
index 5dc56b6..f908141 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_PAGE_TURN_LANDSCAPE_VIEW_IMPL_H__
 #define __DALI_TOOLKIT_INTERNAL_PAGE_TURN_LANDSCAPE_VIEW_IMPL_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/page-turn-view/page-turn-landscape-view.h>
index fda15a7..95a6708 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 //CLASS HEADER
 #include <dali-toolkit/internal/controls/page-turn-view/page-turn-portrait-view-impl.h>
index dde9f99..16abf9b 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_PAGE_TURN_PORTRAIT_VIEW_IMPL_H__
 #define __DALI_TOOLKIT_INTERNAL_PAGE_TURN_PORTRAIT_VIEW_IMPL_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/page-turn-view/page-turn-portrait-view.h>
index f508b54..83006d4 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.h>
@@ -250,7 +251,7 @@ const int PageTurnView::NUMBER_OF_CACHED_PAGES = NUMBER_OF_CACHED_PAGES_EACH_SID
 const float PageTurnView::STATIC_PAGE_INTERVAL_DISTANCE = 1.0f;
 
 PageTurnView::PageTurnView( PageFactory& pageFactory, const Vector2& pageSize )
-: Control( true ),
+: Control( REQUIRES_TOUCH_EVENTS ),
   mPageFactory( pageFactory ),
   mPageSize( pageSize ),
   mIsEditMode( false ),
index c074ade..f549dca 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_PAGE_TURN_VIEW_IMPL_H__
 #define __DALI_TOOLKIT_INTERNAL_PAGE_TURN_VIEW_IMPL_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index dabae5e..6442e27 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <algorithm>
 #include <dali-toolkit/internal/controls/selectors/rotating-selector-impl.h>
@@ -101,7 +102,7 @@ void RotatingSelector::OnInitialize()
 }
 
 RotatingSelector::RotatingSelector()
-: Control(true/*requires touch*/),
+: Control( REQUIRES_TOUCH_EVENTS ),
   mSelected(false),
   mSelectable(true),
   mIsAnimating(false)
index b3283d4..16cdf47 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_CUSTOM_CHECK_ACTOR_H__
 #define __DALI_TOOLKIT_INTERNAL_CUSTOM_CHECK_ACTOR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/public-api/object/ref-object.h>
index ec3197a..efcbce7 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "shadow-view-impl.h"
@@ -116,7 +117,7 @@ struct EqualToConstraintMatrix
 } // namespace
 
 ShadowView::ShadowView( float downsampleWidthScale, float downsampleHeightScale )
-: Control( false ),  // doesn't require touch events
+: Control( CONTROL_BEHAVIOUR_NONE ),
   mChildrenRoot(Actor::New()),
   mCachedShadowColor(DEFAULT_SHADOW_COLOR),
   mCachedBackgroundColor(DEFAULT_SHADOW_COLOR.r, DEFAULT_SHADOW_COLOR.g, DEFAULT_SHADOW_COLOR.b, 0.0f),
index 20ed3eb..150d4ba 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SHADOW_VIEW_H__
 #define __DALI_TOOLKIT_INTERNAL_SHADOW_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <sstream>
index 7ec9d7b..84a545b 100755 (executable)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/internal/controls/slider/slider-impl.h>
 #include <dali-toolkit/public-api/controls/control-impl.h>
@@ -168,7 +169,7 @@ Dali::Toolkit::Slider Slider::New()
 }
 
 Slider::Slider()
-: Control( true ),
+: Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS | REQUIRES_STYLE_CHANGE_SIGNALS ) ),
   mState( NORMAL ),
   mDisableColor( 0.0f, 0.0f, 0.0f, 0.0f ),
   mPopupTextColor( 0.0f, 0.0f, 0.0f, 0.0f ),
index c797311..707bac8 100755 (executable)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SLIDER_H__
 #define __DALI_TOOLKIT_INTERNAL_SLIDER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index fdbcd34..2681cbf 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 //EXTERNAL INCLUDES
 #include <cmath>
@@ -97,16 +98,16 @@ PropertyRegistration property1( typeRegistration, "image", Toolkit::SuperBlurVie
 } // unnamed namespace
 
 SuperBlurView::SuperBlurView( unsigned int blurLevels )
-: Control( false ),
+: Control( CONTROL_BEHAVIOUR_NONE ),
   mBlurLevels( blurLevels ),
   mBlurStrengthPropertyIndex(Property::INVALID_INDEX),
   mResourcesCleared( true ),
   mTargetSize( Vector2::ZERO )
 {
   DALI_ASSERT_ALWAYS( mBlurLevels > 0 && " Minimal blur level is one, otherwise no blur is needed" );
-  mGaussianBlurView.resize( blurLevels );
-  mBlurredImage.resize( blurLevels );
-  mImageActors.resize( blurLevels + 1 );
+  mGaussianBlurView.assign( blurLevels, NULL );
+  mBlurredImage.assign( blurLevels, FrameBufferImage() );
+  mImageActors.assign( blurLevels + 1, ImageActor() );
 }
 
 SuperBlurView::~SuperBlurView()
index 25060f7..886a75b 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SUPER_BLUR_VIEW_H__
 #define __DALI_TOOLKIT_INTERNAL_SUPER_BLUR_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index 703cf87..3a81862 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "tool-bar-impl.h"
@@ -287,7 +288,7 @@ void ToolBar::RemoveControl( Actor control )
 }
 
 ToolBar::ToolBar()
-: Control( false ),  // doesn't require touch events
+: Control( CONTROL_BEHAVIOUR_NONE ),
   mLayout(),
   mLeftOffset( 0 ),
   mCenterBase( 1 ),
index e5e365d..8f03f8c 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_TOOL_BAR_H__
 #define __DALI_TOOLKIT_INTERNAL_TOOL_BAR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali/dali.h>
 
index b27d509..fa2a9d6 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
@@ -269,7 +270,7 @@ bool View::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* trac
 }
 
 View::View(bool fullscreen)
-: Control( false ),  // doesn't require touch events
+: Control( CONTROL_BEHAVIOUR_NONE ),
   mOrientation( -1 ),
   mFullScreen(fullscreen),
   mContentLayers(),
index 22499bf..3531149 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_VIEW_H__
 #define __DALI_TOOLKIT_INTERNAL_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <dali/dali.h>
index 5e214a4..797c08b 100644 (file)
@@ -1,15 +1,6 @@
 # Add local source files here
 
 toolkit_optional_src_files = \
-   $(toolkit_optional_src_dir)/builder/builder-impl.cpp \
-   $(toolkit_optional_src_dir)/builder/builder-animations.cpp \
-   $(toolkit_optional_src_dir)/builder/builder-set-property.cpp \
-   $(toolkit_optional_src_dir)/builder/builder-signals.cpp \
-   $(toolkit_optional_src_dir)/builder/builder-actor.cpp \
-   $(toolkit_optional_src_dir)/builder/json-parser-state.cpp \
-   $(toolkit_optional_src_dir)/builder/json-parser-impl.cpp \
-   $(toolkit_optional_src_dir)/builder/tree-node-manipulator.cpp \
-   $(toolkit_optional_src_dir)/builder/replacement.cpp \
    $(toolkit_optional_src_dir)/controls/bloom-view/bloom-view-impl.cpp \
    $(toolkit_optional_src_dir)/controls/cluster/cluster-impl.cpp \
    $(toolkit_optional_src_dir)/controls/cluster/cluster-style-impl.cpp \
index 8f9de98..82ceb82 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "blur-two-pass-filter.h"
index 8c6f53b..894fa9e 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_BLUR_TWO_PASS_FILTER_H__
 #define __DALI_TOOLKIT_INTERNAL_BLUR_TWO_PASS_FILTER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 
index 4993cdf..6b376c3 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "emboss-filter.h"
index 12511cf..3c33fc8 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_EMBOSS_FILTER_H__
 #define __DALI_TOOLKIT_INTERNAL_EMBOSS_FILTER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 
index 7ecca05..80e69c2 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "image-filter.h"
index d836173..b08fd44 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_IMAGE_FILTER_H__
 #define __DALI_TOOLKIT_INTERNAL_IMAGE_FILTER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 
index 0dab8c6..39e1c77 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "spread-filter.h"
index a4c02b2..4e7a535 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_SPREAD_FILTER_H__
 #define __DALI_TOOLKIT_INTERNAL_SPREAD_FILTER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 
index 275356f..49a9ad7 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "page-turn-effect-impl.h"
index 21f522c..19b7612 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_PAGE_TURN_EFFECT_H__
 #define __DALI_TOOLKIT_INTERNAL_PAGE_TURN_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 // INTERNAL INCLUDES
 #include <dali/dali.h>
 #include <dali-toolkit/public-api/shader-effects/page-turn-effect.h>
index 2527ef2..8ecaf61 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "water-effect-impl.h"
index d8d7e88..0da012b 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_WATER_EFFECT_H__
 #define __DALI_TOOLKIT_INTERNAL_WATER_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <sstream>
index 227812f..0dbc80f 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "cube-transition-cross-effect-impl.h"
index dfe8eca..20610c3 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_CUBE_TRANSITION_CROSS_EFFECT_H__
 #define __DALI_TOOLKIT_INTERNAL_CUBE_TRANSITION_CROSS_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 
index ce9efce..1a7adb5 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "cube-transition-effect-impl.h"
index 3a69422..b1d3a41 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_CUBE_TRANSITION_EFFECT_H__
 #define __DALI_TOOLKIT_INTERNAL_CUBE_TRANSITION_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 
@@ -50,9 +51,11 @@ public:
   FullAreaImageCreator(){}
 
   /**
-   * virtual destructor
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~FullAreaImageCreator(){}
+  ~FullAreaImageCreator(){}
 
   /**
    * Create an initialized FullAreaImageCreator.
index 74260d8..803ed2a 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "cube-transition-fold-effect-impl.h"
index 3b003dc..564738c 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_CUBE_TRANSITION_FOLD_EFFECT_H__
 #define __DALI_TOOLKIT_INTERNAL_CUBE_TRANSITION_FOLD_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 
index 4754938..d066d24 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "cube-transition-wave-effect-impl.h"
index 9cdfe96..a99f075 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_INTERNAL_CUBE_TRANSITION_WAVE_EFFECT_H__
 #define __DALI_TOOLKIT_INTERNAL_CUBE_TRANSITION_WAVE_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 
index 32b6fbc..6fa395a 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/public-api/controls/bloom-view/bloom-view.h>
index 42fe6f0..7edfc14 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_BLOOM_VIEW_H__
 #define __DALI_TOOLKIT_BLOOM_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/control.h>
@@ -108,9 +109,11 @@ public:
   BloomView& operator=(const BloomView& ZoomView);
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~BloomView();
+  ~BloomView();
 
   /**
    * Downcast an Object handle to BloomView. If handle points to a BloomView the
index d6415de..f867d01 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/bubble-effect/bubble-emitter.h>
 
index aecb12b..3081dbe 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/cluster/cluster-style.h>
 #include <dali-toolkit/internal/controls/cluster/cluster-style-impl.h>
index c65f24a..742ad51 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
index 8d6c3e4..8ab3ddb 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_CLUSTER_H__
 #define __DALI_TOOLKIT_CLUSTER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/control.h>
@@ -68,10 +69,11 @@ public:
   Cluster& operator=( const Cluster& cluster );
 
   /**
-   * Virtual destructor.
-   * Dali::Object derived classes typically do not contain member data.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~Cluster();
+  ~Cluster();
 
   /**
    * Create the Cluster control with the given style.
index a9a8062..ad44243 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 
index ca3d5e4..a742252 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_EFFECTS_VIEW_H__
 #define __DALI_TOOLKIT_EFFECTS_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 
@@ -108,10 +109,11 @@ public:
   static EffectsView DownCast( BaseHandle handle );
 
   /**
-   * Virtual destructor.
-   * Dali::Object derived classes typically do not contain member data.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~EffectsView();
+  ~EffectsView();
 
 public:
 
index 7285c50..524cc3c 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/public-api/controls/gaussian-blur-view/gaussian-blur-view.h>
index 913acde..ea80385 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_GAUSSIAN_BLUR_EFFECT_H__
 #define __DALI_TOOLKIT_GAUSSIAN_BLUR_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/control.h>
@@ -112,9 +113,11 @@ public:
   GaussianBlurView& operator=(const GaussianBlurView& ZoomView);
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~GaussianBlurView();
+  ~GaussianBlurView();
 
   /**
    * Downcast an Object handle to GaussianBlurView. If handle points to a GaussianBlurView the
index ac42aeb..afdda84 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/image-view/image-view.h>
 #include <dali-toolkit/internal/controls/image-view/image-view-impl.h>
index a5529b6..dee9e41 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_IMAGE_VIEW_H__
 #define __DALI_TOOLKIT_IMAGE_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/control.h>
@@ -87,10 +88,11 @@ public:
   ImageView& operator=( const ImageView& handle );
 
   /**
-   * Virtual destructor.
-   * Dali::Object derived classes typically do not contain member data.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~ImageView();
+  ~ImageView();
 
   /**
    * Create the Poup control
index 1097b46..665100b 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/image-view/masked-image-view.h>
index 24c9271..81542f0 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/magnifier/magnifier.h>
 #include <dali-toolkit/internal/controls/magnifier/magnifier-impl.h>
index df02af4..0f62504 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_MAGNIFIER_H__
 #define __DALI_TOOLKIT_MAGNIFIER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 
@@ -67,10 +68,11 @@ public:
   Magnifier& operator=( const Magnifier& handle );
 
   /**
-   * Virtual destructor.
-   * Dali::Object derived classes typically do not contain member data.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~Magnifier();
+  ~Magnifier();
 
   /**
    * Create the Poup control
index 31e0566..c35b57e 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_NAVIGATION_BAR_STYLE_H__
 #define __DALI_TOOLKIT_NAVIGATION_BAR_STYLE_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 namespace Dali DALI_IMPORT_API
 {
index d4f4afd..3f5da36 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "navigation-control.h"
index 6275e43..be49931 100644 (file)
@@ -1,24 +1,22 @@
 #ifndef __DALI_TOOLKIT_NAVIGATION_CONTROL_H__
 #define __DALI_TOOLKIT_NAVIGATION_CONTROL_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-// EXTERNAL INCLUDES
-#include <boost/function.hpp>
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/control.h>
@@ -104,9 +102,11 @@ public:
   NavigationControl& operator=( const NavigationControl& handle );
 
   /**
-   * virtual Destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~NavigationControl();
+  ~NavigationControl();
 
   /**
    * Create an initialized NavigationControl.
index f322b3a..ad075ef 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "page.h"
index 0dfc952..af0f17d 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_PAGE_H__
 #define __DALI_TOOLKIT_PAGE_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/control.h>
index d72a762..620be2c 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/page-turn-view/page-factory.h>
 
index 1e27fbe..f9bf393 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_PAGE_FACTORY_H__
 #define __DALI_TOOLKIT_PAGE_FACTORY_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index 8eeae67..a3091ce 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/public-api/controls/page-turn-view/page-turn-landscape-view.h>
index 2479044..00f99d9 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_PAGE_TURN_LANDSCAPE_VIEW_H__
 #define __DALI_TOOLKIT_PAGE_TURN_LANDSCAPE_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 //INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/page-turn-view/page-turn-view.h>
@@ -55,10 +56,11 @@ public:
   PageTurnLandscapeView& operator=( const PageTurnLandscapeView& pageTurnLandscapeView );
 
   /**
-   * Virtual destructor.
-   * Dali::Object derived classes typically do not contain member data.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~PageTurnLandscapeView();
+  ~PageTurnLandscapeView();
 
   /**
    * Create an initialized PageTurnLandscapeView control
index 14ac27f..7c6bc50 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/public-api/controls/page-turn-view/page-turn-portrait-view.h>
index 5d74cbf..1af8bf5 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_PAGE_TURN_PORTRAIT_VIEW_H__
 #define __DALI_TOOLKIT_PAGE_TURN_PORTRAIT_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 //INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/page-turn-view/page-turn-view.h>
@@ -55,10 +56,11 @@ public:
   PageTurnPortraitView& operator=( const PageTurnPortraitView& pageTurnPortraitView );
 
   /**
-   * Virtual destructor.
-   * Dali::Object derived classes typically do not contain member data.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~PageTurnPortraitView();
+  ~PageTurnPortraitView();
 
   /**
    * Create an initialized  PageTurnPortraitView control
index 7af4f71..9d60a19 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/page-turn-view/page-turn-view.h>
 #include <dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.h>
index 91aa276..b91aeec 100644 (file)
@@ -1,24 +1,22 @@
 #ifndef __DALI_TOOLKIT_PAGE_TURN_VIEW_H__
 #define __DALI_TOOLKIT_PAGE_TURN_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-// EXTERNAL INCLUDES
-#include <boost/function.hpp>
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/control.h>
@@ -76,9 +74,11 @@ public:
   PageTurnView& operator=( const PageTurnView& handle );
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~PageTurnView();
+  ~PageTurnView();
 
   /**
    * Downcast an Object handle to PageTurnView.
index 4e94693..6e73cfa 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/selectors/rotating-selector.h>
 #include <dali-toolkit/internal/controls/selectors/rotating-selector-impl.h>
index b429434..747c700 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_CUSTOM_CHECK_ACTOR_H__
 #define __DALI_TOOLKIT_CUSTOM_CHECK_ACTOR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -61,8 +62,9 @@ public:
   RotatingSelector& operator=( const RotatingSelector& rotatingSelector );
 
   /**
-   * Virtual destructor.
-   * Dali::Object derived classes typically do not contain member data.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
   ~RotatingSelector();
 
index c09a556..41716b3 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/public-api/controls/shadow-view/shadow-view.h>
index 1d8a898..0013ab5 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SHADOW_VIEW_H__
 #define __DALI_TOOLKIT_SHADOW_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 
@@ -121,9 +122,11 @@ public:
   ShadowView& operator=(const ShadowView& view);
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~ShadowView();
+  ~ShadowView();
 
   /**
    * Downcast an Object handle to ShadowView. If handle points to a ShadowView the
index 6ada0ec..4e12873 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/controls/slider/slider.h>
 #include <dali-toolkit/internal/controls/slider/slider-impl.h>
index a87bf2f..4f111dc 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SLIDER_H__
 #define __DALI_TOOLKIT_SLIDER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/control.h>
@@ -95,10 +96,11 @@ public:
   Slider& operator=( const Slider& handle );
 
   /**
-   * Virtual destructor.
-   * Dali::Object derived classes typically do not contain member data.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~Slider();
+  ~Slider();
 
   /**
    * Downcast an Object handle to Slider. If handle points to a Slider the
index 0bb9657..efbfc36 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/public-api/controls/super-blur-view/super-blur-view.h>
index d07cbfc..746340c 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
index b05439e..76653be 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_TOOL_BAR_H__
 #define __DALI_TOOLKIT_TOOL_BAR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 #include <string>
@@ -67,9 +68,11 @@ public:
   ToolBar& operator=( const ToolBar& handle );
 
   /**
-   * virtual Destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~ToolBar();
+  ~ToolBar();
 
   /**
    * Create an initialized ToolBar.
index aeba700..bf2b822 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
index 08826c0..0371b92 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_VIEW_H__
 #define __DALI_TOOLKIT_VIEW_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/control.h>
@@ -100,9 +101,11 @@ public:
   View& operator=( const View& handle );
 
   /**
-   * virtual Destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~View();
+  ~View();
 
   /**
    * Create an initialized View.
index a97558c..ba93b35 100755 (executable)
@@ -49,14 +49,11 @@ public_api_optional_src_files = \
   $(public_api_optional_src_dir)/shader-effects/water-effect.cpp \
   $(public_api_optional_src_dir)/shader-effects/bubble-effect/bubble-effect.cpp \
   $(public_api_optional_src_dir)/shader-effects/bubble-effect/color-adjuster.cpp \
-  $(public_api_optional_src_dir)/builder/builder.cpp \
-  $(public_api_optional_src_dir)/builder/json-parser.cpp \
-  $(public_api_optional_src_dir)/builder/tree-node.cpp \
   $(public_api_optional_src_dir)/transition-effects/cube-transition-effect.cpp \
   $(public_api_optional_src_dir)/transition-effects/cube-transition-wave-effect.cpp \
   $(public_api_optional_src_dir)/transition-effects/cube-transition-cross-effect.cpp \
   $(public_api_optional_src_dir)/transition-effects/cube-transition-fold-effect.cpp
-
+  
 # Add public header files here
 
 public_api_optional_header_files =
@@ -135,13 +132,9 @@ public_api_optional_bubble_effect_header_files =  \
 
 public_api_optional_bubble_emitter_header_files =
 
-public_api_optional_builder_header_files = \
-  $(public_api_optional_src_dir)/builder/builder.h \
-  $(public_api_optional_src_dir)/builder/json-parser.h \
-  $(public_api_optional_src_dir)/builder/tree-node.h
-
 public_api_optional_transition_effects_header_files = \
   $(public_api_optional_src_dir)/transition-effects/cube-transition-effect.h \
   $(public_api_optional_src_dir)/transition-effects/cube-transition-wave-effect.h \
   $(public_api_optional_src_dir)/transition-effects/cube-transition-cross-effect.h \
   $(public_api_optional_src_dir)/transition-effects/cube-transition-fold-effect.h
+
index ab34479..86e8da0 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/public-api/shader-effects/alpha-discard-effect.h>
index 2761001..abc1f59 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_ALPHA_DISCARD_EFFECT_H__
 #define __DALI_TOOLKIT_ALPHA_DISCARD_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -46,9 +47,11 @@ public:
   AlphaDiscardEffect();
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~AlphaDiscardEffect();
+  ~AlphaDiscardEffect();
 
   /**
    * Create a AlphaDiscardEffect.
index b0dad35..9ad0a86 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/shader-effects/bendy-effect.h>
 
index e443f69..f073fed 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SHADER_EFFECT_BENDY_H__
 #define __DALI_TOOLKIT_SHADER_EFFECT_BENDY_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -40,9 +41,11 @@ public:
   BendyEffect();
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~BendyEffect();
+  ~BendyEffect();
 
   /**
    * Create an initialized BendyEffect.
index 4dd11a1..4e2abc3 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/shader-effects/blind-effect.h>
 
index 10fa857..6968611 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SHADER_EFFECT_BLIND_H__
 #define __DALI_TOOLKIT_SHADER_EFFECT_BLIND_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -40,9 +41,11 @@ public:
   BlindEffect();
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~BlindEffect();
+  ~BlindEffect();
 
   /**
    * Create an initialized ~BlindEffect.
index 71e7f05..94da2f4 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL HEADERS
 #include <sstream>
index cf3dabd..69a1c3a 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SHADER_BUBBLE_EFFECT_H__
 #define __DALI_TOOLKIT_SHADER_BUBBLE_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -40,9 +41,11 @@ public:
   BubbleEffect();
 
   /**
-   * Virtual destructor
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~BubbleEffect();
+  ~BubbleEffect();
 
   /**
    * Create an initialized BubbleEffect
index 885d9e8..e642081 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include "color-adjuster.h"
 
index 8c1884a..0dac3e5 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SHADER_COLOR_ADJUSTER_H__
 #define __DALI_TOOLKIT_SHADER_COLOR_ADJUSTER_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -39,9 +40,11 @@ public:
   ColorAdjuster();
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~ColorAdjuster();
+  ~ColorAdjuster();
 
   /**
    * Create an initialized ColorAdjuster.
index 6707ae5..5b1e324 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/shader-effects/carousel-effect.h>
 
index 4190d69..9e899ef 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_CAROUSEL_EFFECT_H__
 #define __DALI_TOOLKIT_CAROUSEL_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -50,9 +51,11 @@ public:
   CarouselEffect();
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~CarouselEffect();
+  ~CarouselEffect();
 
   /**
    * Create an initialized CarouselEffect.
index 6594657..7e3158c 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/shader-effects/displacement-effect.h>
 namespace Dali
index ee163b3..7f7e2ec 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SHADER_EFFECT_DISPLACEMENT_H__
 #define __DALI_TOOLKIT_SHADER_EFFECT_DISPLACEMENT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -87,9 +88,11 @@ public:
   DisplacementEffect();
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~DisplacementEffect();
+  ~DisplacementEffect();
 
   /**
    * Create an initialized DisplacementEffect
index c623f0c..149e225 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/shader-effects/dissolve-effect.h>
 
index 5646390..e63f6be 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <sstream>
 
index ee9fba0..7b01b59 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SHADER_EFFECT_LOCAL_DISSOLVE_H__
 #define __DALI_TOOLKIT_SHADER_EFFECT_LOCAL_DISSOLVE_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -40,9 +41,11 @@ public:
   DissolveLocalEffect();
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~DissolveLocalEffect();
+  ~DissolveLocalEffect();
 
   /**
    * Create an initialized DissolveLocalEffect.
index 7abddcd..5c37f36 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/shader-effects/distance-field-effect.h>
 
index cc3fb69..17904a2 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SHADER_EFFECT_DISTANCEFIELD_H__
 #define __DALI_TOOLKIT_SHADER_EFFECT_DISTANCEFIELD_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -40,9 +41,11 @@ public:
   DistanceFieldEffect();
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~DistanceFieldEffect();
+  ~DistanceFieldEffect();
 
   /**
    * Create an initialized DistanceFieldEffect.
index 7c49ab9..635caab 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/shader-effects/iris-effect.h>
 namespace Dali
index 918b365..50b4c2c 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/public-api/shader-effects/mask-effect.h>
index 4b72f0f..2663567 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/shader-effects/mirror-effect.h>
 
index 42af6af..3e9ebab 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_MIRROR_EFFECT_H__
 #define __DALI_TOOLKIT_MIRROR_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -40,9 +41,11 @@ public:
   MirrorEffect();
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~MirrorEffect();
+  ~MirrorEffect();
 
   /**
    * Create an initialized MirrorEffect.
index c28eaa9..830accc 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/shader-effects/motion-blur-effect.h>
 namespace Dali
index 3099d48..053531b 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SHADER_EFFECT_MOTION_BLUR_H__
 #define __DALI_TOOLKIT_SHADER_EFFECT_MOTION_BLUR_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 
@@ -56,9 +57,11 @@ public:
   MotionBlurEffect();
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~MotionBlurEffect();
+  ~MotionBlurEffect();
 
   /**
    * Create an initialized MotionBlurEffect
index cc2a9ca..3834f40 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/shader-effects/motion-stretch-effect.h>
 namespace Dali
index af32b52..e097748 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SHADER_EFFECT_MOTION_STRETCH_H__
 #define __DALI_TOOLKIT_SHADER_EFFECT_MOTION_STRETCH_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // EXTERNAL INCLUDES
 
@@ -55,9 +56,11 @@ public:
   MotionStretchEffect();
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~MotionStretchEffect();
+  ~MotionStretchEffect();
 
   /**
    * Create an initialized MotionStretchEffect
index fc1740b..e1799d9 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/public-api/shader-effects/nine-patch-mask-effect.h>
index 301a096..dd0334b 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/public-api/shader-effects/overlay-effect.h>
index 8346d67..1f9e41e 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_OVERLAY_EFFECT_H__
 #define __DALI_TOOLKIT_OVERLAY_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -46,9 +47,11 @@ public:
   OverlayEffect();
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~OverlayEffect();
+  ~OverlayEffect();
 
   /**
    * Create a OverlayEffect.
index 9ea742c..7d932ca 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/shader-effects/page-turn-book-spine-effect.h>
 
index 38e6449..2732952 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/public-api/shader-effects/page-turn-effect.h>
index a685e0c..9ebf825 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/shader-effects/ripple-effect.h>
 
index d2d0633..43f2c02 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/shader-effects/ripple2d-effect.h>
 
index 98c67c2..51d64b7 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/shader-effects/shear-effect.h>
 
index 87a1e3f..780d2ce 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SHEAR_EFFECT_H__
 #define __DALI_TOOLKIT_SHEAR_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -40,9 +41,11 @@ public:
   ShearEffect();
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~ShearEffect();
+  ~ShearEffect();
 
   /**
    * Create an initialized ShearEffect.
index b9f2a67..92015b9 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/shader-effects/soft-button-effect.h>
 namespace Dali
index 3b783f6..ae54df0 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SHADER_EFFECT_SOFT_BUTTON_H__
 #define __DALI_TOOLKIT_SHADER_EFFECT_SOFT_BUTTON_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -60,9 +61,11 @@ public:
   SoftButtonEffect();
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~SoftButtonEffect();
+  ~SoftButtonEffect();
 
   typedef enum
   {
index eed6958..5755dd3 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/shader-effects/spot-effect.h>
 
index 3b5efd7..c435dd9 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SHADER_EFFECT_SPOT_H__
 #define __DALI_TOOLKIT_SHADER_EFFECT_SPOT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -40,9 +41,11 @@ public:
   SpotEffect();
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~SpotEffect();
+  ~SpotEffect();
 
   /**
    * Create an initialized SpotEffect.
index 72875cc..89328fb 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/shader-effects/square-dissolve-effect.h>
 
index a3ff470..d8db126 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_SHADER_EFFECT_SQUARE_H__
 #define __DALI_TOOLKIT_SHADER_EFFECT_SQUARE_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -40,9 +41,11 @@ public:
   SquareDissolveEffect();
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~SquareDissolveEffect();
+  ~SquareDissolveEffect();
 
   /**
    * Create an initialized SquareDissolveEffect.
index 13b2333..a2624ba 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 #include <dali-toolkit/public-api/shader-effects/swirl-effect.h>
 
index 2b2ac1e..663d5ae 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include <dali-toolkit/public-api/shader-effects/water-effect.h>
index 9ab412c..e40ea54 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_WATER_EFFECT_H__
 #define __DALI_TOOLKIT_WATER_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
@@ -64,9 +65,11 @@ public:
   WaterEffect();
 
   /**
-   * Virtual destructor.
+   * @brief Destructor
+   *
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~WaterEffect();
+  ~WaterEffect();
 
   /**
    * Create an initialized WaterEffect.
index fe74abe..076a708 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "cube-transition-cross-effect.h"
index 79828b8..22c79d3 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_CUBE_TRANSITION_CROSS_EFFECT_H__
 #define __DALI_TOOLKIT_CUBE_TRANSITION_CROSS_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/transition-effects/cube-transition-effect.h>
 
index 24cbf81..df4c369 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "cube-transition-effect.h"
index 6692cff..23062f9 100644 (file)
@@ -1,24 +1,22 @@
 #ifndef __DALI_TOOLKIT_CUBE_TRANSITION_EFFECT_H__
 #define __DALI_TOOLKIT_CUBE_TRANSITION_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-// EXTERNAL INCLUDES
-#include <boost/function.hpp>
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali/dali.h>
index 3489df2..32816f7 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "cube-transition-fold-effect.h"
index b2ca86f..13005a0 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_CUBE_TRANSITION_FOLD_EFFECT_H__
 #define __DALI_TOOLKIT_CUBE_TRANSITION_FOLD_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/transition-effects/cube-transition-effect.h>
 
index 330fa48..d55710f 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 #include "cube-transition-wave-effect.h"
index a37c32f..deaa4dd 100644 (file)
@@ -1,21 +1,22 @@
 #ifndef __DALI_TOOLKIT_CUBE_TRANSITION_WAVE_EFFECT_H__
 #define __DALI_TOOLKIT_CUBE_TRANSITION_WAVE_EFFECT_H__
 
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/transition-effects/cube-transition-effect.h>
 
index 0c64426..0ae01d7 100644 (file)
@@ -1,26 +1,22 @@
 Name:       dali-toolkit
 Summary:    The OpenGLES Canvas Core Library Toolkit
-Version:    0.9.18
+Version:    1.0.1
 Release:    1
 Group:      System/Libraries
-License:    Flora
+License:    Apache-2.0
 URL:        https://review.tizen.org/git/?p=platform/core/uifw/dali-toolkit.git;a=summary
 Source0:    %{name}-%{version}.tar.gz
 
 Requires(post): /sbin/ldconfig
 Requires(postun): /sbin/ldconfig
-Requires:       boost
-Requires:       dali-adaptor-dali-feedback-plugin
 Requires:       dali
 # Do NOT put an adaptor here - it is an application choice which adaptor to use
 BuildRequires:  pkgconfig
 BuildRequires:  pkgconfig(dlog)
 BuildRequires:  boost-devel
-BuildRequires:  dali-devel
-BuildRequires:  dali-adaptor-devel
+BuildRequires:  pkgconfig(dali)
+BuildRequires:  pkgconfig(dali-core)
 BuildRequires:  fribidi-devel
-BuildRequires:  pkgconfig(utilX)
-ExclusiveArch:  armv7l
 
 %description
 The OpenGLES Canvas Core Library Toolkit - a set of controls that provide
@@ -39,17 +35,6 @@ Requires:   boost-devel
 Application development package for the OpenGLES Canvas toolkit - headers and package config
 
 ##############################
-# Dali Base library
-##############################
-%package dali-toolkit-base
-Summary:    The basic OpenGLES Canvas Core Library Toolkit
-Group:      Development/Building
-
-%description dali-toolkit-base
-A subset of the controls provided by the main package, intended for lightweight applications.
-all the controls provided by the main package.
-
-##############################
 # Preparation
 ##############################
 %prep
@@ -58,6 +43,7 @@ all the controls provided by the main package.
 %define dali_data_ro_dir            /usr/share/dali/
 %define dali_toolkit_image_files    %{dali_data_ro_dir}/toolkit/images/
 %define dali_toolkit_sound_files    %{dali_data_ro_dir}/toolkit/sounds/
+%define dali_toolkit_style_files    %{dali_data_ro_dir}/toolkit/styles/
 %define dev_include_path %{_includedir}
 
 ##############################
@@ -75,9 +61,11 @@ export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
 %endif
 
 libtoolize --force
-cd %{_builddir}/dali-toolkit-%{version}/build/slp && autoreconf --install
-cd %{_builddir}/dali-toolkit-%{version}/build/slp && CXXFLAGS=$CXXFLAGS LDFLAGS=$LDFLAGS DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}" ./configure --prefix=$PREFIX
-
+cd %{_builddir}/dali-toolkit-%{version}/build/slp
+autoreconf --install
+DALI_DATA_RW_DIR="%{dali_data_rw_dir}" ; export DALI_DATA_RW_DIR
+DALI_DATA_RO_DIR="%{dali_data_ro_dir}" ; export DALI_DATA_RO_DIR
+%configure
 make %{?jobs:-j%jobs}
 
 ##############################
@@ -99,10 +87,6 @@ cp -af %{_builddir}/%{name}-%{version}/LICENSE %{buildroot}/usr/share/license/%{
 /sbin/ldconfig
 exit 0
 
-%post dali-toolkit-base
-/sbin/ldconfig
-exit 0
-
 ##############################
 # Post Uninstall
 ##############################
@@ -110,19 +94,20 @@ exit 0
 /sbin/ldconfig
 exit 0
 
-%postun dali-toolkit-base
-/sbin/ldconfig
-exit 0
-
 ##############################
 # Files in Binary Packages
 ##############################
 %files
+%if 0%{?enable_dali_smack_rules}
+%manifest dali-toolkit.manifest-smack
+%else
 %manifest dali-toolkit.manifest
+%endif
 %defattr(-,root,root,-)
 %{_libdir}/lib%{name}.so*
 %{dali_toolkit_image_files}/*
 %{dali_toolkit_sound_files}/*
+%{dali_toolkit_style_files}/*
 %{_datadir}/license/%{name}
 
 %files devel
@@ -130,6 +115,3 @@ exit 0
 %{dev_include_path}/%{name}/*
 %{_libdir}/pkgconfig/*.pc
 
-%files dali-toolkit-base
-%defattr(-,root,root,-)
-%{_libdir}/libdali-toolkit-base.so*