• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #include "ppapi/cpp/dev/cursor_control_dev.h"
6 
7 #include "ppapi/cpp/image_data.h"
8 #include "ppapi/cpp/instance_handle.h"
9 #include "ppapi/cpp/module.h"
10 #include "ppapi/cpp/module_impl.h"
11 #include "ppapi/cpp/point.h"
12 
13 namespace pp {
14 
15 namespace {
16 
interface_name()17 template <> const char* interface_name<PPB_CursorControl_Dev_0_4>() {
18   return PPB_CURSOR_CONTROL_DEV_INTERFACE_0_4;
19 }
20 
21 }  // namespace
22 
SetCursor(const InstanceHandle & instance,PP_CursorType_Dev type,const ImageData & custom_image,const Point & hot_spot)23 bool CursorControl_Dev::SetCursor(const InstanceHandle& instance,
24                                   PP_CursorType_Dev type,
25                                   const ImageData& custom_image,
26                                   const Point& hot_spot) {
27   if (has_interface<PPB_CursorControl_Dev_0_4>()) {
28     return PP_ToBool(get_interface<PPB_CursorControl_Dev_0_4>()->SetCursor(
29         instance.pp_instance(), type, custom_image.pp_resource(),
30         &hot_spot.pp_point()));
31   }
32   return false;
33 }
34 
LockCursor(const InstanceHandle & instance)35 bool LockCursor(const InstanceHandle& instance) {
36   if (has_interface<PPB_CursorControl_Dev_0_4>()) {
37     return PP_ToBool(get_interface<PPB_CursorControl_Dev_0_4>()->LockCursor(
38         instance.pp_instance()));
39   }
40   return false;
41 }
42 
UnlockCursor(const InstanceHandle & instance)43 bool UnlockCursor(const InstanceHandle& instance) {
44   if (has_interface<PPB_CursorControl_Dev_0_4>()) {
45     return PP_ToBool(get_interface<PPB_CursorControl_Dev_0_4>()->UnlockCursor(
46         instance.pp_instance()));
47   }
48   return false;
49 }
50 
HasCursorLock(const InstanceHandle & instance)51 bool HasCursorLock(const InstanceHandle& instance) {
52   if (has_interface<PPB_CursorControl_Dev_0_4>()) {
53     return PP_ToBool(get_interface<PPB_CursorControl_Dev_0_4>()->HasCursorLock(
54         instance.pp_instance()));
55   }
56   return false;
57 }
58 
CanLockCursor(const InstanceHandle & instance)59 bool CanLockCursor(const InstanceHandle& instance) {
60   if (has_interface<PPB_CursorControl_Dev_0_4>()) {
61     return PP_ToBool(get_interface<PPB_CursorControl_Dev_0_4>()->CanLockCursor(
62         instance.pp_instance()));
63   }
64   return false;
65 }
66 
67 }  // namespace pp
68