return false;
}
+struct CallbackFunctor
+{
+ CallbackFunctor(bool* callbackFlag)
+ : mCallbackFlag( callbackFlag )
+ {
+ }
+
+ void operator()()
+ {
+ *mCallbackFlag = true;
+ }
+ bool* mCallbackFlag;
+};
+
+
Image CreateSolidColorImage( const Vector4& color, unsigned int width, unsigned int height )
{
BufferImage imageData = BufferImage::New( width, height, Pixel::RGBA8888 );
return imageData;
}
-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 );
+Dali::Integration::Point GetPointDownInside()
+{
+ Dali::Integration::Point point;
+ point.SetState( PointState::DOWN );
+ point.SetScreenPosition( Vector2( 240, 400 ) );
+ return point;
+}
+
+Dali::Integration::Point GetPointUpInside()
+{
+ Dali::Integration::Point point;
+ point.SetState( PointState::UP );
+ point.SetScreenPosition( Vector2( 240, 400 ) );
+ return point;
+}
+
+Dali::Integration::Point GetPointLeave()
+{
+ Dali::Integration::Point point;
+ point.SetState( PointState::LEAVE );
+ point.SetScreenPosition( Vector2( 240, 400 ) );
+ return point;
+}
+
+Dali::Integration::Point GetPointEnter()
+{
+ Dali::Integration::Point point;
+ point.SetState( PointState::MOTION );
+ point.SetScreenPosition( Vector2( 240, 400 ) );
+ return point;
+}
+
+Dali::Integration::Point GetPointDownOutside()
+{
+ Dali::Integration::Point point;
+ point.SetState( PointState::DOWN );
+ point.SetScreenPosition( Vector2( 10, 10 ) );
+ return point;
+}
+
+Dali::Integration::Point GetPointUpOutside()
+{
+ Dali::Integration::Point point;
+ point.SetState( PointState::UP );
+ point.SetScreenPosition( Vector2( 10, 10 ) );
+ return point;
+}
+
static float ANIMATION_TIME( 0.5f );
} // namespace
application.Render();
Vector3 size = pushButton.GetCurrentSize();
- tet_printf( "todor: size: %f,%f", size.width, size.height );
DALI_TEST_EQUALS( size.width, 20.f, TEST_LOCATION );
DALI_TEST_EQUALS( size.height, 20.f, TEST_LOCATION );
application.Render();
// connect to its touch signal
+ ConnectionTracker* testTracker = new ConnectionTracker();
button.PressedSignal().Connect( &ButtonCallback );
button.ReleasedSignal().Connect( &ButtonCallback );
+ bool pressedSignal = false;
+ bool releasedSignal = false;
+ button.ConnectSignal( testTracker, "pressed", CallbackFunctor(&pressedSignal) );
+ button.ConnectSignal( testTracker, "released", CallbackFunctor(&releasedSignal) );
Dali::Integration::TouchEvent event;
gIsCalledButtonCallback = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointDownInside );
+ event.AddPoint( GetPointDownInside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( gIsCalledButtonCallback );
+ DALI_TEST_CHECK( pressedSignal );
gIsCalledButtonCallback = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointUpInside );
+ event.AddPoint( GetPointUpInside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( gIsCalledButtonCallback );
+ DALI_TEST_CHECK( releasedSignal );
// Test2. Touch point down and up outside the button.
+ pressedSignal = false;
+ releasedSignal = false;
gIsCalledButtonCallback = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointDownOutside );
+ event.AddPoint( GetPointDownOutside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( !gIsCalledButtonCallback );
+ DALI_TEST_CHECK( !pressedSignal );
gIsCalledButtonCallback = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointUpOutside );
+ event.AddPoint( GetPointUpOutside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( !gIsCalledButtonCallback );
+ DALI_TEST_CHECK( !releasedSignal );
// Test3. Touch point down inside and up outside the button.
gIsCalledButtonCallback = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointDownInside );
+ event.AddPoint( GetPointDownInside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( gIsCalledButtonCallback );
gIsCalledButtonCallback = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointLeave );
+ event.AddPoint( GetPointLeave() );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointUpOutside );
+ event.AddPoint( GetPointUpOutside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( gIsCalledButtonCallback );
gIsCalledButtonCallback = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointDownOutside );
+ event.AddPoint( GetPointDownOutside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( !gIsCalledButtonCallback );
gIsCalledButtonCallback = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointEnter );
+ event.AddPoint( GetPointEnter() );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointUpInside );
+ event.AddPoint( GetPointUpInside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( !gIsCalledButtonCallback );
// connect to its touch signal
button.ClickedSignal().Connect( &ButtonCallback );
+ bool clickedSignal = false;
+ ConnectionTracker* testTracker = new ConnectionTracker();
+ button.ConnectSignal( testTracker, "clicked", CallbackFunctor(&clickedSignal) );
Dali::Integration::TouchEvent event;
gIsCalledButtonCallback = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointDownInside );
+ event.AddPoint( GetPointDownInside() );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointUpInside );
+ event.AddPoint( GetPointUpInside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( gIsCalledButtonCallback );
+ DALI_TEST_CHECK( clickedSignal );
// Test2. Touch point down and up outside the button.
gIsCalledButtonCallback = false;
+ clickedSignal = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointDownOutside );
+ event.AddPoint( GetPointDownOutside() );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointUpOutside );
+ event.AddPoint( GetPointUpOutside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( !gIsCalledButtonCallback );
+ DALI_TEST_CHECK( !clickedSignal );
// Test3. Touch point down inside and up outside the button.
gIsCalledButtonCallback = false;
+ clickedSignal = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointDownInside );
+ event.AddPoint( GetPointDownInside() );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointLeave );
+ event.AddPoint( GetPointLeave() );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointUpOutside );
+ event.AddPoint( GetPointUpOutside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( !gIsCalledButtonCallback );
+ DALI_TEST_CHECK( !clickedSignal );
// Test4. Touch point down outside and up inside the button.
gIsCalledButtonCallback = false;
+ clickedSignal = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointDownOutside );
+ event.AddPoint( GetPointDownOutside() );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointEnter );
+ event.AddPoint( GetPointEnter() );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointUpInside );
+ event.AddPoint( GetPointUpInside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( !gIsCalledButtonCallback );
+ DALI_TEST_CHECK( !clickedSignal );
END_TEST;
}
// connect to its signal
button.StateChangedSignal().Connect( &ButtonCallback );
+ bool stateChangedSignal = false;
+ ConnectionTracker* testTracker = new ConnectionTracker();
+ button.ConnectSignal( testTracker, "stateChanged", CallbackFunctor(&stateChangedSignal) );
gIsCalledButtonCallback = false;
button.SetSelected( true );
DALI_TEST_CHECK( gIsCalledButtonCallback );
+ DALI_TEST_CHECK( stateChangedSignal );
gIsCalledButtonCallback = false;
+ stateChangedSignal = false;
+
button.SetSelected( false );
DALI_TEST_CHECK( gIsCalledButtonCallback );
+ DALI_TEST_CHECK( stateChangedSignal );
END_TEST;
}