/** * Converts the supplied point from coordinates relative to the specified parent to coordinates * relative to the specified child layer. The results are stored into {@code into}, which is * returned for convenience. */ public static Point parentToLayer(Layer parent, Layer layer, XY point, Point into) { into.set(point); Layer immediateParent = layer.parent(); if (immediateParent != parent) parentToLayer(parent, immediateParent, into, into); parentToLayer(layer, into, into); return into; }
/** * Converts the supplied point from screen coordinates to coordinates * relative to the specified layer. The results are stored into {@code into} * , which is returned for convenience. */ public static Point screenToLayer(Layer layer, XY point, Point into) { Layer parent = layer.parent(); XY cur = (parent == null) ? point : screenToLayer(parent, point, into); return parentToLayer(layer, cur, into); }