- Change Fade to FadeTransition.
- Remove Default AppearingTransition/DisappearingTransition of Page
Signed-off-by: seungho <sbsh.baek@samsung.com>
page.InvokeAppearing();
topPage.InvokeDisappearing();
- transitionSet = CreateTransition(topPage, page, true);
+ transitionSet = CreateTransitions(topPage, page, true);
transitionSet.Finished += (object sender, EventArgs e) =>
{
if (page is DialogPage == false)
}
var newTopPage = navigationPages[navigationPages.Count - 2];
-// newTopPage.RaiseAbove(topPage);
-
//Invoke Page events
newTopPage.InvokeAppearing();
topPage.InvokeDisappearing();
- transitionSet = CreateTransition(topPage, newTopPage, false);
+ transitionSet = CreateTransitions(topPage, newTopPage, false);
transitionSet.Finished += (object sender, EventArgs e) =>
{
Remove(topPage);
}
/// <summary>
- /// Create Transition between currentTopPage and newTopPage
+ /// Create Transitions between currentTopPage and newTopPage
/// </summary>
/// <param name="currentTopPage">The top page of Navigator.</param>
/// <param name="newTopPage">The new top page after transition.</param>
/// <param name="pushTransition">True if this transition is for push new page</param>
- private TransitionSet CreateTransition(Page currentTopPage, Page newTopPage, bool pushTransition)
+ private TransitionSet CreateTransitions(Page currentTopPage, Page newTopPage, bool pushTransition)
{
currentTopPage.SetVisible(true);
newTopPage.SetVisible(true);
currentTopPage.Opacity = 1.0f;
};
- // default appearing/disappearing transition - fast fade (half duration compaired with that of view pair transition)
- int duration = (transition.TimePeriod.DurationMilliseconds + transition.TimePeriod.DelayMilliseconds);
- float durationSeconds = (float)duration / 1000.0f;
-
if (!pushTransition || newTopPage is DialogPage == false)
{
- TransitionItemBase disappearingTransition = currentTopPage.DisappearingTransition.CreateTransition(currentTopPage, false);
- newTransitionSet.AddTransition(disappearingTransition);
- disappearingTransition.TransitionWithChild = true;
+ if (currentTopPage.DisappearingTransition != null)
+ {
+ TransitionItemBase disappearingTransition = currentTopPage.DisappearingTransition.CreateTransition(currentTopPage, false);
+ disappearingTransition.TransitionWithChild = true;
+ newTransitionSet.AddTransition(disappearingTransition);
+ }
+ else
+ {
+ currentTopPage.SetVisible(false);
+ }
}
if (pushTransition || currentTopPage is DialogPage == false)
{
- TransitionItemBase appearingTransition = newTopPage.AppearingTransition.CreateTransition(newTopPage, true);
- appearingTransition.TransitionWithChild = true;
- newTransitionSet.AddTransition(appearingTransition);
+ if (newTopPage.AppearingTransition != null)
+ {
+ TransitionItemBase appearingTransition = newTopPage.AppearingTransition.CreateTransition(newTopPage, true);
+ appearingTransition.TransitionWithChild = true;
+ newTransitionSet.AddTransition(appearingTransition);
+ }
}
newTransitionSet.Play();
/// <since_tizen> 9 </since_tizen>
public abstract class Page : Control
{
- private const int DefaultTransitionDuration = 500;
-
private Navigator navigator = null;
// Default transition is Fade.
- private TransitionBase appearingTransition = new Fade()
- {
- TimePeriod = new TimePeriod(DefaultTransitionDuration),
- AlphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.Default),
- };
+ private TransitionBase appearingTransition = null;
- private TransitionBase disappearingTransition = new Fade()
- {
- TimePeriod = new TimePeriod(DefaultTransitionDuration),
- AlphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.Default),
- };
+ private TransitionBase disappearingTransition = null;
/// <summary>
/// Creates a new instance of a Page.
internal static partial class Interop
{
- internal static partial class FadeItem
+ internal static partial class FadeTransitionItem
{
- [DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_Fade")]
+ [DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_FadeTransition")]
public static extern IntPtr NewEmpty();
- [DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Fade_New")]
+ [DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_FadeTransition_New")]
public static extern IntPtr New(HandleRef view, float opacity, HandleRef timePeriod);
- [DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_delete_Fade")]
+ [DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_delete_FadeTransition")]
public static extern void Delete(HandleRef fade);
- [DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_Fade_Set")]
- public static extern IntPtr NewFadeItem(HandleRef fade);
+ [DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_FadeTransition_Set")]
+ public static extern IntPtr NewFadeTransitionItem(HandleRef fade);
- [DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Fade_Assign")]
+ [DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_FadeTransition_Assign")]
public static extern IntPtr Assign(HandleRef destination, HandleRef source);
}
}
using Tizen.NUI.BaseComponents;
/// <summary>
- /// FadeItem is an object to set Fade transition of a View that will appear or disappear.
- /// FadeItem object is required to be added to the TransitionSet to play.
+ /// FadeTransitionItem is an object to set Fade transition of a View that will appear or disappear.
+ /// FadeTransitionItem object is required to be added to the TransitionSet to play.
/// </summary>
- internal class FadeItem : TransitionItemBase
+ internal class FadeTransitionItem : TransitionItemBase
{
/// <summary>
/// Creates an initialized fade.<br />
/// </summary>
/// <remarks>DurationmSeconds must be greater than zero.</remarks>
- public FadeItem(View view, float opacity, bool isAppearing, TimePeriod timePeriod, AlphaFunction alphaFunction) : this(Interop.FadeItem.New(view.SwigCPtr, opacity, timePeriod.SwigCPtr), true)
+ public FadeTransitionItem(View view, float opacity, bool isAppearing, TimePeriod timePeriod, AlphaFunction alphaFunction) : this(Interop.FadeTransitionItem.New(view.SwigCPtr, opacity, timePeriod.SwigCPtr), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
AppearingTransition = isAppearing;
AlphaFunction = alphaFunction;
}
- internal FadeItem(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
+ internal FadeTransitionItem(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
{
}
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FadeItem obj)
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FadeTransitionItem obj)
{
return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.SwigCPtr;
}
- internal FadeItem(FadeItem handle) : this(Interop.FadeItem.NewFadeItem(FadeItem.getCPtr(handle)), true)
+ internal FadeTransitionItem(FadeTransitionItem handle) : this(Interop.FadeTransitionItem.NewFadeTransitionItem(FadeTransitionItem.getCPtr(handle)), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- internal FadeItem Assign(FadeItem rhs)
+ internal FadeTransitionItem Assign(FadeTransitionItem rhs)
{
- FadeItem ret = new FadeItem(Interop.FadeItem.Assign(SwigCPtr, FadeItem.getCPtr(rhs)), false);
+ FadeTransitionItem ret = new FadeTransitionItem(Interop.FadeTransitionItem.Assign(SwigCPtr, FadeTransitionItem.getCPtr(rhs)), false);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
{
if (swigCPtr.Handle == IntPtr.Zero || this.HasBody() == false)
{
- Tizen.Log.Fatal("NUI", $"[ERROR] FadeItem ReleaseSwigCPtr()! IntPtr=0x{swigCPtr.Handle:X} HasBody={this.HasBody()}");
+ Tizen.Log.Fatal("NUI", $"[ERROR] FadeTransitionItem ReleaseSwigCPtr()! IntPtr=0x{swigCPtr.Handle:X} HasBody={this.HasBody()}");
return;
}
- Interop.FadeItem.Delete(swigCPtr);
+ Interop.FadeTransitionItem.Delete(swigCPtr);
}
}
}
using Tizen.NUI.BaseComponents;
/// <summary>
- /// Fade class is a cluster of properties for the fade transition of a View.
+ /// FadeTransition class is a cluster of properties for the fade transition of a View.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
- public class Fade : TransitionBase
+ public class FadeTransition : TransitionBase
{
private float opacity = 0.0f;
/// <summary>
- /// Create a Fade for the View pair.
+ /// Create a FadeTransition for the View pair.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
- public Fade()
+ public FadeTransition()
{
}
/// Set Opacity for this fade transition.
/// If this transition is for appearing, the opacity of target View is animated from this property.
/// If this transition is for disappearing, the opacity of target View is animated to this property.
+ /// Default Opacity is 0.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public float Opacity
internal override TransitionItemBase CreateTransition(View view, bool isAppearing)
{
- FadeItem fade = new FadeItem(view, Opacity, isAppearing, TimePeriod, AlphaFunction);
+ FadeTransitionItem fade = new FadeTransitionItem(view, Opacity, isAppearing, GetTimePeriod(), GetAlphaFunction());
return fade;
}
}
internal TransitionItem CreateTransition(View source, View destination)
{
- TransitionItem transition= new TransitionItem(source, destination, TimePeriod, AlphaFunction);
- return transition;
+ return new TransitionItem(source, destination, GetTimePeriod(), GetAlphaFunction());
}
}
}
/// TransitionBase class is a base class for all Transition.
/// Each Transition child classes inherits this base class.
/// </summary>
+ /// <remarks>
+ /// Transition changes propreties of View like Position, Scale, Orientation, and Opacity during transition.
+ /// </remarks>
/// <since_tizen> 9 </since_tizen>
public class TransitionBase : Disposable
{
- private static readonly int DefaultDuration = 500;
- private AlphaFunction alphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.Default);
- private TimePeriod timePeriod = new TimePeriod(DefaultDuration);
+ private AlphaFunction alphaFunction = null;
+ private TimePeriod timePeriod = null;
/// <summary>
/// Create a TransitionBase
}
}
+ internal TimePeriod GetTimePeriod()
+ {
+ return timePeriod ??= new TimePeriod(0);
+ }
+
+ internal AlphaFunction GetAlphaFunction()
+ {
+ return alphaFunction ??= new AlphaFunction(AlphaFunction.BuiltinFunctions.Default);
+ }
+
internal virtual TransitionItemBase CreateTransition(View view, bool isAppearing)
{
- return new TransitionItemBase(view, isAppearing, timePeriod, alphaFunction);
+ return new TransitionItemBase(view, isAppearing, GetTimePeriod(), GetAlphaFunction());
}
[EditorBrowsable(EditorBrowsableState.Never)]
mainPage = new ContentPage()
{
Content = mainRoot,
+ AppearingTransition = new FadeTransition()
+ {
+ TimePeriod = new TimePeriod(500),
+ AlphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.Default),
+ },
+ DisappearingTransition = new FadeTransition()
+ {
+ TimePeriod = new TimePeriod(500),
+ AlphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.Default),
+ },
};
navigator.Push(mainPage);
totalPage = new ContentPage()
{
Content = totalPageRoot,
+ AppearingTransition = new FadeTransition()
+ {
+ TimePeriod = new TimePeriod(500),
+ AlphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.Default),
+ },
+ DisappearingTransition = new FadeTransition()
+ {
+ TimePeriod = new TimePeriod(500),
+ AlphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.Default),
+ },
};
}
Page page = new ContentPage()
{
Content = pageRoot,
+ AppearingTransition = new FadeTransition()
+ {
+ TimePeriod = new TimePeriod(500),
+ AlphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.Default),
+ },
+ DisappearingTransition = new FadeTransition()
+ {
+ TimePeriod = new TimePeriod(500),
+ AlphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.Default),
+ },
};
return page;
}