public static Notifier CreateNotifier(Corner corner, PositionProviderType relation, NotificationLifetimeType lifetime) { _notifier?.Dispose(); _notifier = null; return(new Notifier(cfg => { cfg.PositionProvider = CreatePositionProvider(corner, relation); cfg.LifetimeSupervisor = CreateLifetimeSupervisor(lifetime); cfg.Dispatcher = Dispatcher.CurrentDispatcher; })); }
public Notifier CreateNotifier(Corner corner, PositionProviderType relation, NotificationLifetimeType lifetime) { _notifier?.Dispose(); _notifier = null; return(new Notifier(cfg => { cfg.PositionProvider = CreatePositionProvider(corner, relation); cfg.LifetimeSupervisor = CreateLifetimeSupervisor(lifetime); cfg.Dispatcher = Dispatcher.CurrentDispatcher; cfg.DisplayOptions.TopMost = TopMost.GetValueOrDefault(); })); }
public Position(Module module, PositionProviderType type, bool valid = true, double?x = null, double?y = null, double?z = null, double?deviationx = null, double?deviationy = null, double?deviationz = null) : base() { this.Module = module; this.Type = type; this.Valid = valid; this.X = x; this.Y = y; this.Z = z; this.DeviationX = deviationx; this.DeviationY = deviationy; this.DeviationZ = deviationz; }
private static IPositionProvider CreatePositionProvider(Corner corner, PositionProviderType relation) { switch (relation) { case PositionProviderType.Window: { return(new WindowPositionProvider(Application.Current.MainWindow, corner, 5, 5)); } case PositionProviderType.Screen: { return(new PrimaryScreenPositionProvider(corner, 0, 0)); } } throw new InvalidEnumArgumentException(); }
private static IPositionProvider CreatePositionProvider(Corner corner, PositionProviderType relation) { switch (relation) { case PositionProviderType.Window: { return(new WindowPositionProvider(Application.Current.MainWindow, corner, -40, 0)); } case PositionProviderType.Screen: { return(new PrimaryScreenPositionProvider(corner, 5, 5)); } case PositionProviderType.Control: { var mainWindow = Application.Current.MainWindow as MainWindow; var trackingElement = mainWindow; return(new ControlPositionProvider(mainWindow, trackingElement, corner, 5, 5)); } } throw new InvalidEnumArgumentException(); }
public void ChangePosition(Corner corner, PositionProviderType relation, NotificationLifetimeType lifetime) { _notifier = CreateNotifier(corner, relation, lifetime); }