1 /*
2  * Copyright (c) 2022-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_JS_VIEW_MODELS_SLIDER_MODEL_IMPL_H
17 #define FRAMEWORKS_BRIDGE_DECLARATIVE_FRONTEND_JS_VIEW_MODELS_SLIDER_MODEL_IMPL_H
18 
19 #include "core/components_ng/pattern/slider/slider_model.h"
20 
21 namespace OHOS::Ace::Framework {
22 
23 class ACE_EXPORT SliderModelImpl : public SliderModel {
24 public:
25     void Create(float value, float step, float min, float max) override;
26     void SetSliderMode(const SliderMode& value) override;
27     void SetDirection(Axis value) override;
28     void SetReverse(bool value) override;
29     void SetBlockColor(const Color& value) override;
30     void SetTrackBackgroundColor(const Color& value) override;
31     void SetTrackBackgroundColor(const NG::Gradient& value, bool isResourceColor = false) override {};
32     void SetSelectColor(const Color& value) override;
33     void SetMinLabel(float value) override;
34     void SetMaxLabel(float value) override;
35     void SetShowSteps(bool value) override;
36     void SetShowTips(bool value, const std::optional<std::string>& content) override;
37     void SetThickness(const Dimension& value) override;
38     void SetBlockBorderColor(const Color& value) override;
39     void SetBlockBorderWidth(const Dimension& value) override;
40     void SetStepColor(const Color& value) override;
41     void SetTrackBorderRadius(const Dimension& value) override;
SetSelectedBorderRadius(const Dimension & value)42     void SetSelectedBorderRadius(const Dimension& value) override {};
43     void SetBlockSize(const Dimension& width, const Dimension& height) override;
44     void SetBlockType(BlockStyleType value) override;
45     void SetBlockImage(const std::string& value, const std::string& bundleName, const std::string& moduleName) override;
46     void SetBlockShape(const RefPtr<BasicShape>& value) override;
47     void SetStepSize(const Dimension& value) override;
48     void SetOnChange(std::function<void(float, int32_t)>&& eventOnChange) override;
SetOnChangeEvent(std::function<void (float)> && onChangeEvent)49     void SetOnChangeEvent(std::function<void(float)>&& onChangeEvent) override {};
50 
ResetBlockBorderColor()51     void ResetBlockBorderColor() override {};
ResetBlockBorderWidth()52     void ResetBlockBorderWidth() override {};
ResetStepColor()53     void ResetStepColor() override {};
ResetTrackBorderRadius()54     void ResetTrackBorderRadius() override {};
ResetSelectedBorderRadius()55     void ResetSelectedBorderRadius() override {};
ResetBlockSize()56     void ResetBlockSize() override {};
ResetBlockType()57     void ResetBlockType() override {};
ResetBlockImage()58     void ResetBlockImage() override {};
ResetBlockShape()59     void ResetBlockShape() override {};
ResetStepSize()60     void ResetStepSize() override {};
ResetSliderInteractionMode()61     void ResetSliderInteractionMode() override {};
ResetMinResponsiveDistance()62     void ResetMinResponsiveDistance() override {};
ResetValidSlideRange()63     void ResetValidSlideRange() override {};
64 };
65 
66 } // namespace OHOS::Ace::Framework
67 
68 #endif // FRAMEWORKS_BRIDGE_DECLARATIVE_FRONTEND_JS_VIEW_MODELS_SLIDER_MODEL_IMPL_H
69