Namespace SadRogue.Primitives.GridViews
Classes
ArrayView<T>
Implementation of ISettableGridView<T> that uses a 1D array to store data.
ArrayView2D<T>
Implementation of ISettableGridView<T> that uses a 2D array to store data.
BitArrayView
A grid view that wraps a C# BitArray into a settable grid view of boolean values.
Diff<T>
Represents a unique patch/diff of the state of a DiffAwareGridView<T>.
DiffAwareGridView<T>
A grid view wrapper useful for recording diffs (change-sets) of changes to a grid view, and applying/removing those change-sets of values from the grid view. Only works with grid views of value types.
GridView1DIndexBase<T>
Exactly like GridViewBase<T>, except for the one indexer left to the user to implement is the one which takes a 1D array, and the position-based indexers are implemented off that.
GridViewBase<T>
A convenient base class to inherit from when implementing IGridView<T> that minimizes the number of items you must implement by implementing indexers in terms of a single indexer taking a Point.
GridViewExtensions
Extensions for IGridView<T> implementations that provide basic utility functions for them.
LambdaGridView<T>
Class implementing IGridView<T>, by providing the "get" functionality via a function that is passed in at construction. For a version that implements ISettableGridView<T>, see LambdaSettableGridView<T>.
LambdaSettableGridView<T>
Class implementing ISettableGridView<T>, by providing the "get" and "set" functionality via functions that are passed in at construction. For a version that implements IGridView<T>, see LambdaGridView<T>.
LambdaSettableTranslationGridView<T1, T2>
A simple SettableTranslationGridView<T1, T2> implementation that allows you to provide functions/lambdas for the translation functions. For a version offering only "get" functionality, see LambdaTranslationGridView<T1, T2>.
LambdaTranslationGridView<T1, T2>
A simple TranslationGridView<T1, T2> implementation that allows you to provide a function/lambda at construction to use as the TranslateGet(Point, T1) implementation. For a version offering "set" functionality, see LambdaSettableTranslationGridView<T1, T2>.
SettableGridView1DIndexBase<T>
Exactly like SettableGridViewBase<T>, except for the one indexer left to the user to implement is the one which takes a 1D array, and the position-based indexers are implemented off that.
SettableGridViewBase<T>
A convenient base class to inherit from when implementing ISettableGridView<T> that minimizes the number of items you must implement by implementing indexers in terms of a single indexer taking a Point.
SettableTranslationGridView<T1, T2>
Class implementing ISettableGridView<T> by providing a functions that translate values from one grid view with complex data types, to a grid view with simple data types, and vice versa. For a version that provides only "get" functionality, see TranslationGridView<T1, T2>.
SettableViewport<T>
Similar to Viewport<T>, but implements ISettableGridView<T>and thus implements "set" functionality via relative coordinates.
TranslationGridView<T1, T2>
Class implementing IGridView<T> by providing a function that translates values from one grid view with complex data types, to a grid view with simple data types. For a version that provides "set" functionality, see SettableTranslationGridView<T1, T2>.
UnboundedViewport<T>
Similar to Viewport<T>, except that the view area is in no way bounded to the edges of the underlying grid view. Instead, if you access a position that cannot map to any valid position in the underlying grid view, a (specified) default value is returned.
ValueChange<T>
Records a value change in a diff as recorded by a DiffAwareGridView<T>.
Viewport<T>
Implements IGridView<T> to expose a "viewport", or sub-area, of another grid view. Its indexers perform relative to absolute coordinate translations based on the viewport size/location, and return the proper value of type T from the underlying view.
Interfaces
IGridView<T>
Interface designed to act as a standardized input/output format that defines minimal required data for algorithms that operate on a grid of some sort. For a concrete implementation to subclass for custom implementations, see GridViewBase<T>.
ISettableGridView<T>
Interface designed to act as a standardized input/output format that defines minimal required data for algorithms that operate and make changes to a grid of some sort. For a concrete implementation to subclass for custom implementations, see SettableGridViewBase<T>.