12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_DISPLAY_OVERSCAN_HANDLER_H_ 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_DISPLAY_OVERSCAN_HANDLER_H_ 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/memory/scoped_ptr.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/ui/webui/options/options_ui.h" 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ui/gfx/display_observer.h" 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace base { 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class DictionaryValue; 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class ListValue; 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace chromeos { 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class OverscanCalibrator; 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace options { 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Display options overlay page UI handler. 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class DisplayOverscanHandler : public ::options::OptionsPageUIHandler, 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public gfx::DisplayObserver { 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public: 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DisplayOverscanHandler(); 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual ~DisplayOverscanHandler(); 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // OptionsPageUIHandler implementation. 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void GetLocalizedValues( 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) base::DictionaryValue* localized_strings) OVERRIDE; 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // WebUIMessageHandler implementation. 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void RegisterMessages() OVERRIDE; 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // gfx::DisplayObserver implementation. 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void OnDisplayAdded(const gfx::Display& new_display) OVERRIDE; 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void OnDisplayRemoved(const gfx::Display& old_display) OVERRIDE; 39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual void OnDisplayMetricsChanged(const gfx::Display& display, 40cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) uint32_t metrics) OVERRIDE; 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private: 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Handlers of JS messages. 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void HandleStart(const base::ListValue* args); 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void HandleCommit(const base::ListValue* unused_args); 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void HandleReset(const base::ListValue* unused_args); 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void HandleCancel(const base::ListValue* unused_args); 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void HandleMove(const base::ListValue* args); 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void HandleResize(const base::ListValue* args); 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) scoped_ptr<OverscanCalibrator> overscan_calibrator_; 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(DisplayOverscanHandler); 542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace options 572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace chromeos 582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_DISPLAY_OVERSCAN_HANDLER_H_ 60