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