Difference between revisions of "User:Lenny222"

From HaskellWiki
Jump to navigation Jump to search
Line 90: Line 90:
 
| Primitive
 
| Primitive
 
| Text
 
| 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)
 
deriving(Eq, Show)
   

Revision as of 15:47, 3 December 2009

Things i think need improvement

Lila

Ideas

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
  , startSymbol :: Maybe LineEnding
  , endSymbol :: Maybe LineEnding
  } 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 Primitive =
    Circle
  | Ellipse
  | Rectangle
  | RegularPolygon
  | Square
  | Star
  deriving(Eq, Show)

class PathLike a =
	convertToPath :: a -> Path

Simplified Haskell homepage

A simplified Haskell frontpage

Why?

Contact

Contact me via

q 4 0 9

a t

k u d l i n g

d o t

d e


[1]