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 ~DisplayOverscanHandler() override
;
29 // OptionsPageUIHandler implementation.
30 void GetLocalizedValues(base::DictionaryValue
* localized_strings
) override
;
32 // WebUIMessageHandler implementation.
33 void RegisterMessages() override
;
35 // gfx::DisplayObserver implementation.
36 void OnDisplayAdded(const gfx::Display
& new_display
) override
;
37 void OnDisplayRemoved(const gfx::Display
& old_display
) override
;
38 void OnDisplayMetricsChanged(const gfx::Display
& display
,
39 uint32_t metrics
) override
;
42 // Handlers of JS messages.
43 void HandleStart(const base::ListValue
* args
);
44 void HandleCommit(const base::ListValue
* unused_args
);
45 void HandleReset(const base::ListValue
* unused_args
);
46 void HandleCancel(const base::ListValue
* unused_args
);
47 void HandleMove(const base::ListValue
* args
);
48 void HandleResize(const base::ListValue
* args
);
50 scoped_ptr
<OverscanCalibrator
> overscan_calibrator_
;
52 DISALLOW_COPY_AND_ASSIGN(DisplayOverscanHandler
);
55 } // namespace options
56 } // namespace chromeos
58 #endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_DISPLAY_OVERSCAN_HANDLER_H_