• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023 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 FRAMEWORKS_BRIDGE_DECLARATIVE_FRONTEND_ENGINE_JSI_NATIVEMODULE_ARKTS_NATIVE_SLIDER_BRIDGE_H
17 #define FRAMEWORKS_BRIDGE_DECLARATIVE_FRONTEND_ENGINE_JSI_NATIVEMODULE_ARKTS_NATIVE_SLIDER_BRIDGE_H
18 
19 #include "bridge/declarative_frontend/engine/jsi/nativeModule/arkts_native_api_bridge.h"
20 
21 namespace OHOS::Ace::NG {
22 using StepOptions = std::unordered_map<uint32_t, std::string>;
23 class SliderBridge {
24 public:
25     static ArkUINativeModuleValue SetShowTips(ArkUIRuntimeCallInfo* runtimeCallInfo);
26     static ArkUINativeModuleValue ResetShowTips(ArkUIRuntimeCallInfo* runtimeCallInfo);
27     static ArkUINativeModuleValue SetSliderStepSize(ArkUIRuntimeCallInfo* runtimeCallInfo);
28     static ArkUINativeModuleValue ResetSliderStepSize(ArkUIRuntimeCallInfo* runtimeCallInfo);
29     static ArkUINativeModuleValue SetBlockSize(ArkUIRuntimeCallInfo* runtimeCallInfo);
30     static ArkUINativeModuleValue ResetBlockSize(ArkUIRuntimeCallInfo* runtimeCallInfo);
31     static ArkUINativeModuleValue SetTrackBorderRadius(ArkUIRuntimeCallInfo* runtimeCallInfo);
32     static ArkUINativeModuleValue ResetTrackBorderRadius(ArkUIRuntimeCallInfo* runtimeCallInfo);
33     static ArkUINativeModuleValue SetStepColor(ArkUIRuntimeCallInfo* runtimeCallInfo);
34     static ArkUINativeModuleValue ResetStepColor(ArkUIRuntimeCallInfo* runtimeCallInfo);
35     static ArkUINativeModuleValue SetBlockBorderColor(ArkUIRuntimeCallInfo* runtimeCallInfo);
36     static ArkUINativeModuleValue ResetBlockBorderColor(ArkUIRuntimeCallInfo* runtimeCallInfo);
37     static ArkUINativeModuleValue SetBlockBorderWidth(ArkUIRuntimeCallInfo* runtimeCallInfo);
38     static ArkUINativeModuleValue ResetBlockBorderWidth(ArkUIRuntimeCallInfo* runtimeCallInfo);
39     static ArkUINativeModuleValue SetBlockColor(ArkUIRuntimeCallInfo* runtimeCallInfo);
40     static ArkUINativeModuleValue ResetBlockColor(ArkUIRuntimeCallInfo* runtimeCallInfo);
41     static ArkUINativeModuleValue SetTrackBackgroundColor(ArkUIRuntimeCallInfo* runtimeCallInfo);
42     static ArkUINativeModuleValue ResetTrackBackgroundColor(ArkUIRuntimeCallInfo* runtimeCallInfo);
43     static ArkUINativeModuleValue SetSelectColor(ArkUIRuntimeCallInfo* runtimeCallInfo);
44     static ArkUINativeModuleValue ResetSelectColor(ArkUIRuntimeCallInfo* runtimeCallInfo);
45     static ArkUINativeModuleValue SetShowSteps(ArkUIRuntimeCallInfo* runtimeCallInfo);
46     static ArkUINativeModuleValue ResetShowSteps(ArkUIRuntimeCallInfo* runtimeCallInfo);
47     static ArkUINativeModuleValue SetThickness(ArkUIRuntimeCallInfo* runtimeCallInfo);
48     static ArkUINativeModuleValue ResetThickness(ArkUIRuntimeCallInfo* runtimeCallInfo);
49     static ArkUINativeModuleValue SetBlockStyle(ArkUIRuntimeCallInfo* runtimeCallInfo);
50     static ArkUINativeModuleValue ResetBlockStyle(ArkUIRuntimeCallInfo* runtimeCallInfo);
51     static ArkUINativeModuleValue SetValidSlideRange(ArkUIRuntimeCallInfo* runtimeCallInfo);
52     static ArkUINativeModuleValue ResetValidSlideRange(ArkUIRuntimeCallInfo* runtimeCallInfo);
53     static ArkUINativeModuleValue SetSelectedBorderRadius(ArkUIRuntimeCallInfo* runtimeCallInfo);
54     static ArkUINativeModuleValue ResetSelectedBorderRadius(ArkUIRuntimeCallInfo* runtimeCallInfo);
55     static ArkUINativeModuleValue SetInteractionMode(ArkUIRuntimeCallInfo* runtimeCallInfo);
56     static ArkUINativeModuleValue ResetInteractionMode(ArkUIRuntimeCallInfo* runtimeCallInfo);
57     static ArkUINativeModuleValue SetMinResponsiveDistance(ArkUIRuntimeCallInfo* runtimeCallInfo);
58     static ArkUINativeModuleValue ResetMinResponsiveDistance(ArkUIRuntimeCallInfo* runtimeCallInfo);
59     static ArkUINativeModuleValue SetContentModifierBuilder(ArkUIRuntimeCallInfo* runtimeCallInfo);
60     static ArkUINativeModuleValue SetSliderOptions(ArkUIRuntimeCallInfo* runtimeCallInfo);
61     static ArkUINativeModuleValue SetEnableHapticFeedback(ArkUIRuntimeCallInfo* runtimeCallInfo);
62     static ArkUINativeModuleValue ResetEnableHapticFeedback(ArkUIRuntimeCallInfo* runtimeCallInfo);
63     static ArkUINativeModuleValue SetOnChange(ArkUIRuntimeCallInfo* runtimeCallInfo);
64     static ArkUINativeModuleValue ResetOnChange(ArkUIRuntimeCallInfo* runtimeCallInfo);
65     static ArkUINativeModuleValue SetPrefix(ArkUIRuntimeCallInfo* runtimeCallInfo);
66     static ArkUINativeModuleValue ResetPrefix(ArkUIRuntimeCallInfo* runtimeCallInfo);
67     static ArkUINativeModuleValue SetSuffix(ArkUIRuntimeCallInfo* runtimeCallInfo);
68     static ArkUINativeModuleValue ResetSuffix(ArkUIRuntimeCallInfo* runtimeCallInfo);
69     static napi_value GetIteratorNext(const napi_env env, napi_value iterator, napi_value func, bool *done);
70     static napi_value ParseStepOptionsMap(
71         EcmaVM* vm, Framework::JSRef<Framework::JSVal> jsStepOptionsMap, StepOptions& stepOptionsMap);
72     static int32_t ParseStepOptionItemKey(const napi_env env, napi_value item);
73     static bool ParseStepOptionItemValue(EcmaVM* vm, const napi_env env, napi_value item, std::string& stepText);
74 };
75 } // namespace OHOS::Ace::NG
76 
77 #endif // FRAMEWORKS_BRIDGE_DECLARATIVE_FRONTEND_ENGINE_JSI_NATIVEMODULE_ARKTS_NATIVE_SLIDER_BRIDGE_H
78