Cabal revisions of wumpus-core-0.36.0
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
-name: wumpus-core-version: 0.36.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. - . - .- \[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). - .- VERSION 0.36.0 UPGRADE NOTES- .- There are two major changes between 0.35.0 and 0.36.0. - .- @PrimElement@ has been removed and the grouping constructor it - provided has been moved into the @Primitive@ type. As both - types are opaque, definitions in client code will work without - change, /but all/ type signatures referencing @PrimElement@ will - need to replace @PrimElement@ with @Primitive@.- .- Rotations and scalings on Primitives have changed again.- Primitives are now instances of the affine classes so support - - @rotate@, @rotateAbout@, @scale@, @translate@. Primitives are - now considered to be in the implicit affine frame with origin at - (0,0). Previously rotatation on Primitives (via the function - @rotatePrim@) was really a special case to allow slanted text, - the rotation was about the text\'s baseline origin and not the - affine frame. As rotation now works differently there is a - special constructor for slanted text @rtextlabel@.- .- Changelog:- .- 0.35.0 to 0.36.0:- .- * API / behaviour change - rotation on primitives changed. New - functions have been added to create rotated text labels and - ellipses (@rtextlabel@, @rstrokeEllipse@, etc.), and - Primitives have been made instances of the Affine classes- except for the general matrix Transform class. The old- functions for transforming Primitives (@rotatePrim@, - @scalePrim@, etc.) have been removed. The demos (Rotated.hs,- Scaled.hs, Translated.hs) have been removed as they pertain - to the old behaviour, there are new demos highlighting the- new behaviour (TransformEllipse.hs, etc.).- .- * Major change - removed the PrimElement type. The (opaque) - Primitive type has been changed to incorporate a grouping - constructor equivalent to PrimElement\'s @XLinkGroup@ - contructor. The change has made the implementation of SVG - hyperlinks more efficient, but has forced various type - signatures to change in @Core.Picture@. Client code will - also have to change type signatures - @PrimElement@ becomes- @Primitive@.- .- * @Core.PtSize@ - the class @FromPtSize@ has been given a @Num@- superclass constraint. This can shorten type signatures of - functions that use @fromPtSize@.- .- * Corrected a bug where textlabels would generate an invalid- bounding box and cause a runtime error when supplied with an- empty string. Now there is no runtime error - and /no-ops/ - are generated in the output.- .- * Internal changes - moved @PrimCTM@ from @Core.PictureInternal@- into separate module. Moved /utility/ modules into their own - directory @Utils@. Move /text/ modules into their own - directory @Text@. - .- * Removed dependency on @algebra@ for @Semigroup@. The - equivalent @append@ operation on @BoundingBox@ is - @boundaryUnion@.- .- * Renamed the @Core.GraphicsState@ to @Core.GraphicProps@. - Moved the property datatypes from @Core.PictureInternal@ into - @Core.GraphicProps@ (StrokeProps, LabelProps, etc.).- .- * Moved @wumpus_default_font@ from @Core.Picture@ into - @Core.Graphic.Props@.- .- * Haddock docs improved.- .- .-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.OneList,- Wumpus.Core.Utils.FormatCombinators- - extensions:- -- ghc-options:- - includes: - -- - +name: wumpus-core +version: 0.36.0 +x-revision: 1 +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. + . + . + \[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). + . + VERSION 0.36.0 UPGRADE NOTES + . + There are two major changes between 0.35.0 and 0.36.0. + . + @PrimElement@ has been removed and the grouping constructor it + provided has been moved into the @Primitive@ type. As both + types are opaque, definitions in client code will work without + change, /but all/ type signatures referencing @PrimElement@ will + need to replace @PrimElement@ with @Primitive@. + . + Rotations and scalings on Primitives have changed again. + Primitives are now instances of the affine classes so support - + @rotate@, @rotateAbout@, @scale@, @translate@. Primitives are + now considered to be in the implicit affine frame with origin at + (0,0). Previously rotatation on Primitives (via the function + @rotatePrim@) was really a special case to allow slanted text, + the rotation was about the text\'s baseline origin and not the + affine frame. As rotation now works differently there is a + special constructor for slanted text @rtextlabel@. + . + Changelog: + . + 0.35.0 to 0.36.0: + . + * API / behaviour change - rotation on primitives changed. New + functions have been added to create rotated text labels and + ellipses (@rtextlabel@, @rstrokeEllipse@, etc.), and + Primitives have been made instances of the Affine classes + except for the general matrix Transform class. The old + functions for transforming Primitives (@rotatePrim@, + @scalePrim@, etc.) have been removed. The demos (Rotated.hs, + Scaled.hs, Translated.hs) have been removed as they pertain + to the old behaviour, there are new demos highlighting the + new behaviour (TransformEllipse.hs, etc.). + . + * Major change - removed the PrimElement type. The (opaque) + Primitive type has been changed to incorporate a grouping + constructor equivalent to PrimElement\'s @XLinkGroup@ + contructor. The change has made the implementation of SVG + hyperlinks more efficient, but has forced various type + signatures to change in @Core.Picture@. Client code will + also have to change type signatures - @PrimElement@ becomes + @Primitive@. + . + * @Core.PtSize@ - the class @FromPtSize@ has been given a @Num@ + superclass constraint. This can shorten type signatures of + functions that use @fromPtSize@. + . + * Corrected a bug where textlabels would generate an invalid + bounding box and cause a runtime error when supplied with an + empty string. Now there is no runtime error - and /no-ops/ + are generated in the output. + . + * Internal changes - moved @PrimCTM@ from @Core.PictureInternal@ + into separate module. Moved /utility/ modules into their own + directory @Utils@. Move /text/ modules into their own + directory @Text@. + . + * Removed dependency on @algebra@ for @Semigroup@. The + equivalent @append@ operation on @BoundingBox@ is + @boundaryUnion@. + . + * Renamed the @Core.GraphicsState@ to @Core.GraphicProps@. + Moved the property datatypes from @Core.PictureInternal@ into + @Core.GraphicProps@ (StrokeProps, LabelProps, etc.). + . + * Moved @wumpus_default_font@ from @Core.Picture@ into + @Core.Graphic.Props@. + . + * Haddock docs improved. + . + . +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 < 4.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.OneList, + Wumpus.Core.Utils.FormatCombinators + + extensions: + + + ghc-options: + + includes: + + + +