[API](/solutions/geotoolkit/geotoolkit_js/apis/readme) / [geotoolkit](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit) / [gauges](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.gauges) / [layout](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.gauges#layout) / [Region](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.gauges#region) / Region

# Class: Region

[layout](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.gauges#layout).[Region](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.gauges#region).Region

Implements a region which is the main component in the process of layouting the gauge elements. A region
is an abstract rectangle which defines some area withing the gauge bounds and can contain any part of the gauge.
By default, gauge is divided into 9 regions, but not limited to that. Custom regions can be added. Since regions
are an abstract object, no fill style and/or linestyle can be applied to them. Bounds of a region are calculated
and set by the gauge, thus, setting bounds from an application will be overridden.

## Table of contents

Constructors
- [new Region(options)](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.gauges.layout-1.region.region.md#new region(options))


Methods
| [clone](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region#clone) | [getBounds](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region#getbounds) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region#getclassname) |
|  --- | --- | --- |
| [getFillStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region#getfillstyle) | [getHeight](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region#getheight) | [getLineStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region#getlinestyle) |
| [getParent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region#getparent) | [getProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region#getproperties) | [getWidth](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region#getwidth) |
| [setBounds](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region#setbounds) | [setFillStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region#setfillstyle) | [setHeight](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region#setheight) |
| [setLineStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region#setlinestyle) | [setParent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region#setparent) | [setProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region#setproperties) |
| [setWidth](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region#setwidth) | [setX](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region#setx) | [setY](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region#sety) |
| [fromObject](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region#fromobject) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region#getclassname-1) |


Css Properties
| Name  | Type  | Description |
|  --- | --- | --- |
| `bounds` | [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect#css-props) | The region bounds |
| `bounds-height` | `number` | Height |
| `bounds-readonly` | `boolean` | Readonly |
| `bounds-width` | `number` | Width |
| `bounds-x` | `number` | Left |
| `bounds-y` | `number` | Top |
| `fillstyle` | `string` | The region fill style |
| `fillstyle` | [`FillStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.fillstyle.fillstyle#css-props) | The region fill style |
| `fillstyle-color` | `string` | Color in CSS form |
| `fillstyle-evenoddmode` | `boolean` | Even-odd fill mode |
| `fillstyle-fillpattern` | [`Pattern`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.pattern.pattern#css-props) | Pattern |
| `fillstyle-fillpattern-containername` | `string` | An optional container name, which creates an image pattern. This
parameter is used for serialization if you want to save are reference to pattern instead of the pattern itself |
| `fillstyle-fillpattern-patternname` | `string` | Name of this pattern for indexing |
| `fillstyle-fillpattern-scalable` | `boolean` | Flag that sets scalability of the pattern
coordinates, or relative to the shape it is filling (It is not supported) |
| `fillstyle-foreground` | `string` | Foreground color |
| `fillstyle-pattern` | [`Pattern`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.pattern.pattern#css-props) | Pattern |
| `height` | `number | string` | Height of the region |
| `linestyle` | `string` | The region line style |
| `linestyle` | [`LineStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.linestyle.linestyle#css-props) | The region line style |
| `linestyle-color` | `string` | Color in CSS form |
| `linestyle-fill` | `string` | Optional fill style to be used to fill lines generated with this style |
| `linestyle-fill` | [`FillStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.fillstyle.fillstyle#css-props) | Optional fill style to be used to fill lines generated with this style |
| `linestyle-linecap` | [`CapStyle`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.attributes.linestyle#capstyle) | The line cap style |
| `linestyle-linedashoffset` | `number` | Line dash offset of dashed line |
| `linestyle-linejoin` | [`JoinStyle`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.attributes.linestyle#joinstyle) | The line join style |
| `linestyle-pixelsnapmode` | `boolean` | Pixel Snap Mode, default( |
| `linestyle-scalable` | `boolean` | True if width should depend on transformation |
| `linestyle-unit` | `string` | Optional unit for the width |
| `linestyle-width` | `number | string` | The line thickness |
| `name` | `string` | The region name |
| `parent` | [`Regions`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.gauges#layout-1#regions#regions) | The region relative to which this region is calculated |
| `width` | `number | string` | Width of the region |
| `x` | `number | string` | X coordinate of the region |
| `y` | `number | string` | Y coordinate of the region |


## Contents

Constructors
#### new Region(options)

• **new Region**(`options?`)

#### Parameters

| Name  | Type  |
|  --- | --- |
| `Optional` `options` | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.gauges#region#options-1) |


Methods
#### clone

▸ **clone**(): [`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

Get a clone of this object

#### Returns

[`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

clone

#### getBounds

▸ **getBounds**(): [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

Returns bounds of the region

#### Returns

[`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

#### getClassName

▸ **getClassName**(): `string`

#### Returns

`string`

#### getFillStyle

▸ **getFillStyle**(): [`FillStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.fillstyle.fillstyle)

Gets Fill Style of this region

#### Returns

[`FillStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.fillstyle.fillstyle)

#### getHeight

▸ **getHeight**(): `number`

Returns Height property of region

#### Returns

`number`

#### getLineStyle

▸ **getLineStyle**(): [`LineStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.linestyle.linestyle)

Gets Line Style of this region

#### Returns

[`LineStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.linestyle.linestyle)

#### getParent

▸ **getParent**(): `string`

Gets the parent where this region is rendered

#### Returns

`string`

#### getProperties

▸ **getProperties**(): `Required`<`Omit`<[`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.gauges#region#options-1), `"width"` | `"height"` | `"x"` | `"y"`&gt;&gt;

Gets properties pertaining to this object

#### Returns

`Required`<`Omit`<[`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.gauges#region#options-1), `"width"` | `"height"` | `"x"` | `"y"`&gt;&gt;

properties

#### getWidth

▸ **getWidth**(): `number`

Returns Width property of region

#### Returns

`number`

#### setBounds

▸ **setBounds**(`bounds`): [`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

Sets bounds for this region

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `bounds` | [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect) | New bounds |


#### Returns

[`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

#### setFillStyle

▸ **setFillStyle**(`fillStyle`, `merge?`): [`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

Sets fill style

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `fillStyle` | [`Type`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.attributes#fillstyle#type) | a new fill style |
| `Optional` `merge` | `boolean` | true if you want to merge fillStyle with existing attribute, false by default |


#### Returns

[`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

#### setHeight

▸ **setHeight**(`h`): [`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

Sets Height property of region

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `h` | `number` | New Height to set |


#### Returns

[`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

#### setLineStyle

▸ **setLineStyle**(`lineStyle`, `merge?`): [`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

Sets line style

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `lineStyle` | [`Type`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.attributes.linestyle#linestyle#type) | line style or options |
| `Optional` `merge` | `boolean` | true if you want to merge lineStyle with existing attribute, false by default |


#### Returns

[`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

this

#### setParent

▸ **setParent**(`parent`): [`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

Sets the name of region relative to which this region is calculated

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `parent` | `string` | region parent |


#### Returns

[`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

#### setProperties

▸ **setProperties**(`params?`): [`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

Sets properties pertaining to this object

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `params` | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.gauges#region#options-1) | properties |


#### Returns

[`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

#### setWidth

▸ **setWidth**(`w`): [`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

Sets Width property of region

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `w` | `number` | New Width to set |


#### Returns

[`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

#### setX

▸ **setX**(`x`): [`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

Sets X property of region

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `x` | `number` | New X to set |


#### Returns

[`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

#### setY

▸ **setY**(`y`): [`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

Sets Y property of region

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `y` | `number` | New Y to set |


#### Returns

[`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

#### fromObject

▸ `Static` **fromObject**(`region`): [`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

Create or get a region from an object

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `region` | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.gauges#region#options-1) | [`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region) | A region or an object with region properties |


#### Returns

[`Region`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.layout-1.region.region)

region

#### getClassName

▸ `Static` **getClassName**(): `string`

#### Returns

`string`