1 /* 2 * Copyright (c) 2022 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_TOGGLE_MODEL_IMPL_H 17 #define FRAMEWORKS_BRIDGE_DECLARATIVE_FRONTEND_JS_VIEW_MODELS_TOGGLE_MODEL_IMPL_H 18 19 #include "core/components_ng/pattern/toggle/toggle_model.h" 20 21 namespace OHOS::Ace::Framework { 22 23 class ToggleModelImpl : public OHOS::Ace::ToggleModel { 24 public: 25 void Create(NG::ToggleType toggleType, bool isOn) override; 26 void SetSelectedColor(const std::optional<Color>& selectedColor) override; 27 void SetSwitchPointColor(const Color& switchPointColor) override; 28 void OnChange(NG::ChangeEvent&& onChange) override; 29 void SetWidth(const Dimension& width) override; 30 void SetHeight(const Dimension& height) override; 31 void SetPadding(const NG::PaddingPropertyF& args, const NG::PaddingProperty& newArgs) override; 32 bool IsToggle() override; OnChangeEvent(NG::ChangeEvent && onChange)33 void OnChangeEvent(NG::ChangeEvent&& onChange) override {}; SetResponseRegion(const std::vector<DimensionRect> & responseRegion)34 void SetResponseRegion(const std::vector<DimensionRect>& responseRegion) override {}; SetHoverEffect(HoverEffectType hoverEffect)35 void SetHoverEffect(HoverEffectType hoverEffect) override {}; 36 void Pop() override; 37 }; 38 39 } // namespace OHOS::Ace::Framework 40 #endif // FRAMEWORKS_BRIDGE_DECLARATIVE_FRONTEND_JS_VIEW_MODELS_TOGGLE_MODEL_IMPL_H 41