[API](/solutions/geotoolkit/geotoolkit_js/apis/readme) / [geotoolkit](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit) / [controls](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.controls) / [tools](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.controls#tools) / [scroll](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.controls#scroll) / [ScrollFactory](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.controls#scrollfactory) / ScrollFactory

# Class: ScrollFactory

[scroll](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.controls#scroll).[ScrollFactory](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.controls#scrollfactory).ScrollFactory

Scroll factory

This factory registers a name-function pair.
the function is responsible for creating an instance of a scrollbar which inherits from
geotoolkit.controls.tools.scroll.AbstractScroll, and returns it

## Table of contents

Constructors
- [new ScrollFactory()](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.controls.tools.scroll.scrollfactory.scrollfactory.md#new scrollfactory())


Methods
| [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.scroll.scrollfactory.scrollfactory#getclassname) | [getScrollbar](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.scroll.scrollfactory.scrollfactory#getscrollbar) | [registerScrollbar](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.scroll.scrollfactory.scrollfactory#registerscrollbar) |
|  --- | --- | --- |
| [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.scroll.scrollfactory.scrollfactory#getclassname-1) | [getInstance](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.scroll.scrollfactory.scrollfactory#getinstance) |


## Contents

Constructors
#### new ScrollFactory()

• **new ScrollFactory**()

Methods
#### getClassName

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

#### Returns

`string`

#### getScrollbar

▸ **getScrollbar**(`name`, `options`): [`HorizontalScroll`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.scroll.horizontalscroll.horizontalscroll)

#### Parameters

| Name  | Type  |
|  --- | --- |
| `name` | `&amp;quot;geotoolkit.controls.tools.scroll.HorizontalScroll&amp;quot;` |
| `options` | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.controls#hvbasescroll#options) |


#### Returns

[`HorizontalScroll`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.scroll.horizontalscroll.horizontalscroll)

▸ **getScrollbar**(`name`, `options`): [`HorizontalScroll`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.scroll.horizontalscroll.horizontalscroll)

#### Parameters

| Name  | Type  |
|  --- | --- |
| `name` | `&amp;quot;geotoolkit.controls.tools.scroll.VerticalScroll&amp;quot;` |
| `options` | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.controls#hvbasescroll#options) |


#### Returns

[`HorizontalScroll`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.scroll.horizontalscroll.horizontalscroll)

▸ **getScrollbar**(`name`, `options`): [`HorizontalScroll`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.scroll.horizontalscroll.horizontalscroll)

#### Parameters

| Name  | Type  |
|  --- | --- |
| `name` | `string` |
| `options` | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.controls#hvbasescroll#options) |


#### Returns

[`HorizontalScroll`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.scroll.horizontalscroll.horizontalscroll)

#### registerScrollbar

▸ **registerScrollbar**(`name`, `constructor`): [`ScrollFactory`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.scroll.scrollfactory.scrollfactory)

Register scrollbar

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `name` | `string` | class name or unique name |
| `constructor` | (`opt`: `any`) => [`AbstractScroll`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.scroll.abstractscroll.abstractscroll) | function which instantiates the required scrollbar |


#### Returns

[`ScrollFactory`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.scroll.scrollfactory.scrollfactory)

#### getClassName

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

#### Returns

`string`

#### getInstance

▸ `Static` **getInstance**(): [`ScrollFactory`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.scroll.scrollfactory.scrollfactory)

Get instance

#### Returns

[`ScrollFactory`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.scroll.scrollfactory.scrollfactory)

instance