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

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

?? plugin.cpp

?? 一款最完整的工業(yè)組態(tài)軟源代碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
				FreeImage_Close(node, io, handle, data);

				return bitmap;
			}
		}
	}
	}

	return NULL;
}

FIBITMAP * DLL_CALLCONV
FreeImage_Load(FREE_IMAGE_FORMAT fif, const char *filename, int flags) {
	FreeImageIO io;
	SetDefaultIO(&io);
	
	FILE *handle = fopen(filename, "rb");

	if (handle) {
		FIBITMAP *bitmap = FreeImage_LoadFromHandle(fif, &io, (fi_handle)handle, flags);

		fclose(handle);

		return bitmap;
	}

	return NULL;
}

BOOL DLL_CALLCONV
FreeImage_SaveToHandle(FREE_IMAGE_FORMAT fif, FIBITMAP *dib, FreeImageIO *io, fi_handle handle, int flags) {
	if ((fif >= 0) && (fif < FreeImage_GetFIFCount())) {
		PluginNode *node = s_plugins->FindNodeFromFIF(fif);

		if (node) {
			if (node->m_enabled) {
				if(node->m_plugin->save_proc != NULL) {
				BOOL result = FALSE;

				void *data = FreeImage_Open(node, io, handle, FALSE);

				result = node->m_plugin->save_proc(io, dib, handle, -1, flags, data);

				FreeImage_Close(node, io, handle, data);

				return result;
			}
		}
	}
	}

	return FALSE;
}


BOOL DLL_CALLCONV
FreeImage_Save(FREE_IMAGE_FORMAT fif, FIBITMAP *dib, const char *filename, int flags) {
	FreeImageIO io;
	SetDefaultIO(&io);
	
	FILE *handle = fopen(filename, "w+b");
	
	if (handle) {
		BOOL success = FreeImage_SaveToHandle(fif, dib, &io, (fi_handle)handle, flags);

		fclose(handle);

		return success;
	}

	return FALSE;
}

// =====================================================================
// Plugin construction + enable/disable functions
// =====================================================================

FREE_IMAGE_FORMAT DLL_CALLCONV
FreeImage_RegisterLocalPlugin(FI_InitProc proc_address, const char *format, const char *description, const char *extension, const char *regexpr) {
	return s_plugins->AddNode(proc_address, NULL, format, description, extension, regexpr);
}

#ifdef WIN32
FREE_IMAGE_FORMAT DLL_CALLCONV
FreeImage_RegisterExternalPlugin(const char *path, const char *format, const char *description, const char *extension, const char *regexpr) {
	if (path != NULL) {
		HINSTANCE instance = LoadLibraryA(path);

		if (instance != NULL) {
			FARPROC proc_address = GetProcAddress(instance, "_Init@8");

			FREE_IMAGE_FORMAT result = s_plugins->AddNode((FI_InitProc)proc_address, (void *)instance, format, description, extension, regexpr);

			if (result == FIF_UNKNOWN)
				FreeLibrary(instance);

			return result;
		}
	}

	return FIF_UNKNOWN;
}
#endif // WIN32

int DLL_CALLCONV
FreeImage_SetPluginEnabled(FREE_IMAGE_FORMAT fif, BOOL enable) {
	if (s_plugins != NULL) {
		PluginNode *node = s_plugins->FindNodeFromFIF(fif);

		if (node != NULL) {
			BOOL previous_state = node->m_enabled;

			node->m_enabled = enable;

			return previous_state;
		}
	}

	return -1;
}

int DLL_CALLCONV
FreeImage_IsPluginEnabled(FREE_IMAGE_FORMAT fif) {
	if (s_plugins != NULL) {
		PluginNode *node = s_plugins->FindNodeFromFIF(fif);

		return (node != NULL) ? node->m_enabled : FALSE;
	}
	
	return -1;
}

// =====================================================================
// Plugin Access Functions
// =====================================================================

int DLL_CALLCONV
FreeImage_GetFIFCount() {
	return (s_plugins != NULL) ? s_plugins->Size() : 0;
}

FREE_IMAGE_FORMAT DLL_CALLCONV
FreeImage_GetFIFFromFormat(const char *format) {
	if (s_plugins != NULL) {
		PluginNode *node = s_plugins->FindNodeFromFormat(format);

		return (node != NULL) ? (node->m_enabled) ? (FREE_IMAGE_FORMAT)node->m_id : FIF_UNKNOWN : FIF_UNKNOWN;
	}

	return FIF_UNKNOWN;
}

