5 // Created by Jens Alfke on 3/7/08.
6 // Copyright 2008 __MyCompanyName__. All rights reserved.
9 #import <UIKit/UIKit.h>
10 @class GGBLayer, Bit, Card, Grid, Game;
14 /** NSView that hosts a game. */
15 @interface BoardUIView : UIView
18 Game *_game; // Current Game
19 GGBLayer *_gameboard; // Game's main layer
21 // Used during mouse-down tracking:
22 CGPoint _dragStartPos; // Starting position of mouseDown
23 Bit *_dragBit; // Bit being dragged
24 id<BitHolder> _oldHolder; // Bit's original holder
25 CALayer *_oldSuperlayer; // Bit's original superlayer
26 int _oldLayerIndex; // Bit's original index in _oldSuperlayer.layers
27 CGPoint _oldPos; // Bit's original x/y position
28 CGPoint _dragOffset; // Offset of mouse position from _dragBit's origin
29 BOOL _dragMoved; // Has the mouse moved more than 3 pixels since mouseDown?
30 id<BitHolder> _dropTarget; // Current BitHolder the cursor is over
32 // Used while handling incoming drags:
33 GGBLayer *_viewDropTarget; // Current drop target during an incoming drag-n-drop
36 - (void) startGameNamed: (NSString*)gameClassName;
38 @property (readonly) Game *game;
39 @property (readonly) GGBLayer *gameboard;
41 - (CGRect) gameBoardFrame;