public BrushSizeSelector(IGraphicsDisplay graphicsDisplay, BrushSizeSelectorDefinition brushSizeDefinition)
: base(brushSizeDefinition.BackgroundColor,
brushSizeDefinition.BorderColor,
brushSizeDefinition.BorderWidth,
graphicsDisplay,
brushSizeDefinition.Bounds)
{
this.brushSizeDefinition = brushSizeDefinition;
this.color = brushSizeDefinition.StartColor;
this.BrushSize = brushSizeDefinition.BrushSizeInitial;
this.gaugeYPosition = Bounds.Y + brushSizeDefinition.GaugeVerticalMargin + this.brushSizeDefinition.BrushSizeMaximum;
Rectangle gaugeBounds = new Rectangle(
this.Bounds.X + ((this.Bounds.Width - this.brushSizeDefinition.GaugeWidth) / 2),
this.gaugeYPosition,
this.brushSizeDefinition.GaugeWidth,
this.Bounds.Height - (this.brushSizeDefinition.BrushSizeMaximum + (this.brushSizeDefinition.GaugeVerticalMargin * 2)));
float startMarkerValue =
(float)(this.brushSizeDefinition.BrushSizeInitial - this.brushSizeDefinition.BrushSizeMinimum) /
(float)(this.brushSizeDefinition.BrushSizeMaximum - this.brushSizeDefinition.BrushSizeMinimum);
this.brushSizeGauge =
new VerticalGauge(
this.BackgroundColor,
graphicsDisplay,
gaugeBounds,
this.brushSizeDefinition.GaugeMarkerWidth,
this.brushSizeDefinition.BorderColor,
startMarkerValue);
this.brushSizeGauge.MarkerChanged += brushSizeGauge_MarkerChanged;
}