#ifndef ASH_DISPLAY_DISPLAY_CHANGE_OBSERVER_CHROMEOS_H
#define ASH_DISPLAY_DISPLAY_CHANGE_OBSERVER_CHROMEOS_H
#include "ash/ash_export.h"
#include "ash/shell_observer.h"
#include "base/basictypes.h"
#include "ui/display/chromeos/output_configurator.h"
namespace ash {
struct DisplayMode;
class DisplayChangeObserver : public ui::OutputConfigurator::StateController,
public ui::OutputConfigurator::Observer,
public ShellObserver {
public:
ASH_EXPORT static std::vector<DisplayMode> GetDisplayModeList(
const ui::OutputConfigurator::DisplayState& output);
DisplayChangeObserver();
virtual ~DisplayChangeObserver();
virtual ui::OutputState GetStateForDisplayIds(
const std::vector<int64>& outputs) const OVERRIDE;
virtual bool GetResolutionForDisplayId(int64 display_id,
gfx::Size* size) const OVERRIDE;
virtual void OnDisplayModeChanged(
const ui::OutputConfigurator::DisplayStateList& outputs) OVERRIDE;
virtual void OnAppTerminating() OVERRIDE;
private:
DISALLOW_COPY_AND_ASSIGN(DisplayChangeObserver);
};
}
#endif