| Index: trunk/src/ui/views/widget/desktop_aura/desktop_screen_x11.h
|
| ===================================================================
|
| --- trunk/src/ui/views/widget/desktop_aura/desktop_screen_x11.h (revision 225060)
|
| +++ trunk/src/ui/views/widget/desktop_aura/desktop_screen_x11.h (working copy)
|
| @@ -1,95 +0,0 @@
|
| -// Copyright (c) 2013 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_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_SCREEN_X11_H_
|
| -#define UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_SCREEN_X11_H_
|
| -
|
| -#include "base/message_loop/message_pump_dispatcher.h"
|
| -#include "base/observer_list.h"
|
| -#include "base/timer/timer.h"
|
| -#include "ui/gfx/screen.h"
|
| -#include "ui/views/views_export.h"
|
| -
|
| -namespace gfx {
|
| -class Display;
|
| -}
|
| -
|
| -typedef unsigned long XID;
|
| -typedef XID Window;
|
| -typedef struct _XDisplay Display;
|
| -
|
| -namespace views {
|
| -class DesktopScreenX11Test;
|
| -
|
| -// Our singleton screen implementation that talks to xrandr.
|
| -class VIEWS_EXPORT DesktopScreenX11 : public gfx::Screen,
|
| - public base::MessagePumpDispatcher {
|
| - public:
|
| - DesktopScreenX11();
|
| -
|
| - virtual ~DesktopScreenX11();
|
| -
|
| - // Takes a set of displays and dispatches the screen change events to
|
| - // listeners. Exposed for testing.
|
| - void ProcessDisplayChange(const std::vector<gfx::Display>& displays);
|
| -
|
| - // Overridden from gfx::Screen:
|
| - virtual bool IsDIPEnabled() OVERRIDE;
|
| - virtual gfx::Point GetCursorScreenPoint() OVERRIDE;
|
| - virtual gfx::NativeWindow GetWindowUnderCursor() OVERRIDE;
|
| - virtual gfx::NativeWindow GetWindowAtScreenPoint(const gfx::Point& point)
|
| - OVERRIDE;
|
| - virtual int GetNumDisplays() const OVERRIDE;
|
| - virtual std::vector<gfx::Display> GetAllDisplays() const OVERRIDE;
|
| - virtual gfx::Display GetDisplayNearestWindow(
|
| - gfx::NativeView window) const OVERRIDE;
|
| - virtual gfx::Display GetDisplayNearestPoint(
|
| - const gfx::Point& point) const OVERRIDE;
|
| - virtual gfx::Display GetDisplayMatching(
|
| - const gfx::Rect& match_rect) const OVERRIDE;
|
| - virtual gfx::Display GetPrimaryDisplay() const OVERRIDE;
|
| - virtual void AddObserver(gfx::DisplayObserver* observer) OVERRIDE;
|
| - virtual void RemoveObserver(gfx::DisplayObserver* observer) OVERRIDE;
|
| -
|
| - // Overridden from MessagePumpDispatcher:
|
| - virtual bool Dispatch(const base::NativeEvent& event) OVERRIDE;
|
| -
|
| - private:
|
| - friend class DesktopScreenX11Test;
|
| -
|
| - // Constructor used in tests.
|
| - DesktopScreenX11(const std::vector<gfx::Display>& test_displays);
|
| -
|
| - // Builds a list of displays from the current screen information offered by
|
| - // the X server.
|
| - std::vector<gfx::Display> BuildDisplaysFromXRandRInfo();
|
| -
|
| - // We delay updating the display so we can coalesce events.
|
| - void ConfigureTimerFired();
|
| -
|
| - Display* xdisplay_;
|
| - ::Window x_root_window_;
|
| -
|
| - // Whether the x server supports the XRandR extension.
|
| - bool has_xrandr_;
|
| -
|
| - // The base of the event numbers used to represent XRandr events used in
|
| - // decoding events regarding output add/remove.
|
| - int xrandr_event_base_;
|
| -
|
| - // The display objects we present to chrome.
|
| - std::vector<gfx::Display> displays_;
|
| -
|
| - // The timer to delay configuring outputs. See also the comments in
|
| - // Dispatch().
|
| - scoped_ptr<base::OneShotTimer<DesktopScreenX11> > configure_timer_;
|
| -
|
| - ObserverList<gfx::DisplayObserver> observer_list_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(DesktopScreenX11);
|
| -};
|
| -
|
| -} // namespace views
|
| -
|
| -#endif // UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_SCREEN_X11_H_
|
|
|