/* * Copyright (c) 2014-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ package com.facebook.stetho.inspector.elements.android; import android.graphics.Rect; import android.view.View; import javax.annotation.Nullable; public interface HighlightableDescriptor<E> { /** * Return the {@link View} to highlight or null if this element cannot be highlighted. * If the element does not span the full bounds of the returned {@link View} you can set * the bounds of the passed in Rect. By default the passed in bounds are empty which means * highlight the full bounds of the {@link View}. */ @Nullable View getViewAndBoundsForHighlighting(E element, Rect bounds); /** * Used when activating find by touch feature to figure out which element to focus / highlight. * * @param element the element * @param y coordinate in local coordinate space * @param y coordinate in local coordinate space * @param bounds The bounds of the returned element. Used to offset the coordinates for next call. * @return A child element or self if this coordinate falls within self and not a child. */ @Nullable Object getElementToHighlightAtPosition(E element, int x, int y, Rect bounds); }