squares 1.2.1
squares: ^1.2.1 copied to clipboard
A flexible chessboard widget for Flutter. Visually customisable, with support for many chess variants.
1.2.1 #
DragTargetFeedback: used to build visual feedback for pieces hovering over drag targets inBoardTargets/Board/BoardController.
1.2.0 #
- Now requires Dart 3.
BoardControllercan now takeoverlaysandunderlaysas parameters, and passes them through toBoard.BoardBuildernow takes a parameterforceSquareAlignment, which defaults to true, and forces elements to be aligned to their squares (previously this was not the case).SquareBuilderfunctions (such as those used byBoardBuilder) now returnWidget?, i.e. they can return null.BoardBuilderwill build an empty container in this case.BoardBuilder.index(): aBoardBuilderthat uses an index, rather than rank and file.InputOverlay: an easy way to support common gestures like right clicks and long presses.SquareNumberOverlay: an overlay for debugging that shows the square index.LabelConfigis now exported correctly with the rest of the package.
1.1.6 #
dragFeedbackSizeanddragFeedbackOffsetparameters inHand(thanks @callumbeaney).
1.1.5 #
- Fixed premoves not getting cleared when the board updates after a move, in
BoardController. - Fixed check/mate squares not being shown for moves where the check square is the same as the destination, as is the case for variants like king of the hill.
1.1.4 #
- Fixed janky resizing behaviour on web (thanks @deathcoder).
- Example: opponent type options (AI, random mover, human).
1.1.3 #
- Fixed breaking conflict between Flutter 3.7 and the Badges package.
- Now using Badges 3.0.x, but with the intent to drop the dependency and move to the material badge at some point.
1.1.2 #
- Fixed a bug that would result in incorrect piece selections for optional promotion moves, e.g. Grand Chess (thanks @malaschitz).
themeparameter is now optional everywhere.
1.1.1 #
- Drag permissions changes:
BoardandBoardPiecesnow take adragPermissionsparam that defines which piece colours can be dragged.BoardControllerimplements behaviour that only allows the player's pieces to be dragged (as defined byplayState). - Board editor improvements in the example.
1.1.0 #
- The Xiangqi Update!
BoardConfig- used to configure the wayBoardBackgroundis drawn.- Two Xiangqi piece sets and one background image.
- Parameter on
Board/BoardConfig/BoardPiecesto allow padding pieces within their squares -piecePadding.
1.0.5 #
- Fixed move string parsing for moves from ranks larger than 9 (thanks @malaschitz).
- Fixed duplicate pieces appearing in piece selector for castling gating moves.
1.0.4 #
- Rank and file labels on the board using
LabelOverlay. - Fixed a bug that would cause custom piece sets to sometimes be misaligned.
MarkerTheme.cross()- marker that builds a cross in a square.
1.0.3 #
- Board editor page in example.
- Added a way for external dragged pieces (e.g. from board editor, hands) to land on pieces.
- Improvements to
Handwidget.
1.0.2 #
- Support for overlays and underlays in
Board. BoardOverlay, which draws widgets on squares, andPieceOverlay.BoardControllernow shows translucent premove promo/gate pieces.- Fixed a bug that stopped white playing hand drops.
- Fixed various bugs with colours of pieces in selectors.
BoardState.playeris nowturn, for clarity.
1.0.1 #
- Fixed piece selectors not closing after premoves.
- Premoves can now be cancelled by selecting another square.
MarkerTheme.corners()- piece marker that draws triangles in the corners of the square.BoardController.promotionBehaviour- this allows different behaviours to be specified: always show the selector (default), always auto select the best piece, or auto select only for premoves.BoardController.pieceHierarchy- allows the relative hierarchy of pieces to be specified, for use in auto promotion and ordering the pieces in the selector.
1.0.0 #
- Major refactor with improved stability, better performance and better organised code.
- Board is now composed of separate background, target and piece layers.
- BoardController has better composed logic.
- There are many breaking changes here, but if you're exclusively using
BoardControlleryou will likely only run into a few parameter name changes.Boardhas changed completely.
0.4.0 #
- Reworked promotion logic.
- Supported flex gating variants like Seirawan chess.
- Added a new simple example, using the
square_bishoppackage.
0.3.4 #
- Added
dragFeedbackOffsetparameter. - Documented some more things.
0.3.3 #
- Added
dragFeedbackSize- customise the size of dragged pieces - Prevented pieces from being simultaneously draggable multiple times on multitouch devices
- Added a start from position option to the example
0.3.2 #
- Fixed some piece widgets not filling their entire square
- PieceSet.text and PieceSet.letters now take
styleas an optional parameter - Added an SVG piece set to the example
0.3.1 #
- Fixed pieces with no moves not being selectable
- Added ability to choose player colour in example project
0.3.0 #
- Now works with flutter web!
- Removed flutter_svg and replaced merida set with png images
- Move animations
- Fixed piece dragging
- HighlightThemes - customise the decorations that highlighted squares have
- Improved example
- Board orientation now works as expected
0.2.3 #
- Added some documentation
- draggable option for boards (allows for view-only boards)
- Piece count badge visual options for hands
0.2.2 #
- Promotion improvements
- Dragging improvements
- Piece scaling improvements
- Promotion premoves
- Hands & dropping
0.2.1 #
- Fixed dynamic piece sizing for non-svg widgets
- Fixed some issues with premoves
0.2.0 #
- Initial release