Source/BoardUIView.h
changeset 9 a59acc683080
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/Source/BoardUIView.h	Thu May 29 15:04:06 2008 -0700
     1.3 @@ -0,0 +1,43 @@
     1.4 +//
     1.5 +//  BoardUIView.h
     1.6 +//  GeekGameBoard
     1.7 +//
     1.8 +//  Created by Jens Alfke on 3/7/08.
     1.9 +//  Copyright 2008 __MyCompanyName__. All rights reserved.
    1.10 +//
    1.11 +
    1.12 +#import <UIKit/UIKit.h>
    1.13 +@class GGBLayer, Bit, Card, Grid, Game;
    1.14 +@protocol BitHolder;
    1.15 +
    1.16 +
    1.17 +/** NSView that hosts a game. */
    1.18 +@interface BoardUIView : UIView
    1.19 +{
    1.20 +    @private
    1.21 +    Game *_game;                                // Current Game
    1.22 +    GGBLayer *_gameboard;                       // Game's main layer
    1.23 +    
    1.24 +    // Used during mouse-down tracking:
    1.25 +    CGPoint _dragStartPos;                      // Starting position of mouseDown
    1.26 +    Bit *_dragBit;                              // Bit being dragged
    1.27 +    id<BitHolder> _oldHolder;                   // Bit's original holder
    1.28 +    CALayer *_oldSuperlayer;                    // Bit's original superlayer
    1.29 +    int _oldLayerIndex;                         // Bit's original index in _oldSuperlayer.layers
    1.30 +    CGPoint _oldPos;                            // Bit's original x/y position
    1.31 +    CGPoint _dragOffset;                        // Offset of mouse position from _dragBit's origin
    1.32 +    BOOL _dragMoved;                            // Has the mouse moved more than 3 pixels since mouseDown?
    1.33 +    id<BitHolder> _dropTarget;                  // Current BitHolder the cursor is over
    1.34 +    
    1.35 +    // Used while handling incoming drags:
    1.36 +    GGBLayer *_viewDropTarget;                   // Current drop target during an incoming drag-n-drop
    1.37 +}
    1.38 +
    1.39 +- (void) startGameNamed: (NSString*)gameClassName;
    1.40 +
    1.41 +@property (readonly) Game *game;
    1.42 +@property (readonly) GGBLayer *gameboard;
    1.43 +
    1.44 +- (CGRect) gameBoardFrame;
    1.45 +
    1.46 +@end