rebounds

0.3.0 • Public • Published

rebounds.js Build Status

Rectangle scaling functions.

Functions

rebounds.fit(space, rect, options = {positionX: 0.5, positionY: 0.5, reduce: true, expand: true})

alias: rebounds.showAll

Returns scaled rect bounds to fit into space.

rebounds.fit(
    {width: 100, height: 100},
    {width: 200, height: 50}
);
// => {width: 100, height: 25, x: 0, y: 37.5}
 
rebounds.fit(
    {width: 100, height: 100},
    {width: 200, height: 50},
    {reduce: false}
);
// => {width: 200, height: 50, x: -50, y: 25}

rebounds.fill(space, rect, options = {positionX: 0.5, positionY: 0.5, reduce: true, expand: true})

alias: rebounds.noBorder

Returns scaled rect bounds to fill space.

rebounds.fill(
    {width: 100, height: 100},
    {width: 200, height: 50}
);
// => {width: 400, height: 100, x: -150, y: 0}
 
rebounds.fill(
    {width: 100, height: 100},
    {width: 200, height: 50},
    {expand: false}
);
// => {width: 200, height: 50, x: -50, y: 25}

rebounds.remain(space, rect, options = {positionX: 0.5, positionY: 0.5})

alias: rebounds.noScale

Returns non-scaled rect bounds repositioned against space.

rebounds.remain(
    {width: 100, height: 100},
    {width: 200, height: 50}
);
// => {width: 200, height: 50, x: -50, y: 25}

rebounds.stretch(space, rect, options = {positionX: 0.5, positionY: 0.5})

alias: rebounds.exactFit

Returns rect bounds stretched into the same size with space.

rebounds.stretch(
    {width: 100, height: 100},
    {width: 200, height: 50}
);
// => {width: 100, height: 100, x: 0, y: 0}

rebounds.position(space, rect, options = {positionX: 0.5, positionY: 0.5})

Returns coordinates of rect repositioned against space.

rebounds.position(
    {width: 100, height: 100},
    {width: 200, height: 50}
);
// => {x: -50, y: 25}
 
rebounds.position(
    {width: 100, height: 100, x: 50, y: 50},
    {width: 200, height: 50}
);
// => {x: 0, y: 75}
 
rebounds.position(
    {width: 100, height: 100},
    {width: 200, height: 50},
    {
        positionX: rebounds.LEFT, // rebounds.LEFT === 0
        positionY: rebounds.BOTTOM // rebounds.BOTTOM === 1
    }
);
// => {x: 0, y: 50}

Readme

Keywords

none

Package Sidebar

Install

npm i rebounds

Weekly Downloads

3

Version

0.3.0

License

MIT

Last publish

Collaborators

  • hanamura