public HsvColorPicker(ColorTimeLineDrawingConfig drawingConfig) { _drawingConfig = drawingConfig; _worldDimensions = _drawingConfig.WorldDimensions(); _hsAreaRadius = _worldDimensions.HsvColorPickerHueSaturationCircleRadius; _hsvRgb = new HsvRgbConverter(); _hsTrack = new HsTrack(_drawingConfig); AddChild(_hsTrack); _vTrackColorPositions = new ColorPositions(new[] { new ColorPosition(SKColors.Black, .25f), new ColorPosition(SKColors.White, .75f) }); _vTrack = new CircularTrack(_worldDimensions.Center, _worldDimensions.HsvColorPickerValueCircleRadius, _worldDimensions.HsvColorPickerValueCircleWidth, 36, _vTrackColorPositions); AddChild(_vTrack); _hsSliderBody = new HsSliderBody(_worldDimensions.Center, _hsAreaRadius); _hsSlider = new Slider <HueSaturation>(_drawingConfig, new HueSaturation(0, 0), SKColors.Black, _worldDimensions.HsvColorPcikerHueSaturationSliderRadius, false, false, _hsSliderBody); _hsSlider.ValueChanged += _hsSlider_ValueChanged; AddChild(_hsSlider); _vSliderBody = new CircularSliderBody(_worldDimensions.Center, _worldDimensions.HsvColorPickerValueCircleRadius, ConvertHSliderInputValue, ConvertHSliderOutputValue); _vSlider = new Slider <float>(_drawingConfig, 0, SKColors.Black, _worldDimensions.HsvColorPickerValueCircleWidth / 2f, false, false, _vSliderBody); _vSlider.ValueChanged += _vSlider_ValueChanged; AddChild(_vSlider); }
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); }