コード例 #1
0
        public MouseMovement(ISceneProvider provider)
        {
            this.provider            = provider;
            provider.Model.Transform = new Transform3DGroup();

            noOperation            = new NoOperation();
            translationalOperation = new TranslateOperation(provider);
            rotationOperation      = new RotationalOperation(provider);
            operation = noOperation;

            ListenForEvents();
        }
コード例 #2
0
        protected void Delta(SKPoint currentPoint)
        {
            var delta      = LastDeltaPoint - currentPoint;
            var destantion = SKPoint.Distance(LastDeltaPoint, currentPoint);

            LastDeltaPoint = currentPoint;

            if (destantion >= MoveToleranceRadius && _canMove)
            {
                _subOperation = _mouseOperationMove;
            }

            //_mapSettingsController.OffsetByControlPoint(delta);
        }
コード例 #3
0
        public MouseOperationSelect(
            IOptions <OperationOptions> drawingOptions,
            IServiceProvider serviceProvider,
            IMapSettingsController mapSettingsController,
            ISelectableController selectableController,
            ISelectableObjects selectableObjects
            )
            : base(MouseOperationType.Select, MouseEventType.Move | MouseEventType.Up | MouseEventType.Down)
        {
            _drawingOptions        = drawingOptions;
            _serviceProvider       = serviceProvider;
            _mapSettingsController = mapSettingsController;
            _selectableController  = selectableController;
            _selectableObjects     = selectableObjects;

            _mouseOperationMove = _serviceProvider.CreateInstance <MouseOperationMove>();
        }
コード例 #4
0
 private void ChangeOperation(IMouseOperation next, MouseEventArgs e)
 {
     operation.PostExecute(e);
     next.PreExecute(e);
     operation = next;
 }