Commit de94bf27 authored by SergeyLuzyanin's avatar SergeyLuzyanin

fix bug 35731

parent a19887ff
......@@ -1074,15 +1074,12 @@ MoveState.prototype =
var start_arr = this.drawingObjects.getAllObjectsOnPage(0);
var min_dx = null, min_dy = null;
var dx, dy;
var snap_x = null, snap_y = null;
var snap_x = [], snap_y = [];
var snapHorArray = [], snapVerArray = [];
if(result_x === this.startX)
{
min_dx = 0;
}
else
{
//-------------------------------------------------
for(var track_index = 0; track_index < _arr_track_objects.length; ++track_index)
{
var cur_track_original_shape = _arr_track_objects[track_index].originalObject;
......@@ -1096,19 +1093,24 @@ MoveState.prototype =
if(isRealObject(snap_obj))
{
dx = snap_obj.dist;
console.log(dx);
if(dx !== null)
{
if(min_dx === null)
{
min_dx = dx;
snap_x = snap_obj.pos;
snap_x.push(snap_obj.pos);
}
else
{
if(Math.abs(min_dx) > Math.abs(dx))
if(AscFormat.fApproxEqual(min_dx, dx, 0.01)){
snap_x.push(snap_obj.pos);
}
else if(Math.abs(min_dx) > Math.abs(dx))
{
min_dx = dx;
snap_x = snap_obj.pos;
snap_x.length = 0;
snap_x.push(snap_obj.pos);
}
}
}
......@@ -1123,20 +1125,24 @@ MoveState.prototype =
if(isRealObject(snap_obj))
{
dx = snap_obj.dist;
console.log(dx);
if(dx !== null)
{
if(min_dx === null)
{
snap_x = snap_obj.pos;
min_dx = dx;
snap_x.push(snap_obj.pos);
}
else
{
if(Math.abs(min_dx) > Math.abs(dx))
if(AscFormat.fApproxEqual(min_dx, dx, 0.01)){
snap_x.push(snap_obj.pos);
}
else if(Math.abs(min_dx) > Math.abs(dx))
{
min_dx = dx;
snap_x = snap_obj.pos;
}
snap_x.length = 0;
snap_x.push(snap_obj.pos);
}
}
}
......@@ -1144,13 +1150,12 @@ MoveState.prototype =
}
}
}
if(result_y === this.startY)
if(result_x === this.startX)
{
min_dy = 0;
min_dx = 0;
}
else
{
//-----------------------------
for(track_index = 0; track_index < _arr_track_objects.length; ++track_index)
{
cur_track_original_shape = _arr_track_objects[track_index].originalObject;
......@@ -1169,14 +1174,18 @@ MoveState.prototype =
if(min_dy === null)
{
min_dy = dy;
snap_y = snap_obj.pos;
snap_y.push(snap_obj.pos);
}
else
{
if(Math.abs(min_dy) > Math.abs(dy))
if(AscFormat.fApproxEqual(min_dy, dy, 0.01)){
snap_y.push(snap_obj.pos);
}
else if(Math.abs(min_dy) > Math.abs(dy))
{
min_dy = dy;
snap_y = snap_obj.pos;
snap_y.length = 0;
snap_y.push(snap_obj.pos);
}
}
}
......@@ -1196,14 +1205,18 @@ MoveState.prototype =
if(min_dy === null)
{
min_dy = dy;
snap_y = snap_obj.pos;
snap_y.push(snap_obj.pos);
}
else
{
if(Math.abs(min_dy) > Math.abs(dy))
if(AscFormat.fApproxEqual(min_dy, dy, 0.01)){
snap_y.push(snap_obj.pos);
}
else if(Math.abs(min_dy) > Math.abs(dy))
{
min_dy = dy;
snap_y = snap_obj.pos;
snap_y.length = 0;
snap_y.push(snap_obj.pos);
}
}
}
......@@ -1211,16 +1224,21 @@ MoveState.prototype =
}
}
}
if(result_y === this.startY)
{
min_dy = 0;
}
if(min_dx === null || Math.abs(min_dx) > SNAP_DISTANCE)
min_dx = 0;
else
{
if(AscFormat.isRealNumber(snap_x) && this.drawingObjects.drawingObjects.cSld)
if(this.drawingObjects.drawingObjects.cSld)
{
this.drawingObjects.getDrawingDocument().DrawVerAnchor(pageIndex, snap_x);
for(var i = 0; i < snap_x.length; ++i){
this.drawingObjects.getDrawingDocument().DrawVerAnchor(pageIndex, snap_x[i]);
}
}
}
......@@ -1228,9 +1246,11 @@ MoveState.prototype =
min_dy = 0;
else
{
if(AscFormat.isRealNumber(snap_y) && this.drawingObjects.drawingObjects.cSld)
if(this.drawingObjects.drawingObjects.cSld)
{
this.drawingObjects.getDrawingDocument().DrawHorAnchor(pageIndex, snap_y);
for(var i = 0; i < snap_y.length; ++i){
this.drawingObjects.getDrawingDocument().DrawHorAnchor(pageIndex, snap_y[i]);
}
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment