public AbstractVisualizerView(IntPtr handle) : base(handle) { WantsLayer = true; AnimationLayer = new BeatAnimationLayer() { ContentsScale = NSScreen.MainScreen.BackingScaleFactor, ZPosition = 50 }; Layer.AddSublayer(AnimationLayer); }
//protected AnimationTimer Timer = new AnimationTimer(); #endregion public BounceView(IntPtr handle) : base(handle) { AnimationLayer.Delegate = new BounceLayerDelegate(); TickLayer = new CALayer(); TickLayer.ContentsScale = NSScreen.MainScreen.BackingScaleFactor; Layer.AddSublayer(TickLayer); Metronome.Instance.Started += Instance_Started; Metronome.Instance.Stopped += Instance_Stopped; Metronome.Instance.BeatChanged += Instance_BeatChanged; UserSettings.BounceSettingsChanged += UserSettings_BounceSettingsChanged; BounceHelper.ResetElaspedBpm(); }