in client/client/modules/render/core/viewport/shortenedIntrons/shortenedIntronsViewport.js [108:145]
getTransformType({start, end, delta}) {
if (this.brush) {
if (this._rebuildRequested) {
this._rebuildRequested = false;
return ViewportTransformTypes.VIEWPORT_TRANSFORM_REBUILD;
}
if (delta) {
const newCenter = this.translatePosition(this.brush.center, delta);
const newStart = this.translatePosition(newCenter, -this.brush.shortenedSize / 2);
const newEnd = this.translatePosition(newCenter, +this.brush.shortenedSize / 2);
if (this.checkCoverage(newStart) && this.checkCoverage(newEnd)) {
return ViewportTransformTypes.VIEWPORT_MOVE;
}
}
if (this.brush.center &&
this.brush.shortenedSize &&
start &&
end &&
Math.round((start + end) / 2) === Math.round((this.brush.startIndex + this.brush.endIndex) / 2)) {
return ViewportTransformTypes.VIEWPORT_SCALE;
}
if (this.brush.startIndex &&
this.brush.endIndex &&
start &&
end &&
this.brush.startIndex <= start && this.brush.endIndex >= end) {
return ViewportTransformTypes.VIEWPORT_TRANSFORM_LOCAL;
}
if (this.brush.startIndex &&
this.brush.endIndex &&
start &&
end &&
this.brush.startIndex >= start && this.brush.endIndex <= end) {
return ViewportTransformTypes.VIEWPORT_TRANSFORM_GLOBAL;
}
}
return ViewportTransformTypes.VIEWPORT_TRANSFORM_SET;
}