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 #ifndef ARKUI_NATIVE_NODE_LIST_OPTION_H 16 #define ARKUI_NATIVE_NODE_LIST_OPTION_H 17 18 #include <vector> 19 #include "core/interfaces/arkoala/arkoala_api.h" 20 21 #ifdef __cplusplus 22 extern "C" { 23 #endif 24 25 struct ArkUI_ListItemSwipeActionItem { 26 void* node; 27 28 float actionAreaDistance; 29 void* onAction; 30 void* onActionUserData; 31 void* onEnterActionArea; 32 void* onEnterActionAreaUserData; 33 void* onExitActionArea; 34 void* onExitActionAreaUserData; 35 void* onStateChange; 36 void* onStateChangeUserData; 37 }; 38 39 struct ArkUI_ListItemSwipeActionOption { 40 ArkUI_ListItemSwipeActionItem* start; 41 ArkUI_ListItemSwipeActionItem* end; 42 ArkUI_Int32 edgeEffect; 43 void* onOffsetChange; 44 void* userData; 45 }; 46 47 struct ArkUI_ListChildrenMainSize { 48 float defaultMainSize; 49 std::vector<float> mainSize; 50 }; 51 52 #ifdef __cplusplus 53 }; 54 #endif 55 #endif // ARKUI_NATIVE_NODE_LSIT_OPTION_H