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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? wmvhdparser.cpp

?? sigmadesign smp8623 gui source code ,bingo
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
		RMDBGLOG((GUIPARSERDBG, "Could not read top of image (ParseImage) ... error\n"));		goto invalidBitmap;	}	else {		RMasciiToUInt16 (str, &(bitmap->object.y));	}	str = pnode->Attribute(XMLZINDEX_NODE, true);	if (str == (RMascii *)NULL) {		RMDBGLOG((GUIPARSERDBG, "Could not read zIndex of image (ParseImage) ... default to 0\n"));		bitmap->object.zIndex = 0;	}	else {		RMasciiToUInt8 (str, &(bitmap->object.zIndex));	}	// set visibility -- not defined in WMHD xml	bitmap->object.visible = TRUE;			str = pnode->Attribute(XMLTRANSPARENTCOLOR_NODE, true);	if (str == (RMascii *)NULL) {//		RMDBGLOG((GUIPARSERDBG, "Could not read bitmap transparent color... ignoring\n"));	}	else {				if((str[0] == '0') &&		   (str[1] == 'x')) {			// hexa			RMasciiHexToUint64(str+2, &color);			bitmap->object.transparentcolor = (RMuint32)color;					}		else {			RMasciiToUInt32 (str, &(bitmap->object.transparentcolor));		}	}		str = pnode->Attribute(XMLUSETRANSPARENTCOLOR_NODE, true);	if (str != (RMascii *)NULL) {		if (RMCompareAsciiCaseInsensitively (str, "TRUE")) {			bitmap->object.usetransparentcolor = TRUE;		}		else if (RMCompareAsciiCaseInsensitively (str, "FALSE")) {			bitmap->object.usetransparentcolor = FALSE;		}		else {			RMDBGLOG((GUIPARSERDBG, "Invalid usetransparentcolor value of bitmap ... error\n"));			goto invalidBitmap;		}		}	else		bitmap->object.usetransparentcolor = FALSE;			str = pnode->Attribute(XMLEVENT_NODE, true);	if (str == (RMascii *)NULL) {//		RMDBGLOG((GUIPARSERDBG, "Could not read bitmap event (ParseEventBitmap) ... ignoring\n"));	}	else {		bitmap->event = STRDUP(str);	}		// display param / condition go together	str = pnode->Attribute(XMLDISPLAYCONDITION_NODE, true);	if (str != (RMascii *)NULL) {		RMasciiToUInt16 (str, &(bitmap->displayCondition));			str = pnode->Attribute(XMLDISPLAYPARAMETER_NODE, true);		if (str != (RMascii *)NULL) {			bitmap->displayParameter = STRDUP(str);		}		else{			bitmap->displayCondition = 0;			bitmap->displayParameter = (RMascii*)NULL;		}	}		//	RMDBGLOG((GUIPARSERDBG, "Bitmap : name : %s, x=%d, y=%d, visible : %s\n",//		  bitmap->name, bitmap->object.x, bitmap->object.y, bitmap->object.visible ? "TRUE":"FALSE"));	// set id	bitmap->id = BITMAP_IDMASK | m_nextBitmapId++;		return bitmap; invalidBitmap:	FreeBitmap(bitmap);	return (guiBitmapType*)NULL;}void RMWmvHDParser::FreeBitmap(guiBitmapType *bitmap){	if(bitmap == NULL)		return;		if(bitmap->name != (RMascii *)NULL){		RFREE(bitmap->name);		bitmap->name = NULL;	}	if(bitmap->object.file != (RMascii *)NULL){		RFREE(bitmap->object.file);		bitmap->object.file = NULL;	}	if(bitmap->event != (RMascii *)NULL){		RFREE(bitmap->event);		bitmap->event = NULL;	}		if(bitmap->displayParameter != (RMascii *)NULL){		RFREE(bitmap->displayParameter);		bitmap->displayParameter = NULL;	}	RFREE(bitmap);	}////////////////////////////////////////////////////////////////////////////////// MEDIA OBJECTS////////////////////////////////////////////////////////////////////////////////RMstatus RMWmvHDParser::GetMediaFiles(guiMediaType *media[MAX_GUI_MEDIA], RMuint16 *nMediaFiles){	if(m_nbMediaFiles){		RMMemcpy(media, m_MediaFiles, sizeof(m_MediaFiles));		*nMediaFiles = m_nbMediaFiles;	}	return RM_OK;}guiMediaType *RMWmvHDParser::ParseMediaFile(TiXmlElement *pnode){	const RMascii *str;	guiMediaType *media;	TiXmlElement *ptempNode;	media = (guiMediaType*) CALLOC(1, sizeof(guiMediaType));	str = pnode->Attribute(XMLID_NODE, true);	// name	if (str == (RMascii *)NULL) {		RMDBGLOG((GUIPARSERDBG, "Could not read media id ... error\n"));		goto invalidMedia;	}	else {		media->name = STRDUP(str);	}		str = pnode->Attribute(XMLSRC_NODE, true);	// file	if (str == (RMascii *)NULL) {		RMDBGLOG((GUIPARSERDBG, "Could not read media src ... error\n"));		goto invalidMedia;	}	else {		media->file = RMCatAscii(m_mountPoint, str, NULL);		if(IsValidPath(media->file) == FALSE){			if(RMFAILED(FindFile(media->file))){				RMDBGLOG((GUIPARSERDBG, "Invalid path given for bitmap (ParseImage) ... error\n"));				goto invalidMedia;			}		}	}		str = pnode->Attribute(XMLCANSKIP_NODE, true);	if (str != (RMascii *)NULL) {		if (RMCompareAsciiCaseInsensitively (str, "TRUE")) {			media->canSkip = TRUE;		}		else if (RMCompareAsciiCaseInsensitively (str, "FALSE")) {			media->canSkip = FALSE;		}		else {			RMDBGLOG((GUIPARSERDBG, "Invalid canskip value of media ... (Parse Media)\n"));			goto invalidMedia;		}		}	else		goto invalidMedia;			str = pnode->Attribute(XMLWHENDONE_NODE, true);	if (str == (RMascii *)NULL) {		RMDBGLOG((GUIPARSERDBG, "Could not read whenDone from media object ... error\n"));		goto invalidMedia;	}	else {		media->whenDone = STRDUP(str);	}		str = pnode->Attribute(XMLDURATION_NODE, true);	if (str == (RMascii *)NULL) {		RMDBGLOG((GUIPARSERDBG, "Could not read media object duration... setting to 10 secs\n"));		media->duration = 10;	}	else {		media->duration = ConvertSMPTEtoSecs(str);	}	for(ptempNode = pnode->FirstChildElement(); ptempNode != NULL; ptempNode = ptempNode->NextSiblingElement()) {       		str = ptempNode->Value();		if (str == (RMascii *)NULL)			continue;		RMDBGLOG((GUIPARSERDBG, "node : %s\n", (char*)str));		if (RMCompareAsciiCaseInsensitively (str, XMLCHAPTER_NODE)) {			media->chapters[media->nbChapters] = ParseChapter(ptempNode);			if(media->chapters[media->nbChapters] != (guiChapterType*)NULL){				media->nbChapters++;			}					}		else {			RMDBGLOG((GUIPARSERDBG, "unknown node [%s] in media\n", str));		}	}		RMDBGLOG((GUIPARSERDBG, "Media object: name : %s, file: %s\n", media->name, media->file));		// set id	media->id = MEDIA_IDMASK | m_nbMediaFiles;	       	return media;	 invalidMedia:	FreeMediaFile(media);	return (guiMediaType*)NULL;}void RMWmvHDParser::FreeMediaFile(guiMediaType *media){	if(media == NULL)		return;			if(media->name != (RMascii *)NULL){		RFREE(media->name);		media->name = NULL;	}		if(media->file != (RMascii *)NULL){		RFREE(media->file);		media->file = NULL;	}		if(media->whenDone != (RMascii *)NULL){		RFREE(media->whenDone);		media->whenDone = NULL;	}	for(RMuint16 i = 0; i < media->nbChapters; i++){		FreeChapter(media->chapters[i]);		media->chapters[i] = NULL;	}	RFREE(media);}////////////////////////////////////////////////////////////////////////////////// MEDIA CHAPTERS////////////////////////////////////////////////////////////////////////////////guiChapterType *RMWmvHDParser::ParseChapter(TiXmlElement *pnode){	const RMascii *str;	guiChapterType *chapter;	chapter = (guiChapterType*) CALLOC(1, sizeof(guiChapterType));		str = pnode->Attribute(XMLID_NODE, true);	// name -- case free	if (str == (RMascii *)NULL) {		RMDBGLOG((GUIPARSERDBG, "Could not read name of chapter (ParseChapter) ... error\n"));		goto invalidChapter;	}	else {		chapter->name = STRDUP(str);	}		str = pnode->Attribute(XMLSTARTTIME_NODE, true);	if (str == (RMascii *)NULL) {		RMDBGLOG((GUIPARSERDBG, "Could not read chapter starttime (ParseChapter) ... error\n"));		goto invalidChapter;	}	else {		chapter->startTime = ConvertSMPTEtoSecs(str);		// initialize seekTime as startTime		chapter->seekTime = chapter->startTime;	}			RMDBGLOG((GUIPARSERDBG, "Chapter : name : %s, startTime=%s\n",		  chapter->name, chapter->startTime));	// set id	chapter->id = CHAPTER_IDMASK | m_nextChapterId++;		return chapter;	 invalidChapter:	FreeChapter(chapter);	return (guiChapterType*)NULL;}void RMWmvHDParser::FreeChapter(guiChapterType *chapter){	if(chapter == NULL)		return;		if(chapter->name != (RMascii *)NULL){		RFREE(chapter->name);		chapter->name = NULL;	}		RFREE(chapter);	}////////////////////////////////////////////////////////////////////////////////// COMMANDS////////////////////////////////////////////////////////////////////////////////RMstatus RMWmvHDParser::GetCommands(guiCommandType *commands[MAX_GUI_COMMANDS], RMuint16 *nCommands){	if(m_nbCommands){		RMMemcpy(commands, m_Commands, sizeof(m_Commands));	}	*nCommands = m_nbCommands;				return RM_OK;}guiCommandType *RMWmvHDParser::AddCommand(RMascii* commandName, RMuint32 id){	guiCommandType *cmd;	cmd = (guiCommandType*) CALLOC(1, sizeof(guiCommandType));	cmd->name = STRDUP(commandName);	cmd->id = id;	//	RMDBGLOG((GUIPARSERDBG, "Command : name : %s, value : %ld\n", //		  cmd->name, cmd->value));	return cmd;}void RMWmvHDParser::FreeCommand(guiCommandType *cmd){	if(cmd == NULL)		return;			if(cmd->name != (RMascii *)NULL){		RFREE(cmd->name);		cmd->name = NULL;	}	RFREE(cmd);	}///////////////////////////////////////////////////////////////////////////////RMuint32 RMWmvHDParser::ConvertSMPTEtoSecs(const RMascii* str){	unsigned int hours, mins, secs, frames;		if(RMasciiLength(str) == RMasciiLength("hh:mm:ss.ff"))		sscanf(str, "%02u:%02u:%02u.%02u", &hours, &mins, &secs, &frames);	else if(RMasciiLength(str) == RMasciiLength("hh:mm:ss.f"))		sscanf(str, "%02u:%02u:%02u.%u", &hours, &mins, &secs, &frames);	else		return 0;			return (hours * 3600 + mins * 60 + secs);}RMbool RMWmvHDParser::IsValidPath(const RMascii* path){	FILE *fp;		// Open the prospective BITMAP file	if ((fp = fopen(path, "rb")) != NULL){		fclose(fp);		return TRUE;	}		return FALSE;}RMstatus RMWmvHDParser::FindFile(RMascii* path){	RMascii dir[256];	RMascii name[256];	DIR *d;	struct dirent *c;	RMbool found = FALSE;		RMuint16 length = RMasciiLength(path);	RMuint16 position = 0;	RMuint16 i, j;	RMMemset(name, 0, sizeof(name));	RMMemset(dir, 0, sizeof(dir));		//printf("looking for case insensitive %s\n", path);		// split name and directory to test them individually		// find last slash ('/')	for(i = 0; i < length; i++){		if(path[i] == '/'){			position = i;			continue;		}	}		for(i = position + 1, j = 0; i < length; i++, j++){		name[j] = path[i];	}		if(name[0] == 0)		return RM_ERROR;			RMNCopyAscii(dir, path, position + 1);//length - RMasciiLength(name));		d = opendir(dir);	if(d == NULL){		// directory does not exist, try to find it		RMascii dirs[20][80];	// max 20 levels deep		RMuint16 dirlength = RMasciiLength(dir);		RMuint8 count = 0;		RMascii tempdir[256];					// get all directories in the path		j = 0;		// start after first '/'		for(i = 1; i < dirlength; i++){			if(dir[i] != '/')				dirs[count][j++] = dir[i];			else{				dirs[count][j] = '\0';				count++;				if(count > 20)					return RM_ERROR;				j = 0;			}		}				// build path one by one checking for errors and correcting them		RMCopyAscii(tempdir, "/");		RMAppendAscii(tempdir, dirs[0]);// add mnt and skip it from loop		RMAppendAscii(tempdir, "/");		RMCopyAscii(dir, tempdir);	// backup good directory		for(i = 1; i < count; i++){			RMAppendAscii(tempdir, dirs[i]);			RMAppendAscii(tempdir, "/");			d = opendir(tempdir);			if(d != NULL){				closedir(d);				RMAppendAscii(dir, dirs[i]);				RMAppendAscii(dir, "/");				continue;			}			else{				// current dir not found, open last good dir and look for it				d = opendir(dir);				if(d != NULL){					found = FALSE;					while((c = readdir(d))!= NULL){						if(RMCompareAscii(c->d_name, ".") || RMCompareAscii(c->d_name, ".."))							continue;						else{							// match directory with parent directory entries							if(RMCompareAsciiCaseInsensitively(dirs[i], c->d_name)){								// found a match, save it and stop this search								RMAppendAscii(dir, c->d_name);								RMAppendAscii(dir, "/");								RMCopyAscii(tempdir, dir);								found = TRUE;								break;								}						}					}					closedir(d);					if(found == FALSE){						// did not find directory, quit search completely						return RM_ERROR;										}																						}				else{					// fs error, quit					return RM_ERROR;				}			}		}		d = opendir(dir);		if(d == NULL)			return RM_ERROR;	}				// find file in good directory	found = FALSE;	RMASSERT(d != NULL);	while((c = readdir(d))!= NULL){		if(RMCompareAscii(c->d_name, ".") || RMCompareAscii(c->d_name, ".."))			continue;		else{			// compare file name with directory entries			if(RMCompareAsciiCaseInsensitively(name, c->d_name)){				// bingo, save and jump out				RMCopyAscii(name, c->d_name);				found = TRUE;				break;			}		}					}	closedir(d);			if(found){		RMCopyAscii(path, dir);		RMAppendAscii(path, name);		//printf("found case insensitive %s\n", path);		return RM_OK;	}					return RM_ERROR;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美日韩电影| 久久亚洲影视婷婷| 午夜天堂影视香蕉久久| 欧美午夜精品一区| 蜜臀久久99精品久久久久宅男| 欧美一级专区免费大片| 国内精品久久久久影院薰衣草| 精品三级在线看| 丁香六月综合激情| 一区二区三区影院| 日韩视频一区二区| 国产一区二区精品久久| 自拍av一区二区三区| 91成人在线观看喷潮| 日韩精品成人一区二区三区| 日韩女优av电影| 福利一区在线观看| 亚洲综合一二三区| 日韩女同互慰一区二区| 成人激情午夜影院| 午夜国产精品一区| 久久久777精品电影网影网| 99re亚洲国产精品| 另类欧美日韩国产在线| 国产欧美精品一区二区色综合朱莉| 色欧美日韩亚洲| 麻豆91精品91久久久的内涵| 国产精品久久久久久久岛一牛影视| 91久久久免费一区二区| 精品一区二区精品| 亚洲精品中文字幕在线观看| 日韩三区在线观看| 91亚洲精品久久久蜜桃网站| 美洲天堂一区二卡三卡四卡视频| 国产精品理伦片| 精品国产一区二区亚洲人成毛片 | 亚洲色图在线播放| 91精品国产麻豆国产自产在线 | 欧美一区二区三区小说| 99久久精品国产一区二区三区 | 日韩精品高清不卡| 国产精品国产三级国产普通话99| 欧美日韩1234| 91免费小视频| 国产精品1区2区| 午夜电影久久久| 亚洲精品亚洲人成人网在线播放| 久久综合九色综合97_久久久| 在线观看日韩国产| 97se狠狠狠综合亚洲狠狠| 国产精品一卡二卡| 日韩经典中文字幕一区| 一区二区在线观看av| 欧美国产日韩亚洲一区| 日韩免费一区二区三区在线播放| 在线精品视频一区二区三四| 成人av资源下载| 国产高清无密码一区二区三区| 日本成人在线电影网| 亚洲国产中文字幕| 一区二区三区国产精华| 中文字幕一区二区在线观看 | 欧美高清你懂得| 91麻豆成人久久精品二区三区| 国产乱人伦精品一区二区在线观看 | 国产欧美精品日韩区二区麻豆天美| 日韩欧美在线1卡| 国产午夜精品一区二区| 日韩你懂的电影在线观看| 欧美一区永久视频免费观看| 成人午夜激情影院| 麻豆精品视频在线观看视频| 亚洲午夜在线电影| 亚洲国产日韩a在线播放性色| 亚洲精品伦理在线| 樱花影视一区二区| 亚洲午夜一区二区| 日本不卡一二三区黄网| 亚洲综合色丁香婷婷六月图片| 7777精品伊人久久久大香线蕉 | 久久久精品天堂| 亚洲乱码一区二区三区在线观看| 午夜一区二区三区视频| 国产一区二区三区黄视频 | 成人黄色av电影| 欧美日韩中文一区| 久久九九全国免费| 日本一道高清亚洲日美韩| 在线观看中文字幕不卡| 91精品国产色综合久久不卡蜜臀 | 久久无码av三级| 亚洲综合在线五月| 国产成人免费网站| 欧美女孩性生活视频| 国产精品麻豆欧美日韩ww| 秋霞电影一区二区| 欧美性生交片4| 国产精品久久久久四虎| 美女视频一区在线观看| 91电影在线观看| 欧美韩国日本一区| 精品一区二区三区的国产在线播放 | 蜜臀a∨国产成人精品| 色综合激情久久| 欧美激情在线观看视频免费| 青青草视频一区| 欧美视频完全免费看| 国产精品欧美一级免费| 精一区二区三区| 在线不卡a资源高清| 亚洲欧美另类图片小说| 国产高清在线精品| 欧美精品一区二| 日韩精品成人一区二区三区| 欧美最猛性xxxxx直播| 亚洲乱码中文字幕| 99视频一区二区三区| 久久一区二区三区四区| 激情图区综合网| 日韩小视频在线观看专区| 亚洲成国产人片在线观看| 色一区在线观看| 亚洲同性gay激情无套| 成人精品视频一区二区三区尤物| 久久久另类综合| 国产精品夜夜爽| 久久精品视频免费| 国产成人精品亚洲午夜麻豆| 精品国产三级a在线观看| 全部av―极品视觉盛宴亚洲| 制服丝袜成人动漫| 亚洲 欧美综合在线网络| 欧美日韩在线播放| 日韩高清不卡一区二区| 5566中文字幕一区二区电影| 亚洲图片一区二区| 欧美性受xxxx| 日韩激情一区二区| 日韩视频免费观看高清完整版| 青青草国产成人99久久| 日韩女优毛片在线| 国产精品亚洲专一区二区三区 | 一区二区三区在线免费| 色欧美片视频在线观看| 亚洲国产日韩a在线播放| 欧美色综合网站| 日韩影院在线观看| 精品日产卡一卡二卡麻豆| 国产美女在线精品| 中文一区在线播放| 色婷婷av一区二区| 日韩va欧美va亚洲va久久| 日韩精品一区二区三区蜜臀| 国产精品自在欧美一区| 国产三级精品三级| 色综合天天综合在线视频| 亚洲一区自拍偷拍| 国产精品理伦片| 色婷婷亚洲精品| 日韩av电影一区| 久久久三级国产网站| 91免费观看国产| 亚洲成a人v欧美综合天堂| 欧美v日韩v国产v| 99久久久久久| 日本亚洲天堂网| 国产视频911| 在线免费观看视频一区| 久久99久久99| 亚洲视频在线一区二区| 欧美精品亚洲二区| 国产98色在线|日韩| 亚洲国产乱码最新视频| 欧美电影免费观看高清完整版在线| 国产69精品久久99不卡| 一区二区三区小说| 久久日韩粉嫩一区二区三区| 色婷婷综合视频在线观看| 蜜桃视频免费观看一区| 国产精品网站导航| 91精品综合久久久久久| 丁香网亚洲国际| 午夜免费久久看| 欧美激情中文字幕| 欧美一级日韩免费不卡| 99视频在线观看一区三区| 免费观看成人鲁鲁鲁鲁鲁视频| 中文字幕一区二区三区视频| 337p亚洲精品色噜噜| 91在线高清观看| 国精产品一区一区三区mba视频| 亚洲欧美国产高清| 久久午夜羞羞影院免费观看| 欧美日韩精品欧美日韩精品 | 91欧美激情一区二区三区成人| 久久精品国产久精国产| 亚洲一区二区三区四区在线 | 亚洲综合激情小说| 国产嫩草影院久久久久| 在线成人免费观看|