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_UTIL_H_
6#define UI_BASE_CURSOR_CURSOR_UTIL_H_
7
8#include <vector>
9
10#include "base/compiler_specific.h"
11#include "third_party/skia/include/core/SkBitmap.h"
12#include "ui/base/ui_base_export.h"
13#include "ui/gfx/display.h"
14#include "ui/gfx/geometry/point.h"
15
16namespace ui {
17
18// Scale and rotate the cursor's bitmap and hotpoint.
19// |bitmap_in_out| and |hotpoint_in_out| are used as
20// both input and output.
21UI_BASE_EXPORT void ScaleAndRotateCursorBitmapAndHotpoint(
22    float scale,
23    gfx::Display::Rotation rotation,
24    SkBitmap* bitmap_in_out,
25    gfx::Point* hotpoint_in_out);
26
27// Helpers for CursorLoader.
28void GetImageCursorBitmap(int resource_id,
29                          float scale,
30                          gfx::Display::Rotation rotation,
31                          gfx::Point* hotspot,
32                          SkBitmap* bitmap);
33void GetAnimatedCursorBitmaps(int resource_id,
34                              float scale,
35                              gfx::Display::Rotation rotation,
36                              gfx::Point* hotspot,
37                              std::vector<SkBitmap>* bitmaps);
38
39}  // namespace ui
40
41#endif  // UI_BASE_CURSOR_CURSOR_UTIL_H_
42