|  | // 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_DISPLAY_SNAPSHOT_X11_H_ | 
|  | #define UI_DISPLAY_CHROMEOS_X11_DISPLAY_SNAPSHOT_X11_H_ | 
|  |  | 
|  | #include "ui/display/display_export.h" | 
|  | #include "ui/display/types/display_snapshot.h" | 
|  |  | 
|  | // Forward declare from Xlib and Xrandr. | 
|  | typedef unsigned long XID; | 
|  | typedef XID RROutput; | 
|  | typedef XID RRCrtc; | 
|  |  | 
|  | namespace ui { | 
|  |  | 
|  | class DISPLAY_EXPORT DisplaySnapshotX11 : public DisplaySnapshot { | 
|  | public: | 
|  | DisplaySnapshotX11(int64_t display_id, | 
|  | bool has_proper_display_id, | 
|  | const gfx::Point& origin, | 
|  | const gfx::Size& physical_size, | 
|  | DisplayConnectionType type, | 
|  | bool is_aspect_preserving_scaling, | 
|  | bool has_overscan, | 
|  | std::string display_name, | 
|  | const std::vector<const DisplayMode*>& modes, | 
|  | const DisplayMode* current_mode, | 
|  | const DisplayMode* native_mode, | 
|  | RROutput output, | 
|  | RRCrtc crtc, | 
|  | int index); | 
|  | virtual ~DisplaySnapshotX11(); | 
|  |  | 
|  | RROutput output() const { return output_; } | 
|  | RRCrtc crtc() const { return crtc_; } | 
|  | int index() const { return index_; } | 
|  |  | 
|  | // DisplaySnapshot overrides: | 
|  | virtual std::string ToString() const override; | 
|  |  | 
|  | private: | 
|  | RROutput output_; | 
|  |  | 
|  | // CRTC that should be used for this output. Not necessarily the CRTC | 
|  | // that XRandR reports is currently being used. | 
|  | RRCrtc crtc_; | 
|  |  | 
|  | // This output's index in the array returned by XRandR. Stable even as | 
|  | // outputs are connected or disconnected. | 
|  | int index_; | 
|  |  | 
|  | DISALLOW_COPY_AND_ASSIGN(DisplaySnapshotX11); | 
|  | }; | 
|  |  | 
|  | }  // namespace ui | 
|  |  | 
|  | #endif  // UI_DISPLAY_CHROMEOS_X11_DISPLAY_SNAPSHOT_X11_H_ |