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));
 }
Esempio n. 2
0
        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);
        }