| Index: ui/display/chromeos/x11/native_display_delegate_x11.h
|
| diff --git a/ui/display/chromeos/x11/native_display_delegate_x11.h b/ui/display/chromeos/x11/native_display_delegate_x11.h
|
| deleted file mode 100644
|
| index c7cbdd21d367f83243a09c0a2fcd5b349ea20524..0000000000000000000000000000000000000000
|
| --- a/ui/display/chromeos/x11/native_display_delegate_x11.h
|
| +++ /dev/null
|
| @@ -1,180 +0,0 @@
|
| -// 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_X11_NATIVE_DISPLAY_DELEGATE_X11_H_
|
| -#define UI_DISPLAY_CHROMEOS_X11_NATIVE_DISPLAY_DELEGATE_X11_H_
|
| -
|
| -#include <stdint.h>
|
| -
|
| -#include <map>
|
| -#include <memory>
|
| -#include <set>
|
| -#include <vector>
|
| -
|
| -#include "base/compiler_specific.h"
|
| -#include "base/event_types.h"
|
| -#include "base/macros.h"
|
| -#include "base/memory/scoped_vector.h"
|
| -#include "base/observer_list.h"
|
| -#include "ui/display/display_export.h"
|
| -#include "ui/display/types/native_display_delegate.h"
|
| -#include "ui/gfx/geometry/point.h"
|
| -#include "ui/gfx/geometry/size.h"
|
| -#include "ui/gfx/x/x11_types.h"
|
| -
|
| -// Forward declarations for Xlib and Xrandr.
|
| -// This is so unused X definitions don't pollute the namespace.
|
| -typedef XID RROutput;
|
| -typedef XID RRCrtc;
|
| -typedef XID RRMode;
|
| -typedef XID _Window;
|
| -
|
| -struct _XRROutputInfo;
|
| -typedef _XRROutputInfo XRROutputInfo;
|
| -struct _XRRScreenResources;
|
| -typedef _XRRScreenResources XRRScreenResources;
|
| -struct _XRRCrtcGamma;
|
| -typedef _XRRCrtcGamma XRRCrtcGamma;
|
| -
|
| -extern "C" {
|
| -void XRRFreeScreenResources(XRRScreenResources* resources);
|
| -}
|
| -
|
| -namespace ui {
|
| -
|
| -class DisplayModeX11;
|
| -class DisplaySnapshotX11;
|
| -class NativeDisplayEventDispatcherX11;
|
| -
|
| -class DISPLAY_EXPORT NativeDisplayDelegateX11 : public NativeDisplayDelegate {
|
| - public:
|
| - // Helper class that allows NativeDisplayEventDispatcherX11 and
|
| - // NativeDisplayDelegateX11::PlatformEventObserverX11 to interact with this
|
| - // class or with mocks in tests.
|
| - class HelperDelegate {
|
| - public:
|
| - virtual ~HelperDelegate() {}
|
| -
|
| - // Tells XRandR to update its configuration in response to |event|, an
|
| - // RRScreenChangeNotify event.
|
| - virtual void UpdateXRandRConfiguration(const base::NativeEvent& event) = 0;
|
| -
|
| - // Returns the list of current outputs. This is used to discard duplicate
|
| - // events.
|
| - virtual const std::vector<DisplaySnapshot*>& GetCachedDisplays() const = 0;
|
| -
|
| - // Notify |observers_| that a change in configuration has occurred.
|
| - virtual void NotifyDisplayObservers() = 0;
|
| - };
|
| -
|
| - NativeDisplayDelegateX11();
|
| - ~NativeDisplayDelegateX11() override;
|
| -
|
| - // NativeDisplayDelegate overrides:
|
| - void Initialize() override;
|
| - void GrabServer() override;
|
| - void UngrabServer() override;
|
| - void TakeDisplayControl(const DisplayControlCallback& callback) override;
|
| - void RelinquishDisplayControl(
|
| - const DisplayControlCallback& callback) override;
|
| - void SyncWithServer() override;
|
| - void SetBackgroundColor(uint32_t color_argb) override;
|
| - void ForceDPMSOn() override;
|
| - void GetDisplays(const GetDisplaysCallback& callback) override;
|
| - void AddMode(const DisplaySnapshot& output, const DisplayMode* mode) override;
|
| - void Configure(const DisplaySnapshot& output,
|
| - const DisplayMode* mode,
|
| - const gfx::Point& origin,
|
| - const ConfigureCallback& callback) override;
|
| - void CreateFrameBuffer(const gfx::Size& size) override;
|
| - void GetHDCPState(const DisplaySnapshot& output,
|
| - const GetHDCPStateCallback& callback) override;
|
| - void SetHDCPState(const DisplaySnapshot& output,
|
| - HDCPState state,
|
| - const SetHDCPStateCallback& callback) override;
|
| - std::vector<ColorCalibrationProfile> GetAvailableColorCalibrationProfiles(
|
| - const DisplaySnapshot& output) override;
|
| - bool SetColorCalibrationProfile(const DisplaySnapshot& output,
|
| - ColorCalibrationProfile new_profile) override;
|
| - bool SetColorCorrection(const ui::DisplaySnapshot& output,
|
| - const std::vector<GammaRampRGBEntry>& degamma_lut,
|
| - const std::vector<GammaRampRGBEntry>& gamma_lut,
|
| - const std::vector<float>& correction_matrix) override;
|
| - void AddObserver(NativeDisplayObserver* observer) override;
|
| - void RemoveObserver(NativeDisplayObserver* observer) override;
|
| - display::FakeDisplayController* GetFakeDisplayController() override;
|
| -
|
| - private:
|
| - class HelperDelegateX11;
|
| -
|
| - // Parses all the modes made available by |screen_|.
|
| - void InitModes();
|
| -
|
| - // Helper method for GetOutputs() that returns an OutputSnapshot struct based
|
| - // on the passed-in information.
|
| - DisplaySnapshotX11* InitDisplaySnapshot(RROutput id,
|
| - XRROutputInfo* info,
|
| - std::set<RRCrtc>* last_used_crtcs,
|
| - int index);
|
| -
|
| - // Destroys unused CRTCs.
|
| - void DestroyUnusedCrtcs();
|
| -
|
| - // Parks used CRTCs in a way which allows a framebuffer resize. This is faster
|
| - // than turning them off, resizing, then turning them back on.
|
| - // |min_screen_size| represent the smallest size between the current
|
| - // framebuffer size and the requested framebuffer size.
|
| - void UpdateCrtcsForNewFramebuffer(const gfx::Size& min_screen_size);
|
| -
|
| - bool ConfigureCrtc(RRCrtc crtc, RRMode mode, RROutput output, int x, int y);
|
| -
|
| - // Helper functions that perform the actual HDCP requests.
|
| - bool GetHDCPState(const DisplaySnapshot& output, HDCPState* state);
|
| - bool SetHDCPState(const DisplaySnapshot& output, HDCPState state);
|
| -
|
| - // Returns whether |id| is configured to preserve aspect when scaling.
|
| - bool IsOutputAspectPreservingScaling(RROutput id);
|
| -
|
| - // Creates the gamma ramp for |new_profile|, or NULL if it doesn't exist.
|
| - // The caller should take the ownership.
|
| - XRRCrtcGamma* CreateGammaRampForProfile(
|
| - const DisplaySnapshotX11& x11_output,
|
| - ColorCalibrationProfile new_profile);
|
| -
|
| - void DrawBackground();
|
| -
|
| - XDisplay* display_;
|
| - _Window window_;
|
| -
|
| - // Initialized when the server is grabbed and freed when it's ungrabbed.
|
| - gfx::XScopedPtr<
|
| - XRRScreenResources,
|
| - gfx::XObjectDeleter<XRRScreenResources, void, XRRFreeScreenResources>>
|
| - screen_;
|
| -
|
| - std::map<RRMode, std::unique_ptr<DisplayModeX11>> modes_;
|
| -
|
| - // Every time GetOutputs() is called we cache the updated list of outputs in
|
| - // |cached_outputs_| so that we can check for duplicate events rather than
|
| - // propagate them.
|
| - ScopedVector<DisplaySnapshot> cached_outputs_;
|
| -
|
| - std::unique_ptr<HelperDelegate> helper_delegate_;
|
| -
|
| - // Processes X11 display events associated with the root window and notifies
|
| - // |observers_| when a display change has occurred.
|
| - std::unique_ptr<NativeDisplayEventDispatcherX11> platform_event_dispatcher_;
|
| -
|
| - // List of observers waiting for display configuration change events.
|
| - base::ObserverList<NativeDisplayObserver> observers_;
|
| -
|
| - // A background color used during boot time + multi displays.
|
| - uint32_t background_color_argb_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(NativeDisplayDelegateX11);
|
| -};
|
| -
|
| -} // namespace ui
|
| -
|
| -#endif // UI_DISPLAY_CHROMEOS_X11_NATIVE_DISPLAY_DELEGATE_X11_H_
|
|
|