1a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)// Copyright 2012 The Chromium Authors. All rights reserved.
2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// found in the LICENSE file.
4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
5f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)package org.chromium.ui.base;
6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)import android.view.View;
8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)/**
10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Interface to acquire and release anchor views from the implementing View.
11c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */
12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)public interface ViewAndroidDelegate {
13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    /**
15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     * @return An anchor view that can be used to anchor decoration views like Autofill popup.
16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     */
17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    View acquireAnchorView();
18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    /**
20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     * Set the anchor view to specified position and width (all units in dp).
21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     * @param view The anchor view that needs to be positioned.
22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     * @param x X coordinate of the top left corner of the anchor view.
23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     * @param y Y coordinate of the top left corner of the anchor view.
24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     * @param width The width of the anchor view.
25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     * @param height The height of the anchor view.
26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     */
27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    void setAnchorViewPosition(View view, float x, float y, float width, float height);
28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    /**
30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     * Release given anchor view.
31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     * @param anchorView The anchor view that needs to be released.
32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     */
33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    void releaseAnchorView(View anchorView);
34f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)}
35