FREE_IMAGE_FORMAT DLL_CALLCONV
FreeImage_GetFIFFromMime(const char *mime) {
	if (s_plugins != NULL) {
		PluginNode *node = s_plugins->FindNodeFromMime(mime);

		return (node != NULL) ? (node->m_enabled) ? (FREE_IMAGE_FORMAT)node->m_id : FIF_UNKNOWN : FIF_UNKNOWN;
	}

	return FIF_UNKNOWN;
}

const char * DLL_CALLCONV
FreeImage_GetFormatFromFIF(FREE_IMAGE_FORMAT fif) {
	if (s_plugins != NULL) {
		PluginNode *node = s_plugins->FindNodeFromFIF(fif);

		return (node != NULL) ? (node->m_format != NULL) ? node->m_format : node->m_plugin->format_proc() : NULL;
	}

	return NULL;
}

const char * DLL_CALLCONV 
FreeImage_GetFIFMimeType(FREE_IMAGE_FORMAT fif) {
	if (s_plugins != NULL) {
		PluginNode *node = s_plugins->FindNodeFromFIF(fif);

		return (node != NULL) ? (node->m_plugin != NULL) ? ( node->m_plugin->mime_proc != NULL )? node->m_plugin->mime_proc() : NULL : NULL : NULL;
	}

	return NULL;
}

const char * DLL_CALLCONV
FreeImage_GetFIFExtensionList(FREE_IMAGE_FORMAT fif) {
	if (s_plugins != NULL) {
		PluginNode *node = s_plugins->FindNodeFromFIF(fif);

		return (node != NULL) ? (node->m_extension != NULL) ? node->m_extension : (node->m_plugin->extension_proc != NULL) ? node->m_plugin->extension_proc() : NULL : NULL;
	}

	return NULL;
}

const char * DLL_CALLCONV
FreeImage_GetFIFDescription(FREE_IMAGE_FORMAT fif) {
	if (s_plugins != NULL) {
		PluginNode *node = s_plugins->FindNodeFromFIF(fif);

		return (node != NULL) ? (node->m_description != NULL) ? node->m_description : (node->m_plugin->description_proc != NULL) ? node->m_plugin->description_proc() : NULL : NULL;
	}

	return NULL;
}

const char * DLL_CALLCONV
FreeImage_GetFIFRegExpr(FREE_IMAGE_FORMAT fif) {
	if (s_plugins != NULL) {
		PluginNode *node = s_plugins->FindNodeFromFIF(fif);

		return (node != NULL) ? (node->m_regexpr != NULL) ? node->m_regexpr : (node->m_plugin->regexpr_proc != NULL) ? node->m_plugin->regexpr_proc() : NULL : NULL;
	}

	return NULL;
}

BOOL DLL_CALLCONV
FreeImage_FIFSupportsReading(FREE_IMAGE_FORMAT fif) {
	if (s_plugins != NULL) {
		PluginNode *node = s_plugins->FindNodeFromFIF(fif);

		return (node != NULL) ? node->m_plugin->load_proc != NULL : FALSE;
	}

	return FALSE;
}

BOOL DLL_CALLCONV
FreeImage_FIFSupportsWriting(FREE_IMAGE_FORMAT fif) {
	if (s_plugins != NULL) {
		PluginNode *node = s_plugins->FindNodeFromFIF(fif);

		return (node != NULL) ? node->m_plugin->save_proc != NULL : FALSE ;
	}

	return FALSE;
}

BOOL DLL_CALLCONV
FreeImage_FIFSupportsExportBPP(FREE_IMAGE_FORMAT fif, int depth) {
	if (s_plugins != NULL) {
		PluginNode *node = s_plugins->FindNodeFromFIF(fif);

		return (node != NULL) ? 
			(node->m_plugin->supports_export_bpp_proc != NULL) ? 
				node->m_plugin->supports_export_bpp_proc(depth) : FALSE : FALSE;
	}

	return FALSE;
}

BOOL DLL_CALLCONV
FreeImage_FIFSupportsExportType(FREE_IMAGE_FORMAT fif, FREE_IMAGE_TYPE type) {
	if (s_plugins != NULL) {
		PluginNode *node = s_plugins->FindNodeFromFIF(fif);

		return (node != NULL) ? 
			(node->m_plugin->supports_export_type_proc != NULL) ? 
				node->m_plugin->supports_export_type_proc(type) : FALSE : FALSE;
	}

	return FALSE;
}

BOOL DLL_CALLCONV
FreeImage_FIFSupportsICCProfiles(FREE_IMAGE_FORMAT fif) {
	if (s_plugins != NULL) {
		PluginNode *node = s_plugins->FindNodeFromFIF(fif);

		return (node != NULL) ? 
			(node->m_plugin->supports_icc_profiles_proc != NULL) ? 
				node->m_plugin->supports_icc_profiles_proc() : FALSE : FALSE;
	}

	return FALSE;
}

