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

Ipe.Types

Description

Data type modeling the various elements in Ipe files.

Synopsis

Ipe Files

data IpeFile r Source #

A complete ipe file

Instances

Instances details
Generic (IpeFile r) Source # 
Instance details

Defined in Ipe.Types

Associated Types

type Rep (IpeFile r) 
Instance details

Defined in Ipe.Types

type Rep (IpeFile r) = D1 ('MetaData "IpeFile" "Ipe.Types" "hgeometry-ipe-1.0.0.0-inplace" 'False) (C1 ('MetaCons "IpeFile" 'PrefixI 'True) (S1 ('MetaSel ('Just "_preamble") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe IpePreamble)) :*: (S1 ('MetaSel ('Just "_styles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [IpeStyle]) :*: S1 ('MetaSel ('Just "_pages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NonEmpty (IpePage r))))))

Methods

from :: IpeFile r -> Rep (IpeFile r) x Source #

to :: Rep (IpeFile r) x -> IpeFile r Source #

Show r => Show (IpeFile r) Source # 
Instance details

Defined in Ipe.Types

Eq r => Eq (IpeFile r) Source # 
Instance details

Defined in Ipe.Types

Methods

(==) :: IpeFile r -> IpeFile r -> Bool Source #

(/=) :: IpeFile r -> IpeFile r -> Bool Source #

(Coordinate r, Eq r) => IpeRead (IpeFile r) Source # 
Instance details

Defined in Ipe.Reader

IpeWriteText r => IpeWrite (IpeFile r) Source # 
Instance details

Defined in Ipe.Writer

type Rep (IpeFile r) Source # 
Instance details

Defined in Ipe.Types

type Rep (IpeFile r) = D1 ('MetaData "IpeFile" "Ipe.Types" "hgeometry-ipe-1.0.0.0-inplace" 'False) (C1 ('MetaCons "IpeFile" 'PrefixI 'True) (S1 ('MetaSel ('Just "_preamble") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe IpePreamble)) :*: (S1 ('MetaSel ('Just "_styles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [IpeStyle]) :*: S1 ('MetaSel ('Just "_pages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NonEmpty (IpePage r))))))

preamble :: forall r f. Functor f => (Maybe IpePreamble -> f (Maybe IpePreamble)) -> IpeFile r -> f (IpeFile r) Source #

Lens to access the preamble of an ipe file

styles :: forall r f. Functor f => ([IpeStyle] -> f [IpeStyle]) -> IpeFile r -> f (IpeFile r) Source #

Lens to access the styles of an ipe file

pages :: forall r r' f. Functor f => (NonEmpty (IpePage r) -> f (NonEmpty (IpePage r'))) -> IpeFile r -> f (IpeFile r') Source #

Lens to access the pages of an ipe file

ipeFile :: NonEmpty (IpePage r) -> IpeFile r Source #

Convenience constructor for creating an ipe file without preamble and with the default stylesheet.

singlePageFile :: IpePage r -> IpeFile r Source #

Convenience function to construct an ipe file consisting of a single page.

singlePageFromContent :: [IpeObject r] -> IpeFile r Source #

Create a single page ipe file from a list of IpeObjects

Ipe Pages

data IpePage r Source #

An IpePage is essentially a Group, together with a list of layers and a list of views.

Constructors

IpePage [LayerName] [View] [IpeObject r] 

Instances

Instances details
Generic (IpePage r) Source # 
Instance details

Defined in Ipe.Types

Associated Types

type Rep (IpePage r) 
Instance details

Defined in Ipe.Types

type Rep (IpePage r) = D1 ('MetaData "IpePage" "Ipe.Types" "hgeometry-ipe-1.0.0.0-inplace" 'False) (C1 ('MetaCons "IpePage" 'PrefixI 'True) (S1 ('MetaSel ('Just "_layers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [LayerName]) :*: (S1 ('MetaSel ('Just "_views") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [View]) :*: S1 ('MetaSel ('Just "_content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [IpeObject r]))))

Methods

from :: IpePage r -> Rep (IpePage r) x Source #

to :: Rep (IpePage r) x -> IpePage r Source #

Show r => Show (IpePage r) Source # 
Instance details

Defined in Ipe.Types

Eq r => Eq (IpePage r) Source # 
Instance details

Defined in Ipe.Types

Methods

(==) :: IpePage r -> IpePage r -> Bool Source #

(/=) :: IpePage r -> IpePage r -> Bool Source #

(Coordinate r, Eq r) => IpeRead (IpePage r) Source # 
Instance details

Defined in Ipe.Reader

IpeWriteText r => IpeWrite (IpePage r) Source # 
Instance details

Defined in Ipe.Writer

type Rep (IpePage r) Source # 
Instance details

Defined in Ipe.Types

type Rep (IpePage r) = D1 ('MetaData "IpePage" "Ipe.Types" "hgeometry-ipe-1.0.0.0-inplace" 'False) (C1 ('MetaCons "IpePage" 'PrefixI 'True) (S1 ('MetaSel ('Just "_layers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [LayerName]) :*: (S1 ('MetaSel ('Just "_views") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [View]) :*: S1 ('MetaSel ('Just "_content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [IpeObject r]))))

layers :: forall r f. Functor f => ([LayerName] -> f [LayerName]) -> IpePage r -> f (IpePage r) Source #

Lens to access the layers of an ipe page

views :: forall r f. Functor f => ([View] -> f [View]) -> IpePage r -> f (IpePage r) Source #

Lens to access the views of an ipe page

content :: forall r r' f. Functor f => ([IpeObject r] -> f [IpeObject r']) -> IpePage r -> f (IpePage r') Source #

Lens to access the content of an ipe page

emptyPage :: IpePage r Source #

Creates an empty page with one layer and view.

fromContent :: [IpeObject r] -> IpePage r Source #

Creates a simple page with a single view.

onLayer :: LayerName -> Getting (Endo [IpeObject r]) [IpeObject r] (IpeObject r) Source #

This allows you to filter the objects on some layer.

>>> let page = IpePage [] [] []
>>> page^..content.onLayer "myLayer"
[]

contentInView :: Word -> Getter (IpePage r) [IpeObject r] Source #

Gets all objects that are visible in the given view.

Note that views are indexed starting from 0. If the page does not have any explicit view definitions, this function returns an empty list.

>>> let page = IpePage [] [] []
>>> page^.contentInView 0
[]

withDefaults :: IpePage r -> IpePage r Source #

Makes sure that the page has at least one layer and at least one view, essentially matching the behaviour of ipe. In particular,

  • if the page does not have any layers, it creates a layer named "alpha", and
  • if the page does not have any views, it creates a view in which all layers are visible.

Content: Ipe Objects

data IpeObject r Source #

Instances

Instances details
Functor IpeObject Source # 
Instance details

Defined in Ipe.Content

Methods

fmap :: (a -> b) -> IpeObject a -> IpeObject b Source #

(<$) :: a -> IpeObject b -> IpeObject a Source #

Foldable IpeObject Source # 
Instance details

Defined in Ipe.Content

Methods

fold :: Monoid m => IpeObject m -> m Source #

foldMap :: Monoid m => (a -> m) -> IpeObject a -> m Source #

foldMap' :: Monoid m => (a -> m) -> IpeObject a -> m Source #

foldr :: (a -> b -> b) -> b -> IpeObject a -> b Source #

foldr' :: (a -> b -> b) -> b -> IpeObject a -> b Source #

foldl :: (b -> a -> b) -> b -> IpeObject a -> b Source #

foldl' :: (b -> a -> b) -> b -> IpeObject a -> b Source #

foldr1 :: (a -> a -> a) -> IpeObject a -> a Source #

foldl1 :: (a -> a -> a) -> IpeObject a -> a Source #

toList :: IpeObject a -> [a] Source #

null :: IpeObject a -> Bool Source #

length :: IpeObject a -> Int Source #

elem :: Eq a => a -> IpeObject a -> Bool Source #

maximum :: Ord a => IpeObject a -> a Source #

minimum :: Ord a => IpeObject a -> a Source #

sum :: Num a => IpeObject a -> a Source #

product :: Num a => IpeObject a -> a Source #

Traversable IpeObject Source # 
Instance details

Defined in Ipe.Content

Methods

traverse :: Applicative f => (a -> f b) -> IpeObject a -> f (IpeObject b) Source #

sequenceA :: Applicative f => IpeObject (f a) -> f (IpeObject a) Source #

mapM :: Monad m => (a -> m b) -> IpeObject a -> m (IpeObject b) Source #

sequence :: Monad m => IpeObject (m a) -> m (IpeObject a) Source #

Generic (IpeObject r) Source # 
Instance details

Defined in Ipe.Content

Methods

from :: IpeObject r -> Rep (IpeObject r) x Source #

to :: Rep (IpeObject r) x -> IpeObject r Source #

Show r => Show (IpeObject r) Source # 
Instance details

Defined in Ipe.Content

Eq r => Eq (IpeObject r) Source # 
Instance details

Defined in Ipe.Content

(Coordinate r, Fractional r, Eq r) => IpeRead (IpeObject r) Source # 
Instance details

Defined in Ipe.Reader

IpeWriteText r => IpeWrite (IpeObject r) Source # 
Instance details

Defined in Ipe.Writer

(Fractional r, Eq r) => IsTransformable (IpeObject r) Source # 
Instance details

Defined in Ipe.Content

type Rep (IpeObject r) Source # 
Instance details

Defined in Ipe.Content

type Dimension (IpeObject r) Source # 
Instance details

Defined in Ipe.Content

type Dimension (IpeObject r) = 2
type NumType (IpeObject r) Source # 
Instance details

Defined in Ipe.Content

type NumType (IpeObject r) = r

_IpeGroup :: forall r p f. (Choice p, Applicative f) => p (IpeObject' Group r) (f (IpeObject' Group r)) -> p (IpeObject r) (f (IpeObject r)) Source #

_IpeImage :: forall r p f. (Choice p, Applicative f) => p (IpeObject' Image r) (f (IpeObject' Image r)) -> p (IpeObject r) (f (IpeObject r)) Source #

_IpeTextLabel :: forall r p f. (Choice p, Applicative f) => p (IpeObject' TextLabel r) (f (IpeObject' TextLabel r)) -> p (IpeObject r) (f (IpeObject r)) Source #

_IpeMiniPage :: forall r p f. (Choice p, Applicative f) => p (IpeObject' MiniPage r) (f (IpeObject' MiniPage r)) -> p (IpeObject r) (f (IpeObject r)) Source #

_IpeUse :: forall r p f. (Choice p, Applicative f) => p (IpeObject' IpeSymbol r) (f (IpeObject' IpeSymbol r)) -> p (IpeObject r) (f (IpeObject r)) Source #

_IpePath :: forall r p f. (Choice p, Applicative f) => p (IpeObject' Path r) (f (IpeObject' Path r)) -> p (IpeObject r) (f (IpeObject r)) Source #

type IpeObject' (g :: Type -> Type) r = g r :+ IpeAttributes g r Source #

An IpeObject' is essentially the oject ogether with its attributes

ipeObject' :: ToObject i => i r -> IpeAttributes i r -> IpeObject r Source #

Shorthand for constructing ipeObjects

class ToObject (i :: Type -> Type) where Source #

Instances

Instances details
ToObject Group Source # 
Instance details

Defined in Ipe.Content

ToObject Image Source # 
Instance details

Defined in Ipe.Content

ToObject IpeSymbol Source # 
Instance details

Defined in Ipe.Content

ToObject MiniPage Source # 
Instance details

Defined in Ipe.Content

ToObject TextLabel Source # 
Instance details

Defined in Ipe.Content

ToObject Path Source # 
Instance details

Defined in Ipe.Content

Specific Ipe-Objects

newtype Path r Source #

A path is a non-empty sequence of PathSegments.

Constructors

Path (Seq (PathSegment r)) 

Instances

Instances details
Functor Path Source # 
Instance details

Defined in Ipe.Path

Methods

fmap :: (a -> b) -> Path a -> Path b Source #

(<$) :: a -> Path b -> Path a Source #

Foldable Path Source # 
Instance details

Defined in Ipe.Path

Methods

fold :: Monoid m => Path m -> m Source #

foldMap :: Monoid m => (a -> m) -> Path a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Path a -> m Source #

foldr :: (a -> b -> b) -> b -> Path a -> b Source #

foldr' :: (a -> b -> b) -> b -> Path a -> b Source #

foldl :: (b -> a -> b) -> b -> Path a -> b Source #

foldl' :: (b -> a -> b) -> b -> Path a -> b Source #

foldr1 :: (a -> a -> a) -> Path a -> a Source #

foldl1 :: (a -> a -> a) -> Path a -> a Source #

toList :: Path a -> [a] Source #

null :: Path a -> Bool Source #

length :: Path a -> Int Source #

elem :: Eq a => a -> Path a -> Bool Source #

maximum :: Ord a => Path a -> a Source #

minimum :: Ord a => Path a -> a Source #

sum :: Num a => Path a -> a Source #

product :: Num a => Path a -> a Source #

Traversable Path Source # 
Instance details

Defined in Ipe.Path

Methods

traverse :: Applicative f => (a -> f b) -> Path a -> f (Path b) Source #

sequenceA :: Applicative f => Path (f a) -> f (Path a) Source #

mapM :: Monad m => (a -> m b) -> Path a -> m (Path b) Source #

sequence :: Monad m => Path (m a) -> m (Path a) Source #

ToObject Path Source # 
Instance details

Defined in Ipe.Content

Semigroup (Path r) Source # 
Instance details

Defined in Ipe.Path

Methods

(<>) :: Path r -> Path r -> Path r Source #

sconcat :: NonEmpty (Path r) -> Path r Source #

stimes :: Integral b => b -> Path r -> Path r Source #

Generic (Path r) Source # 
Instance details

Defined in Ipe.Path

Associated Types

type Rep (Path r) 
Instance details

Defined in Ipe.Path

type Rep (Path r) = D1 ('MetaData "Path" "Ipe.Path" "hgeometry-ipe-1.0.0.0-inplace" 'True) (C1 ('MetaCons "Path" 'PrefixI 'True) (S1 ('MetaSel ('Just "_pathSegments") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq (PathSegment r)))))

Methods

from :: Path r -> Rep (Path r) x Source #

to :: Rep (Path r) x -> Path r Source #

Show r => Show (Path r) Source # 
Instance details

Defined in Ipe.Path

Methods

showsPrec :: Int -> Path r -> ShowS Source #

show :: Path r -> String Source #

showList :: [Path r] -> ShowS Source #

Eq r => Eq (Path r) Source # 
Instance details

Defined in Ipe.Path

Methods

(==) :: Path r -> Path r -> Bool Source #

(/=) :: Path r -> Path r -> Bool Source #

(Coordinate r, Fractional r, Eq r) => IpeRead (Path r) Source # 
Instance details

Defined in Ipe.Reader

(Coordinate r, Fractional r, Eq r) => IpeReadText (Path r) Source # 
Instance details

Defined in Ipe.Reader

IpeWriteText r => IpeWrite (Path r) Source # 
Instance details

Defined in Ipe.Writer

Methods

ipeWrite :: Path r -> Maybe (Node Text Text) Source #

IpeWriteText r => IpeWriteText (Path r) Source # 
Instance details

Defined in Ipe.Writer

(Fractional r, Eq r) => IsTransformable (Path r) Source # 
Instance details

Defined in Ipe.Path

type Rep (Path r) Source # 
Instance details

Defined in Ipe.Path

type Rep (Path r) = D1 ('MetaData "Path" "Ipe.Path" "hgeometry-ipe-1.0.0.0-inplace" 'True) (C1 ('MetaCons "Path" 'PrefixI 'True) (S1 ('MetaSel ('Just "_pathSegments") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq (PathSegment r)))))
type Dimension (Path r) Source # 
Instance details

Defined in Ipe.Path

type Dimension (Path r) = 2
type NumType (Path r) Source # 
Instance details

Defined in Ipe.Path

type NumType (Path r) = r

pathSegments :: forall r r' p f. (Profunctor p, Functor f) => p (Seq (PathSegment r)) (f (Seq (PathSegment r'))) -> p (Path r) (f (Path r')) Source #

Lens/Iso to access the sequcne of segments of the path

data PathSegment r Source #

Paths consist of Path Segments. PathSegments come in the following forms:

Instances

Instances details
Functor PathSegment Source # 
Instance details

Defined in Ipe.Path

Methods

fmap :: (a -> b) -> PathSegment a -> PathSegment b Source #

(<$) :: a -> PathSegment b -> PathSegment a Source #

Foldable PathSegment Source # 
Instance details

Defined in Ipe.Path

Methods

fold :: Monoid m => PathSegment m -> m Source #

foldMap :: Monoid m => (a -> m) -> PathSegment a -> m Source #

foldMap' :: Monoid m => (a -> m) -> PathSegment a -> m Source #

foldr :: (a -> b -> b) -> b -> PathSegment a -> b Source #

foldr' :: (a -> b -> b) -> b -> PathSegment a -> b Source #

foldl :: (b -> a -> b) -> b -> PathSegment a -> b Source #

foldl' :: (b -> a -> b) -> b -> PathSegment a -> b Source #

foldr1 :: (a -> a -> a) -> PathSegment a -> a Source #

foldl1 :: (a -> a -> a) -> PathSegment a -> a Source #

toList :: PathSegment a -> [a] Source #

null :: PathSegment a -> Bool Source #

length :: PathSegment a -> Int Source #

elem :: Eq a => a -> PathSegment a -> Bool Source #

maximum :: Ord a => PathSegment a -> a Source #

minimum :: Ord a => PathSegment a -> a Source #

sum :: Num a => PathSegment a -> a Source #

product :: Num a => PathSegment a -> a Source #

Traversable PathSegment Source # 
Instance details

Defined in Ipe.Path

Methods

traverse :: Applicative f => (a -> f b) -> PathSegment a -> f (PathSegment b) Source #

sequenceA :: Applicative f => PathSegment (f a) -> f (PathSegment a) Source #

mapM :: Monad m => (a -> m b) -> PathSegment a -> m (PathSegment b) Source #

sequence :: Monad m => PathSegment (m a) -> m (PathSegment a) Source #

Show r => Show (PathSegment r) Source # 
Instance details

Defined in Ipe.Path

Eq r => Eq (PathSegment r) Source # 
Instance details

Defined in Ipe.Path

(Coordinate r, Fractional r, Eq r) => IpeReadText (NonEmpty (PathSegment r)) Source # 
Instance details

Defined in Ipe.Reader

IpeWriteText r => IpeWriteText (PathSegment r) Source # 
Instance details

Defined in Ipe.Writer

(Fractional r, Eq r) => IsTransformable (PathSegment r) Source # 
Instance details

Defined in Ipe.Path

type Dimension (PathSegment r) Source # 
Instance details

Defined in Ipe.Path

type Dimension (PathSegment r) = 2
type NumType (PathSegment r) Source # 
Instance details

Defined in Ipe.Path

type NumType (PathSegment r) = r

data IpeSymbol r Source #

Ipe Symbols, i.e. Points

A symbol (point) in ipe

Constructors

Symbol (Point 2 r) Text 

Instances

Instances details
Functor IpeSymbol Source # 
Instance details

Defined in Ipe.Content

Methods

fmap :: (a -> b) -> IpeSymbol a -> IpeSymbol b Source #

(<$) :: a -> IpeSymbol b -> IpeSymbol a Source #

Foldable IpeSymbol Source # 
Instance details

Defined in Ipe.Content

Methods

fold :: Monoid m => IpeSymbol m -> m Source #

foldMap :: Monoid m => (a -> m) -> IpeSymbol a -> m Source #

foldMap' :: Monoid m => (a -> m) -> IpeSymbol a -> m Source #

foldr :: (a -> b -> b) -> b -> IpeSymbol a -> b Source #

foldr' :: (a -> b -> b) -> b -> IpeSymbol a -> b Source #

foldl :: (b -> a -> b) -> b -> IpeSymbol a -> b Source #

foldl' :: (b -> a -> b) -> b -> IpeSymbol a -> b Source #

foldr1 :: (a -> a -> a) -> IpeSymbol a -> a Source #

foldl1 :: (a -> a -> a) -> IpeSymbol a -> a Source #

toList :: IpeSymbol a -> [a] Source #

null :: IpeSymbol a -> Bool Source #

length :: IpeSymbol a -> Int Source #

elem :: Eq a => a -> IpeSymbol a -> Bool Source #

maximum :: Ord a => IpeSymbol a -> a Source #

minimum :: Ord a => IpeSymbol a -> a Source #

sum :: Num a => IpeSymbol a -> a Source #

product :: Num a => IpeSymbol a -> a Source #

Traversable IpeSymbol Source # 
Instance details

Defined in Ipe.Content

Methods

traverse :: Applicative f => (a -> f b) -> IpeSymbol a -> f (IpeSymbol b) Source #

sequenceA :: Applicative f => IpeSymbol (f a) -> f (IpeSymbol a) Source #

mapM :: Monad m => (a -> m b) -> IpeSymbol a -> m (IpeSymbol b) Source #

sequence :: Monad m => IpeSymbol (m a) -> m (IpeSymbol a) Source #

ToObject IpeSymbol Source # 
Instance details

Defined in Ipe.Content

Generic (IpeSymbol r) Source # 
Instance details

Defined in Ipe.Content

Associated Types

type Rep (IpeSymbol r) 
Instance details

Defined in Ipe.Content

type Rep (IpeSymbol r) = D1 ('MetaData "IpeSymbol" "Ipe.Content" "hgeometry-ipe-1.0.0.0-inplace" 'False) (C1 ('MetaCons "Symbol" 'PrefixI 'True) (S1 ('MetaSel ('Just "_symbolPoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Point 2 r)) :*: S1 ('MetaSel ('Just "_symbolName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

Methods

from :: IpeSymbol r -> Rep (IpeSymbol r) x Source #

to :: Rep (IpeSymbol r) x -> IpeSymbol r Source #

Show r => Show (IpeSymbol r) Source # 
Instance details

Defined in Ipe.Content

Eq r => Eq (IpeSymbol r) Source # 
Instance details

Defined in Ipe.Content

Ord r => Ord (IpeSymbol r) Source # 
Instance details

Defined in Ipe.Content

Coordinate r => IpeRead (IpeSymbol r) Source #

Ipe read instances

Instance details

Defined in Ipe.Reader

IpeWriteText r => IpeWrite (IpeSymbol r) Source # 
Instance details

Defined in Ipe.Writer

Fractional r => IsTransformable (IpeSymbol r) Source # 
Instance details

Defined in Ipe.Content

type Rep (IpeSymbol r) Source # 
Instance details

Defined in Ipe.Content

type Rep (IpeSymbol r) = D1 ('MetaData "IpeSymbol" "Ipe.Content" "hgeometry-ipe-1.0.0.0-inplace" 'False) (C1 ('MetaCons "Symbol" 'PrefixI 'True) (S1 ('MetaSel ('Just "_symbolPoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Point 2 r)) :*: S1 ('MetaSel ('Just "_symbolName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
type Dimension (IpeSymbol r) Source # 
Instance details

Defined in Ipe.Content

type Dimension (IpeSymbol r) = 2
type NumType (IpeSymbol r) Source # 
Instance details

Defined in Ipe.Content

type NumType (IpeSymbol r) = r

symbolPoint :: forall r r' f. Functor f => (Point 2 r -> f (Point 2 r')) -> IpeSymbol r -> f (IpeSymbol r') Source #

Lens to access the position of the symbol

symbolName :: forall r f. Functor f => (Text -> f Text) -> IpeSymbol r -> f (IpeSymbol r) Source #

Lens to access the name of the symbol

newtype Group r Source #

Groups and Objects

Group Attributes

A group is essentially a list of IpeObjects.

Constructors

Group [IpeObject r] 

Instances

Instances details
Functor Group Source # 
Instance details

Defined in Ipe.Content

Methods

fmap :: (a -> b) -> Group a -> Group b Source #

(<$) :: a -> Group b -> Group a Source #

Foldable Group Source # 
Instance details

Defined in Ipe.Content

Methods

fold :: Monoid m => Group m -> m Source #

foldMap :: Monoid m => (a -> m) -> Group a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Group a -> m Source #

foldr :: (a -> b -> b) -> b -> Group a -> b Source #

foldr' :: (a -> b -> b) -> b -> Group a -> b Source #

foldl :: (b -> a -> b) -> b -> Group a -> b Source #

foldl' :: (b -> a -> b) -> b -> Group a -> b Source #

foldr1 :: (a -> a -> a) -> Group a -> a Source #

foldl1 :: (a -> a -> a) -> Group a -> a Source #

toList :: Group a -> [a] Source #

null :: Group a -> Bool Source #

length :: Group a -> Int Source #

elem :: Eq a => a -> Group a -> Bool Source #

maximum :: Ord a => Group a -> a Source #

minimum :: Ord a => Group a -> a Source #

sum :: Num a => Group a -> a Source #

product :: Num a => Group a -> a Source #

Traversable Group Source # 
Instance details

Defined in Ipe.Content

Methods

traverse :: Applicative f => (a -> f b) -> Group a -> f (Group b) Source #

sequenceA :: Applicative f => Group (f a) -> f (Group a) Source #

mapM :: Monad m => (a -> m b) -> Group a -> m (Group b) Source #

sequence :: Monad m => Group (m a) -> m (Group a) Source #

ToObject Group Source # 
Instance details

Defined in Ipe.Content

Generic (Group r) Source # 
Instance details

Defined in Ipe.Content

Associated Types

type Rep (Group r) 
Instance details

Defined in Ipe.Content

type Rep (Group r) = D1 ('MetaData "Group" "Ipe.Content" "hgeometry-ipe-1.0.0.0-inplace" 'True) (C1 ('MetaCons "Group" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [IpeObject r])))

Methods

from :: Group r -> Rep (Group r) x Source #

to :: Rep (Group r) x -> Group r Source #

Show r => Show (Group r) Source # 
Instance details

Defined in Ipe.Content

Eq r => Eq (Group r) Source # 
Instance details

Defined in Ipe.Content

Methods

(==) :: Group r -> Group r -> Bool Source #

(/=) :: Group r -> Group r -> Bool Source #

HasDefaultIpeOut (Group r) Source # 
Instance details

Defined in Ipe.IpeOut

Associated Types

type DefaultIpeOut (Group r) 
Instance details

Defined in Ipe.IpeOut

(Coordinate r, Eq r) => IpeRead (Group r) Source # 
Instance details

Defined in Ipe.Reader

IpeWriteText r => IpeWrite (Group r) Source # 
Instance details

Defined in Ipe.Writer

(Fractional r, Eq r) => IsTransformable (Group r) Source # 
Instance details

Defined in Ipe.Content

type Rep (Group r) Source # 
Instance details

Defined in Ipe.Content

type Rep (Group r) = D1 ('MetaData "Group" "Ipe.Content" "hgeometry-ipe-1.0.0.0-inplace" 'True) (C1 ('MetaCons "Group" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [IpeObject r])))
type DefaultIpeOut (Group r) Source # 
Instance details

Defined in Ipe.IpeOut

type Dimension (Group r) Source # 
Instance details

Defined in Ipe.Content

type Dimension (Group r) = 2
type NumType (Group r) Source # 
Instance details

Defined in Ipe.Content

type NumType (Group r) = r

groupItems :: forall r s f. Functor f => ([IpeObject r] -> f [IpeObject s]) -> Group r -> f (Group s) Source #

data TextLabel r Source #

Text Objects

A text label

Constructors

Label Text (Point 2 r) 

Instances

Instances details
Functor TextLabel Source # 
Instance details

Defined in Ipe.Content

Methods

fmap :: (a -> b) -> TextLabel a -> TextLabel b Source #

(<$) :: a -> TextLabel b -> TextLabel a Source #

Foldable TextLabel Source # 
Instance details

Defined in Ipe.Content

Methods

fold :: Monoid m => TextLabel m -> m Source #

foldMap :: Monoid m => (a -> m) -> TextLabel a -> m Source #

foldMap' :: Monoid m => (a -> m) -> TextLabel a -> m Source #

foldr :: (a -> b -> b) -> b -> TextLabel a -> b Source #

foldr' :: (a -> b -> b) -> b -> TextLabel a -> b Source #

foldl :: (b -> a -> b) -> b -> TextLabel a -> b Source #

foldl' :: (b -> a -> b) -> b -> TextLabel a -> b Source #

foldr1 :: (a -> a -> a) -> TextLabel a -> a Source #

foldl1 :: (a -> a -> a) -> TextLabel a -> a Source #

toList :: TextLabel a -> [a] Source #

null :: TextLabel a -> Bool Source #

length :: TextLabel a -> Int Source #

elem :: Eq a => a -> TextLabel a -> Bool Source #

maximum :: Ord a => TextLabel a -> a Source #

minimum :: Ord a => TextLabel a -> a Source #

sum :: Num a => TextLabel a -> a Source #

product :: Num a => TextLabel a -> a Source #

Traversable TextLabel Source # 
Instance details

Defined in Ipe.Content

Methods

traverse :: Applicative f => (a -> f b) -> TextLabel a -> f (TextLabel b) Source #

sequenceA :: Applicative f => TextLabel (f a) -> f (TextLabel a) Source #

mapM :: Monad m => (a -> m b) -> TextLabel a -> m (TextLabel b) Source #

sequence :: Monad m => TextLabel (m a) -> m (TextLabel a) Source #

ToObject TextLabel Source # 
Instance details

Defined in Ipe.Content

Generic (TextLabel r) Source # 
Instance details

Defined in Ipe.Content

Associated Types

type Rep (TextLabel r) 
Instance details

Defined in Ipe.Content

type Rep (TextLabel r) = D1 ('MetaData "TextLabel" "Ipe.Content" "hgeometry-ipe-1.0.0.0-inplace" 'False) (C1 ('MetaCons "Label" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Point 2 r))))

Methods

from :: TextLabel r -> Rep (TextLabel r) x Source #

to :: Rep (TextLabel r) x -> TextLabel r Source #

Show r => Show (TextLabel r) Source # 
Instance details

Defined in Ipe.Content

Eq r => Eq (TextLabel r) Source # 
Instance details

Defined in Ipe.Content

Ord r => Ord (TextLabel r) Source # 
Instance details

Defined in Ipe.Content

Coordinate r => IpeRead (TextLabel r) Source # 
Instance details

Defined in Ipe.Reader

IpeWriteText r => IpeWrite (TextLabel r) Source # 
Instance details

Defined in Ipe.Writer

Fractional r => IsTransformable (TextLabel r) Source # 
Instance details

Defined in Ipe.Content

type Rep (TextLabel r) Source # 
Instance details

Defined in Ipe.Content

type Rep (TextLabel r) = D1 ('MetaData "TextLabel" "Ipe.Content" "hgeometry-ipe-1.0.0.0-inplace" 'False) (C1 ('MetaCons "Label" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Point 2 r))))
type Dimension (TextLabel r) Source # 
Instance details

Defined in Ipe.Content

type Dimension (TextLabel r) = 2
type NumType (TextLabel r) Source # 
Instance details

Defined in Ipe.Content

type NumType (TextLabel r) = r

data MiniPage r Source #

A Minipage

Constructors

MiniPage Text (Point 2 r) r 

Instances

Instances details
Functor MiniPage Source # 
Instance details

Defined in Ipe.Content

Methods

fmap :: (a -> b) -> MiniPage a -> MiniPage b Source #

(<$) :: a -> MiniPage b -> MiniPage a Source #

Foldable MiniPage Source # 
Instance details

Defined in Ipe.Content

Methods

fold :: Monoid m => MiniPage m -> m Source #

foldMap :: Monoid m => (a -> m) -> MiniPage a -> m Source #

foldMap' :: Monoid m => (a -> m) -> MiniPage a -> m Source #

foldr :: (a -> b -> b) -> b -> MiniPage a -> b Source #

foldr' :: (a -> b -> b) -> b -> MiniPage a -> b Source #

foldl :: (b -> a -> b) -> b -> MiniPage a -> b Source #

foldl' :: (b -> a -> b) -> b -> MiniPage a -> b Source #

foldr1 :: (a -> a -> a) -> MiniPage a -> a Source #

foldl1 :: (a -> a -> a) -> MiniPage a -> a Source #

toList :: MiniPage a -> [a] Source #

null :: MiniPage a -> Bool Source #

length :: MiniPage a -> Int Source #

elem :: Eq a => a -> MiniPage a -> Bool Source #

maximum :: Ord a => MiniPage a -> a Source #

minimum :: Ord a => MiniPage a -> a Source #

sum :: Num a => MiniPage a -> a Source #

product :: Num a => MiniPage a -> a Source #

Traversable MiniPage Source # 
Instance details

Defined in Ipe.Content

Methods

traverse :: Applicative f => (a -> f b) -> MiniPage a -> f (MiniPage b) Source #

sequenceA :: Applicative f => MiniPage (f a) -> f (MiniPage a) Source #

mapM :: Monad m => (a -> m b) -> MiniPage a -> m (MiniPage b) Source #

sequence :: Monad m => MiniPage (m a) -> m (MiniPage a) Source #

ToObject MiniPage Source # 
Instance details

Defined in Ipe.Content

Generic (MiniPage r) Source # 
Instance details

Defined in Ipe.Content

Associated Types

type Rep (MiniPage r) 
Instance details

Defined in Ipe.Content

Methods

from :: MiniPage r -> Rep (MiniPage r) x Source #

to :: Rep (MiniPage r) x -> MiniPage r Source #

Show r => Show (MiniPage r) Source # 
Instance details

Defined in Ipe.Content

Eq r => Eq (MiniPage r) Source # 
Instance details

Defined in Ipe.Content

Methods

(==) :: MiniPage r -> MiniPage r -> Bool Source #

(/=) :: MiniPage r -> MiniPage r -> Bool Source #

Ord r => Ord (MiniPage r) Source # 
Instance details

Defined in Ipe.Content

Coordinate r => IpeRead (MiniPage r) Source # 
Instance details

Defined in Ipe.Reader

IpeWriteText r => IpeWrite (MiniPage r) Source # 
Instance details

Defined in Ipe.Writer

Fractional r => IsTransformable (MiniPage r) Source # 
Instance details

Defined in Ipe.Content

type Rep (MiniPage r) Source # 
Instance details

Defined in Ipe.Content

type Dimension (MiniPage r) Source # 
Instance details

Defined in Ipe.Content

type Dimension (MiniPage r) = 2
type NumType (MiniPage r) Source # 
Instance details

Defined in Ipe.Content

type NumType (MiniPage r) = r

data Image r Source #

Image Objects

bitmap image objects in Ipe

Constructors

Image () (Rectangle (Point 2 r)) 

Instances

Instances details
Functor Image Source # 
Instance details

Defined in Ipe.Content

Methods

fmap :: (a -> b) -> Image a -> Image b Source #

(<$) :: a -> Image b -> Image a Source #

Foldable Image Source # 
Instance details

Defined in Ipe.Content

Methods

fold :: Monoid m => Image m -> m Source #

foldMap :: Monoid m => (a -> m) -> Image a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Image a -> m Source #

foldr :: (a -> b -> b) -> b -> Image a -> b Source #

foldr' :: (a -> b -> b) -> b -> Image a -> b Source #

foldl :: (b -> a -> b) -> b -> Image a -> b Source #

foldl' :: (b -> a -> b) -> b -> Image a -> b Source #

foldr1 :: (a -> a -> a) -> Image a -> a Source #

foldl1 :: (a -> a -> a) -> Image a -> a Source #

toList :: Image a -> [a] Source #

null :: Image a -> Bool Source #

length :: Image a -> Int Source #

elem :: Eq a => a -> Image a -> Bool Source #

maximum :: Ord a => Image a -> a Source #

minimum :: Ord a => Image a -> a Source #

sum :: Num a => Image a -> a Source #

product :: Num a => Image a -> a Source #

Traversable Image Source # 
Instance details

Defined in Ipe.Content

Methods

traverse :: Applicative f => (a -> f b) -> Image a -> f (Image b) Source #

sequenceA :: Applicative f => Image (f a) -> f (Image a) Source #

mapM :: Monad m => (a -> m b) -> Image a -> m (Image b) Source #

sequence :: Monad m => Image (m a) -> m (Image a) Source #

ToObject Image Source # 
Instance details

Defined in Ipe.Content

Generic (Image r) Source # 
Instance details

Defined in Ipe.Content

Associated Types

type Rep (Image r) 
Instance details

Defined in Ipe.Content

type Rep (Image r) = D1 ('MetaData "Image" "Ipe.Content" "hgeometry-ipe-1.0.0.0-inplace" 'False) (C1 ('MetaCons "Image" 'PrefixI 'True) (S1 ('MetaSel ('Just "_imageData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ()) :*: S1 ('MetaSel ('Just "_imageRect") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Rectangle (Point 2 r)))))

Methods

from :: Image r -> Rep (Image r) x Source #

to :: Rep (Image r) x -> Image r Source #

Show r => Show (Image r) Source # 
Instance details

Defined in Ipe.Content

Eq r => Eq (Image r) Source # 
Instance details

Defined in Ipe.Content

Methods

(==) :: Image r -> Image r -> Bool Source #

(/=) :: Image r -> Image r -> Bool Source #

Ord r => Ord (Image r) Source # 
Instance details

Defined in Ipe.Content

Methods

compare :: Image r -> Image r -> Ordering Source #

(<) :: Image r -> Image r -> Bool Source #

(<=) :: Image r -> Image r -> Bool Source #

(>) :: Image r -> Image r -> Bool Source #

(>=) :: Image r -> Image r -> Bool Source #

max :: Image r -> Image r -> Image r Source #

min :: Image r -> Image r -> Image r Source #

Coordinate r => IpeRead (Image r) Source # 
Instance details

Defined in Ipe.Reader

IpeWriteText r => IpeWrite (Image r) Source # 
Instance details

Defined in Ipe.Writer

Fractional r => IsTransformable (Image r) Source # 
Instance details

Defined in Ipe.Content

type Rep (Image r) Source # 
Instance details

Defined in Ipe.Content

type Rep (Image r) = D1 ('MetaData "Image" "Ipe.Content" "hgeometry-ipe-1.0.0.0-inplace" 'False) (C1 ('MetaCons "Image" 'PrefixI 'True) (S1 ('MetaSel ('Just "_imageData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ()) :*: S1 ('MetaSel ('Just "_imageRect") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Rectangle (Point 2 r)))))
type Dimension (Image r) Source # 
Instance details

Defined in Ipe.Content

type Dimension (Image r) = 2
type NumType (Image r) Source # 
Instance details

Defined in Ipe.Content

type NumType (Image r) = r

imageData :: forall r f. Functor f => (() -> f ()) -> Image r -> f (Image r) Source #

Lens to access the image data

imageRect :: forall r r' f. Functor f => (Rectangle (Point 2 r) -> f (Rectangle (Point 2 r'))) -> Image r -> f (Image r') Source #

Lens to access the rectangle of the image

type IpeBitmap = Text Source #

Ipe Bitmap data

Attributes

type Attributes' r = Attributes (AttrMapSym1 r) Source #

Attributes' :: Type -> [AttributeUniverse] -> Type

type family AttrMap r (l :: AttributeUniverse) where ... Source #

The mapping between the labels of the the attributes and the types of the attributes with these labels. For example, the Matrix label/attribute should have a value of type 'Matrix 3 3 r'.

data AttrMapSym1 a6989586621679209029 (b :: TyFun AttributeUniverse Type) Source #

Instances

Instances details
SuppressUnusedWarnings (AttrMapSym1 a6989586621679209029 :: TyFun AttributeUniverse Type -> Type) Source # 
Instance details

Defined in Ipe.Content

type Apply (AttrMapSym1 a6989586621679209029 :: TyFun AttributeUniverse Type -> Type) (a6989586621679209030 :: AttributeUniverse) Source # 
Instance details

Defined in Ipe.Content

type Apply (AttrMapSym1 a6989586621679209029 :: TyFun AttributeUniverse Type -> Type) (a6989586621679209030 :: AttributeUniverse) = AttrMap a6989586621679209029 a6989586621679209030

attributes :: forall g r f. Functor f => (IpeAttributes g r -> f (IpeAttributes g r)) -> IpeObject' g r -> f (IpeObject' g r) Source #

mapIpeAttrs :: forall (g :: Type -> Type) proxy r s. AllConstrained TraverseIpeAttr (AttributesOf g) => proxy g -> (r -> s) -> IpeAttributes g r -> IpeAttributes g s Source #

Map some function over the coordinates of the ipe Attributes

traverseIpeAttrs :: forall f (g :: Type -> Type) proxy r s. (Applicative f, AllConstrained TraverseIpeAttr (AttributesOf g)) => proxy g -> (r -> f s) -> IpeAttributes g r -> f (IpeAttributes g s) Source #

Traverse for ipe attributes

Layers and Views

newtype LayerName Source #

Defines an Layer in Ipe.

Constructors

LayerName Text 

Instances

Instances details
IsString LayerName Source # 
Instance details

Defined in Ipe.Layer

Read LayerName Source # 
Instance details

Defined in Ipe.Layer

Show LayerName Source # 
Instance details

Defined in Ipe.Layer

Eq LayerName Source # 
Instance details

Defined in Ipe.Layer

Ord LayerName Source # 
Instance details

Defined in Ipe.Layer

IpeRead LayerName Source # 
Instance details

Defined in Ipe.Reader

IpeReadText LayerName Source # 
Instance details

Defined in Ipe.Reader

IpeWrite LayerName Source # 
Instance details

Defined in Ipe.Writer

IpeWriteText LayerName Source # 
Instance details

Defined in Ipe.Writer

data View Source #

The definition of a view make active layer into an index ?

Constructors

View [LayerName] LayerName 

Instances

Instances details
Generic View Source # 
Instance details

Defined in Ipe.Types

Associated Types

type Rep View 
Instance details

Defined in Ipe.Types

type Rep View = D1 ('MetaData "View" "Ipe.Types" "hgeometry-ipe-1.0.0.0-inplace" 'False) (C1 ('MetaCons "View" 'PrefixI 'True) (S1 ('MetaSel ('Just "_layerNames") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [LayerName]) :*: S1 ('MetaSel ('Just "_activeLayer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LayerName)))

Methods

from :: View -> Rep View x Source #

to :: Rep View x -> View Source #

Show View Source # 
Instance details

Defined in Ipe.Types

Eq View Source # 
Instance details

Defined in Ipe.Types

Methods

(==) :: View -> View -> Bool Source #

(/=) :: View -> View -> Bool Source #

Ord View Source # 
Instance details

Defined in Ipe.Types

IpeRead View Source # 
Instance details

Defined in Ipe.Reader

IpeWrite View Source # 
Instance details

Defined in Ipe.Writer

type Rep View Source # 
Instance details

Defined in Ipe.Types

type Rep View = D1 ('MetaData "View" "Ipe.Types" "hgeometry-ipe-1.0.0.0-inplace" 'False) (C1 ('MetaCons "View" 'PrefixI 'True) (S1 ('MetaSel ('Just "_layerNames") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [LayerName]) :*: S1 ('MetaSel ('Just "_activeLayer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LayerName)))

layerNames :: Lens' View [LayerName] Source #

Lens to access the layers in this view

activeLayer :: Lens' View LayerName Source #

Lens to access the active layer

Styles and Preamble

addStyleSheet :: IpeStyle -> IpeFile r -> IpeFile r Source #

Adds a stylesheet to the ipe file. This will be the first stylesheet, i.e. it has priority over all previously imported stylesheets.

data IpeStyle Source #

for now we pretty much ignore these

Constructors

IpeStyle (Maybe Text) (Node Text Text) 

Instances

Instances details
Generic IpeStyle Source # 
Instance details

Defined in Ipe.Types

Associated Types

type Rep IpeStyle 
Instance details

Defined in Ipe.Types

type Rep IpeStyle = D1 ('MetaData "IpeStyle" "Ipe.Types" "hgeometry-ipe-1.0.0.0-inplace" 'False) (C1 ('MetaCons "IpeStyle" 'PrefixI 'True) (S1 ('MetaSel ('Just "_styleName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "_styleData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Node Text Text))))
Show IpeStyle Source # 
Instance details

Defined in Ipe.Types

Eq IpeStyle Source # 
Instance details

Defined in Ipe.Types

IpeRead IpeStyle Source # 
Instance details

Defined in Ipe.Reader

IpeWrite IpeStyle Source # 
Instance details

Defined in Ipe.Writer

type Rep IpeStyle Source # 
Instance details

Defined in Ipe.Types

type Rep IpeStyle = D1 ('MetaData "IpeStyle" "Ipe.Types" "hgeometry-ipe-1.0.0.0-inplace" 'False) (C1 ('MetaCons "IpeStyle" 'PrefixI 'True) (S1 ('MetaSel ('Just "_styleName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "_styleData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Node Text Text))))

styleName :: Lens' IpeStyle (Maybe Text) Source #

Lens to access the style name

styleData :: Lens' IpeStyle (Node Text Text) Source #

Lens to access the style data

basicIpeStyle :: IpeStyle Source #

The "basic" ipe stylesheet

opacitiesStyle :: IpeStyle Source #

A stylesheet with some convenient predefined opacities. In particular the opacities "10%","20%",..,"90%".

data IpePreamble Source #

The maybe string is the encoding

Constructors

IpePreamble (Maybe Text) Text 

Instances

Instances details
Generic IpePreamble Source # 
Instance details

Defined in Ipe.Types

Associated Types

type Rep IpePreamble 
Instance details

Defined in Ipe.Types

type Rep IpePreamble = D1 ('MetaData "IpePreamble" "Ipe.Types" "hgeometry-ipe-1.0.0.0-inplace" 'False) (C1 ('MetaCons "IpePreamble" 'PrefixI 'True) (S1 ('MetaSel ('Just "_encoding") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "_preambleData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read IpePreamble Source # 
Instance details

Defined in Ipe.Types

Show IpePreamble Source # 
Instance details

Defined in Ipe.Types

Eq IpePreamble Source # 
Instance details

Defined in Ipe.Types

Ord IpePreamble Source # 
Instance details

Defined in Ipe.Types

IpeWrite IpePreamble Source # 
Instance details

Defined in Ipe.Writer

type Rep IpePreamble Source # 
Instance details

Defined in Ipe.Types

type Rep IpePreamble = D1 ('MetaData "IpePreamble" "Ipe.Types" "hgeometry-ipe-1.0.0.0-inplace" 'False) (C1 ('MetaCons "IpePreamble" 'PrefixI 'True) (S1 ('MetaSel ('Just "_encoding") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "_preambleData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

encoding :: Lens' IpePreamble (Maybe Text) Source #

Lens to access the encoding

preambleData :: Lens' IpePreamble Text Source #

Lens to access the preambleData