public AndroidInputContext(View hostView,
                                   Context context,
                                   BaseInputHandler inputHandler,
                                   IDisplayMetrics displayMetrics)
        {
            _hostView           = hostView;
            _inputHandler       = inputHandler;
            _activeInputActions = InputAction.None;

            var viewConfig = ViewConfiguration.Get(context) ?? throw new NotSupportedException();

            _maximumFlingVelocity = viewConfig.ScaledMaximumFlingVelocity;
            _minimumFlingVelocity = viewConfig.ScaledMinimumFlingVelocity;

            _touchSlop = viewConfig.ScaledTouchSlop;


            if (displayMetrics.ZoomLevel.AreEqualEnough(1.0))
            {
                _dpiRatio          = 1;
                _isOffsetPositions = false;
            }
            else
            {
                _dpiRatio          = 1 / displayMetrics.ZoomLevel;
                _isOffsetPositions = true;
            }

            _gestureDetector = new GestureDetectorCompat(context, this);
            _gestureDetector.SetOnDoubleTapListener(this);

            hostView.SetOnTouchListener(this);
        }
Пример #2
0
        public PdfView(Context context, FormView.PDFView formView) : base(context)
        {
            SetupPaint();

            _formView              = formView;
            OnDoubleTapListener    = new TapManager(Context, this);
            _gestureManager        = new GestureManager(Context, this);
            _gestureDetectorCompat = new GestureDetectorCompat(Context, _gestureManager);
            _gestureDetectorCompat.SetOnDoubleTapListener(OnDoubleTapListener);
            _scaleDetector           = new ScaleGestureDetector(Context, new ScaleManager(this));
            _onPdfPageRenderListener = new OnPdfPageRenderListener(this, false);
        }