aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Reh2016-09-16 18:00:51 +0200
committerRémi Verschelde2017-01-12 19:15:27 +0100
commitff3891f88e86000424f767d5cef817fd5fca1f76 (patch)
treeb969ae4297622dfbb1470489c940d5b194c1c6be
parent5bfd0bbe5e6b35aa212510a8961a5ebe2fb59842 (diff)
downloadgodot-ff3891f88e86000424f767d5cef817fd5fca1f76.tar.gz
godot-ff3891f88e86000424f767d5cef817fd5fca1f76.tar.zst
godot-ff3891f88e86000424f767d5cef817fd5fca1f76.zip
small improvement to y_sort: make clear which item has to be drawn first when two have the same y-coordinate
(cherry picked from commit 4118b21e43c59e6abfe4f45ccf236ee529626f4e)
-rw-r--r--servers/visual/visual_server_raster.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/servers/visual/visual_server_raster.h b/servers/visual/visual_server_raster.h
index 117879173..94d2337b3 100644
--- a/servers/visual/visual_server_raster.h
+++ b/servers/visual/visual_server_raster.h
@@ -407,7 +407,10 @@ class VisualServerRaster : public VisualServer {
_FORCE_INLINE_ bool operator()(const CanvasItem* p_left,const CanvasItem* p_right) const {
- return p_left->xform.elements[2].y < p_right->xform.elements[2].y;
+ if(Math::abs(p_left->xform.elements[2].y - p_right->xform.elements[2].y) < CMP_EPSILON )
+ return p_left->xform.elements[2].x < p_right->xform.elements[2].x;
+ else
+ return p_left->xform.elements[2].y < p_right->xform.elements[2].y;
}
};