|   | 
| /* | 
| * Licensed to the Apache Software Foundation (ASF) under one | 
| * or more contributor license agreements.  See the NOTICE file | 
| * distributed with this work for additional information | 
| * regarding copyright ownership.  The ASF licenses this file | 
| * to you under the Apache License, Version 2.0 (the | 
| * "License"); you may not use this file except in compliance | 
| * with the License.  You may obtain a copy of the License at | 
| * | 
| *   http://www.apache.org/licenses/LICENSE-2.0 | 
| * | 
| * Unless required by applicable law or agreed to in writing, | 
| * software distributed under the License is distributed on an | 
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | 
| * KIND, either express or implied.  See the License for the | 
| * specific language governing permissions and limitations | 
| * under the License. | 
| */ | 
|   | 
|   | 
| /** | 
|  * AUTO-GENERATED FILE. DO NOT MODIFY. | 
|  */ | 
|   | 
| /* | 
| * Licensed to the Apache Software Foundation (ASF) under one | 
| * or more contributor license agreements.  See the NOTICE file | 
| * distributed with this work for additional information | 
| * regarding copyright ownership.  The ASF licenses this file | 
| * to you under the Apache License, Version 2.0 (the | 
| * "License"); you may not use this file except in compliance | 
| * with the License.  You may obtain a copy of the License at | 
| * | 
| *   http://www.apache.org/licenses/LICENSE-2.0 | 
| * | 
| * Unless required by applicable law or agreed to in writing, | 
| * software distributed under the License is distributed on an | 
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | 
| * KIND, either express or implied.  See the License for the | 
| * specific language governing permissions and limitations | 
| * under the License. | 
| */ | 
| import { __extends } from "tslib"; | 
| import BaseAxisPointer from './BaseAxisPointer.js'; | 
| import * as viewHelper from './viewHelper.js'; | 
| import * as singleAxisHelper from '../../coord/single/singleAxisHelper.js'; | 
| var XY = ['x', 'y']; | 
| var WH = ['width', 'height']; | 
| var SingleAxisPointer = /** @class */function (_super) { | 
|   __extends(SingleAxisPointer, _super); | 
|   function SingleAxisPointer() { | 
|     return _super !== null && _super.apply(this, arguments) || this; | 
|   } | 
|   /** | 
|    * @override | 
|    */ | 
|   SingleAxisPointer.prototype.makeElOption = function (elOption, value, axisModel, axisPointerModel, api) { | 
|     var axis = axisModel.axis; | 
|     var coordSys = axis.coordinateSystem; | 
|     var otherExtent = getGlobalExtent(coordSys, 1 - getPointDimIndex(axis)); | 
|     var pixelValue = coordSys.dataToPoint(value)[0]; | 
|     var axisPointerType = axisPointerModel.get('type'); | 
|     if (axisPointerType && axisPointerType !== 'none') { | 
|       var elStyle = viewHelper.buildElStyle(axisPointerModel); | 
|       var pointerOption = pointerShapeBuilder[axisPointerType](axis, pixelValue, otherExtent); | 
|       pointerOption.style = elStyle; | 
|       elOption.graphicKey = pointerOption.type; | 
|       elOption.pointer = pointerOption; | 
|     } | 
|     var layoutInfo = singleAxisHelper.layout(axisModel); | 
|     viewHelper.buildCartesianSingleLabelElOption( | 
|     // @ts-ignore | 
|     value, elOption, layoutInfo, axisModel, axisPointerModel, api); | 
|   }; | 
|   /** | 
|    * @override | 
|    */ | 
|   SingleAxisPointer.prototype.getHandleTransform = function (value, axisModel, axisPointerModel) { | 
|     var layoutInfo = singleAxisHelper.layout(axisModel, { | 
|       labelInside: false | 
|     }); | 
|     // @ts-ignore | 
|     layoutInfo.labelMargin = axisPointerModel.get(['handle', 'margin']); | 
|     var position = viewHelper.getTransformedPosition(axisModel.axis, value, layoutInfo); | 
|     return { | 
|       x: position[0], | 
|       y: position[1], | 
|       rotation: layoutInfo.rotation + (layoutInfo.labelDirection < 0 ? Math.PI : 0) | 
|     }; | 
|   }; | 
|   /** | 
|    * @override | 
|    */ | 
|   SingleAxisPointer.prototype.updateHandleTransform = function (transform, delta, axisModel, axisPointerModel) { | 
|     var axis = axisModel.axis; | 
|     var coordSys = axis.coordinateSystem; | 
|     var dimIndex = getPointDimIndex(axis); | 
|     var axisExtent = getGlobalExtent(coordSys, dimIndex); | 
|     var currPosition = [transform.x, transform.y]; | 
|     currPosition[dimIndex] += delta[dimIndex]; | 
|     currPosition[dimIndex] = Math.min(axisExtent[1], currPosition[dimIndex]); | 
|     currPosition[dimIndex] = Math.max(axisExtent[0], currPosition[dimIndex]); | 
|     var otherExtent = getGlobalExtent(coordSys, 1 - dimIndex); | 
|     var cursorOtherValue = (otherExtent[1] + otherExtent[0]) / 2; | 
|     var cursorPoint = [cursorOtherValue, cursorOtherValue]; | 
|     cursorPoint[dimIndex] = currPosition[dimIndex]; | 
|     return { | 
|       x: currPosition[0], | 
|       y: currPosition[1], | 
|       rotation: transform.rotation, | 
|       cursorPoint: cursorPoint, | 
|       tooltipOption: { | 
|         verticalAlign: 'middle' | 
|       } | 
|     }; | 
|   }; | 
|   return SingleAxisPointer; | 
| }(BaseAxisPointer); | 
| var pointerShapeBuilder = { | 
|   line: function (axis, pixelValue, otherExtent) { | 
|     var targetShape = viewHelper.makeLineShape([pixelValue, otherExtent[0]], [pixelValue, otherExtent[1]], getPointDimIndex(axis)); | 
|     return { | 
|       type: 'Line', | 
|       subPixelOptimize: true, | 
|       shape: targetShape | 
|     }; | 
|   }, | 
|   shadow: function (axis, pixelValue, otherExtent) { | 
|     var bandWidth = axis.getBandWidth(); | 
|     var span = otherExtent[1] - otherExtent[0]; | 
|     return { | 
|       type: 'Rect', | 
|       shape: viewHelper.makeRectShape([pixelValue - bandWidth / 2, otherExtent[0]], [bandWidth, span], getPointDimIndex(axis)) | 
|     }; | 
|   } | 
| }; | 
| function getPointDimIndex(axis) { | 
|   return axis.isHorizontal() ? 0 : 1; | 
| } | 
| function getGlobalExtent(coordSys, dimIndex) { | 
|   var rect = coordSys.getRect(); | 
|   return [rect[XY[dimIndex]], rect[XY[dimIndex]] + rect[WH[dimIndex]]]; | 
| } | 
| export default SingleAxisPointer; |