metabrush/MetaBrush.cabal
sheaf 58ca70c1bd optimise root-finding functions
* use PrimArray to represent polynomials
  * add some strictness annotations
  * turn on some optimisation flags
  * use quadratic formula for quadratic polynomials
2020-09-19 00:43:07 +02:00

189 lines
4.1 KiB
Plaintext

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
icon.png
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.
common common
build-depends:
base
>= 4.13 && < 4.16
, acts
^>= 0.3.1.0
, containers
>= 0.6.0.1 && < 0.6.4
, deepseq
^>= 1.4.4.0
, generic-data
>= 0.8.0.0 && < 0.8.4.0
, generic-lens
>= 1.2.0.1 && < 2.0
, groups
^>= 0.4.1.0
, primitive
^>= 0.7.1.0
, transformers
^>= 0.5.6.2
default-language:
Haskell2010
ghc-options:
-O1
-fexpose-all-unfoldings
-funfolding-use-threshold=16
-fexcess-precision
-fspecialise-aggressively
-optc-O3
-optc-ffast-math
-Wall
-Wcompat
-fwarn-missing-local-signatures
-fwarn-incomplete-patterns
-fwarn-incomplete-uni-patterns
-fwarn-missing-deriving-strategies
-fno-warn-unticked-promoted-constructors
-fno-show-valid-hole-fits
library
import:
common
hs-source-dirs:
src/lib
exposed-modules:
Math.Bezier.Cubic
, Math.Bezier.Cubic.Fit
, Math.Bezier.Quadratic
, Math.Bezier.Stroke
, Math.Epsilon
, Math.Linear.Solve
, Math.Module
, Math.Roots
, Math.Vector2D
build-depends:
groups-generic
^>= 0.1.0.0
, hmatrix
^>= 0.20.0.0
, monad-par
^>= 0.3.5
, prim-instances
^>= 0.2
, vector
^>= 0.12.1.2
executable MetaBrush
import:
common
hs-source-dirs:
src/app
, app
main-is:
Main.hs
other-modules:
MetaBrush.Action
, MetaBrush.Asset.Brushes
, 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
, MetaBrush.Document.Draw
, MetaBrush.Document.History
, MetaBrush.Document.Selection
, MetaBrush.Document.Serialise
, MetaBrush.Document.SubdivideStroke
, MetaBrush.Document.Update
, MetaBrush.Event
, MetaBrush.Render.Document
, MetaBrush.Render.Rulers
, MetaBrush.Time
, MetaBrush.UI.Coordinates
, MetaBrush.UI.FileBar
, MetaBrush.UI.InfoBar
, MetaBrush.UI.Menu
, MetaBrush.UI.Panels
, MetaBrush.UI.ToolBar
, MetaBrush.UI.Viewport
, MetaBrush.Unique
, MetaBrush.Util
, Paths_MetaBrush
autogen-modules:
Paths_MetaBrush
ghc-options:
-threaded -rtsopts
build-depends:
MetaBrush
, atomic-file-ops
^>= 0.3.0.0
, bytestring
^>= 0.10.10.1
, directory
>= 1.3.4.0 && < 1.4
, filepath
^>= 1.4.2.1
, gi-gdk
>= 3.0.22 && < 3.1
, gi-gio
>= 2.0.27 && < 2.1
, gi-glib
>= 2.0.23 && < 2.1
, gi-gobject
^>= 2.0.24
, gi-gtk
>= 3.0.35 && < 3.1
, gi-cairo-render
^>= 0.0.1
, gi-cairo-connector
^>= 0.0.1
, haskell-gi-base
^>= 0.24
, lens
^>= 4.19.2
, scientific
^>= 0.3.6.2
, stm
^>= 2.5.0.0
, tardis
^>= 0.4.1.0
, text
^>= 1.2.3.1 && < 1.2.5
, waargonaut
^>= 0.8.0.1