/*
* Copyright (c) 2019 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.Collections.Generic;
using System;
using System.ComponentModel;
namespace Tizen.NUI
{
///
/// The conditions for transitions.
///
/// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
[EditorBrowsable(EditorBrowsableState.Never)]
[FlagsAttribute] public enum TransitionCondition
{
///
/// Default when a condition has not been set.
///
/// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
[EditorBrowsable(EditorBrowsableState.Never)]
Unspecified = 0,
///
/// Animate changing layout to another layout.
///
/// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
[EditorBrowsable(EditorBrowsableState.Never)]
LayoutChanged = 1,
///
/// Animate adding item.
///
/// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
[EditorBrowsable(EditorBrowsableState.Never)]
Add = 2,
///
/// Animate removing item.
///
/// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
[EditorBrowsable(EditorBrowsableState.Never)]
Remove = 4,
///
/// Animation when an item changes due to a sibbling being added.
///
/// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
[EditorBrowsable(EditorBrowsableState.Never)]
ChangeOnAdd = 8,
///
/// Animation when an item changes due to a sibbling being removed.
///
/// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
[EditorBrowsable(EditorBrowsableState.Never)]
ChangeOnRemove = 16
}
///
/// [Draft] Class to hold layout animation and position data
///
internal struct LayoutData
{
///
/// [Draft] Initialized constructor
///
/// Layout item.
/// Condition for the position values.
/// Left position.
/// Top position.
/// Right position.
/// Bottom position.
public LayoutData( LayoutItem item, TransitionCondition condition, float left, float top, float right, float bottom )
{
Item = item;
ConditionForAnimation = condition;
Left = left;
Top = top;
Right = right;
Bottom = bottom;
}
public LayoutItem Item{ get;}
public TransitionCondition ConditionForAnimation{get;}
public float Left{get;}
public float Top{get;}
public float Right{get;}
public float Bottom{get;}
};
} // namespace Tizen.NUI