Home | History | Annotate | Download | only in browser
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 package org.chromium.content.browser;
      6 
      7 /**
      8  * Used to register listeners that can be notified of changes to the position of a view.
      9  */
     10 public interface PositionObserver {
     11     public interface Listener {
     12         /**
     13          * Called during predraw if the position of the underlying view has changed.
     14          */
     15         void onPositionChanged(int positionX, int positionY);
     16     }
     17 
     18     /**
     19      * @return The current x position of the observed view.
     20      */
     21     int getPositionX();
     22 
     23     /**
     24      * @return The current y position of the observed view.
     25      */
     26     int getPositionY();
     27 
     28     /**
     29      * Register a listener to be called when the position of the underlying view changes.
     30      */
     31     void addListener(Listener listener);
     32 
     33     /**
     34      * Remove a previously installed listener.
     35      */
     36     void removeListener(Listener listener);
     37 
     38     /**
     39      * Clears registerned listener(s).
     40      */
     41     void clearListener();
     42 }
     43