packages feed

phraskell-0.1.1: src/Viewer.hs

module Viewer where

import Default
import Fractal (FractalProgression, mandelbrot)

data Viewer = Viewer {
    viewerWidth       :: Double             -- current width value
  , viewerHeight      :: Double             -- current height value
  , viewerZoom        :: Double             -- current zoom value
  , viewerZoomf       :: Double             -- current zoof factor value
  , viewerX           :: Double             -- current x displacement value
  , viewerY           :: Double             -- current y displacement value
  , viewerMaxIter     :: Integer            -- current max iteration value
  , viewerColorSeed   :: Int                -- current color seed value
  , viewerProgression :: FractalProgression -- current fractal equation
  , viewerFullscreen  :: Bool               -- running in fullscreen?
}

instance Show Viewer where
  show viewer = "["
              ++ "w:" ++ show (viewerWidth viewer) ++ " "
              ++ "h:" ++ show (viewerHeight viewer) ++ " "
              ++ "x:" ++ show (viewerX viewer) ++ " "
              ++ "y:" ++ show (viewerY viewer) ++ " "
              ++ "z:" ++ show (viewerZoom viewer) ++ " "
              ++ "i:" ++ show (viewerMaxIter viewer) ++ " "
              ++ "]"

instance Default Viewer where
  def = Viewer 800 600 0.8 2 (-0.5) 0 500 0 mandelbrot False