Home | History | Annotate | Download | only in chromeos
      1 // Copyright (c) 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 #ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_DISPLAY_OVERSCAN_HANDLER_H_
      6 #define CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_DISPLAY_OVERSCAN_HANDLER_H_
      7 
      8 #include "base/memory/scoped_ptr.h"
      9 #include "chrome/browser/ui/webui/options/options_ui.h"
     10 #include "ui/gfx/display_observer.h"
     11 
     12 namespace base {
     13 class DictionaryValue;
     14 class ListValue;
     15 }
     16 
     17 namespace chromeos {
     18 class OverscanCalibrator;
     19 
     20 namespace options {
     21 
     22 // Display options overlay page UI handler.
     23 class DisplayOverscanHandler : public ::options::OptionsPageUIHandler,
     24                                public gfx::DisplayObserver {
     25  public:
     26   DisplayOverscanHandler();
     27   virtual ~DisplayOverscanHandler();
     28 
     29   // OptionsPageUIHandler implementation.
     30   virtual void GetLocalizedValues(
     31       base::DictionaryValue* localized_strings) OVERRIDE;
     32 
     33   // WebUIMessageHandler implementation.
     34   virtual void RegisterMessages() OVERRIDE;
     35 
     36   // gfx::DisplayObserver implementation.
     37   virtual void OnDisplayAdded(const gfx::Display& new_display) OVERRIDE;
     38   virtual void OnDisplayRemoved(const gfx::Display& old_display) OVERRIDE;
     39   virtual void OnDisplayMetricsChanged(const gfx::Display& display,
     40                                        uint32_t metrics) OVERRIDE;
     41 
     42  private:
     43   // Handlers of JS messages.
     44   void HandleStart(const base::ListValue* args);
     45   void HandleCommit(const base::ListValue* unused_args);
     46   void HandleReset(const base::ListValue* unused_args);
     47   void HandleCancel(const base::ListValue* unused_args);
     48   void HandleMove(const base::ListValue* args);
     49   void HandleResize(const base::ListValue* args);
     50 
     51   scoped_ptr<OverscanCalibrator> overscan_calibrator_;
     52 
     53   DISALLOW_COPY_AND_ASSIGN(DisplayOverscanHandler);
     54 };
     55 
     56 }  // namespace options
     57 }  // namespace chromeos
     58 
     59 #endif  // CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_DISPLAY_OVERSCAN_HANDLER_H_
     60