cabal-version: 3.0 name: MetaBrush version: 0.1.0.0 synopsis: GUI for brush calligraphy. category: Calligraphy, Font, Geometry, Graphics, GUI license: NONE homepage: https://gitlab.com/sheaf/MetaBrush build-type: Simple data-dir: assets data-files: theme.css colours.css icons/* description: MetaBrush is a GUI for brush calligraphy based on Bézier curves. A brush stroke is defined by two components: * the path of the brush, specified using quadratic Bézier curves, * the shape of the brush, also specified with quadratic Bézier curves. The shape of the brush is allowed to vary along the path. flag asserts description: Enable debugging assertions. default: False manual: True flag use-fma description: Use fused-muliply add instructions to implement interval arithmetic. default: False manual: True common common build-depends: base >= 4.17 && < 4.19 , acts ^>= 0.3.1.0 , code-page ^>= 0.2.1 , containers >= 0.6.0.1 && < 0.7 , deepseq >= 1.4.4.0 && < 1.5 , generic-lens >= 2.2 && < 2.3 , groups ^>= 0.5.3 , groups-generic ^>= 0.3.1.0 , primitive ^>= 0.7.1.0 , rounded-hw ^>= 0.3 , transformers >= 0.5.6.2 && < 0.7 default-extensions: BangPatterns BlockArguments ConstraintKinds DataKinds DeriveAnyClass DeriveTraversable DeriveGeneric DerivingVia FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralisedNewtypeDeriving InstanceSigs LambdaCase LexicalNegation MagicHash MultiWayIf NamedFieldPuns NoStarIsType PatternSynonyms RankNTypes RecordWildCards RoleAnnotations StandaloneDeriving StandaloneKindSignatures TupleSections TypeApplications TypeFamilies TypeOperators UnboxedTuples ViewPatterns ghc-options: -O2 -fexpose-all-unfoldings -- -funfolding-use-threshold=1000 -fspecialise-aggressively -flate-dmd-anal -fmax-worker-args=200 -optc-O3 -Wall -Wcompat -fwarn-missing-local-signatures -fwarn-incomplete-patterns -fwarn-incomplete-uni-patterns -fwarn-missing-deriving-strategies -fno-warn-unticked-promoted-constructors if flag(asserts) cpp-options: -DASSERTS if flag(use-fma) cpp-options: -DUSE_FMA ghc-options: -mfma if impl(ghc < 9.7) buildable: False autogen-modules: Paths_MetaBrush other-modules: Paths_MetaBrush common extras build-depends: directory >= 1.3.4.0 && < 1.4 , filepath ^>= 1.4.2.1 , hashable >= 1.3.0.0 && < 1.5 , lens >= 4.19.2 && < 5.3 , mtl >= 2.2.2 && < 2.4 , scientific >= 0.3.6.2 && < 0.3.8 , stm ^>= 2.5.0.0 , text >= 1.2.3.1 && < 2.1 , unordered-containers >= 0.2.11 && < 0.2.20 , waargonaut ^>= 0.8.0.2 common gtk build-depends: gi-cairo-render ^>= 0.1.0 , gi-cairo-connector ^>= 0.1.0 , gi-gdk >= 4.0.2 && < 4.1 , gi-gio >= 2.0.27 && < 2.1 , gi-glib >= 2.0.23 && < 2.1 , gi-gobject ^>= 2.0.24 , gi-gtk >= 4.0.3 && < 4.1 , haskell-gi >= 0.26 && < 0.27 , haskell-gi-base >= 0.26 && < 0.27 library splines import: common hs-source-dirs: src/splines default-language: Haskell2010 exposed-modules: Math.Algebra.Dual , Math.Bezier.Cubic , Math.Bezier.Cubic.Fit , Math.Bezier.Quadratic , Math.Bezier.Spline , Math.Bezier.Stroke , Math.Bezier.Stroke.EnvelopeEquation , Math.Differentiable , Math.Epsilon , Math.Interval , Math.Linear , Math.Linear.Solve , Math.Module , Math.Monomial , Math.Orientation , Math.Ring , Math.Roots , Debug.Utils other-modules: Math.Algebra.Dual.Internal , Math.Interval.Internal , Math.Linear.Internal , Math.Module.Internal , TH.Utils if flag(use-fma) other-modules: Math.Interval.FMA build-depends: bifunctors >= 5.5.4 && < 5.6 , eigen ^>= 3.3.7.0 , parallel ^>= 3.2.2.0 , prim-instances ^>= 0.2 , vector >= 0.12.1.2 && < 0.14 , template-haskell >= 2.18 && < 2.20 library metabrushes import: common, extras hs-source-dirs: src/metabrushes default-language: Haskell2010 exposed-modules: MetaBrush.Assert , MetaBrush.Asset.Brushes , MetaBrush.Brush , MetaBrush.Document , MetaBrush.Document.Draw , MetaBrush.Document.History , MetaBrush.Document.Serialise , MetaBrush.Document.SubdivideStroke , MetaBrush.Records , MetaBrush.Serialisable , MetaBrush.Unique , MetaBrush.Util build-depends: splines , atomic-file-ops ^>= 0.3.0.0 , bytestring >= 0.10.10.0 && < 0.12 executable cusps import: common hs-source-dirs: src/cusps main-is: Main.hs other-modules: Math.Interval.Abstract build-depends: splines executable convert-metafont import: common, extras hs-source-dirs: src/convert default-language: Haskell2010 main-is: Main.hs other-modules: MetaBrush.MetaFont.Convert build-depends: splines, metabrushes, diagrams-contrib, diagrams-lib, linear, parsec executable MetaBrush import: common, extras, gtk hs-source-dirs: src/app, app main-is: Main.hs default-language: Haskell2010 other-modules: MetaBrush.Action , MetaBrush.Application , MetaBrush.Asset.CloseTabButton , MetaBrush.Asset.Colours , MetaBrush.Asset.Cursor , MetaBrush.Asset.InfoBar , MetaBrush.Asset.Logo , MetaBrush.Asset.TickBox , MetaBrush.Asset.Tools , MetaBrush.Asset.WindowIcons , MetaBrush.Context , MetaBrush.Document.Selection , MetaBrush.Document.Update , MetaBrush.Event , MetaBrush.GTK.Util , MetaBrush.Render.Document , MetaBrush.Render.Rulers , MetaBrush.UI.Coordinates , MetaBrush.UI.FileBar , MetaBrush.UI.InfoBar , MetaBrush.UI.Menu , MetaBrush.UI.Panels , MetaBrush.UI.ToolBar , MetaBrush.UI.Viewport , MetaBrush.Time ghc-options: -threaded -rtsopts build-depends: splines , metabrushes , tardis >= 0.4.2.0 && < 0.5