public class AsyncBoxView.ChildLocator
extends Object
Класс, чтобы управлять эффективной позицией дочернего элемента просматривает в локализованной области, в то время как изменения производятся вокруг локализованной области. AsyncBoxView может непрерывно изменяться, но видимая область должна остаться довольно устойчивой, пока поток расположения не решает опубликовать обновление к родителю.
Уведомление, что дочерний элемент изменился. Это может произвести, необходимы ли новые вычисления смещения. Это вызывает объект ChildState, который изменился, это - главный промежуток. Это могут поэтому вызвать многократные потоки.
Нарисуйте дочерние элементы, которые пересекают отсекаемую область.
getChildAllocation
public Shape getChildAllocation(int index,
Shape a)
Выберите выделение, чтобы использовать для дочернего представления. Это обновит смещения для всех дочерних элементов, еще обновленных перед данным индексом.
getViewIndexAtPoint
public int getViewIndexAtPoint(float x,
float y,
Shape a)
Выбирает дочерний индекс представления в данной точке. Это вызывают различные методы View, которые должны вычислить который дочерний элемент передать сообщение к. Это должен вызвать блок, синхронизируемый на этом объекте, и обычно сопровождалось бы с одним или более звонками getChildAllocation, который должен также быть в синхронизируемом блоке.
Скопируйте в настоящий момент выделенную форму в Прямоугольник, используемый, чтобы сохранить текущее выделение. Это было бы прямоугольником с плавающей точкой в Java2D-специфичном implmentation.
getViewIndexAtVisualOffset
protected int getViewIndexAtVisualOffset(float targetOffset)
Определите местоположение представления, ответственного за смещение в поле вдоль главной оси. Удостоверьтесь, что смещения устанавливаются на объектах ChildState до данного целевого промежутка мимо требуемого смещения.
Возвраты:
индекс представления, представляющего данное визуальное расположение (targetOffset), или-1, если никакое представление не представляет то расположение