1// Copyright (c) 2012 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_WIN_H_
6#define UI_BASE_CURSOR_CURSOR_LOADER_WIN_H_
7
8#include "base/compiler_specific.h"
9#include "ui/base/cursor/cursor_loader.h"
10
11namespace ui {
12
13class UI_BASE_EXPORT CursorLoaderWin : public CursorLoader {
14 public:
15  CursorLoaderWin();
16  virtual ~CursorLoaderWin();
17
18  // Overridden from CursorLoader:
19  virtual void LoadImageCursor(int id,
20                               int resource_id,
21                               const gfx::Point& hot) OVERRIDE;
22  virtual void LoadAnimatedCursor(int id,
23                                  int resource_id,
24                                  const gfx::Point& hot,
25                                  int frame_delay_ms) OVERRIDE;
26  virtual void UnloadAll() OVERRIDE;
27  virtual void SetPlatformCursor(gfx::NativeCursor* cursor) OVERRIDE;
28
29  // Used to pass the cursor resource module name to the cursor loader. This is
30  // typically used to load non system cursors.
31  static void SetCursorResourceModule(const base::string16& module_name);
32
33 private:
34  DISALLOW_COPY_AND_ASSIGN(CursorLoaderWin);
35};
36
37}  // namespace ui
38
39#endif  // UI_BASE_CURSOR_CURSOR_LOADER_WIN_H_
40