FREE_IMAGE_FORMAT DLL_CALLCONV
FreeImage_GetFIFFromFilename(const char *filename) {
	if (filename != NULL) {
		const char *extension;

		// get the proper extension if we received a filename

		char *place = strrchr((char *)filename, '.');	
		extension = (place != NULL) ? ++place : filename;

		// look for the extension in the plugin table

		for (int i = 0; i < FreeImage_GetFIFCount(); ++i) {

			if (s_plugins->FindNodeFromFIF(i)->m_enabled) {

			// compare the format id with the extension

			if (FreeImage_stricmp(FreeImage_GetFormatFromFIF((FREE_IMAGE_FORMAT)i), extension) == 0) {
					return (FREE_IMAGE_FORMAT)i;
				} else {
				// make a copy of the extension list and split it

				char *copy = (char *)malloc(strlen(FreeImage_GetFIFExtensionList((FREE_IMAGE_FORMAT)i)) + 1);
				memset(copy, 0, strlen(FreeImage_GetFIFExtensionList((FREE_IMAGE_FORMAT)i)) + 1);
				memcpy(copy, FreeImage_GetFIFExtensionList((FREE_IMAGE_FORMAT)i), strlen(FreeImage_GetFIFExtensionList((FREE_IMAGE_FORMAT)i)));

				// get the first token

				char *token = strtok(copy, ",");

				while (token != NULL) {
					if (FreeImage_stricmp(token, extension) == 0) {
						free(copy);

							return (FREE_IMAGE_FORMAT)i;
					}

					token = strtok(NULL, ",");
				}

				// free the copy of the extension list

				free(copy);
			}	
			}
		}
	}

	return FIF_UNKNOWN;
}

