Home | History | Annotate | Download | only in aura
      1 // Copyright 2013 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 UI_AURA_ROOT_WINDOW_HOST_OZONE_H_
      6 #define UI_AURA_ROOT_WINDOW_HOST_OZONE_H_
      7 
      8 #include <vector>
      9 
     10 #include "base/memory/scoped_ptr.h"
     11 #include "base/message_loop/message_loop.h"
     12 #include "ui/aura/window_tree_host.h"
     13 #include "ui/gfx/insets.h"
     14 #include "ui/gfx/rect.h"
     15 
     16 namespace aura {
     17 
     18 class RootWindowHostOzone : public RootWindowHost,
     19                             public base::MessageLoop::Dispatcher {
     20  public:
     21   explicit RootWindowHostOzone(const gfx::Rect& bounds);
     22   virtual ~RootWindowHostOzone();
     23 
     24  private:
     25   // Overridden from Dispatcher overrides:
     26   virtual bool Dispatch(const base::NativeEvent& event) OVERRIDE;
     27 
     28   // RootWindowHost Overrides.
     29   virtual RootWindow* GetRootWindow() OVERRIDE;
     30   virtual gfx::AcceleratedWidget GetAcceleratedWidget() OVERRIDE;
     31   virtual void Show() OVERRIDE;
     32   virtual void Hide() OVERRIDE;
     33   virtual void ToggleFullScreen() OVERRIDE;
     34   virtual gfx::Rect GetBounds() const OVERRIDE;
     35   virtual void SetBounds(const gfx::Rect& bounds) OVERRIDE;
     36   virtual gfx::Insets GetInsets() const OVERRIDE;
     37   virtual void SetInsets(const gfx::Insets& bounds) OVERRIDE;
     38   virtual gfx::Point GetLocationOnNativeScreen() const OVERRIDE;
     39   virtual void SetCapture() OVERRIDE;
     40   virtual void ReleaseCapture() OVERRIDE;
     41   virtual void SetCursor(gfx::NativeCursor cursor_type) OVERRIDE;
     42   virtual bool QueryMouseLocation(gfx::Point* location_return) OVERRIDE;
     43   virtual bool ConfineCursorToRootWindow() OVERRIDE;
     44   virtual void UnConfineCursor() OVERRIDE;
     45   virtual void OnCursorVisibilityChanged(bool show) OVERRIDE;
     46   virtual void MoveCursorTo(const gfx::Point& location) OVERRIDE;
     47   virtual void PostNativeEvent(const base::NativeEvent& event) OVERRIDE;
     48   virtual void OnDeviceScaleFactorChanged(float device_scale_factor) OVERRIDE;
     49   virtual void PrepareForShutdown() OVERRIDE;
     50 
     51   gfx::AcceleratedWidget widget_;
     52   gfx::Rect bounds_;
     53 
     54   DISALLOW_COPY_AND_ASSIGN(RootWindowHostOzone);
     55 };
     56 
     57 }  // namespace aura
     58 
     59 #endif  // UI_AURA_ROOT_WINDOW_HOST_OZONE_H_
     60