private void btnBoardImageToClipboard_Click(object sender, EventArgs e) { Clipboard.SetImage(BoardPainter.DrawBoard(_model.EditorState.Flags == 0 ? _model.CommittedState : _model.EditorState, Board.Location.Undefined, Board.Location.Undefined, null, false, Point.Empty)); }
public void RedrawBoard() { if (_model.EditMode) { pbBoard.Image = BoardPainter.DrawBoard(_model.EditorState, _model.SelectionObject, Board.Location.Undefined, _model.HighlightLocations, true, Point.Empty); } else { var redSide = _model.CommittedState.Flags.IsRedTurn(); switch (_model.SelectionState) { case SelectionState.Unselected: pbBoard.Image = BoardPainter.DrawBoard(_model.CommittedState, Board.Location.Undefined, Board.Location.Undefined, _model.HighlightLocations, redSide, Point.Empty); break; case SelectionState.EmptySelected: pbBoard.Image = BoardPainter.DrawBoard(_model.EditorState, _model.SelectionObject, Board.Location.Undefined, _model.HighlightLocations, redSide, Point.Empty); break; case SelectionState.PieceInHand: case SelectionState.SplitInHand: pbBoard.Image = BoardPainter.DrawBoard(_model.EditorState, _model.SelectionObject, Board.Location.Undefined, _model.HighlightLocations, redSide, _lastMouse, _model.InHand); break; case SelectionState.MoveSelected: pbBoard.Image = BoardPainter.DrawBoard(_model.EditorState, _model.SelectionObject, _model.SelectionTarget, _model.HighlightLocations, redSide, Point.Empty); break; //case SelectionState.PartialSplitSelected: // pbBoard.Image = BoardPainter.DrawBoard(_model.EditorState, _model.SelectionObject, // _model.SelectionTarget, _model.HighlightLocations, redSide, _lastMouse, _model.InHand); // break; case SelectionState.HistoryView: pbBoard.Image = BoardPainter.DrawBoard(_model.EditorState, Board.Location.Undefined, Board.Location.Undefined, null, true, Point.Empty); break; default: return; } } foreach (var enableBox in new[] { chkRedT1, chkRedT2, chkBlueT1, chkBlueT2, chkRedKingTaken, chkBlueKingTaken, chkRedWin, chkBlueWin }) { enableBox.Enabled = _model.EditMode; } chkRedT1.Checked = _model.EditorState.Flags.HasFlag(StateFlags.RedAction1); chkRedT2.Checked = _model.EditorState.Flags.HasFlag(StateFlags.RedAction2); chkBlueT1.Checked = _model.EditorState.Flags.HasFlag(StateFlags.BlueAction1); chkBlueT2.Checked = _model.EditorState.Flags.HasFlag(StateFlags.BlueAction2); chkRedKingTaken.Checked = _model.EditorState.Flags.HasFlag(StateFlags.RedKingTaken); chkBlueKingTaken.Checked = _model.EditorState.Flags.HasFlag(StateFlags.BlueKingTaken); chkRedWin.Checked = _model.EditorState.Flags.HasFlag(StateFlags.RedWin); chkBlueWin.Checked = _model.EditorState.Flags.HasFlag(StateFlags.BlueWin); }