blob: 967dd478fcdc8c1bc9e31a6d0d1f364ee94cef92 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SERVICES_UI_DISPLAY_SCREEN_MANAGER_DELEGATE_H_
#define SERVICES_UI_DISPLAY_SCREEN_MANAGER_DELEGATE_H_
#include <stdint.h>
namespace display {
class Display;
struct ViewportMetrics;
// The ScreenManagerDelegate will be informed of changes to the display or
// screen state by ScreenManager.
class ScreenManagerDelegate {
public:
// Called when a display is added.
virtual void OnDisplayAdded(const display::Display& display,
const ViewportMetrics& metrics) = 0;
// Called when a display is modified.
virtual void OnDisplayModified(const display::Display& display,
const ViewportMetrics& metrics) = 0;
// Called when a display is removed.
virtual void OnDisplayRemoved(int64_t display_id) = 0;
// Called when the primary display is changed.
virtual void OnPrimaryDisplayChanged(int64_t primary_display_id) = 0;
protected:
virtual ~ScreenManagerDelegate() {}
};
} // namespace display
#endif // SERVICES_UI_DISPLAY_SCREEN_MANAGER_DELEGATE_H_