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_TEXTINPUT_FFI_H
17 #define OHOS_ACE_FRAMEWORK_CJ_TEXTINPUT_FFI_H
18 
19 #include "bridge/cj_frontend/interfaces/cj_ffi/cj_macro.h"
20 #include "bridge/cj_frontend/interfaces/cj_ffi/cj_view_abstract_ffi.h"
21 #include "core/components_ng/pattern/text_field/text_field_model.h"
22 
23 extern "C" {
24 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetHeight(double value, uint32_t unit);
25 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetSize(
26     double width, uint32_t widthUnit, double height, uint32_t heightUnit);
27 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetBorder(CJBorder params);
28 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetBorderWidth(double value, uint32_t unit);
29 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetBorderWidthWithCJEdge(CJEdge params);
30 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetBorderColor(uint32_t color);
31 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetBorderStyle(int32_t style);
32 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetBorderRadius(double value, uint32_t unit);
33 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetAllBorderRadius(CJBorderRadius value);
34 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetBackgroundColor(uint32_t color);
35 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetPadding(double value, int32_t unit);
36 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetPaddings(CJEdge params);
37 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetMargin(double value, int32_t unit);
38 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetMargins(CJEdge params);
39 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetType(int32_t value);
40 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetPlaceholderColor(uint32_t value);
41 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetPlaceholderFont(
42     double size, int32_t unit, const char* weight, const char* family, int32_t style);
43 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetFont(
44     double size, int32_t unit, const char* weight, const char* family, int32_t style);
45 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetEnterKeyType(int32_t value);
46 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetCaretColor(uint32_t value);
47 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetMaxLength(uint32_t value);
48 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetTextAlign(int32_t value);
49 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetFontSize(double value, int32_t unit);
50 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetFontColor(uint32_t value);
51 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetFontWeight(const char* value);
52 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetFontStyle(int32_t value);
53 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetFontFamily(const char* value);
54 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldSetInputFilter(const char* value, void (*callback)(const char* value));
55 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldOnSubmit(void (*callback)(int32_t value));
56 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldOnChange(void (*callback)(const char* value));
57 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldOnCopy(void (*callback)(const char* value));
58 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldOnCut(void (*callback)(const char* value));
59 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldOnPaste(void (*callback)(const char* value));
60 CJ_EXPORT void FfiOHOSAceFrameworkTextFieldOnEditChanged(void (*callback)(bool value));
61 }
62 
63 #endif // OHOS_ACE_FRAMEWORK_CJ_TEXTINPUT_FFI_H
64