User:Lenny222
From HaskellWiki
(Difference between revisions)
m (→Todo) |
(→Todo) |
||
| Line 35: | Line 35: | ||
* defaultFill :: Fill | * defaultFill :: Fill | ||
* defaultObject :: Object | * defaultObject :: Object | ||
| + | |||
| + | * Datatypes | ||
| + | ** Angle (degrees, grads, radians) | ||
| + | ** Unit | ||
| + | <haskell> | ||
| + | data SvgUnit = | ||
| + | UnitCM | ||
| + | | UnitEM | ||
| + | | UnitEX | ||
| + | | UnitIN | ||
| + | | UnitMM | ||
| + | | UnitPC | ||
| + | | UnitPT | ||
| + | | UnitPX | ||
| + | | UnitPercent | ||
| + | deriving(Eq, Show) | ||
| + | </haskell> | ||
| + | *** defaultUnit | ||
| + | ** Length Unit Double | ||
* new Shapes | * new Shapes | ||
Revision as of 14:04, 11 January 2010
Contents |
1 Things i think need improvement
1.1 Chlor
1.1.1 Todo
- Primitive
- Circle durch Ellipse ersetzen
- Polyline [(Double, Double)]
- Polygon [(Double, Double)]
- Shape refactoring, e.g. sine :: Int -> Shape => sine :: Int -> [Primitive]
- Circle
- Ellipse
- Rectangle
- Sine
- defaultStroke :: Stroke
- defaultEffects :: [Effect]
- defaultFill :: Fill
- defaultObject :: Object
- Datatypes
- Angle (degrees, grads, radians)
- Unit
data SvgUnit = UnitCM | UnitEM | UnitEX | UnitIN | UnitMM | UnitPC | UnitPT | UnitPX | UnitPercent deriving(Eq, Show)
- defaultUnit
- Length Unit Double
- new Shapes
- regularPolygon :: -- ^ n, startAngle, radius, box
- star :: -- ^ n, startAngle, radius1, radius2, box
- Path
- Path
- "Path Bool [Segment]" isClosed flag instead of "Close" segment?
- Pros:
- no need to travel to the last segment to find out whether a path is closed
- Cons:
- Pros:
- remove one Point in Segments
- Pros: paths are more consistent, less duplication
- Cons: Segments stop being standalone
- Interesting: how to get the last point of the previous segment?
- "Path Bool [Segment]" isClosed flag instead of "Close" segment?
- Diagram
- Histogram http://had.co.nz/ggplot2/geom_histogram.html
- Pie (only for displaying fractions)
- Stairs http://had.co.nz/ggplot2/geom_step.html
- Shape
- SVG export
- SvgPath
-
<path d="M 100 100 L 300 100 L 200 300 z" fill="red" stroke="blue" stroke-width="3" />
-
- SvgRectangle
<rect x="400" y="100" width="400" height="200" fill="yellow" stroke="navy" stroke-width="10" />
- SvgPath
- ObjectLike: DList instead of List?
- SVG XML generation
- HStringTemplate?
- HXT?
- HaXml?
- Layout
- Instances
- Column
- Grid (cols, rows, margins)
- Margin/Frame
- content size (absolute, relative, remaining)
- margin sizes (absolute, relative, remaining)
- Instances
- repeatedly
- use HLint
- use ghc -W
- AffineTransformation
- Path
- approximate :: Double -> [(Double, Double)] -> [Segment] -- ^ error, points
1.1.2 Ideas
- layout
- Table
- SpaceHorizontal
- SpaceVertical
- 3d projection
- diagrams
- histograms, density plots
- export
- SVG
- Illustrator JavaScript
- Processing
- SWF
- TikZ/LaTeX
- import
- SVG
- path operations
- boolean operations
- offset path
- http://inkscape.svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/src/live_effects/
- recursive programming
1.2 Simplified Haskell homepage
A simplified Haskell frontpage
Why?
- to add a structure
- to reduce redundancy
- to make scanning easier:
