SimpleChessBoard class

Simple chess board widget.

Inheritance

Constructors

SimpleChessBoard({Key? key, required String fen, bool blackSideAtBottom = false, required PlayerType whitePlayerType, required PlayerType blackPlayerType, required void onMove({required ShortMove move}), void onMoveComplete({required ShortMove move, required String newFen})?, required Future<PieceType?> onPromote(), required void onPromotionCommited({required ShortMove moveDone, required PieceType pieceType}), required void onTap({required String cellCoordinate}), required ChessBoardColors chessBoardColors, required Map<String, Color> cellHighlights, List<BoardArrow> highlightingArrows = const [], bool engineThinking = false, bool showCoordinatesZone = true, BoardArrow? lastMoveToHighlight, bool highlightLastMoveSquares = false, bool? showPossibleMoves, bool isInteractive = true, String nonInteractiveText = 'VIEWING HISTORY', TextStyle? nonInteractiveTextStyle, Color? nonInteractiveOverlayColor, Widget normalMoveIndicatorBuilder(double cellSize)?, Widget captureMoveIndicatorBuilder(double cellSize)?, bool playSounds = false, void onCapturedPiecesChanged({required List<PieceType> blackCapturedPieces, required List<PieceType> whiteCapturedPieces})?, void onBoardResized(double newCellSize)?})
Constructor.
const

Properties

blackPlayerType → PlayerType
Black type (human/cpu).
final
blackSideAtBottom → bool
Is Black side at bottom of the board, or white side ?
final
captureMoveIndicatorBuilder → Widget Function(double cellSize)?
Custom widget builder for capture move indicators (squares with opponent pieces)
final
cellHighlights → Map<String, Color>
The cell highlighting colors.
final
chessBoardColors → ChessBoardColors
Colors used by the chess board.
final
engineThinking → bool
Must a circular progress bar be visible above of the board ?
final
fen → String
Board's position in Forsyth-Edwards Notation.
final
hashCode → int
The hash code for this object.
no setterinherited
highlightingArrows → List<BoardArrow>
Arrows to draw (excepting last move arrow).
final
highlightLastMoveSquares → bool
Should the start and end squares be highlighted when showing last move arrow?
final
isInteractive → bool
Whether the board is interactive (allows moves)
final
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
lastMoveToHighlight → BoardArrow?
Last move arrow.
final
nonInteractiveOverlayColor → Color?
Background color for the non-interactive overlay
final
nonInteractiveText → String
Text to show when board is not interactive
final
nonInteractiveTextStyle → TextStyle?
Style for the non-interactive overlay text
final
normalMoveIndicatorBuilder → Widget Function(double cellSize)?
Custom widget builder for normal move indicators (empty squares)
final
onBoardResized → void Function(double newCellSize)?
Callback for whenever board is resized. Parameter is the new cell common side size (double). Please notice that you should avoid generating a new build of the board from this callback, otherwise you'll end up with an infinite rendering.
final
onCapturedPiecesChanged → void Function({required List<PieceType> blackCapturedPieces, required List<PieceType> whiteCapturedPieces})?
Callback for captured pieces information. Called whenever the board position changes. Parameters are lists of piece types captured by each player.
final
onMove → void Function({required ShortMove move})
Handler for when user tries to make move on board.
final
onMoveComplete → void Function({required ShortMove move, required String newFen})?
Handler for when a move is successfully made (for history tracking)
final
onPromote → Future<PieceType?> Function()
Handler for when user wants to make a promotion on board.
final
onPromotionCommited → void Function({required ShortMove moveDone, required PieceType pieceType})
Handler for when a promotion has been commited on the board.
final
onTap → void Function({required String cellCoordinate})
Handler for when a cell is tapped.
final
playSounds → bool
Whether to play sound effects when moves are made
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
showCoordinatesZone → bool
Does the border with coordinates and player turn must be visible ?
final
showPossibleMoves → bool?
Should possible moves be shown as dots when dragging a piece?
final
whitePlayerType → PlayerType
White type (human/cpu).
final

Methods

build(BuildContext context) → Widget
Describes the part of the user interface represented by this widget.
override
createElement() → StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
inherited
currentPlayerIsHuman() → bool
Says if the player in turn is human.
debugDescribeChildren() → List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) → String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String
Returns a one-line detailed description of the object.
inherited
toStringShort() → String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited