| Index: ui/display/chromeos/native_display_delegate.h
|
| diff --git a/ui/display/chromeos/native_display_delegate.h b/ui/display/chromeos/native_display_delegate.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..bacedfd6d9c31d1a5b8d4b4021314821efe551f2
|
| --- /dev/null
|
| +++ b/ui/display/chromeos/native_display_delegate.h
|
| @@ -0,0 +1,81 @@
|
| +// Copyright 2014 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 UI_DISPLAY_CHROMEOS_NATIVE_DISPLAY_DELEGATE_H_
|
| +#define UI_DISPLAY_CHROMEOS_NATIVE_DISPLAY_DELEGATE_H_
|
| +
|
| +#include "ui/display/display_constants.h"
|
| +#include "ui/display/display_export.h"
|
| +
|
| +namespace gfx {
|
| +class Point;
|
| +class Size;
|
| +}
|
| +
|
| +namespace ui {
|
| +class DisplayMode;
|
| +class DisplaySnapshot;
|
| +
|
| +class NativeDisplayObserver;
|
| +
|
| +// Interface for classes that perform display configuration actions on behalf
|
| +// of OutputConfigurator.
|
| +class DISPLAY_EXPORT NativeDisplayDelegate {
|
| + public:
|
| + virtual ~NativeDisplayDelegate() {}
|
| +
|
| + virtual void Initialize() = 0;
|
| +
|
| + // Grabs and refreshes any display server related resources. Must be balanced
|
| + // by a call to UngrabServer().
|
| + virtual void GrabServer() = 0;
|
| +
|
| + // Released the display server and any resources allocated by GrabServer().
|
| + virtual void UngrabServer() = 0;
|
| +
|
| + // Flushes all pending requests and waits for replies.
|
| + virtual void SyncWithServer() = 0;
|
| +
|
| + // Sets the window's background color to |color_argb|.
|
| + virtual void SetBackgroundColor(uint32 color_argb) = 0;
|
| +
|
| + // Enables DPMS and forces it to the "on" state.
|
| + virtual void ForceDPMSOn() = 0;
|
| +
|
| + // Returns information about the current outputs. This method may block for
|
| + // 60 milliseconds or more.
|
| + // NativeDisplayDelegate maintains ownership of the ui::DisplaySnapshot
|
| + // pointers.
|
| + virtual std::vector<ui::DisplaySnapshot*> GetOutputs() = 0;
|
| +
|
| + // Adds |mode| to |output|. |mode| must be a valid display mode pointer.
|
| + virtual void AddMode(const ui::DisplaySnapshot& output,
|
| + const ui::DisplayMode* mode) = 0;
|
| +
|
| + // Configures the display represented by |output| to use |mode| and positions
|
| + // the display to |origin| in the framebuffer. |mode| can be NULL, which
|
| + // represents disabling the display. Returns true on success.
|
| + virtual bool Configure(const ui::DisplaySnapshot& output,
|
| + const ui::DisplayMode* mode,
|
| + const gfx::Point& origin) = 0;
|
| +
|
| + // Called to set the frame buffer (underlying XRR "screen") size.
|
| + virtual void CreateFrameBuffer(const gfx::Size& size) = 0;
|
| +
|
| + // Gets HDCP state of output.
|
| + virtual bool GetHDCPState(const ui::DisplaySnapshot& output,
|
| + ui::HDCPState* state) = 0;
|
| +
|
| + // Sets HDCP state of output.
|
| + virtual bool SetHDCPState(const ui::DisplaySnapshot& output,
|
| + ui::HDCPState state) = 0;
|
| +
|
| + virtual void AddObserver(NativeDisplayObserver* observer) = 0;
|
| +
|
| + virtual void RemoveObserver(NativeDisplayObserver* observer) = 0;
|
| +};
|
| +
|
| +} // namespace ui
|
| +
|
| +#endif // UI_DISPLAY_CHROMEOS_NATIVE_DISPLAY_DELEGATE_H_
|
|
|