granite-0.7.4.0: Easy terminal plotting.
Copyright(c) 2025
LicenseMIT
Maintainermschavinda@gmail.com
Safe HaskellNone
LanguageGHC2021

Granite.Render.Scene

Description

Backend-agnostic IR. Coordinates are in logical pixels; the terminal backend maps them to character cells via pxPerChar / pxPerLine (Braille gives 2×4 sub-cell resolution).

Synopsis

Documentation

data Point Source #

Constructors

Point !Double !Double 

Instances

Instances details
Show Point Source # 
Instance details

Defined in Granite.Render.Scene

Methods

showsPrec :: Int -> Point -> ShowS #

show :: Point -> String #

showList :: [Point] -> ShowS #

Eq Point Source # 
Instance details

Defined in Granite.Render.Scene

Methods

(==) :: Point -> Point -> Bool #

(/=) :: Point -> Point -> Bool #

data Rect Source #

Axis-aligned rectangle by top-left + size.

Constructors

Rect 

Fields

Instances

Instances details
Show Rect Source # 
Instance details

Defined in Granite.Render.Scene

Methods

showsPrec :: Int -> Rect -> ShowS #

show :: Rect -> String #

showList :: [Rect] -> ShowS #

Eq Rect Source # 
Instance details

Defined in Granite.Render.Scene

Methods

(==) :: Rect -> Rect -> Bool #

(/=) :: Rect -> Rect -> Bool #

data Mark Source #

Primitive drawable marks. MArc takes (center, radius, a0, a1) in radians CCW from +x. MPolygon is a closed filled polyline. MAxisLine is an axis-aligned 1-px line that the terminal backend writes as box-drawing chars (│ ─ ┼) for crisp axes; everything else is rasterised through Braille.

Instances

Instances details
Show Mark Source # 
Instance details

Defined in Granite.Render.Scene

Methods

showsPrec :: Int -> Mark -> ShowS #

show :: Mark -> String #

showList :: [Mark] -> ShowS #

Eq Mark Source # 
Instance details

Defined in Granite.Render.Scene

Methods

(==) :: Mark -> Mark -> Bool #

(/=) :: Mark -> Mark -> Bool #

data Scene Source #

Constructors

Scene 

Instances

Instances details
Show Scene Source # 
Instance details

Defined in Granite.Render.Scene

Methods

showsPrec :: Int -> Scene -> ShowS #

show :: Scene -> String #

showList :: [Scene] -> ShowS #

Eq Scene Source # 
Instance details

Defined in Granite.Render.Scene

Methods

(==) :: Scene -> Scene -> Bool #

(/=) :: Scene -> Scene -> Bool #

data Style Source #

Nothing on fill or stroke means "don't paint that side".

Instances

Instances details
Show Style Source # 
Instance details

Defined in Granite.Render.Scene

Methods

showsPrec :: Int -> Style -> ShowS #

show :: Style -> String #

showList :: [Style] -> ShowS #

Eq Style Source # 
Instance details

Defined in Granite.Render.Scene

Methods

(==) :: Style -> Style -> Bool #

(/=) :: Style -> Style -> Bool #

data TextStyle Source #

Constructors

TextStyle 

Fields

Instances

Instances details
Show TextStyle Source # 
Instance details

Defined in Granite.Render.Scene

Eq TextStyle Source # 
Instance details

Defined in Granite.Render.Scene

data TextAnchor Source #

Instances

Instances details
Show TextAnchor Source # 
Instance details

Defined in Granite.Render.Scene

Eq TextAnchor Source # 
Instance details

Defined in Granite.Render.Scene