Home | History | Annotate | Download | only in cursor
      1 // Copyright 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 UI_BASE_CURSOR_CURSOR_LOADER_OZONE_H_
      6 #define UI_BASE_CURSOR_CURSOR_LOADER_OZONE_H_
      7 
      8 #include <map>
      9 
     10 #include "ui/base/cursor/cursor.h"
     11 #include "ui/base/cursor/cursor_loader.h"
     12 
     13 namespace ui {
     14 
     15 class UI_BASE_EXPORT CursorLoaderOzone : public CursorLoader {
     16  public:
     17   CursorLoaderOzone();
     18   virtual ~CursorLoaderOzone();
     19 
     20   // CursorLoader overrides:
     21   virtual void LoadImageCursor(int id,
     22                                int resource_id,
     23                                const gfx::Point& hot) OVERRIDE;
     24   virtual void LoadAnimatedCursor(int id,
     25                                   int resource_id,
     26                                   const gfx::Point& hot,
     27                                   int frame_delay_ms) OVERRIDE;
     28   virtual void UnloadAll() OVERRIDE;
     29   virtual void SetPlatformCursor(gfx::NativeCursor* cursor) OVERRIDE;
     30 
     31  private:
     32   // Pointers are owned by ResourceBundle and must not be freed here.
     33   typedef std::map<int, PlatformCursor> ImageCursorMap;
     34   ImageCursorMap cursors_;
     35 
     36   DISALLOW_COPY_AND_ASSIGN(CursorLoaderOzone);
     37 };
     38 
     39 }  // namespace ui
     40 
     41 #endif  // UI_BASE_CURSOR_CURSOR_LOADER_OZONE_H_
     42