hgeometry-ipe
Copyright(C) Frank Staals
Licensesee the LICENSE file
MaintainerFrank Staals
Safe HaskellNone
LanguageGHC2024

Ipe.Draw

Description

Class and setup for rendering/drawing

Synopsis

Documentation

type family Rendered backend Source #

The type of objects a backend renders

Instances

Instances details
type Rendered (Ipe r) Source # 
Instance details

Defined in Ipe.Draw

type Rendered (Ipe r) = [IpeObject r]

type Attr backend geom = AttrOf backend geom -> AttrOf backend geom Source #

An Attribute Assignment

class Monoid (Rendered backend) => IsDrawable backend geom where Source #

A class that expresses that something is drawable using a particular backend

Associated Types

type AttrOf backend geom Source #

A GADT that expresses possible attributes for a particular object

Methods

draw :: [Attr backend geom] -> geom -> Rendered backend Source #

Draw some objects

Instances

Instances details
IsDrawable backend a => IsDrawable backend (NonEmpty a) Source # 
Instance details

Defined in Ipe.Draw

Associated Types

type AttrOf backend (NonEmpty a) 
Instance details

Defined in Ipe.Draw

type AttrOf backend (NonEmpty a) = AttrOf backend a

Methods

draw :: [Attr backend (NonEmpty a)] -> NonEmpty a -> Rendered backend Source #

IsDrawable backend a => IsDrawable backend [a] Source # 
Instance details

Defined in Ipe.Draw

Associated Types

type AttrOf backend [a] 
Instance details

Defined in Ipe.Draw

type AttrOf backend [a] = AttrOf backend a

Methods

draw :: [Attr backend [a]] -> [a] -> Rendered backend Source #

IsDrawable (Ipe r) (IpeObject r) Source # 
Instance details

Defined in Ipe.Draw

Associated Types

type AttrOf (Ipe r) (IpeObject r) 
Instance details

Defined in Ipe.Draw

Methods

draw :: [Attr (Ipe r) (IpeObject r)] -> IpeObject r -> Rendered (Ipe r) Source #

IsDrawable (Ipe r) (IpeSymbol r) Source # 
Instance details

Defined in Ipe.Draw

Associated Types

type AttrOf (Ipe r) (IpeSymbol r) 
Instance details

Defined in Ipe.Draw

Methods

draw :: [Attr (Ipe r) (IpeSymbol r)] -> IpeSymbol r -> Rendered (Ipe r) Source #

IsDrawable (Ipe r) (Path r) Source # 
Instance details

Defined in Ipe.Draw

Associated Types

type AttrOf (Ipe r) (Path r) 
Instance details

Defined in Ipe.Draw

type AttrOf (Ipe r) (Path r) = PathAttributes r

Methods

draw :: [Attr (Ipe r) (Path r)] -> Path r -> Rendered (Ipe r) Source #

IsDrawable (Ipe r) (Point 2 r) Source # 
Instance details

Defined in Ipe.Draw

Associated Types

type AttrOf (Ipe r) (Point 2 r) 
Instance details

Defined in Ipe.Draw

type AttrOf (Ipe r) (Point 2 r) = SymbolAttributes r

Methods

draw :: [Attr (Ipe r) (Point 2 r)] -> Point 2 r -> Rendered (Ipe r) Source #

(Point_ vertex 2 r, VertexContainer f vertex, Num r) => IsDrawable (Ipe r) (SimplePolygonF f vertex) Source # 
Instance details

Defined in Ipe.Draw

Associated Types

type AttrOf (Ipe r) (SimplePolygonF f vertex) 
Instance details

Defined in Ipe.Draw

type AttrOf (Ipe r) (SimplePolygonF f vertex) = PathAttributes r

Methods

draw :: [Attr (Ipe r) (SimplePolygonF f vertex)] -> SimplePolygonF f vertex -> Rendered (Ipe r) Source #

The Ipe backend

data Ipe r Source #

The Ipe backend

Instances

Instances details
IsDrawable (Ipe r) (IpeObject r) Source # 
Instance details

Defined in Ipe.Draw

Associated Types

type AttrOf (Ipe r) (IpeObject r) 
Instance details

Defined in Ipe.Draw

Methods

draw :: [Attr (Ipe r) (IpeObject r)] -> IpeObject r -> Rendered (Ipe r) Source #

IsDrawable (Ipe r) (IpeSymbol r) Source # 
Instance details

Defined in Ipe.Draw

Associated Types

type AttrOf (Ipe r) (IpeSymbol r) 
Instance details

Defined in Ipe.Draw

Methods

draw :: [Attr (Ipe r) (IpeSymbol r)] -> IpeSymbol r -> Rendered (Ipe r) Source #

IsDrawable (Ipe r) (Path r) Source # 
Instance details

Defined in Ipe.Draw

Associated Types

type AttrOf (Ipe r) (Path r) 
Instance details

Defined in Ipe.Draw

type AttrOf (Ipe r) (Path r) = PathAttributes r

Methods

draw :: [Attr (Ipe r) (Path r)] -> Path r -> Rendered (Ipe r) Source #

IsDrawable (Ipe r) (Point 2 r) Source # 
Instance details

Defined in Ipe.Draw

Associated Types

type AttrOf (Ipe r) (Point 2 r) 
Instance details

Defined in Ipe.Draw

type AttrOf (Ipe r) (Point 2 r) = SymbolAttributes r

Methods

draw :: [Attr (Ipe r) (Point 2 r)] -> Point 2 r -> Rendered (Ipe r) Source #

(Point_ vertex 2 r, VertexContainer f vertex, Num r) => IsDrawable (Ipe r) (SimplePolygonF f vertex) Source # 
Instance details

Defined in Ipe.Draw

Associated Types

type AttrOf (Ipe r) (SimplePolygonF f vertex) 
Instance details

Defined in Ipe.Draw

type AttrOf (Ipe r) (SimplePolygonF f vertex) = PathAttributes r

Methods

draw :: [Attr (Ipe r) (SimplePolygonF f vertex)] -> SimplePolygonF f vertex -> Rendered (Ipe r) Source #

type Rendered (Ipe r) Source # 
Instance details

Defined in Ipe.Draw

type Rendered (Ipe r) = [IpeObject r]
type AttrOf (Ipe r) (IpeObject r) Source # 
Instance details

Defined in Ipe.Draw

type AttrOf (Ipe r) (IpeSymbol r) Source # 
Instance details

Defined in Ipe.Draw

type AttrOf (Ipe r) (Path r) Source # 
Instance details

Defined in Ipe.Draw

type AttrOf (Ipe r) (Path r) = PathAttributes r
type AttrOf (Ipe r) (Point 2 r) Source # 
Instance details

Defined in Ipe.Draw

type AttrOf (Ipe r) (Point 2 r) = SymbolAttributes r
type AttrOf (Ipe r) (SimplePolygonF f vertex) Source # 
Instance details

Defined in Ipe.Draw

type AttrOf (Ipe r) (SimplePolygonF f vertex) = PathAttributes r