• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef MOJO_AURA_SCREEN_MOJO_H_
6 #define MOJO_AURA_SCREEN_MOJO_H_
7 
8 #include "base/compiler_specific.h"
9 #include "ui/gfx/display.h"
10 #include "ui/gfx/screen.h"
11 
12 namespace gfx {
13 class Rect;
14 class Transform;
15 }
16 
17 namespace mojo {
18 
19 // A minimal implementation of gfx::Screen for mojo.
20 class ScreenMojo : public gfx::Screen {
21  public:
22   static ScreenMojo* Create();
23   virtual ~ScreenMojo();
24 
25  protected:
26   // gfx::Screen overrides:
27   virtual bool IsDIPEnabled() OVERRIDE;
28   virtual gfx::Point GetCursorScreenPoint() OVERRIDE;
29   virtual gfx::NativeWindow GetWindowUnderCursor() OVERRIDE;
30   virtual gfx::NativeWindow GetWindowAtScreenPoint(const gfx::Point& point)
31       OVERRIDE;
32   virtual int GetNumDisplays() const OVERRIDE;
33   virtual std::vector<gfx::Display> GetAllDisplays() const OVERRIDE;
34   virtual gfx::Display GetDisplayNearestWindow(
35       gfx::NativeView view) const OVERRIDE;
36   virtual gfx::Display GetDisplayNearestPoint(
37       const gfx::Point& point) const OVERRIDE;
38   virtual gfx::Display GetDisplayMatching(
39       const gfx::Rect& match_rect) const OVERRIDE;
40   virtual gfx::Display GetPrimaryDisplay() const OVERRIDE;
41   virtual void AddObserver(gfx::DisplayObserver* observer) OVERRIDE;
42   virtual void RemoveObserver(gfx::DisplayObserver* observer) OVERRIDE;
43 
44  private:
45   explicit ScreenMojo(const gfx::Rect& screen_bounds);
46 
47   gfx::Display display_;
48 
49   DISALLOW_COPY_AND_ASSIGN(ScreenMojo);
50 };
51 
52 }  // namespace mojo
53 
54 #endif  // MOJO_AURA_SCREEN_MOJO_H_
55