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