-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/internal/event/events/gesture-event-processor.h>
#include <dali/integration-api/render-controller.h>
#include <dali/internal/event/common/stage-impl.h>
#include <dali/internal/event/events/pinch-gesture-detector-impl.h>
+#include <dali/internal/update/gestures/scene-graph-pan-gesture.h>
#include <dali/public-api/events/pan-gesture.h>
namespace Dali
namespace Internal
{
-GestureEventProcessor::GestureEventProcessor(Stage& stage, Integration::GestureManager& gestureManager, Integration::RenderController& renderController)
-: mStage(stage),
- mGestureManager(gestureManager),
- mLongPressGestureProcessor(stage, gestureManager),
- mPanGestureProcessor(stage, gestureManager),
- mPinchGestureProcessor(stage, gestureManager),
- mTapGestureProcessor(stage, gestureManager),
- mRenderController(renderController),
+GestureEventProcessor::GestureEventProcessor( Stage& stage, SceneGraph::UpdateManager& updateManager, Integration::GestureManager& gestureManager, Integration::RenderController& renderController )
+: mStage( stage ),
+ mGestureManager( gestureManager ),
+ mLongPressGestureProcessor( stage, gestureManager ),
+ mPanGestureProcessor( stage, gestureManager, updateManager ),
+ mPinchGestureProcessor( stage, gestureManager ),
+ mTapGestureProcessor( stage, gestureManager ),
+ mRenderController( renderController ),
mUpdateRequired( false )
{
}
case Gesture::Tap:
mTapGestureProcessor.Process(static_cast<const Integration::TapGestureEvent&>(event));
break;
-
- default:
- DALI_ASSERT_ALWAYS( false && "Invalid gesture type sent from Integration\n" );
- break;
}
}
mTapGestureProcessor.AddGestureDetector(tap);
break;
}
-
- default:
- DALI_ASSERT_DEBUG( false && "Invalid gesture detector type created\n" );
- break;
}
}
mTapGestureProcessor.RemoveGestureDetector(tap);
break;
}
-
- default:
- DALI_ASSERT_DEBUG( false && "Invalid gesture detector type removal request\n" );
- break;
}
}
mTapGestureProcessor.GestureDetectorUpdated(tap);
break;
}
-
- default:
- DALI_ASSERT_DEBUG( false && "Invalid gesture type update request\n" );
- break;
}
}
SetUpdateRequired();
// We may not be updating so we need to ask the render controller for an update.
- mRenderController.RequestUpdate();
+ mRenderController.RequestUpdate( false );
}
switch ( gesture.type )
mPanGestureProcessor.EnableProfiling();
}
+void GestureEventProcessor::SetPanGesturePredictionMode(int mode)
+{
+ mPanGestureProcessor.SetPredictionMode(mode);
+}
+
+void GestureEventProcessor::SetPanGesturePredictionAmount( unsigned int amount )
+{
+ mPanGestureProcessor.SetPredictionAmount(amount);
+}
+
+void GestureEventProcessor::SetPanGestureMaximumPredictionAmount( unsigned int amount )
+{
+ mPanGestureProcessor.SetMaximumPredictionAmount(amount);
+}
+
+void GestureEventProcessor::SetPanGestureMinimumPredictionAmount( unsigned int amount )
+{
+ mPanGestureProcessor.SetMinimumPredictionAmount(amount);
+}
+
+void GestureEventProcessor::SetPanGesturePredictionAmountAdjustment( unsigned int amount )
+{
+ mPanGestureProcessor.SetPredictionAmountAdjustment(amount);
+}
+
+void GestureEventProcessor::SetPanGestureSmoothingMode(int mode)
+{
+ mPanGestureProcessor.SetSmoothingMode(mode);
+}
+
+void GestureEventProcessor::SetPanGestureSmoothingAmount( float amount )
+{
+ mPanGestureProcessor.SetSmoothingAmount(amount);
+}
+
} // namespace Internal
} // namespace Dali