// Copyright 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.content.browser.input;
import android.view.ViewTreeObserver;
/**
* A CursorController instance can be used to control a cursor in the text.
*/
interface CursorController extends ViewTreeObserver.OnTouchModeChangeListener {
/**
* Hide the cursor controller from screen.
*/
void hide();
/**
* @return true if the CursorController is currently visible
*/
boolean isShowing();
/**
* Called when the handle is about to start updating its position.
* @param handle
*/
void beforeStartUpdatingPosition(HandleView handle);
/**
* Update the controller's position.
*/
void updatePosition(HandleView handle, int x, int y);
/**
* Called when the view is detached from window. Perform house keeping task, such as
* stopping Runnable thread that would otherwise keep a reference on the context, thus
* preventing the activity to be recycled.
*/
void onDetached();
}