Safe Haskell | None |
---|---|
Language | Haskell2010 |
Rectangular areas of levels and their basic operations.
- data Area
- toArea :: (X, Y, X, Y) -> Maybe Area
- fromArea :: Area -> (X, Y, X, Y)
- trivialArea :: Point -> Area
- isTrivialArea :: Area -> Bool
- grid :: EnumMap Point (GroupName PlaceKind) -> [Point] -> (X, Y) -> Area -> ((X, Y), EnumMap Point SpecialArea)
- shrink :: Area -> Maybe Area
- expand :: Area -> Area
- sumAreas :: Area -> Area -> Area
- data SpecialArea
- = SpecialArea !Area
- | SpecialFixed !Point !(GroupName PlaceKind) !Area
- | SpecialMerged !SpecialArea !Point
Documentation
The type of areas. The bottom left and the top right points.
trivialArea :: Point -> Area Source #
isTrivialArea :: Area -> Bool Source #
grid :: EnumMap Point (GroupName PlaceKind) -> [Point] -> (X, Y) -> Area -> ((X, Y), EnumMap Point SpecialArea) Source #
Divide uniformly a larger area into the given number of smaller areas overlapping at the edges.
When a list of fixed centers (some important points inside) of (non-overlapping) areas is given, incorporate those, with as little disruption, as possible.