<commit_before>//
//  HLGridLayoutManager.h
//  HLSpriteKit
//
//  Created by <NAME> on 10/11/16.
//  Copyright (c) 2016 Hilo Games. All rights reserved.
//

#import <SpriteKit/SpriteKit.h>

#import "HLLayoutManager.h"

/**
 The fill mode for the grid: the direction and priority for filling nodes into the columns
 and rows of the grid.
*/
typedef NS_ENUM(NSInteger, HLGridLayoutManagerFillMode) {
  /**
   Starting at the upper left of the grid, nodes fill the first row rightwards before
   going down to the next row.
  */
  HLGridLayoutManagerFillRightThenDown,
  /**
   Starting at the lower left of the grid, nodes fill the first row rightwards before
   going up to the next row.
   */
  HLGridLayoutManagerFillRightThenUp,
  /**
   Starting at the upper right of the grid, nodes fill the first row leftwards before
   going down to the next row.
  */
  HLGridLayoutManagerFillLeftThenDown,
  /**
   Starting at the lower right of the grid, nodes fill the first row leftwards before
   going up to the next row.
   */
  HLGridLayoutManagerFillLeftThenUp,
  /**
   Starting at the upper left of the grid, nodes fill the first column downwards before
   going right to the next row.
  */
  HLGridLayoutManagerFillDownThenRight,
  /**
   Starting at the upper right of the grid, nodes fill the first column downwards before
   going left to the next row.
   */
  HLGridLayoutManagerFillDownThenLeft,
  /**
   Starting at the lower left of the grid, nodes fill the first column upwards before
   going right to the next row.
  */
  HLGridLayoutManagerFillUpThenRight,
  /**
   Starting at the lower right of the grid, nodes fill the first column upwards before
   going left to the next row.
   */
  HLGridLayoutManagerFillUpThenLeft,
};

/**
 Provides functionality to lay out (set positions of) nodes in a simple grid.  This
 manager may be attached to an `SKNode` using `[SKNode+HLLayoutManager
 hlSetLayoutManager]`.
*/
@interface HLGridLayoutManager : NSObject <HLLayoutManager, NSCopying, NSCoding>

/// @name Creating a Grid Layout Manager

/**
 Initializes an unconfigured grid layout manager.
*/
- (instancetype)init;

/**
 Initializes the object with all parameters necessary for a grid layout of nodes limited
 by the number of columns in the grid (suitable for the `layout:` method).
*/
- (instancetype)initWithColumnCount:(NSUInteger)columnCount
                         squareSize:(CGSize)squareSize;<commit_msg>Fix typos in docs.<commit_after>//
//  HLGridLayoutManager.h
//  HLSpriteKit
//
//  Created by <NAME> on 10/11/16.
//  Copyright (c) 2016 Hilo Games. All rights reserved.
//

#import <SpriteKit/SpriteKit.h>

#import "HLLayoutManager.h"

/**
 The fill mode for the grid: the direction and priority for filling nodes into the columns
 and rows of the grid.
*/
typedef NS_ENUM(NSInteger, HLGridLayoutManagerFillMode) {
  /**
   Starting at the upper left of the grid, nodes fill the first row rightwards before
   going down to the next row.
  */
  HLGridLayoutManagerFillRightThenDown,
  /**
   Starting at the lower left of the grid, nodes fill the first row rightwards before
   going up to the next row.
   */
  HLGridLayoutManagerFillRightThenUp,
  /**
   Starting at the upper right of the grid, nodes fill the first row leftwards before
   going down to the next row.
  */
  HLGridLayoutManagerFillLeftThenDown,
  /**
   Starting at the lower right of the grid, nodes fill the first row leftwards before
   going up to the next row.
   */
  HLGridLayoutManagerFillLeftThenUp,
  /**
   Starting at the upper left of the grid, nodes fill the first column downwards before
   going right to the next column.
  */
  HLGridLayoutManagerFillDownThenRight,
  /**
   Starting at the upper right of the grid, nodes fill the first column downwards before
   going left to the next column.
   */
  HLGridLayoutManagerFillDownThenLeft,
  /**
   Starting at the lower left of the grid, nodes fill the first column upwards before
   going right to the next column.
  */
  HLGridLayoutManagerFillUpThenRight,
  /**
   Starting at the lower right of the grid, nodes fill the first column upwards before
   going left to the next column.
   */
  HLGridLayoutManagerFillUpThenLeft,
};

/**
 Provides functionality to lay out (set positions of) nodes in a simple grid.  This
 manager may be attached to an `SKNode` using `[SKNode+HLLayoutManager
 hlSetLayoutManager]`.
*/
@interface HLGridLayoutManager : NSObject <HLLayoutManager, NSCopying, NSCoding>

/// @name Creating a Grid Layout Manager

/**
 Initializes an unconfigured grid layout manager.
*/
- (instancetype)init;

/**
 Initializes the object with all parameters necessary for a grid layout of nodes limited
 by the number of columns in the grid (suitable for the `layout:` method).
*/
- (instancetype)initWithColumnCount:(NSUInteger)columnCount
                         squareSize:(CGSize)squareSize;
{'fraction_non_alphanumeric': 0.06992003280705351, 'fraction_numerical': 0.004100881689563256, 'mean_word_length': 3.520852641334569, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, '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': '7567680', 'n_tokens_mistral': 1408, 'n_tokens_neox': 1361, 'n_words': 586}