wumpus-core-0.37.0: wumpus-core.cabal
name: wumpus-core
version: 0.37.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: Pure Haskell PostScript and SVG generation.
description:
.
Wumpus is a low-level library for generating static 2D vector
pictures, its salient feature is portability due to no FFI
dependencies. It can generate PostScript (EPS) files and SVG
files. The generated PostScript code is plain [1] and reasonably
efficient as the use of stack operations, i.e @gsave@ and
@grestore@, is minimized.
.
Wumpus makes pictures from /paths/ and text /labels/. Paths
themselves are made from points. The usual affine
transformations (rotations, scaling, translations) can be
applied to Pictures. Unlike PostScript there is no
notion of a current point, Wumpus builds pictures in a
coordinate-free style.
.
GENERAL DRAWBACKS...
.
For actually drawing pictures, diagrams, etc. Wumpus is very
low-level. There is a supplemantary package @wumpus-basic@
available that helps create certain types of diagram, but it is
experimental - functionality is added and dropped between
releases, it has no stable API.
.
Some of the design decisions made for @wumpus-core@ are not
sophisticated (e.g. how attributes like colour are handled,
and how the bounding boxes of text labels are calculated), so
Wumpus might be limited compared to other systems. However,
the design permits a fairly simple implementation, which is a
priority.
.
NOTE version 0.37.0 - there will be no release of Wumpus-Basic
to match this release of Wumpus-Core. Wumpus-Basic is
undergoing substantial change to accommodate glyph metrics and
thus enable proper text bounding boxes and right and center
aligned text. The improvements to Wumpus-Core merit a release
so that there is not a large hiatus between the APIs of the
Hackage published latest version and the SVN repository.
.
.
\[1\] Because the output is simple, straight-line PostScript
code, it is possible to use GraphicsMagick or a similar tool
to convert EPS files generated by Wumpus to many other formats
(bitmaps).
.
.
Changelog:
.
0.36.0 to 0.37.0:
.
* The bounding box constructors have been renamed - @bbox@ is
now @boundingBox@ and @obbox@ becomes @oboundingBox@. The
rationale for this change is that the names very cryptic in
the first place and the constructors are used infrequently
when @bbox@ in particular makes a descriptive variable name.
.
* Changes to the Picture and Primitive types to enable better
concatenation which is used heavily by Wumpus-Basic. The
Picture API exposes a new function @primCat@.
.
* SVG /font delta context/ change - font deltas are now
annotated on Primitives not Pictures. The type of the
function @fontDeltaContext@ in @Core.Picture@ has changed
accordingly.
.
* SVG hyperlink change - hyperlinks no longer group primitives
(although a group of primitives can be hyperlinked). The
function @xlinkGroup@ has been removed from @Core.Picture@,
it is replaced by @xlink@. Primitives are now grouped with the
function @primGroup@.
.
* @Core.Picture@ - the argument order for the function
@rtextlabel@ has been changed, the positions of the angle and
bottom-left corner have been swapped.
.
.
build-type: Simple
stability: unstable
cabal-version: >= 1.2
extra-source-files:
CHANGES,
LICENSE,
demo/AffineTest01.hs,
demo/AffineTest02.hs,
demo/AffineTest03.hs,
demo/AffineTestBase.hs,
demo/DeltaPic.hs,
demo/FontMetrics.hs,
demo/KernPic.hs,
demo/LabelPic.hs,
demo/Latin1Pic.hs,
demo/MultiPic.hs,
demo/TransformEllipse.hs,
demo/TransformPath.hs,
demo/TransformTextlabel.hs,
demo/ZOrderPic.hs,
doc/Guide.pdf,
doc-src/Guide.lhs,
doc-src/Makefile,
doc-src/WorldFrame.hs
library
hs-source-dirs: src
build-depends: base < 5,
containers >= 0.3 && <= 0.4,
time >= 1.1.3 && < 1.2,
vector-space >= 0.6 && < 1.0
exposed-modules:
Wumpus.Core,
Wumpus.Core.AffineTrans,
Wumpus.Core.BoundingBox,
Wumpus.Core.Colour,
Wumpus.Core.FontSize,
Wumpus.Core.Geometry,
Wumpus.Core.GraphicProps,
Wumpus.Core.OutputPostScript,
Wumpus.Core.OutputSVG,
Wumpus.Core.Picture,
Wumpus.Core.PtSize,
Wumpus.Core.Text.DefaultEncoder,
Wumpus.Core.Text.Encoder,
Wumpus.Core.Text.Latin1,
Wumpus.Core.Text.SymbolFont,
Wumpus.Core.VersionNumber,
Wumpus.Core.WumpusTypes
other-modules:
Wumpus.Core.PageTranslation,
Wumpus.Core.PictureInternal,
Wumpus.Core.PostScriptDoc,
Wumpus.Core.SVGDoc,
Wumpus.Core.Text.TextInternal,
Wumpus.Core.TrafoInternal,
Wumpus.Core.Utils.Common,
Wumpus.Core.Utils.JoinList,
Wumpus.Core.Utils.FormatCombinators
extensions:
ghc-options:
includes: