private void DrawField(Graphics canvas, int en, int fn, FieldState state, FieldDrawType drawType) { var center = GetFieldCoords(en, fn); var rect1 = new Rectangle( center.X - _FieldSize / 2, center.Y - _FieldSize / 2, _FieldSize, _FieldSize); canvas.FillEllipse(new SolidBrush(GetFieldBorderColor(drawType)), rect1); var color = GetFieldFillColor(state, drawType); var rect2 = new Rectangle( center.X - _FieldSize / 2 + 4, center.Y - _FieldSize / 2 + 4, _FieldSize - 8, _FieldSize - 8); canvas.FillEllipse(new SolidBrush(color), rect2); }
private Color GetFieldFillColor(FieldState state, FieldDrawType drawType) { if (state.IsEmpty) { return(drawType.HasFlag(FieldDrawType.Highlighted) ? Color.Gold : Color.White); } if (((FieldState.Color)state).Item.IsBlack) { return(drawType.HasFlag(FieldDrawType.Highlighted) ? Color.LightSlateGray : Color.FromArgb(63, 63, 63)); } if (((FieldState.Color)state).Item.IsRed) { return(drawType.HasFlag(FieldDrawType.Highlighted) ? Color.FromArgb(255, 63, 63) : Color.FromArgb(192, 0, 0)); } throw new Exception("Something went wrong"); }
private Color GetFieldBorderColor(FieldDrawType drawType) { return(drawType.HasFlag(FieldDrawType.Selected) ? Color.Magenta : Color.Black); }
private void DrawField(Graphics canvas, FieldCoords coords, FieldState state, FieldDrawType drawType) { int en = coords.IsCenter ? -1 : ((FieldCoords.Edge)coords).Item1; int fn = coords.IsCenter ? -1 : ((FieldCoords.Edge)coords).Item2; DrawField(canvas, en, fn, state, drawType); }
private Color GetFieldBorderColor(FieldDrawType drawType) { return drawType.HasFlag(FieldDrawType.Selected) ? Color.Magenta : Color.Black; }
private Color GetFieldFillColor(FieldState state, FieldDrawType drawType) { if (state.IsEmpty) { return drawType.HasFlag(FieldDrawType.Highlighted) ? Color.Gold : Color.White; } if (((FieldState.Color)state).Item.IsBlack) { return drawType.HasFlag(FieldDrawType.Highlighted) ? Color.LightSlateGray : Color.FromArgb(63, 63, 63); } if (((FieldState.Color)state).Item.IsRed) { return drawType.HasFlag(FieldDrawType.Highlighted) ? Color.FromArgb(255, 63, 63) : Color.FromArgb(192, 0, 0); } throw new Exception("Something went wrong"); }