FULE-0.3.1: Functional UI Layout Engine
Copyright(c) Paul Schnapp 2023
LicenseBSD3
MaintainerPaul Schnapp <paul.schnapp@gmail.com>
Safe HaskellSafe-Inferred
LanguageHaskell2010

FULE.Container.Layered

Description

A Container to layer multiple items within the same Bounds.

Synopsis

Documentation

data LayeredM m k Source #

This container layers multiple visual ItemMs within the same bounding rectangle, one on top of the other. Z-ordering is not really taken into account since that depends on how you are using the layout output, but the ItemMs will appear in the output of runLayoutOp in the same order in which they're passed to the layered function.

Instances

Instances details
Monad m => Container (LayeredM m k) k m Source # 
Instance details

Defined in FULE.Container.Layered

Methods

minWidth :: LayeredM m k -> Proxy k -> m (Maybe Int) Source #

minHeight :: LayeredM m k -> Proxy k -> m (Maybe Int) Source #

addToLayout :: LayeredM m k -> Proxy k -> Bounds -> RenderGroup -> LayoutOp k m () Source #

type Layered = LayeredM Identity Source #

Like LayeredM but run in the Identity monad.

layered :: [ItemM m k] -> LayeredM m k Source #

Layer ItemMs within the same bounding rectangle.