private const string _resPath = "/home/owner/apps_rw/NUISamples.TizenTV/res";
private Animation _animation1;
+ private Animation _animation2;
private bool _transitionInProgress = false;
private int cnt1, cnt2;
_animation1.Stop();
_animation1.Finished += OnTransitionFinished1;
}
+ if (_animation2)
+ {
+ _animation2.Stop();
+ _animation2.Finished += OnTransitionFinished2;
+ }
if (activate)
{
- _contentView.AnimateVisualAdd(_icon, "Size", new Size2D(150, 150), 0, 1000, AlphaFunction.BuiltinFunctions.Linear);
- _contentView.AnimateVisualAdd(_icon, "Position", new Position2D(40, 40), 0, 1000);
- _animation1 = _contentView.AnimateVisualAddFinish();
+ _animation1 = _contentView.AnimateVisual(_icon, "Size", new Size2D(150, 150), 0, 1000, AlphaFunction.BuiltinFunctions.Linear);
+ _animation2 = _contentView.AnimateVisual(_icon, "Position", new Position2D(40, 40), 0, 1000);
}
else
{
- _contentView.AnimateVisualAdd(_icon, "Size", new Position2D(50, 50), 0, 1000, AlphaFunction.BuiltinFunctions.Linear);
- _contentView.AnimateVisualAdd(_icon, "Position", new Position2D(5, 5), 0, 1000);
- _animation1 = _contentView.AnimateVisualAddFinish();
+ _animation1 = _contentView.AnimateVisual(_icon, "Size", new Position2D(50, 50), 0, 1000, AlphaFunction.BuiltinFunctions.Linear);
+ _animation2 = _contentView.AnimateVisual(_icon, "Position", new Position2D(5, 5), 0, 1000);
}
if (_animation1)
_transitionInProgress = true;
_animation1.Play();
}
+ if (_animation2)
+ {
+ _animation2.Finished += OnTransitionFinished2;
+ _transitionInProgress = true;
+ _animation2.Play();
+ }
}
private void OnTransitionFinished1(object sender, EventArgs e)
{
_animation1.Reset();
}
}
+ private void OnTransitionFinished2(object sender, EventArgs e)
+ {
+ _transitionInProgress = false;
+ if (_animation2)
+ {
+ _animation2.Finished += OnTransitionFinished2;
+ _animation2.Reset();
+ }
+ }
/// <summary>
+++ /dev/null
-/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-using System;
-using System.Runtime.InteropServices;
-using Tizen.NUI;
-using Tizen.NUI.UIComponents;
-using Tizen.NUI.BaseComponents;
-using Tizen.NUI.Constants;
-
-namespace VisaulAnimationExample
-{
- class Example3 : NUIApplication
- {
- private VisualView _contentView1;
- private VisualView _contentView2;
- private VisualView _contentView3;
- private TextLabel _title;
- private PushButton _shadowButton1;
- private PushButton _shadowButton2;
- private PushButton _shadowButton3;
- private bool _active1 = false;
- private bool _active2 = false;
- private bool _active3 = false;
- private const string _resPath = "/home/owner/apps_rw/NUISamples.TizenTV/res";
-
- private Animation _animation;
- private ImageVisual _icon;
- private ImageVisual _icon2;
- private ImageVisual _icon3;
- private ImageVisual _icon4;
- private bool _transitionInProgress = false;
-
- public Example3() : base()
- {
- }
-
- public Example3(string stylesheet) : base(stylesheet)
- {
- }
-
- public Example3(string stylesheet, WindowMode windowMode) : base(stylesheet, windowMode)
- {
- }
-
- protected override void OnCreate()
- {
- base.OnCreate();
- Initialize();
- }
-
- public void Initialize()
- {
- Window window = Window.Instance;
- window.BackgroundColor = Color.White;
-
- TableView titleLayout = new TableView(2, 1);
- titleLayout.Name = ("TitleLayout");
- titleLayout.AnchorPoint = AnchorPoint.TopLeft;
- titleLayout.Position2D = new Position2D(10, 10);
- titleLayout.Size2D = new Size2D((int)(window.Size.Width * 0.9f), (int)(window.Size.Height * 0.9f));
- titleLayout.SetCellPadding(new Size2D(10, 10));
- titleLayout.BackgroundColor = Color.Cyan;
- window.GetDefaultLayer().Add(titleLayout);
-
- _title = new TextLabel("Visual Transition Example");
- _title.Name = ("Title");
- _title.SetStyleName("Title");
- _title.WidthResizePolicy = ResizePolicyType.FillToParent;
- _title.HeightResizePolicy = ResizePolicyType.UseNaturalSize;
- _title.HorizontalAlignment = HorizontalAlignment.Center;
- titleLayout.AddChild(_title, new TableView.CellPosition(0, 0));
- titleLayout.SetFitHeight(0);
-
- TableView contentLayout = new TableView(2, 1);
- contentLayout.Name = ("ContentLayout");
- contentLayout.WidthResizePolicy = ResizePolicyType.FillToParent;
- contentLayout.HeightResizePolicy = ResizePolicyType.FillToParent;
- contentLayout.AnchorPoint = AnchorPoint.TopLeft;
- contentLayout.SetCellPadding(new Size2D(10, 10));
- contentLayout.BackgroundColor = Color.Magenta;
- titleLayout.AddChild(contentLayout, new TableView.CellPosition(1, 0));
-
- // make visual position animation
- _contentView1 = new VisualView();
- _contentView1.WidthResizePolicy = ResizePolicyType.SizeRelativeToParent;
- _contentView1.HeightResizePolicy = ResizePolicyType.SizeRelativeToParent;
- //_contentView.Size2D = new Size2D(250, 250);
- _contentView1.BackgroundImage = _resPath + "/images/background-blocks.jpg";
-
- _icon = new ImageVisual();
- _icon.URL = _resPath + "/images/application-icon-0.png";
- _icon.DepthIndex = 1;
- _icon.Size = new Size2D(50, 50);
- _icon.SizePolicy = VisualTransformPolicyType.Absolute;
- _icon.Position = new Position2D(5, 5);
- _icon.PositionPolicy = VisualTransformPolicyType.Absolute;
- _icon.Origin = Visual.AlignType.TopBegin;
- _icon.AnchorPoint = Visual.AlignType.TopBegin;
- _icon.MixColor = new Color(0, 1, 0, 0.5f);
- _icon.Opacity = 0.5f;
- _contentView1.AddVisual("icon_visual1", _icon);
-
- _icon2 = new ImageVisual();
- _icon2.URL = _resPath + "/images/application-icon-0.png";
- _icon2.DepthIndex = 1;
- _icon2.Size = new Size2D(50, 50);
- _icon2.SizePolicy = VisualTransformPolicyType.Absolute;
- _icon2.Position = new Position2D(200, 5);
- _icon2.PositionPolicy = VisualTransformPolicyType.Absolute;
- _icon2.Origin = Visual.AlignType.TopBegin;
- _icon2.AnchorPoint = Visual.AlignType.TopBegin;
- _icon2.MixColor = new Color(0, 1, 0, 0.5f);
- _icon2.Opacity = 0.5f;
- _contentView1.AddVisual("icon_visual2", _icon2);
-
- _icon3 = new ImageVisual();
- _icon3.URL = _resPath + "/images/application-icon-0.png";
- _icon3.DepthIndex = 1;
- _icon3.Size = new Size2D(50, 50);
- _icon3.SizePolicy = VisualTransformPolicyType.Absolute;
- _icon3.Position = new Position2D(5, 200);
- _icon3.PositionPolicy = VisualTransformPolicyType.Absolute;
- _icon3.Origin = Visual.AlignType.TopBegin;
- _icon3.AnchorPoint = Visual.AlignType.TopBegin;
- _icon3.MixColor = new Color(0, 1, 0, 0.5f);
- _icon3.Opacity = 0.5f;
- _contentView1.AddVisual("icon_visual3", _icon3);
-
- _icon4 = new ImageVisual();
- _icon4.URL = _resPath + "/images/application-icon-0.png";
- _icon4.DepthIndex = 1;
- _icon4.Size = new Size2D(50, 50);
- _icon4.SizePolicy = VisualTransformPolicyType.Absolute;
- _icon4.Position = new Position2D(200, 200);
- _icon4.PositionPolicy = VisualTransformPolicyType.Absolute;
- _icon4.Origin = Visual.AlignType.TopBegin;
- _icon4.AnchorPoint = Visual.AlignType.TopBegin;
- _icon4.MixColor = new Color(0, 1, 0, 0.5f);
- _icon4.Opacity = 0.5f;
- _contentView1.AddVisual("icon_visual4", _icon4);
-
- contentLayout.AddChild(_contentView1, new TableView.CellPosition(0, 0));
-
- _shadowButton1 = new PushButton();
- _shadowButton1.LabelText = "Toggle Transition Position";
- _shadowButton1.Name = ("ToggleTransition");
- _shadowButton1.ParentOrigin = ParentOrigin.Center;
- _shadowButton1.AnchorPoint = AnchorPoint.Center;
- _shadowButton1.Clicked += (obj, ev) =>
- {
- _active1 = !_active1;
- StartTransition(_contentView1, _active1);
- return true;
- };
- _shadowButton1.WidthResizePolicy = ResizePolicyType.FillToParent;
- _shadowButton1.HeightResizePolicy = ResizePolicyType.UseNaturalSize;
- contentLayout.AddChild(_shadowButton1, new TableView.CellPosition(1, 0));
- contentLayout.SetFitHeight(1);
- }
-
- private void StartTransition(VisualView view, bool activate)
- {
- if (_animation)
- {
- _animation.Stop();
- _animation.Finished += OnTransitionFinished;
- }
-
- if (activate)
- {
- view.AnimateVisualAdd(_icon, "Position", new Position2D(80, 80), 0, 2000, AlphaFunction.BuiltinFunctions.Linear, new Position2D(5, 5));
- view.AnimateVisualAdd(_icon2, "Opacity", 0.0f, 0, 2000, AlphaFunction.BuiltinFunctions.Linear);
- view.AnimateVisualAdd(_icon3, "MixColor", Color.Green, 0, 2000, AlphaFunction.BuiltinFunctions.Linear);
- view.AnimateVisualAdd(_icon4, "Size", new Size2D(150, 150), 0, 2000, AlphaFunction.BuiltinFunctions.Linear);
- _animation = view.AnimateVisualAddFinish();
- }
- else
- {
- view.AnimateVisualAdd(_icon, "Position", new Position2D(5, 5), 0, 2000, AlphaFunction.BuiltinFunctions.Linear, new Position2D(80, 80));
- view.AnimateVisualAdd(_icon2, "Opacity", 1.0f, 0, 2000);
- view.AnimateVisualAdd(_icon3, "MixColor", Color.Red, 0, 2000);
- view.AnimateVisualAdd(_icon4, "Size", new Size2D(50, 50), 0, 2000, AlphaFunction.BuiltinFunctions.Linear);
- _animation = view.AnimateVisualAddFinish();
- }
-
- if (_animation)
- {
- _animation.Finished += OnTransitionFinished;
- _animation.EndAction = Animation.EndActions.StopFinal;
- _transitionInProgress = true;
- _animation.Play();
- }
- }
-
- private void OnTransitionFinished(object sender, EventArgs e)
- {
- _transitionInProgress = false;
- if (_animation)
- {
- _animation.Finished += OnTransitionFinished;
- _animation.Reset();
- }
- }
-
- /// <summary>
- /// The main entry point for the application.
- /// </summary>
- [STAThread]
- static void _Main(string[] args)
- {
- Example3 example = new Example3();
- example.Run(args);
- }
-
-
- }
-}
//private LinkedList<VisualBase> _visualList = null;
private Dictionary<int, VisualBase> _visualDictionary = null;
private Dictionary<int, PropertyMap> _tranformDictionary = null;
- private PropertyArray _animateArray = null;
static CustomView CreateInstance()
{
//Initialize empty
_visualDictionary = new Dictionary<int, VisualBase>();
_tranformDictionary = new Dictionary<int, PropertyMap>();
- _animateArray = new PropertyArray();
}
/// <summary>
/// <param name="startTime"> The start time of visual animation.</param>
/// <param name="endTime"> The end time of visual animation.</param>
/// <param name="alphaFunction"> The alpha function of visual animation</param>
- /// <param name="initialValue"> The initial property value of visual animation </param>
/// <returns>Animation instance</returns>
public Animation AnimateVisual(VisualMap target, string property, object destinationValue, int startTime, int endTime, AlphaFunction.BuiltinFunctions? alphaFunction = null, object initialValue = null)
{
return null;
}
- /// <summary>
- /// Add group visual animation (transition) map with the input parameters.
- /// </summary>
- /// <param name="target"> The visual map to animation.</param>
- /// <param name="property"> The property of visual to animation.</param>
- /// <param name="destinationValue"> The destination value of property after animation.</param>
- /// <param name="startTime"> The start time of visual animation.</param>
- /// <param name="endTime"> The end time of visual animation.</param>
- /// <param name="alphaFunction"> The alpha function of visual animation</param>
- /// <param name="initialValue"> The initial property value of visual animation </param>
- public void AnimateVisualAdd(VisualMap target, string property, object destinationValue, int startTime, int endTime, AlphaFunction.BuiltinFunctions? alphaFunction = null, object initialValue = null)
- {
- string _alphaFunction = null;
- if (alphaFunction != null)
- {
- switch (alphaFunction)
- {
- case Tizen.NUI.AlphaFunction.BuiltinFunctions.Linear:
- {
- _alphaFunction = "LINEAR";
- break;
- }
- case Tizen.NUI.AlphaFunction.BuiltinFunctions.Reverse:
- {
- _alphaFunction = "REVERSE";
- break;
- }
- case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseInSquare:
- {
- _alphaFunction = "EASE_IN_SQUARE";
- break;
- }
- case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseOutSquare:
- {
- _alphaFunction = "EASE_OUT_SQUARE";
- break;
- }
- case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseIn:
- {
- _alphaFunction = "EASE_IN";
- break;
- }
- case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseOut:
- {
- _alphaFunction = "EASE_OUT";
- break;
- }
- case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseInOut:
- {
- _alphaFunction = "EASE_IN_OUT";
- break;
- }
- case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseInSine:
- {
- _alphaFunction = "EASE_IN_SINE";
- break;
- }
- case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseOutSine:
- {
- _alphaFunction = "EASE_OUT_SINE";
- break;
- }
- case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseInOutSine:
- {
- _alphaFunction = "EASE_IN_OUT_SINE";
- break;
- }
- case Tizen.NUI.AlphaFunction.BuiltinFunctions.Bounce:
- {
- _alphaFunction = "BOUNCE";
- break;
- }
- case Tizen.NUI.AlphaFunction.BuiltinFunctions.Sin:
- {
- _alphaFunction = "SIN";
- break;
- }
- case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseOutBack:
- {
- _alphaFunction = "EASE_OUT_BACK";
- break;
- }
- default:
- {
- _alphaFunction = "DEFAULT";
- break;
- }
- }
- }
-
- foreach (var item in _visualDictionary.ToList())
- {
- if (item.Value.Name == target.Name)
- {
- PropertyMap _animator = new PropertyMap();
- if ( _alphaFunction != null) {_animator.Add("alphaFunction", new PropertyValue(_alphaFunction));}
-
- PropertyMap _timePeriod = new PropertyMap();
- _timePeriod.Add("duration", new PropertyValue((endTime - startTime) / 1000.0f));
- _timePeriod.Add("delay", new PropertyValue(startTime / 1000.0f));
- _animator.Add("timePeriod", new PropertyValue(_timePeriod));
-
- string _str1 = property.Substring(0, 1);
- string _str2 = property.Substring(1);
- string _str = _str1.ToLower() + _str2;
- if (_str == "position") {_str = "offset";}
-
- PropertyValue destVal = PropertyValue.CreateFromObject(destinationValue);
-
- PropertyMap _transition = new PropertyMap();
- _transition.Add("target", new PropertyValue(target.Name));
- _transition.Add("property", new PropertyValue(_str));
- if (initialValue != null)
- {
- PropertyValue initVal = PropertyValue.CreateFromObject(initialValue);
- _transition.Add("initialValue", new PropertyValue(initVal));
- }
- _transition.Add("targetValue", destVal);
- _transition.Add("animator", new PropertyValue(_animator));
-
- _animateArray.Add(new PropertyValue(_transition));
- }
- }
- }
-
- /// <summary>
- /// Finish to add Visual animation (transition) map and create transition animation.
- /// </summary>
- /// <returns>Animation instance</returns>
- public Animation AnimateVisualAddFinish()
- {
- if ( _animateArray == null || _animateArray.Empty())
- {
- Tizen.Log.Fatal("NUI", "animate visual property array is empty!");
- return null;
- }
- TransitionData _transitionData = new TransitionData(_animateArray);
-
- return this.CreateTransition(_transitionData);
- }
-
//temporary fix to pass TCT
public Animation VisualAnimate(Tizen.NUI.VisualAnimator visualMap)
}
//temporary fix to pass TCT
+
+
}
}