Tile-stack/Vector

A Tile-stack object is a stack of Tile objects. Every Tile object is contained within a Tile-stack object.

 

A Vector object is a Tile-stack in motion. It includes 2 additional properties: dx/dy, or x/y velocity in pixels/clock-tick. Both of these properties are floating point. Normally a frame change occurs every clock-tick.

 

Properties:

containerId: a unique integer identifying a container of Tile objects. If zero, the Tile-stack object is contained in a Row-grid object.

cards: a list of Tile objects

dimensions: width, height (in pixels)

position: left, top (in pixels)

offsets: leftOffset, topOffset (in pixels); distance between adjacent Tile objects

margins: leftMargin, topMargin (in pixels); distance from upper left corner of circle/square to upper left corner of cell

colors: backgroundColor, borderColor, selectedColor, selectedForegroundColor

font: font of Tile objects containing printable characters

hasBorder: if true, a rectangular one-pixel wide border is displayed, marking the border of the cell

destList: a list of containerId values indicating valid destinations that can accept drag operations originating with this Tile-stack object

clickable: if true, and length of destList equals one, then user need only click on this Tile-stack object, sending its Tile object(s) to destination container object

canDrag: if false, user cannot drag Tile objects away from this Tile-stack object

canDrop: if false, user cannot drop Tile objects onto this Tile-stack object

infinite: if true, top Tile object is duplicated rather than moved when user drags Tile object away from this Tile-stack object

random: if true, when user drags Tile object away from this Tile-stack, the Tile object is selected at random from all Tile objects contained in this Tile-stack. If both random and infinite are true, the selected Tile object is duplicated/copied rather than moved.

visible: if false, Tile-stack is not visible to user

multiDrag: if true, user can drag more than one Tile object away from this Tile-stack at once. If false, user can only drag away the top Tile object.

isDefault: if true, all properties of this Tile-stack are set equal to the properties of the defStack object of the parent Row-grid object.