1// Copyright 2014 PDFium 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// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7#ifndef _FWL_ADAPTER_CURSORMGR_H
8#define _FWL_ADAPTER_CURSORMGR_H
9class CFX_DIBitmap;
10class IFWL_AdapterCursorMgr;
11enum FWL_CURSORTYPE {
12  FWL_CURSORTYPE_Arrow = 0,
13  FWL_CURSORTYPE_Cross,
14  FWL_CURSORTYPE_Hand,
15  FWL_CURSORTYPE_InputBeam,
16  FWL_CURSORTYPE_Wait,
17  FWL_CURSORTYPE_SizeAll,
18  FWL_CURSORTYPE_SizeNWSE,
19  FWL_CURSORTYPE_SizeNESW,
20  FWL_CURSORTYPE_SizeWE,
21  FWL_CURSORTYPE_SizeNS,
22  FWL_CURSORTYPE_Prohibition,
23  FWL_CURSORTYPE_Help
24};
25typedef struct _FWL_HCURSOR { void* pData; } * FWL_HCURSOR;
26
27class IFWL_AdapterCursorMgr {
28 public:
29  virtual ~IFWL_AdapterCursorMgr() {}
30  virtual FWL_HCURSOR GetSystemCursor(FWL_CURSORTYPE eCursorType) = 0;
31  virtual FWL_HCURSOR GetCustomCursor(const CFX_DIBitmap* pBitmap,
32                                      FX_FLOAT xHotspot = 0,
33                                      FX_FLOAT yHotspot = 0) = 0;
34  virtual FWL_ERR SetCursor(FWL_HCURSOR hCursor) = 0;
35  virtual FWL_ERR ShowCursor(FX_BOOL bShow) = 0;
36  virtual FWL_ERR GetCursorPos(CFX_PointF& pt) = 0;
37};
38#endif
39