name: wumpus-basic version: 0.14.0 license: BSD3 license-file: LICENSE copyright: Stephen Tetley maintainer: Stephen Tetley 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: . Core 14 AFM metrics: . 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: