/* GNU GENERAL LICENSE Copyright (C) 2006 The Lobo Project. Copyright (C) 2014 - 2017 Lobo Evolution This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either verion 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General License for more details. You should have received a copy of the GNU General Public along with this program. If not, see <http://www.gnu.org/licenses/>. Contact info: lobochief@users.sourceforge.net; ivan.difrancesco@yahoo.it */ package org.lobobrowser.html.renderer; import java.util.Comparator; /** It is assumed that objects don't change their * z-indexes or ordinals after entering the sorted set. * They may do so after the sorted set is no longer valid.**/ /** * The Class ZIndexComparator. */ public class ZIndexComparator implements Comparator<Object> { /* * (non-Javadoc) * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) */ @Override public int compare(Object object1, Object object2) { PositionedRenderable element1 = (PositionedRenderable) object1; PositionedRenderable element2 = (PositionedRenderable) object2; int zIndex1 = element1.getRenderable().getZIndex(); int zIndex2 = element2.getRenderable().getZIndex(); int diff = zIndex1 - zIndex2; if (diff != 0) { return diff; } return element1.getOrdinal() - element2.getOrdinal(); } }