{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-} module JavaScript.Web.Canvas.TextMetrics ( width , actualBoundingBoxLeft , actualBoundingBoxRight , fontBoundingBoxAscent , fontBoundingBoxDescent , actualBoundingBoxAscent , actualBoundingBoxDescent , emHeightAscent , emHeightDescent , hangingBaseline , alphabeticBaseline , ideographicBaseline ) where import JavaScript.Web.Canvas.Internal width :: TextMetrics -> Double width tm = js_width tm {-# INLINE width #-} actualBoundingBoxLeft :: TextMetrics -> Double actualBoundingBoxLeft tm = js_actualBoundingBoxLeft tm {-# INLINE actualBoundingBoxLeft #-} actualBoundingBoxRight :: TextMetrics -> Double actualBoundingBoxRight tm = js_actualBoundingBoxRight tm {-# INLINE actualBoundingBoxRight #-} fontBoundingBoxAscent :: TextMetrics -> Double fontBoundingBoxAscent tm = js_fontBoundingBoxAscent tm {-# INLINE fontBoundingBoxAscent #-} fontBoundingBoxDescent :: TextMetrics -> Double fontBoundingBoxDescent tm = js_fontBoundingBoxDescent tm {-# INLINE fontBoundingBoxDescent #-} actualBoundingBoxAscent :: TextMetrics -> Double actualBoundingBoxAscent tm = js_actualBoundingBoxAscent tm {-# INLINE actualBoundingBoxAscent #-} actualBoundingBoxDescent :: TextMetrics -> Double actualBoundingBoxDescent tm = js_actualBoundingBoxDescent tm {-# INLINE actualBoundingBoxDescent #-} emHeightAscent :: TextMetrics -> Double emHeightAscent tm = js_emHeightAscent tm {-# INLINE emHeightAscent #-} emHeightDescent :: TextMetrics -> Double emHeightDescent tm = js_emHeightDescent tm {-# INLINE emHeightDescent #-} hangingBaseline :: TextMetrics -> Double hangingBaseline tm = js_hangingBaseline tm {-# INLINE hangingBaseline #-} alphabeticBaseline :: TextMetrics -> Double alphabeticBaseline tm = js_alphabeticBaseline tm {-# INLINE alphabeticBaseline #-} ideographicBaseline :: TextMetrics -> Double ideographicBaseline tm = js_ideographicBaseline tm {-# INLINE ideographicBaseline #-} -- ----------------------------------------------------------------------------- foreign import javascript unsafe "$1.width" js_width :: TextMetrics -> Double foreign import javascript unsafe "$1.actualBoundingBoxLeft" js_actualBoundingBoxLeft :: TextMetrics -> Double foreign import javascript unsafe "$1.actualBoundingBoxRight" js_actualBoundingBoxRight :: TextMetrics -> Double foreign import javascript unsafe "$1.fontBoundingBoxAscent" js_fontBoundingBoxAscent :: TextMetrics -> Double foreign import javascript unsafe "$1.fontBoundingBoxDescent" js_fontBoundingBoxDescent :: TextMetrics -> Double foreign import javascript unsafe "$1.actualBoundingBoxAscent" js_actualBoundingBoxAscent :: TextMetrics -> Double foreign import javascript unsafe "$1.actualBoundingBoxDescent" js_actualBoundingBoxDescent :: TextMetrics -> Double foreign import javascript unsafe "$1.emHeightAscent" js_emHeightAscent :: TextMetrics -> Double foreign import javascript unsafe "$1.emHeightDescent" js_emHeightDescent :: TextMetrics -> Double foreign import javascript unsafe "$1.hangingBaseline" js_hangingBaseline :: TextMetrics -> Double foreign import javascript unsafe "$1.alphabeticBaseline" js_alphabeticBaseline :: TextMetrics -> Double foreign import javascript unsafe "$1.ideographicBaseline" js_ideographicBaseline :: TextMetrics -> Double