wumpus-basic-0.10.0: Common drawing utilities built on wumpus-core.

PortabilityGHC
Stabilityunstable
Maintainerstephen.tetley@gmail.com

Wumpus.Basic.Graphic.ScalingContext

Description

Scaling in X and Y

Synopsis

Documentation

class Monad m => ScalingM m whereSource

Scaling...

Associated Types

type XDim m :: *Source

type YDim m :: *Source

Methods

scaleX :: (u ~ MonUnit m, ux ~ XDim m) => ux -> m uSource

scaleY :: (u ~ MonUnit m, uy ~ YDim m) => uy -> m uSource

scalePt :: (u ~ MonUnit m, ux ~ XDim m, uy ~ YDim m) => ux -> uy -> m (Point2 u)Source

scaleVec :: (u ~ MonUnit m, ux ~ XDim m, uy ~ YDim m) => ux -> uy -> m (Vec2 u)Source

Instances

ScalingM (Scaling ux uy u) 
Monad m => ScalingM (ScalingT ux uy u m) 

data ScalingContext ux uy u Source

Constructors

ScalingContext 

Fields

scale_in_x :: ux -> u
 
scale_in_y :: uy -> u
 

data Scaling ux uy u a Source

Instances

Monad (Scaling ux uy u) 
Functor (Scaling ux uy u) 
Applicative (Scaling ux uy u) 
ScalingM (Scaling ux uy u) 

runScaling :: ScalingContext ux uy u -> Scaling ux uy u a -> aSource

data ScalingT ux uy u m a Source

Instances

Monad m => Monad (ScalingT ux uy u m) 
Monad m => Functor (ScalingT ux uy u m) 
Monad m => Applicative (ScalingT ux uy u m) 
DrawingCtxM m => DrawingCtxM (ScalingT ux uy u m) 
(u ~ MonUnit m, Monad m, TraceM m) => TraceM (ScalingT ux uy u m) 
Monad m => ScalingM (ScalingT ux uy u m) 

runScalingT :: ScalingContext ux uy u -> ScalingT ux uy u m a -> m aSource

unitX :: (ScalingM m, Num ux, ux ~ XDim m, u ~ MonUnit m) => m uSource

unitY :: (ScalingM m, Num uy, uy ~ YDim m, u ~ MonUnit m) => m uSource