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.
5 #ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_DISPLAY_OVERSCAN_HANDLER_H_
6 #define CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_DISPLAY_OVERSCAN_HANDLER_H_
8 #include "base/memory/scoped_ptr.h"
9 #include "chrome/browser/ui/webui/options/options_ui.h"
10 #include "ui/gfx/display_observer.h"
13 class DictionaryValue;
18 class OverscanCalibrator;
22 // Display options overlay page UI handler.
23 class DisplayOverscanHandler : public ::options::OptionsPageUIHandler,
24 public gfx::DisplayObserver {
26 DisplayOverscanHandler();
27 virtual ~DisplayOverscanHandler();
29 // OptionsPageUIHandler implementation.
30 virtual void GetLocalizedValues(
31 base::DictionaryValue* localized_strings) override;
33 // WebUIMessageHandler implementation.
34 virtual void RegisterMessages() override;
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;
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);
51 scoped_ptr<OverscanCalibrator> overscan_calibrator_;
53 DISALLOW_COPY_AND_ASSIGN(DisplayOverscanHandler);
56 } // namespace options
57 } // namespace chromeos
59 #endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_DISPLAY_OVERSCAN_HANDLER_H_