#include <dali-toolkit-test-suite-utils.h>
#include <dali-toolkit/dali-toolkit.h>
#include <dali/integration-api/events/touch-event-integ.h>
-#include <dali/integration-api/events/wheel-event-integ.h>
+
using namespace Dali;
using namespace Toolkit;
static bool gObjectCreatedCallBackCalled;
static bool gOnLayoutActivatedCalled; ///< Whether the LayoutActivated signal was invoked.
static bool gOnScrollUpdateCalled;
-static bool gOnWheelEventCalled; ///< Whether the WheelEventSignal signal was invoked.
static void TestCallback(BaseHandle handle)
{
gOnScrollUpdateCalled = true;
}
-static bool OnWheelEvent( Actor actor, const Dali::WheelEvent& wheelEvent )
-{
- gOnWheelEventCalled = true;
- return false;
-}
-
Integration::TouchEvent GenerateSingleTouch( PointState::Type state, const Vector2& screenPosition, uint32_t time )
{
Integration::TouchEvent touchEvent;
END_TEST;
}
-
-int UtcDaliItemViewWheelEvent(void)
-{
- ToolkitTestApplication application;
- Dali::Integration::Scene stage = application.GetScene();
-
- // Create the ItemView actor
- TestItemFactory factory;
- ItemView view = ItemView::New( factory );
-
- // Create a grid layout and add it to ItemView
- ItemLayoutPtr gridLayout = DefaultItemLayout::New( DefaultItemLayout::GRID );
- view.AddLayout( *gridLayout );
- stage.Add( view );
-
- // Activate the grid layout so that the items will be created and added to ItemView
- Vector3 stageSize( stage.GetSize() );
- view.ActivateLayout (0, stageSize, 0.5f );
-
- //Connect to wheel event signal
- view.WheelEventSignal().Connect( &OnWheelEvent );
-
- DALI_TEST_CHECK( !gOnWheelEventCalled );
-
- // Render and notify
- application.Render();
- application.SendNotification();
- application.Render();
- application.SendNotification();
-
- // Perform a wheel event
- Dali::Integration::WheelEvent wheelEvent( Dali::Integration::WheelEvent::MOUSE_WHEEL, 0, 0u, Vector2( 10.0f, 10.0f ), 1, 1000u );
- application.ProcessEvent( wheelEvent );
- DALI_TEST_CHECK( gOnWheelEventCalled );
-
- END_TEST;
-}
#include <dali-toolkit-test-suite-utils.h>
#include <dali-toolkit/dali-toolkit.h>
#include <dali/integration-api/events/touch-event-integ.h>
-#include <dali/integration-api/events/wheel-event-integ.h>
using namespace Dali;
using namespace Toolkit;
static bool gOnScrollUpdateCalled; ///< Whether the OnScrollUpdate signal was invoked.
static bool gOnScrollCompleteCalled; ///< Whether the OnScrollComplete signal was invoked.
static bool gOnSnapStartCalled; ///< Whether the OnSnapStart signal was invoked.
-static bool gOnWheelEventCalled; ///< Whether the WheelEventSignal signal was invoked.
static SnapType gLastSnapType; ///< Snaping information from SnapEvent.
static Vector3 gConstraintResult; ///< Result from constraint.
}
/**
- * Invoked after a wheel-event is received
- *
- * @param[in] actor The owing actor
- * @param[in] event The wheel event
- * @return True if the event should be consumed
- */
-static bool OnWheelEvent( Actor actor, const Dali::WheelEvent& wheelEvent )
-{
- gOnWheelEventCalled = true;
- return false;
-}
-
-/**
* TestSumConstraint
*
* Summation of current value, property, and offset.
END_TEST;
}
-
-int UtcDaliToolkitScrollViewWheelEvent(void)
-{
- ToolkitTestApplication application;
-
- // Set up a scrollView.
- ScrollView scrollView = ScrollView::New();
-
- // Do not rely on stage size for UTC tests.
- Vector2 viewPageSize( 720.0f, 1280.0f );
- scrollView.SetResizePolicy( ResizePolicy::FIXED, Dimension::ALL_DIMENSIONS );
- scrollView.SetProperty( Actor::Property::SIZE, viewPageSize );
- scrollView.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
- scrollView.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER );
- scrollView.SetProperty( Actor::Property::POSITION, Vector3( 0.0f, 0.0f, 0.0f ));
-
- // Position rulers.
- // We set the X ruler to fixed to give us pages to snap to.
- Dali::Toolkit::FixedRuler* rulerX = new Dali::Toolkit::FixedRuler( viewPageSize.width );
- // Note: The 3x page width is arbitary, but we need enough to show that we are
- // capping page movement by the page limiter, and not the domain.
- rulerX->SetDomain( Dali::Toolkit::RulerDomain( 0.0f, viewPageSize.width * 3.0f, false ) );
- Dali::Toolkit::RulerPtr rulerY = new Dali::Toolkit::DefaultRuler();
- rulerY->Disable();
- scrollView.SetRulerX( rulerX );
- scrollView.SetRulerY( rulerY );
-
- scrollView.SetWrapMode( false );
-
- application.GetScene().Add( scrollView );
-
- //Connect to wheel event signal
- scrollView.WheelEventSignal().Connect( &OnWheelEvent );
-
- DALI_TEST_CHECK( !gOnWheelEventCalled );
-
- // Render and notify
- application.Render();
- application.SendNotification();
- application.Render();
- application.SendNotification();
-
- // Perform a wheel event
- Dali::Integration::WheelEvent wheelEvent( Dali::Integration::WheelEvent::MOUSE_WHEEL, 0, 0u, Vector2( 10.0f, 10.0f ), 1, 1000u );
- application.ProcessEvent( wheelEvent );
- DALI_TEST_CHECK( gOnWheelEventCalled );
-
- // Set X ruler to free
- Dali::Toolkit::DefaultRuler* defaultRuler = new Dali::Toolkit::DefaultRuler();
- scrollView.SetRulerX( defaultRuler );
-
- // Perform a wheel event
- gOnWheelEventCalled = false;
- application.ProcessEvent( wheelEvent );
- DALI_TEST_CHECK( gOnWheelEventCalled );
-
- // Enable Y ruler
- rulerY->Enable();
-
- // Perform a wheel event
- gOnWheelEventCalled = false;
- application.ProcessEvent( wheelEvent );
- DALI_TEST_CHECK( gOnWheelEventCalled );
-
- // Wait until it finishes scrolling
- Wait(application, RENDER_DELAY_SCROLL);
-
- // Set Y ruler to fixed
- Dali::Toolkit::FixedRuler* fixedRulerY = new Dali::Toolkit::FixedRuler( viewPageSize.height );
- scrollView.SetRulerY( fixedRulerY );
-
- // Perform a wheel event
- gOnWheelEventCalled = false;
- application.ProcessEvent( wheelEvent );
- DALI_TEST_CHECK( gOnWheelEventCalled );
-
- END_TEST;
-}
if(mRulerX->GetType() == Ruler::Free)
{
// Free panning mode
- targetScrollPosition.x += event.GetDelta() * mWheelScrollDistanceStep.x;
+ targetScrollPosition.x += event.z * mWheelScrollDistanceStep.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.GetDelta());
+ ScrollTo(GetCurrentPage() - event.z);
}
}
else
if(mRulerY->GetType() == Ruler::Free)
{
// Free panning mode
- targetScrollPosition.y += event.GetDelta() * mWheelScrollDistanceStep.y;
+ targetScrollPosition.y += event.z * mWheelScrollDistanceStep.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.GetDelta() * mRulerX->GetTotalPages());
+ ScrollTo(GetCurrentPage() - event.z * mRulerX->GetTotalPages());
}
}