逐步完成前后端服务器
This commit is contained in:
56
frontend/node_modules/zrender/lib/graphic/helper/subPixelOptimize.js
generated
vendored
Normal file
56
frontend/node_modules/zrender/lib/graphic/helper/subPixelOptimize.js
generated
vendored
Normal file
@ -0,0 +1,56 @@
|
||||
var round = Math.round;
|
||||
export function subPixelOptimizeLine(outputShape, inputShape, style) {
|
||||
if (!inputShape) {
|
||||
return;
|
||||
}
|
||||
var x1 = inputShape.x1;
|
||||
var x2 = inputShape.x2;
|
||||
var y1 = inputShape.y1;
|
||||
var y2 = inputShape.y2;
|
||||
outputShape.x1 = x1;
|
||||
outputShape.x2 = x2;
|
||||
outputShape.y1 = y1;
|
||||
outputShape.y2 = y2;
|
||||
var lineWidth = style && style.lineWidth;
|
||||
if (!lineWidth) {
|
||||
return outputShape;
|
||||
}
|
||||
if (round(x1 * 2) === round(x2 * 2)) {
|
||||
outputShape.x1 = outputShape.x2 = subPixelOptimize(x1, lineWidth, true);
|
||||
}
|
||||
if (round(y1 * 2) === round(y2 * 2)) {
|
||||
outputShape.y1 = outputShape.y2 = subPixelOptimize(y1, lineWidth, true);
|
||||
}
|
||||
return outputShape;
|
||||
}
|
||||
export function subPixelOptimizeRect(outputShape, inputShape, style) {
|
||||
if (!inputShape) {
|
||||
return;
|
||||
}
|
||||
var originX = inputShape.x;
|
||||
var originY = inputShape.y;
|
||||
var originWidth = inputShape.width;
|
||||
var originHeight = inputShape.height;
|
||||
outputShape.x = originX;
|
||||
outputShape.y = originY;
|
||||
outputShape.width = originWidth;
|
||||
outputShape.height = originHeight;
|
||||
var lineWidth = style && style.lineWidth;
|
||||
if (!lineWidth) {
|
||||
return outputShape;
|
||||
}
|
||||
outputShape.x = subPixelOptimize(originX, lineWidth, true);
|
||||
outputShape.y = subPixelOptimize(originY, lineWidth, true);
|
||||
outputShape.width = Math.max(subPixelOptimize(originX + originWidth, lineWidth, false) - outputShape.x, originWidth === 0 ? 0 : 1);
|
||||
outputShape.height = Math.max(subPixelOptimize(originY + originHeight, lineWidth, false) - outputShape.y, originHeight === 0 ? 0 : 1);
|
||||
return outputShape;
|
||||
}
|
||||
export function subPixelOptimize(position, lineWidth, positiveOrNegative) {
|
||||
if (!lineWidth) {
|
||||
return position;
|
||||
}
|
||||
var doubledPosition = round(position * 2);
|
||||
return (doubledPosition + round(lineWidth)) % 2 === 0
|
||||
? doubledPosition / 2
|
||||
: (doubledPosition + (positiveOrNegative ? 1 : -1)) / 2;
|
||||
}
|
Reference in New Issue
Block a user