packages feed

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: