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 OHOS_ACE_FRAMEWORK_CJ_IMAGE_FFI_H 17 #define OHOS_ACE_FRAMEWORK_CJ_IMAGE_FFI_H 18 19 #include "bridge/cj_frontend/interfaces/cj_ffi/cj_common_ffi.h" 20 #include "bridge/cj_frontend/interfaces/cj_ffi/cj_macro.h" 21 #include "bridge/cj_frontend/interfaces/cj_ffi/cj_view_abstract_ffi.h" 22 23 using VectorFfiImageHandle = void*; 24 25 extern "C" { 26 struct FfiImage { 27 const char* src; 28 int32_t duration; 29 double width; 30 int32_t widthUnit; 31 double height; 32 int32_t heightUnit; 33 double top; 34 int32_t topUnit; 35 double left; 36 int32_t leftUnit; 37 }; 38 39 CJ_EXPORT void FfiOHOSAceFrameworkImageAnimatorCreate(); 40 CJ_EXPORT void FfiOHOSAceFrameworkImageAnimatorSetImages(VectorFfiImageHandle vecContent); 41 CJ_EXPORT void FfiOHOSAceFrameworkImageAnimatorSetState(int32_t state); 42 CJ_EXPORT void FfiOHOSAceFrameworkImageAnimatorSetDuration(int32_t duration); 43 CJ_EXPORT void FfiOHOSAceFrameworkImageAnimatorSetReverse(bool isReverse); 44 CJ_EXPORT void FfiOHOSAceFrameworkImageAnimatorSetFixedSize(bool fixedSize); 45 CJ_EXPORT void FfiOHOSAceFrameworkImageAnimatorSetPreDecode(int32_t preDecode); 46 CJ_EXPORT void FfiOHOSAceFrameworkImageAnimatorSetFillMode(int32_t mode); 47 CJ_EXPORT void FfiOHOSAceFrameworkImageAnimatorSetIterations(int32_t iteration); 48 CJ_EXPORT void FfiOHOSAceFrameworkImageAnimatorOnStart(void (*callback)()); 49 CJ_EXPORT void FfiOHOSAceFrameworkImageAnimatorOnPause(void (*callback)()); 50 CJ_EXPORT void FfiOHOSAceFrameworkImageAnimatorOnRepeat(void (*callback)()); 51 CJ_EXPORT void FfiOHOSAceFrameworkImageAnimatorOnCancel(void (*callback)()); 52 CJ_EXPORT void FfiOHOSAceFrameworkImageAnimatorOnFinish(void (*callback)()); 53 CJ_EXPORT VectorFfiImageHandle FfiCJCreateVectorFfiImage(int64_t size); 54 CJ_EXPORT void FfiCJVectorFfiImageSetElement(VectorFfiImageHandle yec, int64_t index, FfiImage image); 55 CJ_EXPORT void FfiCJVectorFfiImageDelete(VectorFfiImageHandle vec); 56 } 57 58 #endif // OHOS_ACE_FRAMEWORK_CJ_IMAGE_FFI_H 59