module GUI.Types ( ViewParameters(..), Trace(..), Timestamp, Interval, ) where import GHC.RTS.Events ----------------------------------------------------------------------------- data Trace = TraceHEC Int | TraceInstantHEC Int | TraceCreationHEC Int | TraceConversionHEC Int | TracePoolHEC Int | TraceHistogram | TraceGroup String | TraceActivity -- more later ... -- | TraceThread ThreadId deriving Eq type Interval = (Timestamp, Timestamp) -- the parameters for a timeline render; used to figure out whether -- we're drawing the same thing twice. data ViewParameters = ViewParameters { width, height :: Int, viewTraces :: [Trace], hadjValue :: Double, scaleValue :: Double, maxSpkValue :: Double, detail :: Int, bwMode, labelsMode :: Bool, histogramHeight :: Int, minterval :: Maybe Interval, xScaleAreaHeight :: Int } deriving Eq