亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? time_attrs.h

?? 彩信瀏覽器
?? H
字號:
/* * This file is part of Ambulant Player, www.ambulantplayer.org. * * Copyright (C) 2003-2007 Stichting CWI,  * Kruislaan 413, 1098 SJ Amsterdam, The Netherlands. * * Ambulant Player is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * Ambulant Player is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Ambulant Player; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA *//*  * @$Id: time_attrs.h,v 1.14 2007/02/12 14:14:45 jackjansen Exp $  */#ifndef AMBULANT_SMIL2_TIME_ATTRS_H#define AMBULANT_SMIL2_TIME_ATTRS_H#include "ambulant/config/config.h"#include "ambulant/smil2/smil_time.h"#include "ambulant/common/playable.h"#include "ambulant/lib/logger.h"#include "ambulant/lib/node.h"#include "ambulant/lib/transition_info.h"#include <string>namespace ambulant {namespace smil2 {using namespace lib;using namespace common;enum dur_type {dt_unspecified, dt_definite, dt_indefinite, dt_media};enum sync_value_type {	sv_offset, 	sv_syncbase,	sv_event, 	sv_repeat, 	sv_accesskey, 	sv_media_marker, 	sv_wallclock, 	sv_indefinite};std::string repr(sync_value_type sv);struct sync_value_struct {	sync_value_type type;	time_traits::value_type offset;	std::string base;	std::string event;	std::string sparam;	int iparam;};std::string repr(const sync_value_struct& svs);enum endsync_rule {esr_first, esr_last, esr_all, esr_media, esr_id};// The last three values are intermediate values// and don't represent a final fill_behavior.enum fill_behavior {fill_remove, fill_freeze, fill_hold, 	fill_transition, 	fill_auto, fill_default, fill_inherit}; std::string repr(fill_behavior f);// The last two values are intermediate values// and don't represent a restart_behavior.enum restart_behavior { restart_always, restart_when_not_active, restart_never,	restart_default, restart_inherit};std::string repr(restart_behavior f);enum actuate { actuate_onload, actuate_onrequest};std::string repr(actuate f);class lib::logger;class time_attrs : public time_traits {  public:	time_attrs(const lib::node *n);		bool specified_dur() const { return (m_spflags & SP_DUR) == SP_DUR;}	bool specified_begin() const { return (m_spflags & SP_BEGIN) == SP_BEGIN;}	bool specified_end() const { return (m_spflags & SP_END) == SP_END;}	bool specified_rdur() const { return (m_spflags & SP_RDUR) == SP_RDUR;}	bool specified_rcount() const { return (m_spflags & SP_RCOUNT) == SP_RCOUNT;}	bool specified_min() const { return (m_spflags & SP_MIN) == SP_MIN;}	bool specified_max() const { return (m_spflags & SP_MAX) == SP_MAX;}	bool specified_endsync() const { return (m_spflags & SP_ENDSYNC) == SP_ENDSYNC;}	bool specified_fill() const { return (m_spflags & SP_FILL) == SP_FILL;}	bool specified_restart() const { return (m_spflags & SP_RESTART) == SP_RESTART;}		std::string get_begin() const;	std::string get_end() const;		bool end_is_indefinite() const;	bool end_has_event_conditions() const;	bool has_dur_specifier() const;			const std::string& get_tag() const { return m_tag;}	const std::string& get_id() const { return m_id;}		///////////////////////////////	// attr structures and parsing functions		void parse_time_attrs();		struct dur_t {		dur_type type;		time_type value;	} m_dur;	void parse_dur();	dur_type get_dur_type() const { return m_dur.type;}	time_type get_dur() const { return m_dur.value;}		double m_rcount;	void parse_rcount();	bool is_rcount_indefinite() const { 		return m_rcount == std::numeric_limits<double>::max();	}	double get_rcount() const { return m_rcount;}		time_type m_rdur;	void parse_rdur();	time_type get_rdur() const { return m_rdur;}			struct min_t {		bool media;		time_type value;	} m_min;	void parse_min();	bool has_media_min() const { return m_min.media;}	time_type get_min() const { return m_min.value;}		struct max_t {		bool media;		time_type value;	} m_max;	void parse_max();	bool has_media_max() const { return m_max.media;}	time_type get_max() const { return m_max.value;}		// see data struct above	typedef std::list<sync_value_struct> sync_list;	sync_list m_blist;	sync_list m_elist;	void parse_begin();	void parse_end();	void parse_plain_offset(const std::string& s, sync_value_struct& svs, sync_list& sl);	void parse_wallclock(const std::string& s, sync_value_struct& svs, sync_list& sl);	void parse_accesskey(const std::string& s, sync_value_struct& svs, sync_list& sl);	void parse_nmtoken_offset(const std::string& s, sync_value_struct& svs, sync_list& sl); 	const sync_list& get_begin_list() const { return m_blist;}	const sync_list& get_end_list() const { return m_elist;}	//	struct endsync {		endsync_rule rule;		std::string ident;	} m_endsync;	void parse_endsync();	endsync_rule get_endsync_rule() const { return m_endsync.rule;}	const std::string& get_endsync_id() const { return m_endsync.ident;}		//	fill_behavior m_fill;	void parse_fill();	fill_behavior get_default_fill();	fill_behavior modulated_fill(fill_behavior fb);	fill_behavior get_fill() const { return m_fill;}		//	restart_behavior m_restart;	void parse_restart();	restart_behavior get_default_restart();	restart_behavior get_restart() const { return m_restart;}	//	actuate m_actuate;	void parse_actuate();	actuate get_actuate() const { return m_actuate;}		// Time manipulations	double m_speed;	double m_accelerate;	double m_decelerate;	bool m_auto_reverse;	void parse_time_manipulations();	bool has_time_manipulations() const;	double get_speed() const { return m_speed;}	double get_accelerate() const { return m_accelerate;}	double get_decelerate() const { return m_decelerate;}	bool auto_reverse() const { return m_auto_reverse;}		// Transitions	const lib::transition_info *m_trans_in;	const lib::transition_info *m_trans_out;	void parse_transitions();	const lib::transition_info *get_trans_in() const { return m_trans_in;}	const lib::transition_info *get_trans_out() const { return m_trans_out;}	time_type get_trans_in_dur() const { return m_trans_in->m_dur;}	time_type get_trans_out_dur() const { return m_trans_out->m_dur;}	  private:	void parse_sync_list(const std::list<std::string>& strlist, sync_list& svslist);	// keep for now a ref / should be removed	const lib::node *m_node;	std::string m_id;	std::string m_tag;	typedef std::string::size_type size_type;		// flags indicating specified attributes	long m_spflags;	void set_specified(int ind) {m_spflags |= ind;}	enum { SP_DUR = 1, SP_BEGIN = SP_DUR << 1, SP_END = SP_BEGIN << 1, SP_RDUR = SP_END << 1, 		SP_RCOUNT = SP_RDUR << 1, SP_MIN = SP_RCOUNT << 1, SP_MAX = SP_MIN << 1,		SP_ENDSYNC = SP_MAX << 1, SP_FILL = SP_ENDSYNC << 1, SP_RESTART = SP_FILL << 1};		const char *time_spec_id(const sync_list& sl) { return (&sl==&m_blist)?"begin":"end";}		lib::logger *m_logger;};enum interrupt_type {int_stop, int_pause, int_defer, int_never};struct priority_attrs {	interrupt_type higher;	interrupt_type peers;	interrupt_type lower;	common::pause_display display;		priority_attrs() : higher(int_pause), peers(int_stop), lower(int_defer), display(common::display_show) {}	static priority_attrs* create_instance(const lib::node *n);	static interrupt_type interrupt_from_str(const std::string& spec);	static common::pause_display display_from_str(const std::string& spec);};class schedulable : public time_traits {  public:	virtual ~schedulable(){}		virtual const time_attrs* get_time_attrs() const = 0;		// Return unresolved when unknown	virtual time_type get_implicit_dur() = 0;	virtual time_type get_last_dur() const = 0;};} // namespace smil2 } // namespace ambulant#endif // AMBULANT_SMIL2_TIME_ATTRS_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜在线播放| 国产一区三区三区| 一区二区三区免费在线观看| 国产精品久久毛片a| 国产亚洲成av人在线观看导航 | 欧美一区日本一区韩国一区| 欧美日韩三级一区| 欧美精品一二三四| 91精品午夜视频| 51精品视频一区二区三区| 欧美久久久久久久久| 欧美一级专区免费大片| 精品国产一区二区三区四区四 | 高清在线观看日韩| 成人免费电影视频| 色综合久久久久久久| 欧美唯美清纯偷拍| 日韩一区二区在线观看视频| 精品国产污污免费网站入口 | 欧美浪妇xxxx高跟鞋交| 日韩亚洲欧美在线| 日韩欧美成人午夜| 国产欧美日韩中文久久| 亚洲欧美日韩在线| 日本成人中文字幕| 国产一区二区三区久久久 | 日韩女优视频免费观看| 久久精品视频在线看| 成人免费在线视频观看| 亚洲国产va精品久久久不卡综合| 图片区小说区国产精品视频| 精品无人区卡一卡二卡三乱码免费卡 | 欧美日韩一级片在线观看| 日韩欧美不卡在线观看视频| 成人免费在线观看入口| 秋霞电影一区二区| 99久久99久久综合| 欧美性三三影院| 国产三级精品三级在线专区| 亚洲一级二级在线| 国产aⅴ综合色| 欧美精品高清视频| 1000部国产精品成人观看| 日日夜夜精品视频免费| gogo大胆日本视频一区| 欧美一区二区性放荡片| 亚洲欧美日韩国产综合在线| 久久99精品久久久久久久久久久久| 色综合天天综合色综合av| 精品久久99ma| 亚洲成人精品影院| 成人av高清在线| 26uuu国产日韩综合| 亚洲h精品动漫在线观看| www.一区二区| 国产欧美一区二区精品性色| 青青草原综合久久大伊人精品优势 | 国产麻豆精品在线| 欧美一区二区在线视频| 亚洲午夜三级在线| 欧美亚洲国产怡红院影院| 国产精品进线69影院| 国产精品一级片| 精品国产在天天线2019| 精品一区二区三区在线观看国产 | 国产成人av影院| 精品少妇一区二区三区| 奇米精品一区二区三区在线观看一| 色噜噜夜夜夜综合网| 亚洲三级电影全部在线观看高清| 国产白丝网站精品污在线入口| 亚洲精品一区在线观看| 久久99国产精品免费网站| 日韩免费视频一区二区| 免费成人在线影院| 日韩欧美国产三级电影视频| 美女视频一区二区| 久久久亚洲午夜电影| 国产剧情一区二区三区| 久久婷婷色综合| 国产成人无遮挡在线视频| 国产午夜精品一区二区 | 欧美专区日韩专区| 亚洲国产视频网站| 欧美人妖巨大在线| 日本v片在线高清不卡在线观看| 884aa四虎影成人精品一区| 天堂在线亚洲视频| 日韩欧美一区在线| 国产成人日日夜夜| 亚洲免费在线视频一区 二区| 91在线小视频| 污片在线观看一区二区| 26uuu亚洲综合色欧美| 高清不卡一二三区| 亚洲中国最大av网站| 91精品在线免费| 成人综合在线网站| 一区二区不卡在线播放| 日韩一区二区高清| 春色校园综合激情亚洲| 亚洲午夜激情网页| 久久久久久久综合色一本| caoporm超碰国产精品| 亚洲成人高清在线| 2024国产精品| 在线亚洲+欧美+日本专区| 美女被吸乳得到大胸91| 国产精品国产精品国产专区不蜜| 欧美午夜精品一区| 国产一区久久久| 亚洲一区中文在线| 久久久久久黄色| 欧美丝袜丝交足nylons图片| 国产成人综合亚洲网站| 亚洲网友自拍偷拍| 国产日韩精品一区二区三区 | 天堂va蜜桃一区二区三区漫画版| 精品国产一区二区三区不卡 | 懂色av一区二区三区免费观看| 伊人开心综合网| 国产亚洲综合在线| 欧美一区二区久久久| 91麻豆精品在线观看| 国产大陆a不卡| 麻豆精品新av中文字幕| 亚洲午夜精品一区二区三区他趣| 国产日韩欧美高清在线| 日韩午夜av电影| 欧美日韩一级片网站| 色婷婷综合激情| 成人18视频在线播放| 国产综合一区二区| 蜜桃免费网站一区二区三区| 亚洲成a天堂v人片| 亚洲精品免费在线播放| 国产精品嫩草久久久久| 久久久久88色偷偷免费| 日韩久久久久久| 欧美日韩在线直播| 色综合久久久网| 99综合影院在线| 国产大陆a不卡| 国产高清不卡一区二区| 国产一区二区三区免费播放| 精品一区二区三区免费| 麻豆国产精品视频| 麻豆精品视频在线观看免费| 免费黄网站欧美| 久久精品国产免费看久久精品| 日韩国产成人精品| 美女一区二区视频| 精品一区二区在线免费观看| 黄一区二区三区| 国产馆精品极品| 99精品热视频| 色综合久久久久网| 欧美性受xxxx| 欧美一区二区日韩一区二区| 日韩欧美卡一卡二| 久久久精品tv| 国产精品超碰97尤物18| 亚洲免费在线播放| 亚洲成人免费看| 久久国产精品72免费观看| 黄色成人免费在线| 国产精品资源网| 成人avav影音| 欧美在线影院一区二区| 日韩一级大片在线观看| 国产日韩欧美在线一区| **网站欧美大片在线观看| 亚洲福中文字幕伊人影院| 青青青爽久久午夜综合久久午夜| 国产在线乱码一区二区三区| 国产剧情av麻豆香蕉精品| 成人蜜臀av电影| 欧美日韩一级片网站| 久久久久久久精| 一二三区精品视频| 免费观看久久久4p| 99精品国产视频| 欧美福利一区二区| 国产日韩欧美a| 日韩激情av在线| 成年人网站91| 91精品国产91热久久久做人人 | 日韩激情一区二区| 国产剧情一区在线| 91久久精品一区二区三| 精品日韩欧美一区二区| 国产片一区二区三区| 婷婷丁香激情综合| 国产91精品一区二区| 欧美色电影在线| 国产亚洲欧洲997久久综合| 亚洲成年人影院| 99re视频精品| 久久综合一区二区| 日韩电影免费在线|