Home | History | Annotate | Download | only in desktop_aura
      1 // Copyright (c) 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_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_CURSOR_LOADER_UPDATER_H_
      6 #define UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_CURSOR_LOADER_UPDATER_H_
      7 
      8 #include "base/memory/scoped_ptr.h"
      9 #include "ui/views/views_export.h"
     10 
     11 namespace aura {
     12 class RootWindow;
     13 }
     14 
     15 namespace gfx {
     16 class Display;
     17 }
     18 
     19 namespace ui {
     20 class CursorLoader;
     21 }
     22 
     23 namespace views {
     24 
     25 // An interface to optionally update the state of a cursor loader. Only used on
     26 // desktop AuraX11.
     27 class VIEWS_EXPORT DesktopCursorLoaderUpdater {
     28  public:
     29   virtual ~DesktopCursorLoaderUpdater() {}
     30 
     31   // Creates a new DesktopCursorLoaderUpdater, or NULL if the platform doesn't
     32   // support one.
     33   static scoped_ptr<DesktopCursorLoaderUpdater> Create();
     34 
     35   // Called when a CursorLoader is created.
     36   virtual void OnCreate(float device_scale_factor,
     37                         ui::CursorLoader* loader) = 0;
     38 
     39   // Called when the display has changed (as we may need to reload the cursor
     40   // assets in response to a device scale factor or rotation change).
     41   virtual void OnDisplayUpdated(const gfx::Display& display,
     42                                 ui::CursorLoader* loader) = 0;
     43 };
     44 
     45 }  // namespace views
     46 
     47 #endif  // UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_DISPLAY_CHANGE_HANDLER_H_
     48