1 /* 2 * Copyright (c) 2024 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 FOUNDATION_ACE_FRAMEWORKS_CORE_EVENT_NON_POINTER_EVENT_H 17 #define FOUNDATION_ACE_FRAMEWORKS_CORE_EVENT_NON_POINTER_EVENT_H 18 19 #include "core/event/axis_event.h" 20 21 namespace OHOS::Ace { 22 23 struct NonPointerEvent : public PointerEvent { 24 // When the key is held down for a long period of time, it will be accumulated once in a while. 25 // Note that In the long press scene, you will receive a DOWN and an extra LONG_PRESS event. If you only want to 26 // identify the click event, you can use CLICK event. 27 int32_t repeatTime = 0; 28 int64_t deviceId = 0; 29 SourceType sourceType { SourceType::NONE }; 30 ~NonPointerEvent() = default; NonPointerEventNonPointerEvent31 NonPointerEvent() {} 32 SetRepeatTimeNonPointerEvent33 NonPointerEvent& SetRepeatTime(int32_t repeatTime) 34 { 35 this->repeatTime = repeatTime; 36 return *this; 37 } 38 SetDeviceIdNonPointerEvent39 NonPointerEvent& SetDeviceId(int64_t deviceId) 40 { 41 this->deviceId = deviceId; 42 return *this; 43 } 44 SetSourceTypeNonPointerEvent45 NonPointerEvent& SetSourceType(SourceType sourceType) 46 { 47 this->sourceType = sourceType; 48 return *this; 49 } 50 }; 51 52 } // namespace OHOS::Ace 53 #endif // FOUNDATION_ACE_FRAMEWORKS_CORE_EVENT_NON_POINTER_EVENT_H 54