hgeometry-ipe
Safe HaskellNone
LanguageGHC2024

Ipe.Content

Synopsis

Documentation

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

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 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 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

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 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

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

flattenGroups :: [IpeObject r] -> [IpeObject r] Source #

collect all non-group objects