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 13namespace ui { 14 15class 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