LambdaHack-0.10.3.0: A game engine library for tactical squad ASCII roguelike dungeon crawlers
Safe HaskellNone
LanguageHaskell2010

Game.LambdaHack.Client.UI.Slideshow

Description

Slideshows.

Synopsis

Documentation

data ButtonWidth Source #

Width of on-screen button text, expressed in characters, and so UI (mono font) width is deduced from the used font.

Constructors

ButtonWidth 

Instances

Instances details
Eq ButtonWidth Source # 
Instance details

Defined in Game.LambdaHack.Client.UI.Slideshow

Show ButtonWidth Source # 
Instance details

Defined in Game.LambdaHack.Client.UI.Slideshow

type KYX = (KeyOrSlot, (PointUI, ButtonWidth)) Source #

A key or an item slot label at a given position on the screen.

type OKX = (FontOverlayMap, [KYX]) Source #

An Overlay of text with an associated list of keys or slots that activate when the specified screen position is pointed at. The list should be sorted wrt rows and then columns.

data Slideshow Source #

A list of active screenfulls to be shown one after another. Each screenful has an independent numbering of rows and columns.

Instances

Instances details
Eq Slideshow Source # 
Instance details

Defined in Game.LambdaHack.Client.UI.Slideshow

Show Slideshow Source # 
Instance details

Defined in Game.LambdaHack.Client.UI.Slideshow

attrLinesToFontMap :: [(DisplayFont, [AttrLine])] -> FontOverlayMap Source #

This appends vertically a list of blurbs into a single font overlay map. Not to be used if some blurbs need to be places overlapping vertically, e.g., when the square font symbol needs to be in the same line as the start of the descritpion of the denoted item or when mono font buttons need to be after a prompt.

wrapOKX :: DisplayFont -> Int -> Int -> Int -> [(KM, String)] -> (Overlay, [KYX]) Source #

splitOKX :: FontSetup -> Bool -> Int -> Int -> Int -> AttrString -> [KM] -> OKX -> [OKX] Source #

highSlideshow Source #

Arguments

:: FontSetup 
-> Int

width of the display area

-> Int

height of the display area

-> ScoreTable

current score table

-> Int

position of the current score in the table

-> Text

the name of the game mode

-> TimeZone

the timezone where the game is run

-> Slideshow 

Generate a slideshow with the current and previous scores.

Internal operations

keysOKX :: DisplayFont -> Int -> Int -> Int -> [KM] -> (Overlay, [KYX]) Source #

showTable :: TimeZone -> Int -> ScoreTable -> Int -> Int -> [AttrLine] Source #

Show a screenful of the high scores table. Parameter entries is the number of (3-line) scores to be shown.

showNearbyScores :: TimeZone -> Int -> ScoreTable -> Int -> [[AttrLine]] Source #

Produce a couple of renderings of the high scores table.