mirror of
https://gitlab.com/sheaf/metabrush.git
synced 2024-11-05 14:53:37 +00:00
362 lines
7.2 KiB
Plaintext
362 lines
7.2 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
|
|
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
|