Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / ui / base / cursor / cursor_loader_ozone.h
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_