Example #1
0
 public GradientControlPointWidget(GradientControlPoint controlPoint)
 {
     ControlPoint = controlPoint;
     Pivot        = new Vector2(0.5f, 0);
     CompoundPresenter.Add(new SyncDelegatePresenter <Widget>(Render));
     HitTestTarget = true;
     chessTexture  = PrepareChessTexture(Color4.White, Color4.Black);
 }
Example #2
0
 private void SelectPoint(GradientControlPoint point)
 {
     colorEditor.Tasks.Clear();
     positionEditor.Tasks.Clear();
     selectedPointColorProperty    = new Property <Color4>(point, nameof(GradientControlPoint.Color));
     selectedPointPositionProperty = new Property <float>(point, nameof(GradientControlPoint.Position));
     currentColorString            = selectedPointColorProperty.DistinctUntilChanged().Select(i => i.ToString(Color4.StringPresentation.Dec));
     colorEditor.Tasks.Add(currentColorString.Consume(v => colorEditor.Text = v));
     colorPanel.Color = selectedPointColorProperty.GetValue();
     colorEditor.Tasks.Add(selectedPointColorProperty.DistinctUntilChanged().Consume(v => {
         if (colorPanel.Color != v)
         {
             colorPanel.Color = v;
         }
     }));
     positionEditor.Tasks.Add(selectedPointPositionProperty.DistinctUntilChanged().Consume(v => positionEditor.Text = v.ToString()));
 }