wumpus-basic: Common drawing utilities built on wumpus-core.
** 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 renamedDrawing
and is substantially re-worked. Graphic functional types are now encapulated in the Drawing constructorDrawing (ctx -> pt -> prim)
rather than partially outside itpt -> Drawing (ctx -> prim)
.Drawing
monad renamedTraceDrawing
andDrawingT
transformer renamedTraceDrawingT
.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.
Modules
[Index]
- Wumpus
- Basic
- Wumpus.Basic.Kernel
- Base
- 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
- Geometry
- Objects
- Base
- System
- Utils
- Wumpus.Basic.VersionNumber
- Wumpus.Basic.Kernel
- Drawing
- Basic
Downloads
- wumpus-basic-0.14.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.1.1, 0.2.0, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.7.0, 0.8.0, 0.9.0, 0.10.0, 0.11.0, 0.12.0, 0.13.0, 0.14.0, 0.15.0, 0.16.0, 0.17.0, 0.18.0, 0.20.0, 0.21.0, 0.22.0, 0.24.0 |
---|---|
Change log | CHANGES |
Dependencies | 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) [details] |
License | BSD-3-Clause |
Copyright | Stephen Tetley <stephen.tetley@gmail.com> |
Author | |
Maintainer | Stephen Tetley <stephen.tetley@gmail.com> |
Category | Graphics |
Home page | http://code.google.com/p/copperbox/ |
Uploaded | by StephenTetley at 2010-12-28T14:00:24Z |
Distributions | |
Reverse Dependencies | 4 direct, 0 indirect [details] |
Downloads | 14471 total (1 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |