| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import Geom from './base';
- import { isArray } from '../util/common';
- import './shape/polygon';
- class Polygon extends Geom {
- getDefaultCfg() {
- var cfg = super.getDefaultCfg();
- cfg.type = 'polygon';
- cfg.shapeType = 'polygon';
- cfg.generatePoints = true;
- return cfg;
- }
- createShapePointsCfg(obj) {
- var cfg = super.createShapePointsCfg(obj);
- var self = this;
- var x = cfg.x;
- var y = cfg.y;
- var temp;
- if (!(isArray(x) && isArray(y))) {
- var xScale = self.getXScale();
- var yScale = self.getYScale();
- var xCount = xScale.values ? xScale.values.length : xScale.ticks.length;
- var yCount = yScale.values ? yScale.values.length : yScale.ticks.length;
- var xOffset = 0.5 * 1 / xCount;
- var yOffset = 0.5 * 1 / yCount;
- if (xScale.isCategory && yScale.isCategory) {
- x = [x - xOffset, x - xOffset, x + xOffset, x + xOffset];
- y = [y - yOffset, y + yOffset, y + yOffset, y - yOffset];
- } else if (isArray(x)) {
- temp = x;
- x = [temp[0], temp[0], temp[1], temp[1]];
- y = [y - yOffset / 2, y + yOffset / 2, y + yOffset / 2, y - yOffset / 2];
- } else if (isArray(y)) {
- temp = y;
- y = [temp[0], temp[1], temp[1], temp[0]];
- x = [x - xOffset / 2, x - xOffset / 2, x + xOffset / 2, x + xOffset / 2];
- }
- cfg.x = x;
- cfg.y = y;
- }
- return cfg;
- }
- }
- Geom.Polygon = Polygon;
- export default Polygon;
|