# Interface Gang

public interface Gang
Defines how a set of related plot zones is presented together on a graphics plane. Each zone can contain one plotting surface.

Since:
  25 Jan 2016
Author:
  Mark Taylor

## Method Summary

Modifier and Type
Method
Description
`int`
`getNavigationZoneIndex(Point pos)`
Returns the zone index for the zone to which navigation gestures referenced at a particular graphics position should be delegated.
`int`
`getZoneCount()`
Returns the number of zones in this gang.
`Rectangle`
`getZonePlotBounds(int iz)`
Returns the data bounds for a given zone.

## Method Details

### getZoneCount

int getZoneCount()
Returns the number of zones in this gang.

Returns:
  zone count

### getZonePlotBounds

Rectangle getZonePlotBounds(int iz)
Returns the data bounds for a given zone. This is the region within which data can be plotted, it does not include space for external axis labels etc.

Parameters:
  `iz` - index of zone
Returns:
  plot bounds for zone

### getNavigationZoneIndex

int getNavigationZoneIndex(Point pos)
Returns the zone index for the zone to which navigation gestures referenced at a particular graphics position should be delegated.

In most cases, if the position falls within the data bounds of a given zone, that zone index will be returned, but if the position falls outside of any zones, it may still be useful to return the index of a zone whose navigator can take care of it. A negative value may be returned to indicate no zone, but generally it's better to indicate some zone rather than none.

Parameters:
  `pos` - graphics position relating to user navigation gesture
Returns:
  index of zone for navigation actions, or negative for no zone