Home | History | Annotate | Download | only in panels
      1 // Copyright (c) 2011 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 #include "chrome/browser/ui/panels/panel_mouse_watcher.h"
      6 
      7 #include "chrome/browser/ui/panels/panel_mouse_watcher_observer.h"
      8 #include "ui/gfx/point.h"
      9 
     10 PanelMouseWatcher::PanelMouseWatcher() {
     11 }
     12 
     13 PanelMouseWatcher::~PanelMouseWatcher() {
     14 }
     15 
     16 void PanelMouseWatcher::AddObserver(PanelMouseWatcherObserver* observer) {
     17   observers_.AddObserver(observer);
     18   if (observers_.size() == 1)
     19     Start();
     20 }
     21 
     22 void PanelMouseWatcher::RemoveObserver(PanelMouseWatcherObserver* observer) {
     23   DCHECK(observers_.HasObserver(observer));
     24   observers_.RemoveObserver(observer);
     25   if (observers_.size() == 0)
     26     Stop();
     27 }
     28 
     29 void PanelMouseWatcher::NotifyMouseMovement(const gfx::Point& mouse_position) {
     30   FOR_EACH_OBSERVER(PanelMouseWatcherObserver, observers_,
     31                     OnMouseMove(mouse_position));
     32 }
     33