| Copyright | (C) Frank Staals |
|---|---|
| License | see the LICENSE file |
| Maintainer | Frank Staals |
| Safe Haskell | None |
| Language | GHC2024 |
Ipe.Attributes
Description
Possible Attributes we can assign to items in an Ipe file
Synopsis
- data AttributeUniverse
- data SAttributeUniverse (a :: AttributeUniverse) where
- SLayer :: SAttributeUniverse 'Layer
- SMatrix :: SAttributeUniverse 'Matrix
- SPin :: SAttributeUniverse 'Pin
- STransformations :: SAttributeUniverse 'Transformations
- SStroke :: SAttributeUniverse 'Stroke
- SFill :: SAttributeUniverse 'Fill
- SPen :: SAttributeUniverse 'Pen
- SSize :: SAttributeUniverse 'Size
- SDash :: SAttributeUniverse 'Dash
- SLineCap :: SAttributeUniverse 'LineCap
- SLineJoin :: SAttributeUniverse 'LineJoin
- SFillRule :: SAttributeUniverse 'FillRule
- SArrow :: SAttributeUniverse 'Arrow
- SRArrow :: SAttributeUniverse 'RArrow
- SStrokeOpacity :: SAttributeUniverse 'StrokeOpacity
- SOpacity :: SAttributeUniverse 'Opacity
- STiling :: SAttributeUniverse 'Tiling
- SGradient :: SAttributeUniverse 'Gradient
- SWidth :: SAttributeUniverse 'Width
- SHeight :: SAttributeUniverse 'Height
- SDepth :: SAttributeUniverse 'Depth
- SVAlign :: SAttributeUniverse 'VAlign
- SHAlign :: SAttributeUniverse 'HAlign
- SStyle :: SAttributeUniverse 'Style
- SClip :: SAttributeUniverse 'Clip
- type family ClipSym0 :: AttributeUniverse where ...
- type family StyleSym0 :: AttributeUniverse where ...
- type family HAlignSym0 :: AttributeUniverse where ...
- type family VAlignSym0 :: AttributeUniverse where ...
- type family DepthSym0 :: AttributeUniverse where ...
- type family HeightSym0 :: AttributeUniverse where ...
- type family WidthSym0 :: AttributeUniverse where ...
- type family GradientSym0 :: AttributeUniverse where ...
- type family TilingSym0 :: AttributeUniverse where ...
- type family OpacitySym0 :: AttributeUniverse where ...
- type family StrokeOpacitySym0 :: AttributeUniverse where ...
- type family RArrowSym0 :: AttributeUniverse where ...
- type family ArrowSym0 :: AttributeUniverse where ...
- type family FillRuleSym0 :: AttributeUniverse where ...
- type family LineJoinSym0 :: AttributeUniverse where ...
- type family LineCapSym0 :: AttributeUniverse where ...
- type family DashSym0 :: AttributeUniverse where ...
- type family SizeSym0 :: AttributeUniverse where ...
- type family PenSym0 :: AttributeUniverse where ...
- type family FillSym0 :: AttributeUniverse where ...
- type family StrokeSym0 :: AttributeUniverse where ...
- type family TransformationsSym0 :: AttributeUniverse where ...
- type family PinSym0 :: AttributeUniverse where ...
- type family MatrixSym0 :: AttributeUniverse where ...
- type family LayerSym0 :: AttributeUniverse where ...
- type CommonAttributes = '['Layer, 'Matrix, 'Pin, 'Transformations]
- type TextAttributes = CommonAttributes ++ '['Stroke, 'Size, 'Width, 'Height, 'Depth, 'VAlign, 'HAlign, 'Style, 'Opacity]
- type TextLabelAttributes = TextAttributes
- type MiniPageAttributes = TextAttributes
- type ImageAttributes = CommonAttributes
- type SymbolAttributes = CommonAttributes ++ '['Stroke, 'Fill, 'Pen, 'Size]
- type PathAttributes = CommonAttributes ++ '['Stroke, 'Fill, 'Dash, 'Pen, 'LineCap, 'LineJoin, 'FillRule, 'Arrow, 'RArrow, 'StrokeOpacity, 'Opacity, 'Tiling, 'Gradient]
- type GroupAttributes = CommonAttributes ++ '['Clip]
- newtype Attr (f :: TyFun u Type -> Type) (label :: u) = GAttr {}
- getAttr :: forall u1 (f1 :: TyFun u1 Type -> Type) (label1 :: u1) u2 (f2 :: TyFun u2 Type -> Type) (label2 :: u2) p f3. (Profunctor p, Functor f3) => p (Maybe (Apply f1 label1)) (f3 (Maybe (Apply f2 label2))) -> p (Attr f1 label1) (f3 (Attr f2 label2))
- pattern Attr :: Apply f label -> Attr f label
- pattern NoAttr :: Attr f label
- traverseAttr :: forall {u} h (f :: u ~> Type) (label :: u) (g :: u ~> Type). Applicative h => (Apply f label -> h (Apply g label)) -> Attr f label -> h (Attr g label)
- pureAttr :: forall {u} h (f :: u ~> Type) (a :: u) (g :: u ~> Type). (Applicative h, Apply f a ~ Apply g a) => Attr f a -> h (Attr g a)
- newtype Attributes (f :: TyFun u Type -> Type) (ats :: [u]) = Attrs (Rec (Attr f) ats)
- unAttrs :: forall {u1} {u2} (f1 :: TyFun u1 Type -> Type) (ats :: [u1]) (f' :: TyFun u2 Type -> Type) (ats' :: [u2]) f2. Functor f2 => (Rec (Attr f1) ats -> f2 (Rec (Attr f') ats')) -> Attributes f1 ats -> f2 (Attributes f' ats')
- traverseAttrs :: forall {u} h (f :: TyFun u Type -> Type) (g :: TyFun u Type -> Type) (ats :: [u]). Applicative h => (forall (label :: u). Attr f label -> h (Attr g label)) -> Attributes f ats -> h (Attributes g ats)
- zipRecsWith :: forall {u} f g h (as :: [u]). (forall (a :: u). f a -> g a -> h a) -> Rec f as -> Rec g as -> Rec h as
- ixAttr :: forall {k1} (at :: k1) (ats :: [k1]) proxy (f :: TyFun k1 Type -> Type). at ∈ ats => proxy at -> Lens' (Attributes f ats) (Maybe (Apply f at))
- _Attr :: forall {k1} (at :: k1) (ats :: [k1]) proxy (f :: TyFun k1 Type -> Type). (at ∈ ats, RecApplicative ats) => proxy at -> Prism' (Attributes f ats) (Apply f at)
- lookupAttr :: forall {k1} (at :: k1) (ats :: [k1]) proxy (f :: TyFun k1 Type -> Type). at ∈ ats => proxy at -> Attributes f ats -> Maybe (Apply f at)
- setAttr :: forall {u} proxy (at :: u) (ats :: [u]) (f :: u ~> Type). at ∈ ats => proxy at -> Apply f at -> Attributes f ats -> Attributes f ats
- takeAttr :: forall {u} proxy (at :: u) (ats :: [u]) (f :: TyFun u Type -> Type). at ∈ ats => proxy at -> Attributes f ats -> (Maybe (Apply f at), Attributes f ats)
- unSetAttr :: forall {u} proxy (at :: u) (ats :: [u]) (f :: TyFun u Type -> Type). at ∈ ats => proxy at -> Attributes f ats -> Attributes f ats
- attr :: forall {u} (at :: u) (ats :: [u]) proxy (f :: u ~> Type). (at ∈ ats, RecApplicative ats) => proxy at -> Apply f at -> Attributes f ats
- data PinType
- = No
- | Yes
- | Horizontal
- | Vertical
- data TransformationTypes
- = Affine
- | Rigid
- | Translations
- data HorizontalAlignment
- data VerticalAlignment
- type TeXStyle = Text
- newtype TextSizeUnit r = TextSizeUnit r
- newtype IpeSize r = IpeSize (IpeValue r)
- newtype IpePen r = IpePen (IpeValue r)
- data IpeDash r
- = DashNamed Text
- | DashPattern [r] r
- data FillType
- type IpeOpacity = Text
- type IpeTiling = Text
- type IpeGradient = Text
- data IpeArrow r = IpeArrow {
- _arrowName :: Text
- _arrowSize :: IpeSize r
- arrowName :: forall r f. Functor f => (Text -> f Text) -> IpeArrow r -> f (IpeArrow r)
- arrowSize :: forall r1 r2 f. Functor f => (IpeSize r1 -> f (IpeSize r2)) -> IpeArrow r1 -> f (IpeArrow r2)
- normalArrow :: IpeArrow r
- class IpeAttrName (a :: AttributeUniverse) where
- writeAttrNames :: forall (rs :: [AttributeUniverse]) (f :: AttributeUniverse -> Type). AllConstrained IpeAttrName rs => Rec f rs -> Rec (Const Text :: AttributeUniverse -> Type) rs
Documentation
data AttributeUniverse Source #
The possible Attributes supported in Ipe. To use these
attributes, you'll likely need their Singletons's version which is
Prefixed by an S. E.g. the Fill attribute is represented by a
singleton 'SFill :: Sing Fill'.
Constructors
| Layer | |
| Matrix | |
| Pin | |
| Transformations | |
| Stroke | |
| Fill | |
| Pen | |
| Size | |
| Dash | |
| LineCap | |
| LineJoin | |
| FillRule | |
| Arrow | |
| RArrow | |
| StrokeOpacity | |
| Opacity | |
| Tiling | |
| Gradient | |
| Width | |
| Height | |
| Depth | |
| VAlign | |
| HAlign | |
| Style | |
| Clip |
Instances
data SAttributeUniverse (a :: AttributeUniverse) where Source #
Constructors
| SLayer :: SAttributeUniverse 'Layer | |
| SMatrix :: SAttributeUniverse 'Matrix | |
| SPin :: SAttributeUniverse 'Pin | |
| STransformations :: SAttributeUniverse 'Transformations | |
| SStroke :: SAttributeUniverse 'Stroke | |
| SFill :: SAttributeUniverse 'Fill | |
| SPen :: SAttributeUniverse 'Pen | |
| SSize :: SAttributeUniverse 'Size | |
| SDash :: SAttributeUniverse 'Dash | |
| SLineCap :: SAttributeUniverse 'LineCap | |
| SLineJoin :: SAttributeUniverse 'LineJoin | |
| SFillRule :: SAttributeUniverse 'FillRule | |
| SArrow :: SAttributeUniverse 'Arrow | |
| SRArrow :: SAttributeUniverse 'RArrow | |
| SStrokeOpacity :: SAttributeUniverse 'StrokeOpacity | |
| SOpacity :: SAttributeUniverse 'Opacity | |
| STiling :: SAttributeUniverse 'Tiling | |
| SGradient :: SAttributeUniverse 'Gradient | |
| SWidth :: SAttributeUniverse 'Width | |
| SHeight :: SAttributeUniverse 'Height | |
| SDepth :: SAttributeUniverse 'Depth | |
| SVAlign :: SAttributeUniverse 'VAlign | |
| SHAlign :: SAttributeUniverse 'HAlign | |
| SStyle :: SAttributeUniverse 'Style | |
| SClip :: SAttributeUniverse 'Clip |
type family HAlignSym0 :: AttributeUniverse where ... Source #
Equations
| HAlignSym0 = 'HAlign |
type family VAlignSym0 :: AttributeUniverse where ... Source #
Equations
| VAlignSym0 = 'VAlign |
type family HeightSym0 :: AttributeUniverse where ... Source #
Equations
| HeightSym0 = 'Height |
type family GradientSym0 :: AttributeUniverse where ... Source #
Equations
| GradientSym0 = 'Gradient |
type family TilingSym0 :: AttributeUniverse where ... Source #
Equations
| TilingSym0 = 'Tiling |
type family OpacitySym0 :: AttributeUniverse where ... Source #
Equations
| OpacitySym0 = 'Opacity |
type family StrokeOpacitySym0 :: AttributeUniverse where ... Source #
Equations
| StrokeOpacitySym0 = 'StrokeOpacity |
type family RArrowSym0 :: AttributeUniverse where ... Source #
Equations
| RArrowSym0 = 'RArrow |
type family FillRuleSym0 :: AttributeUniverse where ... Source #
Equations
| FillRuleSym0 = 'FillRule |
type family LineJoinSym0 :: AttributeUniverse where ... Source #
Equations
| LineJoinSym0 = 'LineJoin |
type family LineCapSym0 :: AttributeUniverse where ... Source #
Equations
| LineCapSym0 = 'LineCap |
type family StrokeSym0 :: AttributeUniverse where ... Source #
Equations
| StrokeSym0 = 'Stroke |
type family TransformationsSym0 :: AttributeUniverse where ... Source #
Equations
| TransformationsSym0 = 'Transformations |
type family MatrixSym0 :: AttributeUniverse where ... Source #
Equations
| MatrixSym0 = 'Matrix |
type CommonAttributes = '['Layer, 'Matrix, 'Pin, 'Transformations] Source #
IpeObjects may have attributes. Essentially attributes are (key,value) pairs. The key is some name. Which attributes an object can have depends on the type of the object. However, all ipe objects support the Common Attributes
type TextAttributes = CommonAttributes ++ '['Stroke, 'Size, 'Width, 'Height, 'Depth, 'VAlign, 'HAlign, 'Style, 'Opacity] Source #
All attributes applicable to Text (TextLabels and Minipages)
type TextLabelAttributes = TextAttributes Source #
All attributes applicable to TextLabels
type MiniPageAttributes = TextAttributes Source #
All attributes applicable to Minipages
type ImageAttributes = CommonAttributes Source #
All attributes applicable to Images
type SymbolAttributes = CommonAttributes ++ '['Stroke, 'Fill, 'Pen, 'Size] Source #
All attributes applicable to Symbols/Marks
type PathAttributes = CommonAttributes ++ '['Stroke, 'Fill, 'Dash, 'Pen, 'LineCap, 'LineJoin, 'FillRule, 'Arrow, 'RArrow, 'StrokeOpacity, 'Opacity, 'Tiling, 'Gradient] Source #
All attributes applicable to Paths
type GroupAttributes = CommonAttributes ++ '['Clip] Source #
All attributes applicable to Groups
A single attribute Attr
newtype Attr (f :: TyFun u Type -> Type) (label :: u) Source #
Attr implements the mapping from labels to types as specified by the
(symbol representing) the type family f
Instances
| Monoid (Attr f l) Source # | |
| Semigroup (Attr f l) Source # | Give pref. to the *RIGHT* |
| Read (Apply f label) => Read (Attr f label) Source # | |
| Show (Apply f label) => Show (Attr f label) Source # | |
| Eq (Apply f label) => Eq (Attr f label) Source # | |
| Ord (Apply f label) => Ord (Attr f label) Source # | |
Defined in Ipe.Attributes Methods compare :: Attr f label -> Attr f label -> Ordering Source # (<) :: Attr f label -> Attr f label -> Bool Source # (<=) :: Attr f label -> Attr f label -> Bool Source # (>) :: Attr f label -> Attr f label -> Bool Source # (>=) :: Attr f label -> Attr f label -> Bool Source # max :: Attr f label -> Attr f label -> Attr f label Source # min :: Attr f label -> Attr f label -> Attr f label Source # | |
| IpeReadText (Apply f at) => IpeReadAttr (Attr f at) Source # | |
Defined in Ipe.Reader Methods ipeReadAttr :: Text -> Node Text Text -> Either ConversionError (Attr f at) Source # | |
| IpeWriteText (Apply f at) => IpeWriteText (Attr f at) Source # | |
Defined in Ipe.Writer | |
getAttr :: forall u1 (f1 :: TyFun u1 Type -> Type) (label1 :: u1) u2 (f2 :: TyFun u2 Type -> Type) (label2 :: u2) p f3. (Profunctor p, Functor f3) => p (Maybe (Apply f1 label1)) (f3 (Maybe (Apply f2 label2))) -> p (Attr f1 label1) (f3 (Attr f2 label2)) Source #
pattern Attr :: Apply f label -> Attr f label Source #
Constructor for constructing an Attr given an actual value.
traverseAttr :: forall {u} h (f :: u ~> Type) (label :: u) (g :: u ~> Type). Applicative h => (Apply f label -> h (Apply g label)) -> Attr f label -> h (Attr g label) Source #
Traverse an attribute.
pureAttr :: forall {u} h (f :: u ~> Type) (a :: u) (g :: u ~> Type). (Applicative h, Apply f a ~ Apply g a) => Attr f a -> h (Attr g a) Source #
Traverse for the situation where the type is not actually parameterized.
Attributes
newtype Attributes (f :: TyFun u Type -> Type) (ats :: [u]) Source #
A collection of Attributes.
Instances
| (AllConstrained IpeAttrName rs, RecordToList rs, RMap rs, ReifyConstraint IpeWriteText (Attr f) rs, RecAll (Attr f) rs IpeWriteText, IpeWrite g) => IpeWrite (g :+ Attributes f rs) Source # | |
Defined in Ipe.Writer | |
| RecApplicative ats => Default (Attributes f ats) Source # | |
Defined in Ipe.Attributes Methods def :: Attributes f ats Source # | |
| RecApplicative ats => Monoid (Attributes f ats) Source # | |
Defined in Ipe.Attributes Methods mempty :: Attributes f ats Source # mappend :: Attributes f ats -> Attributes f ats -> Attributes f ats Source # mconcat :: [Attributes f ats] -> Attributes f ats Source # | |
| Semigroup (Attributes f ats) Source # | |
Defined in Ipe.Attributes Methods (<>) :: Attributes f ats -> Attributes f ats -> Attributes f ats Source # sconcat :: NonEmpty (Attributes f ats) -> Attributes f ats Source # stimes :: Integral b => b -> Attributes f ats -> Attributes f ats Source # | |
| (RMap ats, ReifyConstraint Show (Attr f) ats, RecordToList ats, RecAll (Attr f) ats Show) => Show (Attributes f ats) Source # | |
Defined in Ipe.Attributes | |
| (ReifyConstraint Eq (Attr f) ats, RecordToList ats, RecAll (Attr f) ats Eq) => Eq (Attributes f ats) Source # | |
Defined in Ipe.Attributes Methods (==) :: Attributes f ats -> Attributes f ats -> Bool Source # (/=) :: Attributes f ats -> Attributes f ats -> Bool Source # | |
unAttrs :: forall {u1} {u2} (f1 :: TyFun u1 Type -> Type) (ats :: [u1]) (f' :: TyFun u2 Type -> Type) (ats' :: [u2]) f2. Functor f2 => (Rec (Attr f1) ats -> f2 (Rec (Attr f') ats')) -> Attributes f1 ats -> f2 (Attributes f' ats') Source #
Get a vinyl Record with Attrs
traverseAttrs :: forall {u} h (f :: TyFun u Type -> Type) (g :: TyFun u Type -> Type) (ats :: [u]). Applicative h => (forall (label :: u). Attr f label -> h (Attr g label)) -> Attributes f ats -> h (Attributes g ats) Source #
Traverse implementation for Attrs
zipRecsWith :: forall {u} f g h (as :: [u]). (forall (a :: u). f a -> g a -> h a) -> Rec f as -> Rec g as -> Rec h as Source #
Zip two Recs with the given function.
ixAttr :: forall {k1} (at :: k1) (ats :: [k1]) proxy (f :: TyFun k1 Type -> Type). at ∈ ats => proxy at -> Lens' (Attributes f ats) (Maybe (Apply f at)) Source #
Lens into a specific attribute, if it is set.
_Attr :: forall {k1} (at :: k1) (ats :: [k1]) proxy (f :: TyFun k1 Type -> Type). (at ∈ ats, RecApplicative ats) => proxy at -> Prism' (Attributes f ats) (Apply f at) Source #
Prism into a particular attribute.
lookupAttr :: forall {k1} (at :: k1) (ats :: [k1]) proxy (f :: TyFun k1 Type -> Type). at ∈ ats => proxy at -> Attributes f ats -> Maybe (Apply f at) Source #
Looks up a particular attribute.
setAttr :: forall {u} proxy (at :: u) (ats :: [u]) (f :: u ~> Type). at ∈ ats => proxy at -> Apply f at -> Attributes f ats -> Attributes f ats Source #
Sets a particular attribute
takeAttr :: forall {u} proxy (at :: u) (ats :: [u]) (f :: TyFun u Type -> Type). at ∈ ats => proxy at -> Attributes f ats -> (Maybe (Apply f at), Attributes f ats) Source #
gets and removes the attribute from Attributes
unSetAttr :: forall {u} proxy (at :: u) (ats :: [u]) (f :: TyFun u Type -> Type). at ∈ ats => proxy at -> Attributes f ats -> Attributes f ats Source #
unsets/Removes an attribute
attr :: forall {u} (at :: u) (ats :: [u]) proxy (f :: u ~> Type). (at ∈ ats, RecApplicative ats) => proxy at -> Apply f at -> Attributes f ats Source #
Creates a singleton attribute
Implementations for Common Attributes
Possible values for Pin
Constructors
| No | |
| Yes | |
| Horizontal | |
| Vertical |
Instances
| Enum PinType Source # | |
Defined in Ipe.Attributes Methods succ :: PinType -> PinType Source # pred :: PinType -> PinType Source # toEnum :: Int -> PinType Source # fromEnum :: PinType -> Int Source # enumFrom :: PinType -> [PinType] Source # enumFromThen :: PinType -> PinType -> [PinType] Source # enumFromTo :: PinType -> PinType -> [PinType] Source # enumFromThenTo :: PinType -> PinType -> PinType -> [PinType] Source # | |
| Read PinType Source # | |
| Show PinType Source # | |
| Eq PinType Source # | |
| IpeReadText PinType Source # | |
Defined in Ipe.Reader Methods ipeReadText :: Text -> Either ConversionError PinType Source # | |
| IpeWriteText PinType Source # | |
Defined in Ipe.Writer | |
data TransformationTypes Source #
Possible values for Transformation
Constructors
| Affine | |
| Rigid | |
| Translations |
Instances
| Enum TransformationTypes Source # | |
Defined in Ipe.Attributes Methods succ :: TransformationTypes -> TransformationTypes Source # pred :: TransformationTypes -> TransformationTypes Source # toEnum :: Int -> TransformationTypes Source # fromEnum :: TransformationTypes -> Int Source # enumFrom :: TransformationTypes -> [TransformationTypes] Source # enumFromThen :: TransformationTypes -> TransformationTypes -> [TransformationTypes] Source # enumFromTo :: TransformationTypes -> TransformationTypes -> [TransformationTypes] Source # enumFromThenTo :: TransformationTypes -> TransformationTypes -> TransformationTypes -> [TransformationTypes] Source # | |
| Read TransformationTypes Source # | |
Defined in Ipe.Attributes | |
| Show TransformationTypes Source # | |
Defined in Ipe.Attributes | |
| Eq TransformationTypes Source # | |
Defined in Ipe.Attributes Methods (==) :: TransformationTypes -> TransformationTypes -> Bool Source # (/=) :: TransformationTypes -> TransformationTypes -> Bool Source # | |
| IpeReadText TransformationTypes Source # | |
Defined in Ipe.Reader Methods ipeReadText :: Text -> Either ConversionError TransformationTypes Source # | |
| IpeWriteText TransformationTypes Source # | |
Defined in Ipe.Writer Methods | |
Text Attributes
data HorizontalAlignment Source #
Constructors
| AlignLeft | |
| AlignHCenter | |
| AlignRight |
Instances
| Enum HorizontalAlignment Source # | |
Defined in Ipe.Attributes Methods succ :: HorizontalAlignment -> HorizontalAlignment Source # pred :: HorizontalAlignment -> HorizontalAlignment Source # toEnum :: Int -> HorizontalAlignment Source # fromEnum :: HorizontalAlignment -> Int Source # enumFrom :: HorizontalAlignment -> [HorizontalAlignment] Source # enumFromThen :: HorizontalAlignment -> HorizontalAlignment -> [HorizontalAlignment] Source # enumFromTo :: HorizontalAlignment -> HorizontalAlignment -> [HorizontalAlignment] Source # enumFromThenTo :: HorizontalAlignment -> HorizontalAlignment -> HorizontalAlignment -> [HorizontalAlignment] Source # | |
| Read HorizontalAlignment Source # | |
Defined in Ipe.Attributes | |
| Show HorizontalAlignment Source # | |
Defined in Ipe.Attributes | |
| Eq HorizontalAlignment Source # | |
Defined in Ipe.Attributes Methods (==) :: HorizontalAlignment -> HorizontalAlignment -> Bool Source # (/=) :: HorizontalAlignment -> HorizontalAlignment -> Bool Source # | |
| Ord HorizontalAlignment Source # | |
Defined in Ipe.Attributes Methods compare :: HorizontalAlignment -> HorizontalAlignment -> Ordering Source # (<) :: HorizontalAlignment -> HorizontalAlignment -> Bool Source # (<=) :: HorizontalAlignment -> HorizontalAlignment -> Bool Source # (>) :: HorizontalAlignment -> HorizontalAlignment -> Bool Source # (>=) :: HorizontalAlignment -> HorizontalAlignment -> Bool Source # max :: HorizontalAlignment -> HorizontalAlignment -> HorizontalAlignment Source # min :: HorizontalAlignment -> HorizontalAlignment -> HorizontalAlignment Source # | |
| IpeReadText HorizontalAlignment Source # | |
Defined in Ipe.Reader Methods ipeReadText :: Text -> Either ConversionError HorizontalAlignment Source # | |
| IpeWriteText HorizontalAlignment Source # | |
Defined in Ipe.Writer Methods | |
data VerticalAlignment Source #
Constructors
| AlignTop | |
| AlignVCenter | |
| AlignBottom | |
| AlignBaseline |
Instances
| Enum VerticalAlignment Source # | |
Defined in Ipe.Attributes Methods succ :: VerticalAlignment -> VerticalAlignment Source # pred :: VerticalAlignment -> VerticalAlignment Source # toEnum :: Int -> VerticalAlignment Source # fromEnum :: VerticalAlignment -> Int Source # enumFrom :: VerticalAlignment -> [VerticalAlignment] Source # enumFromThen :: VerticalAlignment -> VerticalAlignment -> [VerticalAlignment] Source # enumFromTo :: VerticalAlignment -> VerticalAlignment -> [VerticalAlignment] Source # enumFromThenTo :: VerticalAlignment -> VerticalAlignment -> VerticalAlignment -> [VerticalAlignment] Source # | |
| Read VerticalAlignment Source # | |
Defined in Ipe.Attributes | |
| Show VerticalAlignment Source # | |
Defined in Ipe.Attributes | |
| Eq VerticalAlignment Source # | |
Defined in Ipe.Attributes Methods (==) :: VerticalAlignment -> VerticalAlignment -> Bool Source # (/=) :: VerticalAlignment -> VerticalAlignment -> Bool Source # | |
| Ord VerticalAlignment Source # | |
Defined in Ipe.Attributes Methods compare :: VerticalAlignment -> VerticalAlignment -> Ordering Source # (<) :: VerticalAlignment -> VerticalAlignment -> Bool Source # (<=) :: VerticalAlignment -> VerticalAlignment -> Bool Source # (>) :: VerticalAlignment -> VerticalAlignment -> Bool Source # (>=) :: VerticalAlignment -> VerticalAlignment -> Bool Source # max :: VerticalAlignment -> VerticalAlignment -> VerticalAlignment Source # min :: VerticalAlignment -> VerticalAlignment -> VerticalAlignment Source # | |
| IpeReadText VerticalAlignment Source # | |
Defined in Ipe.Reader Methods ipeReadText :: Text -> Either ConversionError VerticalAlignment Source # | |
| IpeWriteText VerticalAlignment Source # | |
Defined in Ipe.Writer Methods | |
newtype TextSizeUnit r Source #
size of text in points
Constructors
| TextSizeUnit r |
Instances
| Functor TextSizeUnit Source # | |
Defined in Ipe.Attributes Methods fmap :: (a -> b) -> TextSizeUnit a -> TextSizeUnit b Source # (<$) :: a -> TextSizeUnit b -> TextSizeUnit a Source # | |
| Foldable TextSizeUnit Source # | |
Defined in Ipe.Attributes Methods fold :: Monoid m => TextSizeUnit m -> m Source # foldMap :: Monoid m => (a -> m) -> TextSizeUnit a -> m Source # foldMap' :: Monoid m => (a -> m) -> TextSizeUnit a -> m Source # foldr :: (a -> b -> b) -> b -> TextSizeUnit a -> b Source # foldr' :: (a -> b -> b) -> b -> TextSizeUnit a -> b Source # foldl :: (b -> a -> b) -> b -> TextSizeUnit a -> b Source # foldl' :: (b -> a -> b) -> b -> TextSizeUnit a -> b Source # foldr1 :: (a -> a -> a) -> TextSizeUnit a -> a Source # foldl1 :: (a -> a -> a) -> TextSizeUnit a -> a Source # toList :: TextSizeUnit a -> [a] Source # null :: TextSizeUnit a -> Bool Source # length :: TextSizeUnit a -> Int Source # elem :: Eq a => a -> TextSizeUnit a -> Bool Source # maximum :: Ord a => TextSizeUnit a -> a Source # minimum :: Ord a => TextSizeUnit a -> a Source # sum :: Num a => TextSizeUnit a -> a Source # product :: Num a => TextSizeUnit a -> a Source # | |
| Traversable TextSizeUnit Source # | |
Defined in Ipe.Attributes Methods traverse :: Applicative f => (a -> f b) -> TextSizeUnit a -> f (TextSizeUnit b) Source # sequenceA :: Applicative f => TextSizeUnit (f a) -> f (TextSizeUnit a) Source # mapM :: Monad m => (a -> m b) -> TextSizeUnit a -> m (TextSizeUnit b) Source # sequence :: Monad m => TextSizeUnit (m a) -> m (TextSizeUnit a) Source # | |
| Read r => Read (TextSizeUnit r) Source # | |
Defined in Ipe.Attributes Methods readsPrec :: Int -> ReadS (TextSizeUnit r) Source # readList :: ReadS [TextSizeUnit r] Source # readPrec :: ReadPrec (TextSizeUnit r) Source # readListPrec :: ReadPrec [TextSizeUnit r] Source # | |
| Show r => Show (TextSizeUnit r) Source # | |
Defined in Ipe.Attributes | |
| Eq r => Eq (TextSizeUnit r) Source # | |
Defined in Ipe.Attributes Methods (==) :: TextSizeUnit r -> TextSizeUnit r -> Bool Source # (/=) :: TextSizeUnit r -> TextSizeUnit r -> Bool Source # | |
| Ord r => Ord (TextSizeUnit r) Source # | |
Defined in Ipe.Attributes Methods compare :: TextSizeUnit r -> TextSizeUnit r -> Ordering Source # (<) :: TextSizeUnit r -> TextSizeUnit r -> Bool Source # (<=) :: TextSizeUnit r -> TextSizeUnit r -> Bool Source # (>) :: TextSizeUnit r -> TextSizeUnit r -> Bool Source # (>=) :: TextSizeUnit r -> TextSizeUnit r -> Bool Source # max :: TextSizeUnit r -> TextSizeUnit r -> TextSizeUnit r Source # min :: TextSizeUnit r -> TextSizeUnit r -> TextSizeUnit r Source # | |
| Coordinate r => IpeReadText (TextSizeUnit r) Source # | |
Defined in Ipe.Reader Methods ipeReadText :: Text -> Either ConversionError (TextSizeUnit r) Source # | |
| IpeWriteText r => IpeWriteText (TextSizeUnit r) Source # | |
Defined in Ipe.Writer Methods ipeWriteText :: TextSizeUnit r -> Maybe Text Source # | |
Symbol Attributes
The optional Attributes for a symbol data SymbolAttributeUniverse = SymbolStroke | SymbolFill | SymbolPen | Size deriving (Show,Eq)
Size
Instances
| Functor IpeSize Source # | |
| Foldable IpeSize Source # | |
Defined in Ipe.Attributes Methods fold :: Monoid m => IpeSize m -> m Source # foldMap :: Monoid m => (a -> m) -> IpeSize a -> m Source # foldMap' :: Monoid m => (a -> m) -> IpeSize a -> m Source # foldr :: (a -> b -> b) -> b -> IpeSize a -> b Source # foldr' :: (a -> b -> b) -> b -> IpeSize a -> b Source # foldl :: (b -> a -> b) -> b -> IpeSize a -> b Source # foldl' :: (b -> a -> b) -> b -> IpeSize a -> b Source # foldr1 :: (a -> a -> a) -> IpeSize a -> a Source # foldl1 :: (a -> a -> a) -> IpeSize a -> a Source # toList :: IpeSize a -> [a] Source # null :: IpeSize a -> Bool Source # length :: IpeSize a -> Int Source # elem :: Eq a => a -> IpeSize a -> Bool Source # maximum :: Ord a => IpeSize a -> a Source # minimum :: Ord a => IpeSize a -> a Source # | |
| Traversable IpeSize Source # | |
Defined in Ipe.Attributes | |
| Show r => Show (IpeSize r) Source # | |
| Eq r => Eq (IpeSize r) Source # | |
| Ord r => Ord (IpeSize r) Source # | |
Defined in Ipe.Attributes | |
| Coordinate r => IpeReadText (IpeSize r) Source # | |
Defined in Ipe.Reader Methods ipeReadText :: Text -> Either ConversionError (IpeSize r) Source # | |
| IpeWriteText r => IpeWriteText (IpeSize r) Source # | |
Defined in Ipe.Writer | |
Pen/Thickness
Instances
| Functor IpePen Source # | |
| Foldable IpePen Source # | |
Defined in Ipe.Attributes Methods fold :: Monoid m => IpePen m -> m Source # foldMap :: Monoid m => (a -> m) -> IpePen a -> m Source # foldMap' :: Monoid m => (a -> m) -> IpePen a -> m Source # foldr :: (a -> b -> b) -> b -> IpePen a -> b Source # foldr' :: (a -> b -> b) -> b -> IpePen a -> b Source # foldl :: (b -> a -> b) -> b -> IpePen a -> b Source # foldl' :: (b -> a -> b) -> b -> IpePen a -> b Source # foldr1 :: (a -> a -> a) -> IpePen a -> a Source # foldl1 :: (a -> a -> a) -> IpePen a -> a Source # toList :: IpePen a -> [a] Source # null :: IpePen a -> Bool Source # length :: IpePen a -> Int Source # elem :: Eq a => a -> IpePen a -> Bool Source # maximum :: Ord a => IpePen a -> a Source # minimum :: Ord a => IpePen a -> a Source # | |
| Traversable IpePen Source # | |
Defined in Ipe.Attributes | |
| Show r => Show (IpePen r) Source # | |
| Eq r => Eq (IpePen r) Source # | |
| Ord r => Ord (IpePen r) Source # | |
Defined in Ipe.Attributes | |
| Coordinate r => IpeReadText (IpePen r) Source # | |
Defined in Ipe.Reader Methods ipeReadText :: Text -> Either ConversionError (IpePen r) Source # | |
| IpeWriteText r => IpeWriteText (IpePen r) Source # | |
Defined in Ipe.Writer | |
Path Attributes
Possible values for Dash
Constructors
| DashNamed Text | |
| DashPattern [r] r |
Instances
| Functor IpeDash Source # | |
| Foldable IpeDash Source # | |
Defined in Ipe.Attributes Methods fold :: Monoid m => IpeDash m -> m Source # foldMap :: Monoid m => (a -> m) -> IpeDash a -> m Source # foldMap' :: Monoid m => (a -> m) -> IpeDash a -> m Source # foldr :: (a -> b -> b) -> b -> IpeDash a -> b Source # foldr' :: (a -> b -> b) -> b -> IpeDash a -> b Source # foldl :: (b -> a -> b) -> b -> IpeDash a -> b Source # foldl' :: (b -> a -> b) -> b -> IpeDash a -> b Source # foldr1 :: (a -> a -> a) -> IpeDash a -> a Source # foldl1 :: (a -> a -> a) -> IpeDash a -> a Source # toList :: IpeDash a -> [a] Source # null :: IpeDash a -> Bool Source # length :: IpeDash a -> Int Source # elem :: Eq a => a -> IpeDash a -> Bool Source # maximum :: Ord a => IpeDash a -> a Source # minimum :: Ord a => IpeDash a -> a Source # | |
| Traversable IpeDash Source # | |
Defined in Ipe.Attributes | |
| Show r => Show (IpeDash r) Source # | |
| Eq r => Eq (IpeDash r) Source # | |
| Coordinate r => IpeReadText (IpeDash r) Source # | |
Defined in Ipe.Reader Methods ipeReadText :: Text -> Either ConversionError (IpeDash r) Source # | |
| IpeWriteText r => IpeWriteText (IpeDash r) Source # | |
Defined in Ipe.Writer | |
Allowed Fill types
Instances
| Read FillType Source # | |
| Show FillType Source # | |
| Eq FillType Source # | |
| IpeReadText FillType Source # | |
Defined in Ipe.Reader Methods ipeReadText :: Text -> Either ConversionError FillType Source # | |
| IpeWriteText FillType Source # | |
Defined in Ipe.Writer | |
type IpeOpacity = Text Source #
IpeOpacity, IpeTyling, and IpeGradient are all symbolic values
type IpeGradient = Text Source #
Possible values for an ipe arrow
Constructors
| IpeArrow | |
Fields
| |
Instances
| Functor IpeArrow Source # | |
| Foldable IpeArrow Source # | |
Defined in Ipe.Attributes Methods fold :: Monoid m => IpeArrow m -> m Source # foldMap :: Monoid m => (a -> m) -> IpeArrow a -> m Source # foldMap' :: Monoid m => (a -> m) -> IpeArrow a -> m Source # foldr :: (a -> b -> b) -> b -> IpeArrow a -> b Source # foldr' :: (a -> b -> b) -> b -> IpeArrow a -> b Source # foldl :: (b -> a -> b) -> b -> IpeArrow a -> b Source # foldl' :: (b -> a -> b) -> b -> IpeArrow a -> b Source # foldr1 :: (a -> a -> a) -> IpeArrow a -> a Source # foldl1 :: (a -> a -> a) -> IpeArrow a -> a Source # toList :: IpeArrow a -> [a] Source # null :: IpeArrow a -> Bool Source # length :: IpeArrow a -> Int Source # elem :: Eq a => a -> IpeArrow a -> Bool Source # maximum :: Ord a => IpeArrow a -> a Source # minimum :: Ord a => IpeArrow a -> a Source # | |
| Traversable IpeArrow Source # | |
Defined in Ipe.Attributes | |
| Show r => Show (IpeArrow r) Source # | |
| Eq r => Eq (IpeArrow r) Source # | |
| Coordinate r => IpeReadText (IpeArrow r) Source # | |
Defined in Ipe.Reader Methods ipeReadText :: Text -> Either ConversionError (IpeArrow r) Source # | |
| IpeWriteText r => IpeWriteText (IpeArrow r) Source # | |
Defined in Ipe.Writer | |
arrowSize :: forall r1 r2 f. Functor f => (IpeSize r1 -> f (IpeSize r2)) -> IpeArrow r1 -> f (IpeArrow r2) Source #
normalArrow :: IpeArrow r Source #
A normal arrow
Group Attributes
Attribute names in Ipe
class IpeAttrName (a :: AttributeUniverse) where Source #
For the types representing attribute values we can get the name/key to use when serializing to ipe.
Instances
| IpeAttrName 'Arrow Source # | |
| IpeAttrName 'Clip Source # | |
| IpeAttrName 'Dash Source # | |
| IpeAttrName 'Depth Source # | |
| IpeAttrName 'Fill Source # | |
| IpeAttrName 'FillRule Source # | |
| IpeAttrName 'Gradient Source # | |
| IpeAttrName 'HAlign Source # | |
| IpeAttrName 'Height Source # | |
| IpeAttrName 'Layer Source # | |
| IpeAttrName 'LineCap Source # | |
| IpeAttrName 'LineJoin Source # | |
| IpeAttrName 'Matrix Source # | |
| IpeAttrName 'Opacity Source # | |
| IpeAttrName 'Pen Source # | |
| IpeAttrName 'Pin Source # | |
| IpeAttrName 'RArrow Source # | |
| IpeAttrName 'Size Source # | |
| IpeAttrName 'Stroke Source # | |
| IpeAttrName 'StrokeOpacity Source # | |
Defined in Ipe.Attributes Methods attrName :: proxy 'StrokeOpacity -> Text Source # | |
| IpeAttrName 'Style Source # | |
| IpeAttrName 'Tiling Source # | |
| IpeAttrName 'Transformations Source # | |
Defined in Ipe.Attributes Methods attrName :: proxy 'Transformations -> Text Source # | |
| IpeAttrName 'VAlign Source # | |
| IpeAttrName 'Width Source # | |
writeAttrNames :: forall (rs :: [AttributeUniverse]) (f :: AttributeUniverse -> Type). AllConstrained IpeAttrName rs => Rec f rs -> Rec (Const Text :: AttributeUniverse -> Type) rs Source #
Writing Attribute names