ihaskell-diagrams-0.3.2.1: IHaskell/Display/Diagrams/ImgSize.hs
{-# LANGUAGE DeriveFunctor, DeriveGeneric #-}
module IHaskell.Display.Diagrams.ImgSize where
import GHC.Generics (Generic)
import Diagrams.Prelude (SizeSpec, mkSizeSpec2D, V2)
data ManuallySized a = ManuallySized
{ contentToDisplay :: a
, imgManualWidth :: Double
, imgManualHeight :: Double
} deriving (Show, Functor, Generic)
class ManuallySizeable a where
withSizeSpec :: SizeSpec V2 Double -> a -> ManuallySized a
withImgWidth :: ManuallySizeable a => Int -> a -> ManuallySized a
withImgWidth imgWidth = withSizeSpec $ mkSizeSpec2D (Just $ fromIntegral imgWidth)
Nothing
withImgHeight :: ManuallySizeable a => Int -> a -> ManuallySized a
withImgHeight imgHeight = withSizeSpec $ mkSizeSpec2D Nothing
(Just $ fromIntegral imgHeight)