LambdaHack-0.7.0.0: A game engine library for roguelike dungeon crawlers

Game.LambdaHack.Client.UI.Frame

Contents

Description

Screen frames.

Synopsis

# Documentation

type FrameST s = Mutable Vector s Word32 -> ST s () Source #

newtype FrameForall Source #

Efficiently composable representation of an operation on a frame, that is, on a mutable vector. When the composite operation is eventually performed, the vector is frozen to become a SingleFrame.

Constructors

 FrameForall FieldsunFrameForall :: forall s. FrameST s

Representation of an operation of overwriting a frame with a single line at the given row.

newtype SingleFrame Source #

An overlay that fits on the screen (or is meant to be truncated on display) and is padded to fill the whole screen and is displayed as a single game screen frame.

Note that we don't provide a list of color-highlighed positions separately, because overlays need to obscure not only map, but the highlights as well.

Constructors

 SingleFrame FieldssingleFrame :: GArray Word32 AttrCharW32

Instances

 Source # Methods Source # MethodsshowList :: [SingleFrame] -> ShowS #

type Frames = [Maybe FrameForall] Source #

Sequences of screen frames, including delays.

Overlays either the game map only or the whole empty screen frame. We assume the lines of the overlay are not too long nor too many.

# Internal operations

Add a space at the message end, for display overlayed over the level map. Also trim (do not wrap!) too long lines.