public void Start() { _photonLedControllerCommunicator = new FakePhotonLedControllerCommunicator(); _photonLedControllerCommunicator.CycleTimeRead += _photonLedControllerCommunicator_CycleTimeRead; _photonLedControllerCommunicator.TimeProgressRead += _photonLedControllerCommunicator_TimeProgressRead; _photonLedControllerCommunicator.ColorTimePointsRead += _photonLedControllerCommunicator_ColorTimePointsRead; _photonLedControllerCommunicator.Start(); _rootSurface = new RootSurfaceComponent(_photonLedControllerCommunicator); _photonLedControllerCommunicator.ReadCycleTime(); _photonLedControllerCommunicator.ReadColorTimePoints(); _photonLedControllerPollingService = new PhotonLedControllerPollingService(_photonLedControllerCommunicator); _photonLedControllerPollingService.Start(); _engine.Start(); }
public ColorTimePointSlider(ColorTimeLineDrawingConfig drawingConfig, byte id, SKColor color, float time, IColorPicker colorPicker, IPhotonLedControllerCommunicator photonLedControllerCommunicator) { _drawingConfig = drawingConfig; _worldDimensions = _drawingConfig.WorldDimensions(); _id = id; var sliderBody = new CircularSliderBody(_worldDimensions.Center, _worldDimensions.ColorsCircleRadius); _slider = new Slider <float>(_drawingConfig, time, color, _worldDimensions.ColorsCircleWidth, false, true, sliderBody); AddChild(_slider); _colorPicker = colorPicker; _photonLedControllerCommunicator = photonLedControllerCommunicator; _slider.ValueChanged += _slider_ValueChanged; _slider.IsSelectedChanged += _slider_IsSelectedChanged; _colorPicker.ColorChanged += ColorComponent_ColorChanged; }
public TimeProgressSlider(ColorTimeLineDrawingConfig drawingConfig, SKColor initialColor, float initialTimeProgress, IPhotonLedControllerCommunicator photonLedControllerCommunicator) { _drawingConfig = drawingConfig; _worldDimensions = _drawingConfig.WorldDimensions(); _photonLedControllerCommunicator = photonLedControllerCommunicator; _track = new CircularTrack(_worldDimensions.Center, _worldDimensions.ProgressCircleRadius, _worldDimensions.ProgressCircleWidth, _drawingConfig.SliderTrackBackgroundColor); AddChild(_track); var sliderBody = new CircularSliderBody(_worldDimensions.Center, _worldDimensions.ProgressCircleRadius); _slider = new Slider <float>(_drawingConfig, initialTimeProgress, initialColor, _worldDimensions.ProgressCircleWidth, false, true, sliderBody); _slider.ValueChanged += _slider_ValueChanged; AddChild(_slider); _cycleTimeSlider = new CycleTimeSlider(_drawingConfig, _photonLedControllerCommunicator); _cycleTimeSlider.IsEnabled = false; AddChild(_cycleTimeSlider); }
public CycleTimeSlider(ColorTimeLineDrawingConfig drawingConfig, IPhotonLedControllerCommunicator photonLedControllerCommunicator) { _drawingConfig = drawingConfig; _worldDimensions = _drawingConfig.WorldDimensions(); _photonLedControllerCommunicator = photonLedControllerCommunicator; _x0 = _worldDimensions.InnerHorizontalSlidersX0; _x1 = _worldDimensions.InnerHorizontalSlidersX1; _y = _worldDimensions.InnerHorizontalSlidersY0of1; _p0 = new SKPoint(_x0, _y); _p1 = new SKPoint(_x1, _y); _track = new LinearTrack(_p0, _p1, _worldDimensions.InnerHorizontalSliderBarWidth, _drawingConfig.SliderTrackBackgroundColor); AddChild(_track); var sliderBody = new LinearSliderBody(_p0, _p1); _slider = new Slider <float>(_drawingConfig, 0, SKColors.Black, _worldDimensions.InnerHorizontalSliderBarWidth, false, false, sliderBody); _slider.ValueChanged += _slider_ValueChanged; AddChild(_slider); }
public RootSurfaceComponent(IPhotonLedControllerCommunicator photonLedControllerCommunicator) { // Dependencies. _photonLedControllerCommunicator = photonLedControllerCommunicator; // Drawing configuration. _drawingConfig = new ColorTimeLineDrawingConfig(); _worldDimensions = _drawingConfig.WorldDimensions(); // Initialize color positions. _colorPositions = new ColorPositions(new ColorPosition[0]); // Gradient circle component. _gradientCircularTrack = new CircularTrack(_worldDimensions.Center, _worldDimensions.GradientCircleRadius, _worldDimensions.GradientCircleWidth, 360, _colorPositions); AddChild(_gradientCircularTrack); // Track for color time points. _colorTimePointsTrack = new CircularTrack(_worldDimensions.Center, _worldDimensions.ColorsCircleRadius, _worldDimensions.ColorsCircleWidth, _drawingConfig.SliderTrackBackgroundColor); AddChild(_colorTimePointsTrack); // Container for color time point sliders - the only sliders which number is dynamic so generic list is used here. _colorTimePointSliders = new List <ColorTimePointSlider>(); // Color picker. _colorPicker = new HsvColorPicker(_drawingConfig); _colorPicker.IsEnabled = false; AddChild(_colorPicker); // Time progress slider with cycle time slider inside. _timeProgressSlider = new TimeProgressSlider(_drawingConfig, SKColors.Black, _timeProgress, _photonLedControllerCommunicator); _timeProgressSlider.Slider.IsSelectedChanged += Slider_IsSelectedChanged; AddChild(_timeProgressSlider); }
public PhotonLedControllerPollingService(IPhotonLedControllerCommunicator communicator) { _communicator = communicator; }