m |
|
| Line 18: |
Line 18: |
| | | | |
| | | | |
| - | ==== Todo ====
| |
| | | | |
| - | * Primitive
| |
| - | ** Ellipse => PrimitiveEllipse etc
| |
| - |
| |
| - | * Segment
| |
| - | ** EllipticalArcTo center xAxisRotation largeArcFlag sweepFlag p1
| |
| - |
| |
| - | * Box
| |
| - | ** defaultBox
| |
| - | ** use function "elem" infix style
| |
| - |
| |
| - | * delete Layout/*
| |
| - |
| |
| - | * Box
| |
| - | ** splitHorizontal :: Int -> Double -> Box -> [Box] -- ^ number of boxes, space
| |
| - |
| |
| - | <haskell>
| |
| - | subBoxWidth = (width - (n - 1) * subBoxMargin) / n
| |
| - | subBoxes = map (\i -> left + i * (subBoxWidth + subBoxMargin)) [0..n-1]
| |
| - | </haskell>
| |
| - |
| |
| - | * Box
| |
| - | ** splitVertical :: Int -> Double -> Box -> [Box] -- ^ number of boxes, space
| |
| - |
| |
| - |
| |
| - | * Primitive
| |
| - | ** primitiveToPaths (Polygon points) =
| |
| - | ** primitiveToPaths (Polyline points) =
| |
| - |
| |
| - |
| |
| - | * Shapes
| |
| - | ** RegularPolygon: Line => Polygon
| |
| - | ** Star: Line => Polygon
| |
| - |
| |
| - |
| |
| - | * Color
| |
| - | ** Color = RGB Double Double Double | CMYK
| |
| - | *** rgbColorRange1 :: Double -> Double -> Double -> Color
| |
| - | *** rgbColorRange255 :: Int -> Int -> Int -> Color
| |
| - | ** RGBA or Paint alpha?
| |
| - |
| |
| - | * Path
| |
| - | ** ArcTo: http://chlor.svn.sourceforge.net/viewvc/chlor/trunk/src/core/CPath.m?revision=561&view=markup
| |
| - | *** http://www.w3.org/TR/SVG/implnote.html#ArcImplementationNotes
| |
| - | *** http://lib2geom.svn.sourceforge.net/viewvc/lib2geom/lib2geom/trunk/src/2geom/elliptical-arc.h
| |
| - | *** http://lib2geom.svn.sourceforge.net/viewvc/lib2geom/lib2geom/trunk/src/2geom/elliptical-arc.cpp
| |
| - | *** http://www.faqts.com/knowledge_base/view.phtml/aid/4313
| |
| - | *** http://www.elbeno.com/blog/?p=469
| |
| - |
| |
| - | * Diagram
| |
| - | ** Histogram http://had.co.nz/ggplot2/geom_histogram.html
| |
| - | ** Pie (only for displaying fractions)
| |
| - | ** Stairs http://had.co.nz/ggplot2/geom_step.html
| |
| - |
| |
| - | * Path http://www.tsplines.com/resources/class_notes/Bezier_curves.pdf
| |
| - | ** degreeEvalation
| |
| - |
| |
| - | * Datatypes
| |
| - | ** Unit
| |
| - | *** defaultUnit
| |
| - | <haskell>
| |
| - | data Unit =
| |
| - | UnitCM
| |
| - | | UnitEM
| |
| - | | UnitEX
| |
| - | | UnitIN
| |
| - | | UnitMM
| |
| - | | UnitPC
| |
| - | | UnitPT
| |
| - | | UnitPX
| |
| - | | UnitPercent
| |
| - | deriving(Eq, Show)
| |
| - | </haskell>
| |
| - |
| |
| - | * Datatypes
| |
| - | ** <haskell>data Length = Length Unit Double deriving(Eq, Show)</haskell>
| |
| - |
| |
| - | * AffineTransformation
| |
| - | ** aply directly or accumulate in list of trafos?
| |
| - | ** on the level of Object or Primitive?
| |
| - |
| |
| - | * Shape
| |
| - | ** http://www.jroller.com/aalmiray/entry/jsilhouette_0_3_released
| |
| - | *** http://code.google.com/p/jsilhouette/
| |
| - | ** Spiral
| |
| - | ** http://local.wasp.uwa.edu.au/~pbourke/geometry/supershape/
| |
| - |
| |
| - | * SVG export
| |
| - | ** SvgPath
| |
| - | *** <pre><path d="M 100 100 L 300 100 L 200 300 z" fill="red" stroke="blue" stroke-width="3" /></pre>
| |
| - | ** SvgRectangle
| |
| - | ***<pre><rect x="400" y="100" width="400" height="200" fill="yellow" stroke="navy" stroke-width="10" />
| |
| - | </pre>
| |
| - |
| |
| - | * ObjectLike: DList instead of List?
| |
| - |
| |
| - | * SVG XML generation
| |
| - | ** HStringTemplate?
| |
| - | ** HXT?
| |
| - | ** HaXml?
| |
| - |
| |
| - | * [http://hackage.haskell.org/package/colour colour]
| |
| - |
| |
| - | * Layout
| |
| - | ** Instances
| |
| - | *** Column
| |
| - | *** Grid (cols, rows, margins)
| |
| - | *** Margin/Frame
| |
| - | **** content size (absolute, relative, remaining)
| |
| - | **** margin sizes (absolute, relative, remaining)
| |
| - |
| |
| - | * repeatedly
| |
| - | ** use HLint
| |
| - | ** use ghc -W
| |
| - |
| |
| - | * AffineTransformation
| |
| - |
| |
| - | * Path
| |
| - | ** approximate :: Double -> [(Double, Double)] -> [Segment] -- ^ error, points
| |
| - | *** http://tog.acm.org/resources/GraphicsGems/gems/FitCurves.c
| |
| | | | |
| | ==== Ideas ==== | | ==== Ideas ==== |