Difference between revisions of "User:Lenny222"
Jump to navigation
Jump to search
(→Ideas) |
|||
Line 36: | Line 36: | ||
==== Data structures ==== |
==== Data structures ==== |
||
<haskell> |
<haskell> |
||
+ | data Document = Document{ |
||
+ | metaData:: Maybe MetaData |
||
+ | , frame:: [Frame] |
||
+ | } deriving(Eq, Show) |
||
+ | |||
+ | data Frame = Frame { |
||
+ | } deriving(Eq, Show) |
||
+ | |||
data Figure = Figure { |
data Figure = Figure { |
||
− | fill :: Fill |
+ | fill :: Maybe Fill |
, shape :: Shape |
, shape :: Shape |
||
− | , stroke :: Stroke |
+ | , stroke :: Maybe Stroke |
+ | } deriving(Eq, Show) |
||
− | } |
||
data Fill = Fill { |
data Fill = Fill { |
||
fillPaint :: Paint, |
fillPaint :: Paint, |
||
+ | } deriving(Eq, Show) |
||
− | } |
||
data Stroke = Stroke { |
data Stroke = Stroke { |
Revision as of 16:35, 1 December 2009
Things i think need improvement
Lila
Ideas
- 3d projection
- diagrams
- histograms, density plots
- export
- SVG
- Illustrator JavaScript
- Processing
- SWF
- TikZ/LaTeX
- import
- SVG
- path operations
- recursive programming
- symbols
Data structures
data Document = Document{
metaData:: Maybe MetaData
, frame:: [Frame]
} deriving(Eq, Show)
data Frame = Frame {
} deriving(Eq, Show)
data Figure = Figure {
fill :: Maybe Fill
, shape :: Shape
, stroke :: Maybe Stroke
} deriving(Eq, Show)
data Fill = Fill {
fillPaint :: Paint,
} deriving(Eq, Show)
data Stroke = Stroke {
strokePaint :: Paint,
, lineWidth :: Double,
, dashPattern :: DashPattern
, lineCap :: LineCap
, lineJoin :: LineJoin
, miterLimit :: Double
} deriving(Eq, Show)
data Paint =
SolidColor
| Pattern
| Gradient
deriving(Eq, Show)
data LineCap =
LineCapButt
| LineCapRound
| LineCapSquare
deriving(Eq, Show)
data LineJoin =
LineJoinMiter
| LineJoinRound
| LineJoinBevel
deriving(Eq, Show)
data Shape =
Path
| Primitive
| Text
deriving(Eq, Show)
data Path = Path {
segments :: [Segment]
}
deriving(Eq, Show)
data Segment =
Move Point
| Line {
a :: Point
, b :: Point
}
| HorizontalLine {
a :: Point
, w :: Double
}
| VerticalLine {
a :: Point
, h :: Double
}
| QuadraticBezier Point Point Point
| CubicBezier Point Point Point Point
deriving(Eq, Show)
data Point =
Node2d Double Double
| Node3d Double Double Double
deriving(Eq, Show)
data Primitive =
Circle
| Ellipse
| Rectangle
| RegularPolygon
| Square
| Star
deriving(Eq, Show)
class PathLike a =
convertToPath :: a -> Path
Simplified Haskell homepage
A simplified Haskell frontpage
Other programming language homepages:
Contact
Contact me via
q 4 0 9
a t
k u d l i n g
d o t
d e