Files
JiboSDK/node_modules/region/README.md

139 lines
2.4 KiB
Markdown
Raw Normal View History

2026-03-22 03:21:45 +02:00
region
======
A helper to work with rectangular regions in the DOM
## Install
```sh
$ npm install region --save
```
## Usage
```js
var Region = require('region')
var region = Region({
top: 10,
left: 10,
width: 50,
height: 60
})
region.getRight() == 60
region.getBottom() == 70
```
## API
### Instantiation
You can create a new Region by calling the function returned by ```require('region')```. You can call it as a constructor if you want.
```js
var Region = require('region')
new Region({
top: 10,
left: 10
//either width,height
//or right, bottom
width: 10,
height: 10
})
```
or
```js
var Region = require('region')
var r = Region({
top: 10,
left: 10,
right: 20,
bottom: 20
})
```
You can instantiate a ```Region``` from a DOM node, using Region.fromDOM (NOTE: uses dom.offsetWidth/Height/Left/Top for getting coordinates)
```js
var r = Region.fromDOM(document.body)
```
### Getters
* get - returns an object with {top, left, bottom, right}
* getWidth
* getHeight
* getLeft
* getTop
* getRight
* getBottom
* getPosition - returns an object with {left, top}
* getSize - returns an object with {width, height}
### containsPoint(x,y) or containsPoint({x,y}) : Boolean
```js
var r = Region({
top: 10,
left: 10,
width: 10,
height: 10
})
r.containsPoint(15, 10) == true
r.containsPoint({x: 10, y: 10}) == true
```
### equals(r): Boolean
Returns true if this region equals the region (or the object) given as the first param
var r = Region({top: 10, left: 10, bottom: 20, right: 20 })
r.equals({top: 10, left: 10, bottom: 20, right: 20 }) == true
### equalsPosition({top, left}): Boolean
Returns true if this region has top, left equal to the given coordinates
### equalsSize({width, height}): Boolean
Returns true if this region has the same size as the given region or object
```js
var coords = { top: 10, left: 10, width: 100, height: 100 }
var r = Region(coords)
r.equalsSize(coords) == true
r.equalsSize(r.clone()) == true
```
### getIntersection(Region): Region/false
Returns the region resulted by intersecting this region with the given region. If no intersection, returns false
### clone: Region
Returns a new region instance with the same coordinates
```js
var r = new Region({left: 10, right: 10, width: 10, height: 20})
r.clone().equals(r)
```
## Tests
```sh
$ make
```
Watch mode
```sh
$ make test-w
```
## License
```
MIT
```