Skip to content

Latest commit

 

History

History

bounds

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

bounds

version

Utility

Some utils for transforming InDesign bounds arrays.

Install

npm install @extendscript/ind.util.bounds

Include

#include 'node_modules/@extendscript/ind.util.bounds/bounds.js'

Use

Load the module by creating a reference.

var Bounds = Sky.getUtil("bounds")

getInfo( bounds )

This function collects some extra data from the bounds. It returns an object with the following keys:

  • bounds Array ([y1, x1, y2, x2])
  • height Number
  • width Number
  • topLeft Object ({x: Number, y: Number})
  • topCenter Object ({x: Number, y: Number})
  • topRight Object ({x: Number, y: Number})
  • midLeft Object ({x: Number, y: Number})
  • midCenter Object ({x: Number, y: Number})
  • midRight Object ({x: Number, y: Number})
  • botLeft Object ({x: Number, y: Number})
  • botCenter Object ({x: Number, y: Number})
  • botRight Object ({x: Number, y: Number})

offset( bounds, offset)

Returns an offset ([x,y]) of bounds values.

normalise( bounds, offset )

Returns the normalised bounds ([y1, x1, y2, x2]). You can give it an optional offset. Either a single number or array that defines [x,y].

Therefore the given bounds [10,11,20,21] transform to [0,0,10,10] if no offset is given. When we add [1,2] as offset we get [2,1,12,11]

getRelativeOfset( bounds, relativeToBounds )

This function returns the relative ofset as an info object as described above (See getInfo).

X--------X--------X
|  |   |   |      |
|--X---X---X------|
|  |   |   |      |
|--X---X---X------|
X  |   | x |      X
|--X---X---X------|
|  |   |   |      |
|  |   |   |      |
|  |   |   |      |
X--------X--------X

BEWARE: This function expects both bounds to be in the same X-Y coordinate space and measure unit!

Test

We can test the code against a range of targets:

npm run test myTarget

We keep a log of test results

More info

Read the docs