Example #1
0
        public MainWindow()
        {
            InitializeComponent();
            impl = new CozyQuick.Engine.EngineImpl();
            impl.Init();

            var mousedown = Observable.FromEventPattern<MouseButtonEventArgs>(CozyObj, "MouseLeftButtonDown")
                .Select(x => x.EventArgs.GetPosition(CozyObj));
            var mouseup = Observable.FromEventPattern<MouseButtonEventArgs>(this, "MouseLeftButtonUp");
            var mousemove = Observable.FromEventPattern<MouseEventArgs>(this, "MouseMove")
                .Select(x => x.EventArgs.GetPosition(this));

            var q = from start in mousedown
                    from end in mousemove.TakeUntil(mouseup)
                    select new
                    {
                        X = end.X - start.X,
                        Y = end.Y - start.Y
                    };

            q.Subscribe(value =>
            {
                Canvas.SetLeft(CozyObj, value.X);
                Canvas.SetTop(CozyObj, value.Y);
            });
        }
Example #2
0
        public MainWindow()
        {
            InitializeComponent();
            impl = new CozyQuick.Engine.EngineImpl();
            impl.Init();

            var mousedown = Observable.FromEventPattern <MouseButtonEventArgs>(CozyObj, "MouseLeftButtonDown")
                            .Select(x => x.EventArgs.GetPosition(CozyObj));
            var mouseup   = Observable.FromEventPattern <MouseButtonEventArgs>(this, "MouseLeftButtonUp");
            var mousemove = Observable.FromEventPattern <MouseEventArgs>(this, "MouseMove")
                            .Select(x => x.EventArgs.GetPosition(this));

            var q = from start in mousedown
                    from end in mousemove.TakeUntil(mouseup)
                    select new
            {
                X = end.X - start.X,
                Y = end.Y - start.Y
            };

            q.Subscribe(value =>
            {
                Canvas.SetLeft(CozyObj, value.X);
                Canvas.SetTop(CozyObj, value.Y);
            });
        }