BOOL DLL_CALLCONV
FreeImage_Validate(FREE_IMAGE_FORMAT fif, FreeImageIO *io, fi_handle handle) {
	if (s_plugins != NULL) {
		BOOL validated = FALSE;

		PluginNode *node = s_plugins->FindNodeFromFIF(fif);

		if (node) {
			long tell = io->tell_proc(handle);

			validated = (node != NULL) ? (node->m_enabled) ? (node->m_plugin->validate_proc != NULL) ? node->m_plugin->validate_proc(io, handle) : FALSE : FALSE : FALSE;

			io->seek_proc(handle, tell, SEEK_SET);
		}

		return validated;
	}

	return FALSE;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产1区二区| 国产色产综合产在线视频| 激情深爱一区二区| 日韩美女视频一区二区| 日韩欧美资源站| 欧美网站一区二区| 成人中文字幕电影| 久久成人av少妇免费| 亚洲精品国产a| 国产精品国产精品国产专区不片| 欧美一区二区视频在线观看2020 | 国产一区二区成人久久免费影院| 一区二区三区影院| 国产精品美日韩| 精品国产91九色蝌蚪| 欧美日产在线观看| 日本大香伊一区二区三区| 国产成人免费av在线| 看电影不卡的网站| 日本中文在线一区| 亚洲一二三专区| 一区二区三区四区在线| 国产精品夫妻自拍| 中文字幕第一区综合| 久久美女高清视频| 精品国产区一区| 欧美电视剧在线观看完整版| 欧美色综合天天久久综合精品| 99久久婷婷国产| 不卡电影一区二区三区| 国产成a人亚洲| 国产一区二区在线观看视频| 免费观看91视频大全| 石原莉奈一区二区三区在线观看| 亚洲国产日韩一区二区| 亚洲夂夂婷婷色拍ww47| 亚洲综合一区二区三区| 亚洲一区二区在线免费看| 亚洲资源在线观看| 午夜视频一区二区| 午夜激情综合网| 日韩av电影免费观看高清完整版| 亚洲a一区二区| 日本最新不卡在线| 麻豆视频观看网址久久| 韩国av一区二区三区四区 | 国产91丝袜在线播放0| 国产乱一区二区| 成人深夜福利app| 99re这里只有精品视频首页| 色综合咪咪久久| 在线视频欧美区| 欧美另类久久久品| 精品久久国产字幕高潮| 精品国内二区三区| 久久九九99视频| 国产精品久久久爽爽爽麻豆色哟哟| 欧美激情一区二区在线| 亚洲欧美在线另类| 亚洲国产cao| 久久99精品久久久久久久久久久久 | 狠狠色综合播放一区二区| 国产高清精品在线| 91丨九色丨国产丨porny| 在线观看一区二区视频| 91精品国产91久久久久久最新毛片| 日韩欧美卡一卡二| 国产欧美精品区一区二区三区| 亚洲天堂2014| 日韩不卡一区二区三区| 国产aⅴ综合色| 在线日韩av片| 精品久久久久av影院| 成人欧美一区二区三区| 舔着乳尖日韩一区| 成人深夜福利app| 欧美精品丝袜中出| 中文文精品字幕一区二区| 亚洲精品成人在线| 韩国精品在线观看| 在线精品视频一区二区| 久久亚洲综合色| 亚洲丰满少妇videoshd| 国产乱理伦片在线观看夜一区 | 久久久久97国产精华液好用吗| 亚洲欧美日韩综合aⅴ视频| 男女性色大片免费观看一区二区| 成a人片亚洲日本久久| 欧美一区二区三区婷婷月色| 中文字幕精品—区二区四季| 午夜精品视频在线观看| www.在线成人| 欧美成人一级视频| 亚洲国产aⅴ成人精品无吗| 国产风韵犹存在线视精品| 欧美手机在线视频| 国产精品久久久久久久午夜片 | 日韩一区精品视频| 成人的网站免费观看| 日韩视频不卡中文| 亚洲综合视频在线观看| 国产69精品久久99不卡| 日韩一区二区在线看| 一区二区三区日韩欧美| 丁香婷婷综合网| 精品国产91乱码一区二区三区 | 中文字幕一区av| 狠狠色2019综合网| 欧美一区二区三区视频免费| 一区二区三区日韩欧美精品| 成人影视亚洲图片在线| 2020日本不卡一区二区视频| 天堂精品中文字幕在线| 色婷婷久久一区二区三区麻豆| 久久老女人爱爱| 精品一区二区三区视频在线观看| 欧美日韩中文另类| 一区二区久久久| 99免费精品在线观看| 国产日韩欧美麻豆| 国产一区二区在线视频| 精品国产一区久久| 老司机午夜精品| 日韩欧美高清dvd碟片| 免费一级欧美片在线观看| 欧美精品国产精品| 亚洲成人1区2区| 欧美三级在线看| 亚洲综合色区另类av| 色琪琪一区二区三区亚洲区| ...xxx性欧美| 91在线视频18| 亚洲精品成人在线| 在线观看视频一区二区| 一区二区三国产精华液| 欧美在线高清视频| 亚洲国产精品一区二区www在线 | 国产亚洲欧美日韩在线一区| 美洲天堂一区二卡三卡四卡视频 | 久久女同互慰一区二区三区| 美女视频黄免费的久久| 欧美成人aa大片| 国产美女精品一区二区三区| 久久亚洲精华国产精华液 | 国产亚洲欧美日韩俺去了| 国产一区二区不卡在线| 国产日韩精品一区二区三区在线| 高清不卡在线观看| 1000部国产精品成人观看| 色噜噜狠狠一区二区三区果冻| 亚洲综合成人网| 欧美高清视频在线高清观看mv色露露十八 | 精品国产乱码91久久久久久网站| 久久99精品久久久久久| 久久久久九九视频| av日韩在线网站| 一区二区三区精品| 欧美一区午夜精品| 国产美女在线观看一区| 国产精品第五页| 在线不卡一区二区| 国产最新精品免费| 自拍av一区二区三区| 欧美丰满一区二区免费视频| 久久狠狠亚洲综合| 国产精品灌醉下药二区| 欧美日韩日日摸| 国产剧情av麻豆香蕉精品| 亚洲免费观看高清完整| 91麻豆精品91久久久久久清纯 | 91.麻豆视频| 国产福利91精品| 亚洲成av人片一区二区梦乃| 久久综合精品国产一区二区三区 | 99麻豆久久久国产精品免费 | 国产精品久久久一本精品| 欧美片在线播放| 国产精品1区2区3区| 亚洲综合色网站| 久久一二三国产| 欧美日韩中文字幕一区| 福利一区二区在线观看| 午夜精品视频在线观看| 国产欧美一区二区精品忘忧草| 欧美体内she精高潮| 国产精品影音先锋| 五月婷婷欧美视频| 国产精品人人做人人爽人人添| 欧美精品一二三区| 99re亚洲国产精品| 精品在线观看免费| 亚洲一二三区视频在线观看| 久久久久久久久久久99999| 精品视频一区二区三区免费| 国产成人av自拍| 天堂久久久久va久久久久| 一区在线播放视频| 久久久精品影视| 欧美一区二区视频免费观看| 99精品黄色片免费大全|