wumpus-basic-0.14.0: wumpus-basic.cabal
name: wumpus-basic
version: 0.14.0
license: BSD3
license-file: LICENSE
copyright: Stephen Tetley <stephen.tetley@gmail.com>
maintainer: Stephen Tetley <stephen.tetley@gmail.com>
homepage: http://code.google.com/p/copperbox/
category: Graphics
synopsis: Common drawing utilities built on wumpus-core.
description:
.
\*\* WARNING \*\* - this package is sub-alpha, it was released
to Hackage prematurely and while its capabilities have improved
with subsequent updates it is arguably becoming even less stable
and more experimental (unfortunately the only thing consistent
about the API is that it consistently changes...).
.
Version 0.14.0 breaks up Wumpus-Basic into two /layers/ -
@Wumpus.Basic@ for core data types, general utilities and
/System/ utilities (currently only font loading); the other
layer, @Wumpus.Drawing@, is for for specific drawing
\"objects\" - arrowheads, dots, and the like. The APIs of the
@Drawing@ modules have not been given much attention as the
underlying graphic types have changed, they are due for
substantial revision. This includes modules that were previously
considered fairly stable such as the @Basic.SafeFonts@ module
which no longer seems very /SVG safe/.
.
NOTE - many of the demos now use font metrics. Font metrics for
the \"Core 14\" PostScript fonts are distributed as @*.afm@
files with GhostScript in the @fonts@ directory. Wumpus expects
the GhostScript font metrics to be AFM version 2.0 files (this
matches GhostScript 8.63). Alternatively, metrics for the Core
14 fonts are available from Adode (AFM version 4.1), see the
links below. To run the demos properly you will need one of
these sets of metrics.
.
Adobe Font techinal notes:
<https://www.adobe.com/devnet/font.html>
.
Core 14 AFM metrics:
<https://www.adobe.com/content/dam/Adobe/en/devnet/font/pdfs/Core14_AFMs.tar>
.
Also note that Wumpus uses fallback metrics (derived from the
monospaced Courier font) when font loading fails, rather than
throwing a terminal error. Applications should ideally check
the font loading log to ensure that fonts have loaded correctly
(the demos print this log to standard out).
.
Changelog:
.
v0.13.0 to v0.14.0:
.
* Re-organised module hierarchy, Wumpus-Basic is now divided
into two layers - Basic (Font loader, utils, kernel drawing)
and Drawing - /constructed/ graphic objects like arrows, dots,
etc.
.
* Re-designed the /ContextFunction/ function types. Context
functions with different numbers of /static arguments/ are
now separate newtypes. This has allowed a major cull of the
combinators operating on context functions (@prepro@,
@postpro@, @situ@, etc.) and now only a handful of special
combinators are needed. As the newtypes are instances of
Monad and Applicative the usual Applicative and Monad
combinators are now more readily useful.
.
* Work on the font loader code to improve its robustness, and
improved error signalling on load failure. Loading glyph
metrics now returns both the metrics (possibly fallback
metrics if parsing failed) and a log.
.
v0.12.0 to v0.13.0:
.
* Major changes to @Basic.Graphic@ modules. @DrawingR@ is
renamed @Drawing@ and is substantially re-worked. Graphic
/functional/ types are now encapulated in the Drawing
constructor @Drawing (ctx -> pt -> prim)@ rather than
partially outside it @pt -> Drawing (ctx -> prim)@.
@Drawing@ monad renamed @TraceDrawing@ and @DrawingT@
transformer renamed @TraceDrawingT@.
.
* Rudimentary font loading added, only AFM files are supported.
.
* @Basic.Shapes.Coordinate@ re-worked. The Coordinate type is
now more like the Shapes types (excepting the intentional
difference in drawing style).
.
* @Basic.Shapes.Plaintext@ removed.
.
* @Basic.Text.LRText@ completely redesigned.
.
.
build-type: Simple
stability: highly unstable
cabal-version: >= 1.2
extra-source-files:
CHANGES,
LICENSE,
demo/ArrowCircuit.hs,
demo/Arrowheads.hs,
demo/ClipPic.hs,
demo/ColourCharts.hs,
demo/ColourChartUtils.hs,
demo/Connectors.hs
demo/DotPic.hs,
demo/DrawingCompo.hs,
demo/FeatureModel.hs,
demo/FontLoaderUtils.hs,
demo/FontPic.hs,
demo/LeftRightText.hs,
demo/PetriNet.hs,
demo/Symbols.hs
library
hs-source-dirs: src
build-depends: base < 5,
containers >= 0.3 && <= 0.6,
directory >= 1.0 && < 2.0,
filepath >= 1.1 && < 2.0,
vector-space >= 0.6 && < 1.0,
wumpus-core == 0.41.0
exposed-modules:
Wumpus.Basic.Kernel,
Wumpus.Basic.Kernel.Base.Anchors,
Wumpus.Basic.Kernel.Base.BaseDefs,
Wumpus.Basic.Kernel.Base.ContextFun,
Wumpus.Basic.Kernel.Base.DrawingContext,
Wumpus.Basic.Kernel.Base.GlyphMetrics,
Wumpus.Basic.Kernel.Base.QueryDC,
Wumpus.Basic.Kernel.Base.ScalingContext,
Wumpus.Basic.Kernel.Base.UpdateDC,
Wumpus.Basic.Kernel.Base.WrappedPrimitive,
Wumpus.Basic.Kernel.Geometry.Intersection,
Wumpus.Basic.Kernel.Geometry.Paths,
Wumpus.Basic.Kernel.Objects.AdvanceGraphic,
Wumpus.Basic.Kernel.Objects.BaseObjects,
Wumpus.Basic.Kernel.Objects.Bounded,
Wumpus.Basic.Kernel.Objects.Connector,
Wumpus.Basic.Kernel.Objects.Drawing,
Wumpus.Basic.Kernel.Objects.Graphic,
Wumpus.Basic.Kernel.Objects.TraceDrawing,
Wumpus.Basic.System.FontLoader.Afm,
Wumpus.Basic.System.FontLoader.GhostScript,
Wumpus.Basic.System.FontLoader.Base.AfmParserBase,
Wumpus.Basic.System.FontLoader.Base.AfmV2Parser,
Wumpus.Basic.System.FontLoader.Base.AfmV4Dot1Parser,
Wumpus.Basic.System.FontLoader.Base.Datatypes,
Wumpus.Basic.System.FontLoader.Base.FontLoadMonad,
Wumpus.Basic.System.FontLoader.Base.GSFontMap,
Wumpus.Basic.Utils.HList,
Wumpus.Basic.Utils.FormatCombinators,
Wumpus.Basic.Utils.ParserCombinators,
Wumpus.Basic.Utils.TokenParsers,
Wumpus.Basic.VersionNumber,
Wumpus.Drawing.Arrows,
Wumpus.Drawing.Arrows.Connectors,
Wumpus.Drawing.Arrows.Tips,
Wumpus.Drawing.Chains,
Wumpus.Drawing.Chains.Base,
Wumpus.Drawing.Chains.Derived,
Wumpus.Drawing.Colour.SVGColours,
Wumpus.Drawing.Colour.X11Colours,
Wumpus.Drawing.Dots.AnchorDots,
Wumpus.Drawing.Dots.Marks,
Wumpus.Drawing.Paths,
Wumpus.Drawing.Paths.Base,
Wumpus.Drawing.Paths.Connectors,
Wumpus.Drawing.Paths.Construction,
Wumpus.Drawing.Paths.ControlPoints,
Wumpus.Drawing.Paths.RoundCorners,
Wumpus.Drawing.Shapes,
Wumpus.Drawing.Shapes.Base,
Wumpus.Drawing.Shapes.Coordinate,
Wumpus.Drawing.Shapes.Derived,
Wumpus.Drawing.Text.LRText,
Wumpus.Drawing.Text.SafeFonts,
Wumpus.Drawing.Turtle.TurtleClass,
Wumpus.Drawing.Turtle.TurtleMonad
other-modules:
extensions:
ghc-options:
includes: