- public boolean onScale(ScaleGestureDetector detector) {
- float f = detector.getScaleFactor();
- AltosDebug.debug("onScale %f\n", f);
- if (f <= 0.8) {
- map.set_zoom(map.get_zoom() - 1);
- return true;
- }
- if (f >= 1.2) {
- map.set_zoom(map.get_zoom() + 1);
- return true;
- }
- return false;
- }
-
- public boolean onScaleBegin(ScaleGestureDetector detector) {
- AltosDebug.debug("onScaleBegin %f\n", detector.getScaleFactor());
- return true;
- }
-
- public void onScaleEnd(ScaleGestureDetector detector) {
- AltosDebug.debug("onScaleEnd %f\n", detector.getScaleFactor());
- }
-
- @Override
- public boolean dispatchTouchEvent(MotionEvent event) {
- scale_detector.onTouchEvent(event);
-
- if (scale_detector.isInProgress()) {
- scaling = true;
- }
-
- if (scaling) {
- if(AltosDebug.D) AltosDebug.debug("scale in progress\n");
- if (event.getAction() == MotionEvent.ACTION_UP) {
- AltosDebug.debug("scale finished\n");
- scaling = false;
- }
- return true;
- }
-
- if (event.getAction() == MotionEvent.ACTION_DOWN) {
- AltosDebug.debug("down event %g %g\n", event.getX(), event.getY());
- map.touch_start((int) event.getX(), (int) event.getY(), true);
- } else if (event.getAction() == MotionEvent.ACTION_MOVE) {
- AltosDebug.debug("continue event %g %g\n", event.getX(), event.getY());
- map.touch_continue((int) event.getX(), (int) event.getY(), true);
- }
- return true;
- }