module Graphics.Rendering.Plot.Gtk.UI.Settings
( FigureSettings (..)
, defaultFigureSettings
, AdjustmentSettings (..)
, aSetRange
) where
import Graphics.Rendering.Plot (AxisPosn (..), AxisSide (..),
Scale (..), SeriesType (..))
data FigureSettings = FigureSettings {
fontFamily :: String
, plotTitle :: Maybe String
, plotTitleSize :: Double
, subTitle :: Maybe String
, subTitleSize :: Double
, xRange :: Maybe (Double, Double)
, yRange :: Maybe (Double, Double)
, samplingRate :: Double
, xLabel :: Maybe String
, xLabelSize :: Double
, yLabel :: Maybe String
, yLabelSize :: Double
, showXAxis :: Bool
, xLocation :: (AxisPosn, AxisSide)
, showYAxis :: Bool
, yLocation :: (AxisPosn, AxisSide)
, plotScaleX :: Scale
, plotScaleY :: Scale
, exportSize :: (Int, Int)
, fileName :: String
, plotType :: SeriesType
}
defaultFigureSettings :: FigureSettings
defaultFigureSettings = FigureSettings {
fontFamily = "Sans"
, plotTitle = Nothing
, plotTitleSize = 10
, subTitle = Nothing
, subTitleSize = 10
, xRange = Nothing
, yRange = Nothing
, samplingRate = 50
, xLabel = Nothing
, xLabelSize = 10
, yLabel = Nothing
, yLabelSize = 10
, showXAxis = True
, xLocation = (Side Lower, Lower)
, showYAxis = True
, yLocation = (Side Lower, Lower)
, plotScaleX = Linear
, plotScaleY = Linear
, exportSize = (1000, 1000)
, fileName = "plot"
, plotType = Line
}
data AdjustmentSettings = ASet {
initVal :: Double
, minBound :: Double
, maxBound :: Double
, stepIncr :: Double
, pageIncr :: Double
, pageSize :: Double
}
aSetRange :: Double -> Double -> Double -> AdjustmentSettings
aSetRange x y z = ASet x y z 0.01 0.01 0.00