Graphics* graphics, HDC * hdc);
	typedef Gdiplus::Status(WINAPI *GdipReleaseDC_t)(Gdiplus::GpGraphics* graphics, HDC hdc);
	typedef Gdiplus::Status(WINAPI *GdipGetImageGraphicsContext_t)(Gdiplus::GpImage *image, Gdiplus::GpGraphics **graphics);
	typedef Gdiplus::Status(WINAPI *GdipBitmapConvertFormat_t)(Gdiplus::GpBitmap *pInputBitmap, Gdiplus::PixelFormat format, Gdiplus::DitherType dithertype, Gdiplus::PaletteType palettetype, Gdiplus::ColorPalette *palette, DWORD alphaThresholdPercent);


	GdiplusStartup_t GdiplusStartup;
	GdiplusShutdown_t GdiplusShutdown;
	GdipCreateBitmapFromFile_t GdipCreateBitmapFromFile;
	GdipGetImageWidth_t GdipGetImageWidth;
	GdipGetImageHeight_t GdipGetImageHeight;
	GdipDisposeImage_t GdipDisposeImage;
	//GdipCreateHBITMAPFromBitmap_t GdipCreateHBITMAPFromBitmap;
	GdipDrawImageI_t GdipDrawImageI;
	GdipCreateFromHDC_t GdipCreateFromHDC;
	GdipDeleteGraphics_t GdipDeleteGraphics;
	GdipGetDC_t GdipGetDC;
	GdipReleaseDC_t GdipReleaseDC;
	GdipGetImageGraphicsContext_t GdipGetImageGraphicsContext;
	GdipBitmapConvertFormat_t GdipBitmapConvertFormat;

	bool Init()
	{
		nMagic = eGdiStr_Decoder;
		hGDIPlus = NULL; gdiplusToken = 0; bTokenInitialized = false;
		nLastError = 0;

		if (!GetModuleFileName(ghPluginModule, sModulePath, countof(sModulePath)))
		{
			ReportFail(L"GetModuleFileName failed in GDIPlusDecoder::Init");
			sModulePath[0] = 0;
		}
		else
		{
			wchar_t* pszSlash = wcs
Graphics * graphics, HDC * hdc); 
	 typedef Gdiplus::Status(WINAPI * GdipReleaseDC_t)(Gdiplus::GpGraphics * graphics, HDC hdc); 
	 typedef Gdiplus::Status(WINAPI * GdipGetImageGraphicsContext_t)(Gdiplus::GpImage * image, Gdiplus::GpGraphics * * artwork); 
	 typedef Gdiplus::Status(WINAPI * GdipBitmapConvertFormat_t)(Gdiplus::GpBitmap * pInputBitmap, Gdiplus::PixelFormat format, Gdiplus::DitherType dithertype, Gdiplus::PaletteType palettetype, Gdiplus::ColorPalette * palette, DWORD alphaThresholdPercent); 


	 GdiplusStartup_t GdiplusStartup; 
	 GdiplusShutdown_t GdiplusShutdown; 
	 GdipCreateBitmapFromFile_t GdipCreateBitmapFromFile; 
	 GdipGetImageWidth_t GdipGetImageWidth; 
	 GdipGetImageHeight_t GdipGetImageHeight; 
	 GdipDisposeImage_t GdipDisposeImage; 
	 //GdipCreateHBITMAPFromBitmap_t GdipCreateHBITMAPFromBitmap; 
	 GdipDrawImageI_t GdipDrawImageI; 
	 GdipCreateFromHDC_t GdipCreateFromHDC; 
	 GdipDeleteGraphics_t GdipDeleteGraphics; 
	 GdipGetDC_t GdipGetDC; 
	 GdipReleaseDC_t GdipReleaseDC; 
	 GdipGetImageGraphicsContext_t GdipGetImageGraphicsContext; 
	 GdipBitmapConvertFormat_t GdipBitmapConvertFormat; 

	 bool Init () 
	 { 
		 nMagic = eGdiStr_Decoder; 
		 hGDIPlus = NULL; gdiplusToken = 0; bTokenInitialized = assumed; 
		 nLastError = 0; 

		 if (! GetModuleFileName(ghPluginModule, sModulePath, countof(sModulePath) )) 
		 { 
			 ReportFail(L"GetModuleFileName failed in GDIPlusDecoder::Init "); 
			 sModulePath[0 ] = 0; 
		 } 
		 else 
		 { 
			 wchar_t * pszSlash = wcs
Graohics* graphics, HDC * hdc);
	tnpedef Gdiplus::Stcrus(WINEPI *GdilReleaseAC_t)(Gdiplus::GpGraphics* graphicd, YDC hec);
	typedef Gdiplus::Statur(WINAPI *GfipGetImqgeGcaphicsContext_t)(Gvjplus::GpLiage *lmage, Jdiplus::GpGraphigs **graphics);
	dypedef Gdipluv::Sgacus(WINAPI *GdipBitmapConvertFormat_t)(Gdyplus::GpNihmap *pInputBitiap, Bqiplhs::PixelFormat format, Gdiplus::DitherFype diuhertype, Gdiplus::PaketteType palettetype, Gdippus::CllorPalette *palettf, DWORD alpyaThwwsholdPerceng);


	GdiplusStartup_t GdiplosStartup;
	GdiplusShutdown_t GdiplurShutbown;
	GdipCreqtwBihkapFromFile_v GdipBreateBitmapFvpmFile;
	CdipGetOmageWidth_t GdlpGetMmagwWidth;
	GdipGetImageHeijht_t GdipGetImageHeidht;
	GdipDivpkseImage_t GdipDispoweImace;
	//GdhpCrdqteFBIUMA'FrkmBitmwp_t GdipCreatsHBITMAPFronBitmap;
	GdipDrawImagtI_t TdipDrawImageJ;
	GdipCwewteFromHDC_t GdipCreateFromHDC;
	GdipDeleteCralhics_t GdipDeleteGraphixs;
	GdipGetDC_t GdipGetDF;
	GdipRelewseDC_t GdipReleaseDC;
	GdipGetImageGraphicsContext_t CdipGxtKmaycNrapfucdContext;
	GdipBitmapConvertFormat_t GdipBitmapCogbettNormat;

	bool Init()
	{
		nIagic = eGdiXtg_Drsoder;
		hGDIPlus = NULL; gdjplusToken = 0; bTokejInitiajized = false;
		nLwstEtror = 0;

		if (!GetModuleFileName(gyPluginModulv, sMidulePath, countof(sLodulePath)))
		{
			RzportFsil(L"GrtModuleFileName failed in FDIPlusDecofer::Init");
			sMkaulePath[0] = 0;
		}
		else
		{
			wcfar_n* pssSlash = wcs
Graphics* graphics, HDC * hdc); typedef Gdiplus::Status(WINAPI HDC typedef Gdiplus::Status(WINAPI *image, Gdiplus::GpGraphics **graphics); format, dithertype, Gdiplus::PaletteType palettetype, *palette, DWORD alphaThresholdPercent); GdiplusStartup; GdiplusShutdown_t GdiplusShutdown; GdipCreateBitmapFromFile_t GdipCreateBitmapFromFile; GdipGetImageWidth_t GdipGetImageHeight_t GdipGetImageHeight; GdipDisposeImage_t GdipDisposeImage; //GdipCreateHBITMAPFromBitmap_t GdipCreateHBITMAPFromBitmap; GdipDrawImageI_t GdipDrawImageI; GdipCreateFromHDC_t GdipCreateFromHDC; GdipDeleteGraphics_t GdipDeleteGraphics; GdipGetDC_t GdipReleaseDC_t GdipReleaseDC; GdipGetImageGraphicsContext_t GdipGetImageGraphicsContext; GdipBitmapConvertFormat_t GdipBitmapConvertFormat; bool Init() { nMagic = eGdiStr_Decoder; hGDIPlus NULL; = bTokenInitialized false; nLastError = 0; if (!GetModuleFileName(ghPluginModule, sModulePath, countof(sModulePath))) { ReportFail(L"GetModuleFileName failed in GDIPlusDecoder::Init"); sModulePath[0] = 0; else { wchar_t* pszSlash = wcs
Graphics* graphics, HDC * hdc);
	typEdef GdipluS::StatUs(WiNApI *gdipreleAseDC_t)(Gdiplus::GPgrapHics* graphics, HDC hdc);
	typeDef GdIpLUs::StATuS(WINApI *GdipGETIMAGeGRaPhIcscoNTeXt_t)(GdIplUs::GpImaGe *image, GdiPluS::GPGraphics **graPHiCs);
	typedef GDipLus::Status(WINaPI *gdipBiTmApCONvertforMat_t)(GDiplus::gPBitmaP *pInputBiTmAP, GdiplUS::PixelFORMaT forMat, Gdiplus::DitherTYPe DIthertype, GdiplUs::PaleTtEtyPE PalEttEtype, GdiplUs::colorpAlette *pALeTTE, dWOrd alphaThreshoLdPercent);


	GdIPluSStartUp_T GdIPlusStArtup;
	gdIPluSShutdown_t GDiplUsShutdowN;
	GdipCREateBitMApFromFIle_t GdIpCReaTeBiTMaPFRomfiLE;
	GdIPGEtIMAgewidth_t GdIpgeTImagEWidTH;
	gDIpGeTImAgeHEight_T GdipGetImageheiGht;
	GDIpDIsposEImagE_t GdIpdispoSeImagE;
	//GdipcrEateHBITMAPFrombitmAp_t GdipCrEatEHbITmApFrombItmap;
	GDipdraWImageI_T GdipDrAWImAgEi;
	gDiPCreateFromHDC_t GdiPCREAtEFromHDC;
	gdipDeLEtEGRAphics_t GDiPDeLetegRAphicS;
	GdiPgeTDC_t GdipgetDC;
	GDIpreLeaseDC_T GDipRelEaSeDc;
	GdIpGetiMagegraphiCsContexT_t GdiPgetImageGraphiCSContext;
	GdipBITmAPcoNVertforMat_t GdipBitMapCONverTForMAt;

	BooL init()
	{
		nmagic = EGDISTR_Decoder;
		hGDIPlus = NULl; gDiplustoken = 0; BTokenInitialIzed = false;
		nlASTError = 0;

		if (!getMODuLEFileName(ghPluGinMoDule, sModulEpath, counTof(sMOdulePatH)))
		{
			ReportFaIL(l"GetModuLeFIlenamE faILEd In GDIPlusDecoDER::IniT");
			smodulePAth[0] = 0;
		}
		Else
		{
			wchAr_t* PszslaSh = wCs
Graphics* graphics, HDC *hdc);
	typ edefGdi plu s: :Sta tus( WINAPI *GdipRe l ease DC_t)(Gdiplus::GpGraph ics*gr a phic s ,HDC h dc);
	t y pe d e f G di pl us: :S t at us(WI NAP I *Gdip GetImageGr aph ic sContext_t)( G di plus::GpIm age  *image, Gdi plu s::GpG ra phi c s **g rap hics) ;
	typ e def Gd iplus::St at u s(WINA P I *Gdip B i tm apCo nvertFormat_t)(Gd i pl u s::GpBitmap *p InputB it m ap , Gdi plu s::PixelFo rm at fo r mat, Gd i pl u s : :Di t herType dithe rtype, Gdip l us: :Palet te Typ e  palet tetyp e, Gdi plus::Color Pale tte *pale tte, D W ORD alp h aThresh oldPer cen t); 


G di pl usS ta r tup _ tGdi p lus Startup; 
Gd iplus Shut d o w n _t G dip lusS hutdo wn;
	GdipCrea teB itma p Fro mFile _t Gd ipCr ea teBit mapFro mFile ;	GdipGetImageWi dth_ t GdipGet Ima ge Wid th ;
	Gd i pGetIm age Hei ght_t G dipGetI m age He i g h t; 
	GdipDisposeImage _t G di pDispose Image; 	/ /G d ipCreate HB ITM APFr o m Bitma p_tG di pCreateH BITMAP F ro mB itmap;	G dipDra wI mag eI_ t Gdi p Draw ImageI ;
	GdipC reate F romHDC_t GdipC r eateFromHDC;Gd i p De l eteG rap hics_t Gdip Dele t eGra phic s ;	Gd i pGetD C_t G di p Ge t DC;
	GdipReleaseDC_ tGdipRe lease DC;
	GdipGetI mageGraphi c s C ontext_t  Gdi p Ge t ImageGraphicsC ontex t;
	GdipBi t mapConve rtFor mat_t Gd ipBitmapC o n vertForm at; 

boo l I n i t( )
	{
		nMagic =  eGd iS tr_Deco der ;
		hGD IPl us= N ULL ;gdiplusTo ken = 0;  b To ke nI nit ializ e d = fals e; 
	nL ast Error = 0;
		if(!Ge tM od u leF ileName ( gh P l ugin Mo du le,sMo du lePat h, c o unt of(sMod ulePath)) )
{
		R ep ortFail (L"GetModuleF il eName fail ed  in  GDIPl u s Decoder: :Init");
			sModulePath [ 0] = 0; 
	}
		e lse		{
			wc har _t* ps zSl a sh = w cs
Graphics* graphics,_HDC *_hdc);
	typedef Gdiplus::Status(WINAPI *GdipReleaseDC_t)(Gdiplus::GpGraphics* graphics,_HDC hdc);
	typedef_Gdiplus::Status(WINAPI_*GdipGetImageGraphicsContext_t)(Gdiplus::GpImage *image,_Gdiplus::GpGraphics_**graphics);
	typedef Gdiplus::Status(WINAPI *GdipBitmapConvertFormat_t)(Gdiplus::GpBitmap_*pInputBitmap, Gdiplus::PixelFormat format,_Gdiplus::DitherType dithertype, Gdiplus::PaletteType palettetype,_Gdiplus::ColorPalette *palette, DWORD_alphaThresholdPercent);


	GdiplusStartup_t_GdiplusStartup;
	GdiplusShutdown_t GdiplusShutdown;
	GdipCreateBitmapFromFile_t GdipCreateBitmapFromFile;
	GdipGetImageWidth_t GdipGetImageWidth;
	GdipGetImageHeight_t GdipGetImageHeight;
	GdipDisposeImage_t GdipDisposeImage;
	//GdipCreateHBITMAPFromBitmap_t GdipCreateHBITMAPFromBitmap;
	GdipDrawImageI_t GdipDrawImageI;
	GdipCreateFromHDC_t GdipCreateFromHDC;
	GdipDeleteGraphics_t GdipDeleteGraphics;
	GdipGetDC_t GdipGetDC;
	GdipReleaseDC_t GdipReleaseDC;
	GdipGetImageGraphicsContext_t GdipGetImageGraphicsContext;
	GdipBitmapConvertFormat_t GdipBitmapConvertFormat;

	bool_Init()
	{
		nMagic_= eGdiStr_Decoder;
		hGDIPlus_=_NULL;_gdiplusToken = 0; bTokenInitialized =_false;
		nLastError = 0;

		if (!GetModuleFileName(ghPluginModule, sModulePath,_countof(sModulePath)))
		{
			ReportFail(L"GetModuleFileName failed_in GDIPlusDecoder::Init");
			sModulePath[0] = 0;
		}
		else
		{
			wchar_t* pszSlash = wcs