ianmackenzie/elm-geometry

Add BoundingBox2d.aspectRatio

Ouverte

#133 ouverte le 30 mai 2020

 (1 commentaire) (0 réaction) (0 personne assignée)Elm (28 forks)auto 404
Hacktoberfest

Métriques du dépôt

Stars
 (186 étoiles)
Métriques de merge PR
 (Aucune PR mergée en 30 j)

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.

Guide contributeur