OffsetCalculator offsetter = new OffsetCalculator(getBounds().x+bounds.x, getBounds().y+bounds.y); // top left corner of this view plus any black borders
NamedPolygon poly = new NamedPolygon(polyNames[0]);
poly.addPoint(offsetter.computeXOffset(508, scale), offsetter.computeYOffset(678, scale));
poly.addPoint(offsetter.computeXOffset(574, scale), offsetter.computeYOffset(520, scale));
poly.addPoint(offsetter.computeXOffset(534, scale), offsetter.computeYOffset(546, scale));
poly.addPoint(offsetter.computeXOffset(736, scale), offsetter.computeYOffset(586, scale));
poly.addPoint(offsetter.computeXOffset(702, scale), offsetter.computeYOffset(672, scale));
poly.addPoint(offsetter.computeXOffset(786, scale), offsetter.computeYOffset(758, scale));
poly.addPoint(offsetter.computeXOffset(526, scale), offsetter.computeYOffset(756, scale));
int meanY = (poly.ypoints[1] + poly.ypoints[5]) / 2;
portPolygons.put(meanY, poly); // maybe we should use meanX instead