private void StopDrag(IPropHolder widget, DragCtx ctx) { if (!ctx.IsDragging) { return; } ctx.IsDragging = false; widget.Props.RemoveSingleProp(_onUpdateDrag !); }
private void StartDrag(IPropHolder widget, bool isXFixed, bool isYFixed, DragCtx dragCtx) { if (isXFixed && isYFixed) { return; } var devLoc = _device.GetPointedLocation(); if (dragCtx.IsDragging) { return; } dragCtx.IsDragging = true; dragCtx.Set(devLoc); widget.WithProp(_onUpdateDrag !); }
private static Maybe <T> ExtractProp <T>(IPropHolder widgetNode) where T : IProp { return(widgetNode.Props.SafeGetByProp <T>().Bind(l => l.Any() ? Maybe.Some((T)l.First()) : Maybe.None)); }