• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2025 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef NDKXCOMPONENT_TOUCHPOINT_H
17 #define NDKXCOMPONENT_TOUCHPOINT_H
18 
19 #include "component/XComponent.h"
20 
21 #define XC ArkUICapiTest::XComponent
22 
23 namespace TouchPoint {
24 
25 static OH_NativeXComponent_Callback XComponentCallback;
26 static XC ColumnComponent = XC(ARKUI_NODE_COLUMN);
27 static XC XComponent = XC(ARKUI_NODE_XCOMPONENT);
28 static int32_t g_getHistoricalPointsResult = 1;
29 static OH_NativeXComponent_HistoricalPoint g_historicalPoint = {
30     .id = -1,
31     .screenX = -1,
32     .screenY = -1,
33     .x = -1,
34     .y = -1,
35     .type = OH_NativeXComponent_TouchEventType(),
36     .size = -1,
37     .force = -1,
38     .timeStamp = -1,
39     .titlX = -1,
40     .titlY = -1,
41     .sourceTool = OH_NativeXComponent_TouchEvent_SourceTool(),
42 };
43 static std::unordered_map<OH_NativeXComponent_TouchEvent_SourceTool,
44                           OH_NativeXComponent_HistoricalPoint> g_historicalPointMap;
45 static std::unordered_map<bool, OH_NativeXComponent_TouchPoint> g_touchPointMap;
46 static std::unordered_map<OH_NativeXComponent_TouchPointToolType, int32_t> g_touchPointToolMap;
47 static std::unordered_map<OH_NativeXComponent_EventSourceType, int32_t> g_touchEventSourceMap;
48 static OH_NativeXComponent_TouchEvent g_touchEvent = {
49     .id = -1,
50     .screenX = -1,
51     .screenY = -1,
52     .x = -1,
53     .y = -1,
54     .type = OH_NativeXComponent_TouchEventType(),
55     .size = -1,
56     .force = -1,
57     .timeStamp = -1,
58     .touchPoints = {},
59     .numPoints = 0,
60 };
61 void TouchEventCallback(OH_NativeXComponent* component, void* window);
62 void InitNode();
63 
64 napi_value CreateTouchNativeNode(napi_env env, napi_callback_info info);
65 napi_value GetTouchPointWindowX(napi_env env, napi_callback_info info);
66 napi_value GetTouchPointWindowY(napi_env env, napi_callback_info info);
67 napi_value GetTouchPointDisplayX(napi_env env, napi_callback_info info);
68 napi_value GetTouchPointDisplayY(napi_env env, napi_callback_info info);
69 napi_value GetHistoricalPoints(napi_env env, napi_callback_info info);
70 napi_value HistoricalPointId(napi_env env, napi_callback_info info);
71 napi_value HistoricalPointScreenX(napi_env env, napi_callback_info info);
72 napi_value HistoricalPointScreenY(napi_env env, napi_callback_info info);
73 napi_value HistoricalPointX(napi_env env, napi_callback_info info);
74 napi_value HistoricalPointY(napi_env env, napi_callback_info info);
75 napi_value HistoricalPointType(napi_env env, napi_callback_info info);
76 napi_value HistoricalPointSize(napi_env env, napi_callback_info info);
77 napi_value HistoricalPointForce(napi_env env, napi_callback_info info);
78 napi_value HistoricalPointTimeStamp(napi_env env, napi_callback_info info);
79 napi_value HistoricalPointTitlX(napi_env env, napi_callback_info info);
80 napi_value HistoricalPointTitlY(napi_env env, napi_callback_info info);
81 napi_value HistoricalPointSourceTool(napi_env env, napi_callback_info info);
82 napi_value GetTouchEventSourceTool(napi_env env, napi_callback_info info);
83 napi_value GetTouchPointToolTypeResult(napi_env env, napi_callback_info info);
84 napi_value GetTouchEventSourceType(napi_env env, napi_callback_info info);
85 napi_value TouchPointType(napi_env env, napi_callback_info info);
86 napi_value TouchPointSize(napi_env env, napi_callback_info info);
87 napi_value TouchPointForce(napi_env env, napi_callback_info info);
88 napi_value TouchPointTimeStamp(napi_env env, napi_callback_info info);
89 napi_value TouchPointIsPressed(napi_env env, napi_callback_info info);
90 napi_value TouchEventId(napi_env env, napi_callback_info info);
91 napi_value TouchEventSize(napi_env env, napi_callback_info info);
92 napi_value TouchEventForce(napi_env env, napi_callback_info info);
93 napi_value TouchEventDeviceId(napi_env env, napi_callback_info info);
94 napi_value TouchEventTimeStamp(napi_env env, napi_callback_info info);
95 }
96 
97 #endif //NDKXCOMPONENT_TOUCHPOINT_H
98