<commit_before>//
//  GFRGameBoardView.h
//  Go Friends
//
//  Created by <NAME> on 2/28/14.
//  Copyright (c) 2014 <NAME>. All rights reserved.
//


//
//  TODO: Clean up how sizes are generated (perform rounding)
//  TODO: The 2D array can be generalized to perform the actions on id rather than just UIView
//

#import <UIKit/UIKit.h>

@protocol GFRGameBoardViewDelegate;
@protocol GFRGameBoardViewDataSource;

@interface TJMGameBoardView : UIView

@property (assign, nonatomic) NSUInteger numberOfRows;
@property (assign, nonatomic) NSUInteger numberOfColumns;

@property (assign, nonatomic) CGFloat minZoomLevel;
@property (assign, nonatomic) CGFloat maxZoomLevel;
@property (assign, nonatomic) BOOL tapFirstToZoomEnabled;

@property (weak, nonatomic) IBOutlet id<GFRGameBoardViewDataSource>dataSource;
@property (weak, nonatomic) IBOutlet id<GFRGameBoardViewDelegate> delegate;

- (instancetype)initWithFrame:(CGRect)frame numberOfRows:(NSUInteger)numberOfRows numberOfColumns:(NSUInteger)numberOfColumns;

- (void)placeGamePieceView:(UIView *)gamePieceView atRow:(NSUInteger)row column:(NSUInteger)column;
- (void)placeSupplementaryView:(UIView *)supplementaryView atRow:(NSUInteger)row column:(NSUInteger)column;
- (void)removeGamePieceViewAtRow:(NSUInteger)row column:(NSUInteger)column;
- (void)removeSupplementaryViewAtRow:(NSUInteger)row column:(NSUInteger)column;
- (void)reset;
- (void)removeAllGamePieceViews;
- (void)removeAllSupplementaryViews;
- (UIView *)gamePieceViewAtRow:(NSUInteger)row column:(NSUInteger)column;
- (UIView *)supplementaryViewAtRow:(NSUInteger)row column:(NSUInteger)column;
- (CGSize)recommendedGamePieceSize;

@end


@protocol GFRGameBoardViewDataSource <NSObject>

@required
- (NSUInteger)numberOfRows;
- (NSUInteger)numberOfColumns;
@optional<commit_msg>Removed tap to zoom property.<commit_after>//
//  GFRGameBoardView.h
//  Go Friends
//
//  Created by <NAME> on 2/28/14.
//  Copyright (c) 2014 <NAME>. All rights reserved.
//


//
//  TODO: Clean up how sizes are generated (perform rounding)
//  TODO: The 2D array can be generalized to perform the actions on id rather than just UIView
//

#import <UIKit/UIKit.h>

@protocol GFRGameBoardViewDelegate;
@protocol GFRGameBoardViewDataSource;

@interface TJMGameBoardView : UIView

@property (assign, nonatomic) NSUInteger numberOfRows;
@property (assign, nonatomic) NSUInteger numberOfColumns;

@property (assign, nonatomic) CGFloat minZoomLevel;
@property (assign, nonatomic) CGFloat maxZoomLevel;

@property (weak, nonatomic) IBOutlet id<GFRGameBoardViewDataSource>dataSource;
@property (weak, nonatomic) IBOutlet id<GFRGameBoardViewDelegate> delegate;

- (instancetype)initWithFrame:(CGRect)frame numberOfRows:(NSUInteger)numberOfRows numberOfColumns:(NSUInteger)numberOfColumns;

- (void)placeGamePieceView:(UIView *)gamePieceView atRow:(NSUInteger)row column:(NSUInteger)column;
- (void)placeSupplementaryView:(UIView *)supplementaryView atRow:(NSUInteger)row column:(NSUInteger)column;
- (void)removeGamePieceViewAtRow:(NSUInteger)row column:(NSUInteger)column;
- (void)removeSupplementaryViewAtRow:(NSUInteger)row column:(NSUInteger)column;
- (void)reset;
- (void)removeAllGamePieceViews;
- (void)removeAllSupplementaryViews;
- (UIView *)gamePieceViewAtRow:(NSUInteger)row column:(NSUInteger)column;
- (UIView *)supplementaryViewAtRow:(NSUInteger)row column:(NSUInteger)column;
- (CGSize)recommendedGamePieceSize;

@end


@protocol GFRGameBoardViewDataSource <NSObject>

@required
- (NSUInteger)numberOfRows;
- (NSUInteger)numberOfColumns;
@optional
{'fraction_non_alphanumeric': 0.11373873873873874, 'fraction_numerical': 0.00563063063063063, 'mean_word_length': 7.602905569007264, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6685914', 'n_tokens_mistral': 1219, 'n_tokens_neox': 1127, 'n_words': 238}