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 ACE_C_ARKUI_INTERFACE_XCOMPONENT_TEST_API20_XCOMPONENT_H 17 #define ACE_C_ARKUI_INTERFACE_XCOMPONENT_TEST_API20_XCOMPONENT_H 18 19 #include "component/Component.h" 20 21 namespace ArkUICapiTest { 22 class XComponent : public Component { 23 public: XComponent(ArkUI_NodeType type)24 XComponent(ArkUI_NodeType type) : Component(type) {} 25 ArkUI_NodeHandle CreateNodeHandle(const std::string &tag); 26 void SetXComponentType(ArkUI_XComponentType type); 27 void SetXComponentId(char* id); 28 void SetXComponentSurfaceSize(uint32_t width, uint32_t height); 29 void SetFocusable(bool flag); 30 void SetFocusDefault(bool flag); 31 void PrintXComponentInfo(); 32 static void GetKeyEventAction001(); 33 static void GetKeyEventAction002(); 34 static void GetKeyEventActionEnum001(); 35 static void GetKeyEventActionEnum002(); 36 static void GetKeyEventActionEnum003(); 37 static void GetKeyEventSourceType001(); 38 static void GetKeyEventSourceType002(); 39 static void GetKeyEventDeviceId001(); 40 static void GetKeyEventDeviceId002(); 41 static void GetKeyEventTimestamp001(); 42 static void GetKeyEventTimestamp002(); 43 static void GetKeyEventModifierKeyStates001(); 44 static void GetKeyEventModifierKeyStates002(); 45 static void GetKeyEventNumLockState001(); 46 static void GetKeyEventNumLockState002(); 47 static void GetKeyEventCapsLockState001(); 48 static void GetKeyEventCapsLockState002(); 49 static void GetKeyEventScrollLockState001(); 50 static void GetKeyEventScrollLockState002(); 51 }; 52 napi_value ChooseTestFunction(napi_env env, napi_callback_info info); 53 void OnKeyEvent(OH_NativeXComponent* component, void* window); 54 void OnFocusEvent(OH_NativeXComponent* component, void* window); 55 void OnBlurEvent(OH_NativeXComponent* component, void* window); 56 void OnFrameCallback(OH_NativeXComponent* component, uint64_t timestamp, uint64_t targetTimestamp); 57 void OnArkUIFrameCallback(ArkUI_NodeHandle node, uint64_t timestamp, uint64_t targetTimestamp); 58 void UIInputEventCallback(OH_NativeXComponent* component, ArkUI_UIInputEvent* event, ArkUI_UIInputEvent_Type type); 59 bool OnKeyEventCallbackWithResult(OH_NativeXComponent* component, void* window); 60 HitTestMode OnTouchInterceptCallback(OH_NativeXComponent* component, ArkUI_UIInputEvent* event); 61 napi_value GetKeyEventAction(napi_env env, napi_callback_info info); 62 napi_value GetKeyEventActionEnum(napi_env env, napi_callback_info info); 63 napi_value GetKeyEventSourceType(napi_env env, napi_callback_info info); 64 napi_value GetKeyEventDeviceId(napi_env env, napi_callback_info info); 65 napi_value GetKeyEventTimestamp(napi_env env, napi_callback_info info); 66 napi_value GetKeyEventModifierKeyStates(napi_env env, napi_callback_info info); 67 napi_value GetKeyEventNumLockState(napi_env env, napi_callback_info info); 68 napi_value GetKeyEventCapsLockState(napi_env env, napi_callback_info info); 69 napi_value GetKeyEventScrollLockState(napi_env env, napi_callback_info info); 70 napi_value CreateNativeNode(napi_env env, napi_callback_info info); 71 napi_value AttachNativeRootNode001(napi_env env, napi_callback_info info); 72 napi_value AttachNativeRootNode002(napi_env env, napi_callback_info info); 73 napi_value DetachNativeRootNode001(napi_env env, napi_callback_info info); 74 napi_value DetachNativeRootNode002(napi_env env, napi_callback_info info); 75 napi_value SetExpectedFrameRateRange001(napi_env env, napi_callback_info info); 76 napi_value SetExpectedFrameRateRange002(napi_env env, napi_callback_info info); 77 napi_value SetArkUIExpectedFrameRateRange001(napi_env env, napi_callback_info info); 78 napi_value SetArkUIExpectedFrameRateRange002(napi_env env, napi_callback_info info); 79 napi_value RegisterOnFrameCallback001(napi_env env, napi_callback_info info); 80 napi_value RegisterOnFrameCallback002(napi_env env, napi_callback_info info); 81 napi_value ArkUIRegisterOnFrameCallback001(napi_env env, napi_callback_info info); 82 napi_value ArkUIRegisterOnFrameCallback002(napi_env env, napi_callback_info info); 83 napi_value UnregisterOnFrameCallback001(napi_env env, napi_callback_info info); 84 napi_value UnregisterOnFrameCallback002(napi_env env, napi_callback_info info); 85 napi_value ArkUIUnregisterOnFrameCallback001(napi_env env, napi_callback_info info); 86 napi_value ArkUIUnregisterOnFrameCallback002(napi_env env, napi_callback_info info); 87 napi_value RegisterUIInputEventCallback001(napi_env env, napi_callback_info info); 88 napi_value RegisterUIInputEventCallback002(napi_env env, napi_callback_info info); 89 napi_value RegisterOnTouchInterceptCallback001(napi_env env, napi_callback_info info); 90 napi_value RegisterOnTouchInterceptCallback002(napi_env env, napi_callback_info info); 91 napi_value GetNativeAccessibilityProvider001(napi_env env, napi_callback_info info); 92 napi_value GetNativeAccessibilityProvider002(napi_env env, napi_callback_info info); 93 napi_value RegisterKeyEventCallbackWithResult001(napi_env env, napi_callback_info info); 94 napi_value RegisterKeyEventCallbackWithResult002(napi_env env, napi_callback_info info); 95 napi_value XComponentInitialize001(napi_env env, napi_callback_info info); 96 napi_value XComponentFinalize001(napi_env env, napi_callback_info info); 97 napi_value XComponentSetNeedSoftKeyboard001(napi_env env, napi_callback_info info); 98 napi_value XComponentSetNeedSoftKeyboard002(napi_env env, napi_callback_info info); 99 napi_value GetExtraMouseEventInfo001(napi_env env, napi_callback_info info); 100 napi_value GetExtraMouseEventInfo002(napi_env env, napi_callback_info info); 101 napi_value GetMouseEventModifierKeyStates001(napi_env env, napi_callback_info info); 102 napi_value GetMouseEventModifierKeyStates002(napi_env env, napi_callback_info info); 103 napi_value RegisterFocusEventCallback001(napi_env env, napi_callback_info info); 104 napi_value RegisterFocusEventCallback002(napi_env env, napi_callback_info info); 105 napi_value RegisterBlurEventCallback001(napi_env env, napi_callback_info info); 106 napi_value RegisterBlurEventCallback002(napi_env env, napi_callback_info info); 107 } 108 109 #endif //ACE_C_ARKUI_INTERFACE_XCOMPONENT_TEST_API20_XCOMPONENT_H 110