2 * Copyright(c) 2020 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 using System.ComponentModel;
18 using Tizen.NUI.BaseComponents;
20 namespace Tizen.NUI.Components.Extension
23 /// LottieSwitchExtension is a SwitchExtension class that uses Lottie image for a Switch icon.
25 /// This extension must be used within a class implementing LottieSwitchStyle.
28 [EditorBrowsable(EditorBrowsableState.Never)]
29 public class LottieSwitchExtension : SwitchExtension
32 /// A constructor that creates LottieButtonExtension with a specified Lottie resource URL
34 [EditorBrowsable(EditorBrowsableState.Never)]
35 public LottieSwitchExtension() : base()
37 LottieView = new LottieAnimationView();
41 /// The Lottie view that will be used as an icon part in a Button.
43 [EditorBrowsable(EditorBrowsableState.Never)]
44 protected LottieAnimationView LottieView { get; set; }
47 [EditorBrowsable(EditorBrowsableState.Never)]
48 public override ImageView OnCreateIcon(Button button, ImageView icon)
50 LottieButtonExtension.InitializeLottieView(button, LottieView);
56 [EditorBrowsable(EditorBrowsableState.Never)]
57 public override void OnControlStateChanged(Button button, View.ControlStateChangedEventArgs args)
59 LottieButtonExtension.UpdateLottieView(button, args.PreviousState, LottieView);