using System;
using System.Collections.Generic;
using System.Text;
namespace HTEXLib.Models
{
///
/// 物件動畫 時間系列 (animtimetree)
///
public class AnimtimeTree
{
///
/// 物件動畫 時間節點 列表 (animnode list)
///
public List actlst { get; set; }
///
/// 物件(有動畫) 之 對應資訊 列表
/// "Key": "00002", // *om* // 物件 自訂 uid
/// "Value": objdata // *om* // 物件(有動畫) 之 對應資訊 (objdata)
///
public Dictionary obj_dic { get; set; }
///
/// 是否循序 或 同時
///
public bool seqf { get; set; }
///
/// 物件動畫 時間系列 表列 (animtimetree list)
///
public List subtreelst { get; set; }
///
/// 物件動畫 時間系列 uid
///
public string tree_id { get; set; }
}
///
/// 物件(有動畫) 之 對應資訊 (objdata) :
///
public class AnimtimeData
{
///
/// 動畫結束後 是否 可見
///
public bool endvisible { get; set; }
///
/// 原始 是否可見
///
public bool orgvisible { get; set; }
///
/// 物件 於 pptx 之 原始 id
///
public string obj_spid { get; set; }
///
/// 物件 自訂 uid
///
public string obj_uid { get; set; }
///
/// 對 pptx 物件 之 自訂類別: 0=形狀, 1=文字, m=替換元素 (若是形狀裡有文字, 則會被切成 (0=形狀)+(1=文字) 2 個物件 以組合處理)
///
public string objtypelst { get; set; }
///
/// 位置
///
public Position position { get; set; }
///
/// 原始 不透明值 (0, .., 1)
///
public double orgopaque { get; set; }
}
///
/// 物件動畫 時間節點 (animnode)
///
public class AnimtimeNode {
///
/// 開始 加速
///
public int accel { get; set; }
///
/// 物件動畫 變化狀態 表列 (animxchg list)
///
public List achglst { get; set; }
///
/// 自動反轉
///
public bool autorev { get; set; }
///
/// 開始之 旋轉角度 (記憶 物件動畫過程後 的 累計旋轉量)
///
public int beg_rot { get; set; }
///
/// 開始之 高 縮放比值
///
public int begh_scale { get; set; }
///
/// 開始之 寬 縮放比值
///
public int begw_scale { get; set; }
///
/// 結束 減速
///
public int decel { get; set; }
///
/// 延遲 播放
///
public int delay { get; set; }
///
/// 結束之 旋轉角度 (記憶 物件動畫過程後 的 累計旋轉量)
///
public int end_rot { get; set; }
///
/// 結束之 高 縮放比值
///
public int endh_scale { get; set; }
///
/// 結束之 寬 縮放比值
///
public int endw_scale { get; set; }
///
/// path 移動路徑) 之 最後 x 位置(pptx 給 頁面寬之比值)(左上角開始) (只對 path 移動路徑 有效)
///
public int endx_rate { get; set; }
///
/// (path 移動路徑) 之 最後 y 位置(pptx 給 頁面高之比值)(左上角開始) (只對 path 移動路徑 有效)
///
public int endy_rate { get; set; }
///
/// 動畫播放完成後 之 狀態
///
public string fill { get; set; }
///
/// 當 is_accrot > 0 時, 表示 end_rot 值有效 (壘加 旋轉動畫 角度 之用)
///
public int is_accrot { get; set; }
///
/// (預留)
///
public int iterate_tmabs { get; set; }
///
/// (對應 和 ) 之 % 值
///
public double iterate_tmpct { get; set; }
///
/// (對應 ) 列舉
///
public int iterate_type { get; set; }
///
/// 物件動畫 播放方式: "clickEffect"(按下開始), "withEffect"(和前一動畫同時), "afterEffect"(接在前一動畫之後) (對應 )
///
public int nodetype { get; set; }
///
/// 物件動畫可能所屬 播放群組 id, 對應
///
public int obj_grpid { get; set; }
///
/// 物件 於 pptx 之 原始 id
///
public int obj_spid { get; set; }
///
/// 物件 自訂 uid 表列
///
public List obj_uid { get; set; }
///
/// 物件動畫 四大分類: "entr"(進入), "exit"(結束), "emph"(強調), "path"(移動路徑) (對應 )
///
public string presetclass { get; set; }
///
/// 物件動畫 樣式 id (對應 )
///
public string presetid { get; set; }
///
/// 物件動畫 次樣式 形態 (對應 )
///
public string presetsubtype { get; set; }
///
/// 重覆 播放
///
public int repeat { get; set; }
}
public class AnimtimeExchange {
///
/// 開始 加速
///
public int accel { get; set; }
///
/// 自動反轉
///
public bool autorev { get; set; }
///
/// 結束 減速
///
public int decel { get; set; }
///
/// 延遲 播放
///
public int delay { get; set; }
///
/// 播放時間長度 (秒)
///
public double dur { get; set; }
///
/// 動畫播放完成後 之 狀態
///
public string fill { get; set; }
///
/// 物件動畫 變化狀態名稱 表列 (pptx 於眾多不同地方 設眾多不同值)
/// (HiTeach 白板 除 pptx 給的原始值之外, 目前新增 "內定出現","內定消失", "內定強調", "color", "motion", "scale")
///
public List name_type { get; set; }
///
/// 依 各細項出現的順序, 記錄 相對應的 資料型態
///
public List newtavl { get; set; }
///
/// bool 值 表列
///
public bool newvalb { get; set; }
///
/// (string) color 值 表列 (以 string 表示)
///
public string newvalc { get; set; }
///
/// double 值 表列
///
public double newvald { get; set; }
///
/// int 值 表列
///
public int newvali { get; set; }
///
/// string 值 表列
///
public List newvals { get; set; }
///
/// (對應 ) fmla (string) 值 表列 (pptx 複雜動畫公式 會使用, 如:輕彈,猛然挪動,...等)
///
public string tav_fmla_str { get; set; }
///
/// (對應 ) tm (%) 值 表列
///
public List tav_tm { get; set; }
///
/// (對應 )
///
public string tmfilter { get; set; }
public string transition { get; set; }
///
/// (對應 ) int 值
///
public int txtcrgbeg { get; set; }
///
/// (對應 ) int 值
///
public int txtcrgend { get; set; }
///
/// (對應 ) int 值
///
public int txtprgbeg { get; set; }
///
/// (對應 ) int 值
///
public int txtprgend { get; set; }
///
/// (by) 資料類別+index
///
public string valby { get; set; }
///
/// (from) 資料類別 + index
///
public string valfrom { get; set; }
///
/// (to) 資料類別+index
///
public string valto { get; set; }
}
}