ianmackenzie/elm-geometry

Add BoundingBox2d.aspectRatio

Aberta

#133 aberto em 30 de mai. de 2020

 (1 comentário) (0 reação) (0 responsável)Elm (28 forks)auto 404
Hacktoberfest

Métricas do repositório

Stars
 (186 estrelas)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

I've found that I've needed this function a couple times. Writing the code in a one-off fashion looks like this

( w, h ) =
    BoundingBox2d.dimensions boundingBox

aspectRatio =
    Quantity.ratio h w

safeAspectRatio = 
    if isNaN aspectRatio || isInfinite aspectRatio then
        Nothing
    else
        Just aspectRatio

This is verbose so it would be nice to just have as BoundingBox2d.aspectRatio: BoundingBox2d -> Maybe Float and possibly BoundingBox2d.aspectRatioInv: BoundingBox2d -> Maybe Float for the width over height version.

Edit: I know elm-geometry tends to avoid having functions that depend on a particular x y coordinate system but I think an exception should be made for BoundingBox2d since it's already defined in terms of an x y coordinate system.

Guia do colaborador