1.2 UI Classes

Following are just a few of the UI components which are specialized for the Tangram application.

PieceTrayLayout

A custom layout which holds tans not yet placed on the playing field. This contains operations for dragging tans to and from the playing field, keeping track of how many pieces are available.

PlayTableView

The main play area where puzzles can be built. This contains most of the code for drawing the tans in play, moving them as the user drags within a tan boundary, rotating them as the user moves them with two fingers, moving the play field when the user drags outside of any tans, and zooming in and out of the play field when the user pinches or stretches it with two fingers.

TangramPuzzleView

A custom view that displays a static Tangram puzzle. It contains mostly the same drawing code as PlayTableView, but none of the interactions. This is used both to display the goal in the corner when working on a puzzle and also to show previews of puzzles when browsing the library.