package org.geogebra.common.kernel.algos; import org.geogebra.common.kernel.arithmetic.FunctionNVar; import org.geogebra.common.kernel.geos.GeoElement; import org.geogebra.common.kernel.geos.GeoList; /** * Interface for macro algorithm (to separate Geos from Algos) * */ public interface AlgoMacroInterface { /** * Replace references to macro geos in function * * @param f * function */ public void initFunction(FunctionNVar f); /** * Replace references to macro geos in list * * @param l * macro list * @param geoList * parent construction list */ public void initList(GeoList l, GeoList geoList); /** * Compares drawing priority of two elements * * @param geoElement * first element * @param other * second element * @return whether geoElement should be drawn before other */ public boolean drawBefore(GeoElement geoElement, GeoElement other); }